Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЭ-2013-анн-130515.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
1.69 Mб
Скачать

Переносимость

Переносимость обозначает возможность нормальной эксплуатации программной системы в различных программно-аппаратных средах. Проблемы переносимости стояли перед программистами всегда, но раньше они касались в большей степени аппаратного обеспечения. В последнее время, в связи с насыщенностью предприятий и организаций программным обеспечением различного происхождения, более острой стала проблема интеграции программного обеспечения, а, следовательно, и разработка программных систем, допускающих интеграцию.

Синоним – адаптируемость.

2.3. Условия и способы тиражирования прикладных программных систем

Тиражирование ППС – проблема, связанная с необходимостью окупить значительные расходы, связанные с разработкой прикладной программной системы. Сложность и уникальность предметной области не позволяют легко тиражировать соответствующие системы. Возникает противоречие – чем сложнее предметная область, тем больше в ней частных, уникальных особенностей, тем сложнее и дороже ППС, но тем меньше возможностей для тиражирования. Упрощение системы, применение обобщенных подходов, теоретически увеличивает возможность тиража, но уменьшает потребительскую ценность системы. В предельном случае она может стать бесполезной.

Такое состояние дел объясняет разницу в стоимости «настольных» и больших прикладных систем, которая может различаться на порядки. Поэтому так актуальна проблема снижения стоимости ППС за счет тиражирования.

Обычно системы делят на тиражируемые и индивидуальные (системы индивидуальной разработки). С точки зрения ППС нормальное тиражирование возможно при строго определенной и слабо меняющейся предметной области. Такой может быть бухгалтерия небольших организаций, отдел кадров, товарный склад и т.п. В этом случае размер тиража зависит от количества потенциальных покупателей их покупательной способности, наличия конкурентных разработок. При большом тираже стоимость может быть заметно снижена, что увеличивает количество возможных покупателей и, следовательно, прибыль. Система, ориентированная на тираж, должна легко устанавливаться, иметь исчерпывающую эксплуатационную документацию, не требовать усилий на сопровождение. В этом смысле для потребителя она ничем не отличается от других серийных продуктов.

Индивидуальные системы разрабатываются для уникальной предметной области, поэтому тиражирование здесь невозможно. Уникальность заключается не столько в характере основного производства, сколько в тех существенных частностях, которыми оно характеризуется. Поскольку тираж невозможен, все расходы по производству и сопровождению ППС должно нести одно предприятие. Следовательно, индивидуальные системы обходятся заказчику существенно дороже тиражируемых. С другой стороны, индивидуальные системы обладают более полезными потребительскими качествами, так как при их разработке учитывались условия именно этого предприятия.

Реально существует еще класс систем, которые можно назвать слабо тиражируемыми. Их отличительная особенность – небольшой тираж и, как правило, наличие этапа настройки системы под конкретного заказчика. Этот класс систем ориентирован на предметную область, которая в основных чертах повторяется на ряде предприятий, однако есть и существенные различия. Эти различия можно интерпретировать как индивидуальные свойства предприятия. Цель настройки состоит в том, чтобы учесть эти свойства в конкретном экземпляре ППС. Например, в различных медицинских учреждениях существуют биохимические лаборатории. Однако условия работы централизованной лаборатории, лаборатории крупной или небольшой больницы, поликлиники или санатория заметно отличаются. Более того, в рамках лаборатории одного класса есть различия в оборудовании, технологии, взаимоотношениями с пациентами и заказчиками и т.п. В этом случае полезно разработать слабо тиражируемый вариант системы, который будет настраиваться для удовлетворения потребностей заказчика. Системы такого рода способны тиражироваться для ряда сходных, но не тождественных по свойствам предприятий с учетом индивидуальных особенностей. То есть, они характеризуются чертами как тиражируемых, так и индивидуальных ППС. Стоимость их заметно зависит от тиража. Она выше, чем у тиражируемых из-за небольшого тиража и процедуры настройки, но ниже, чем у индивидуальных. Часто такие системы требуют сопровождения.

2.4. Современные подходы к созданию программных систем. Методологии полного цикла и лёгкие методологии. Характеристика. Применимость.\

В начале 21 века группой ведущих специалистов в области разработки программных систем был разработан подход, который был назван «Быстрая разработка программного обеспечения» (Agile software development). Он базируется на опыте многих программных проектов и, по-видимому, соответствует взглядам большинства программистов-практиков, принимавших участие в разработках информационных систем. Суть его изложена в «Манифесте быстрой разработки», она базируется на четырёх идеях:

  • индивидуумы и взаимодействия между ними ценятся выше процессов и инструментов;

  • работающее программное обеспечение ценится выше всеобъемлющей документации;

  • сотрудничество с заказчиками ценится выше формальных договоров;

  • реагирование на изменения ценится выше строгого следованию плану.

Главными условиями успеха считаются простые, но достаточные правила выполнения проекта, ориентация на участников и их взаимодействие. Побудительными причинами возникновения и утверждения «маневренного» подхода послужили высокая конкуренция на рынке программных систем, возрастающая доля разработок с неустойчивыми требованиями заказчика, распространение программного обеспечения в интернете.

При таком подходе технология создания программного обеспечения занимает важное место, если она способствует выполнению хотя бы одного из условий:

  • она позволяет людям легче выразить свои мысли;

  • она выполняет задачи, невыполнимые вручную;

  • она автоматизирует утомительные и потенциально подверженные ошибкам действия;

  • она облегчает общение между людьми.

Но этот подход не универсален, он применим только для определённых классов проектов. Для характеристик таких проектов А.Коуберн ввёл две характеристики: критичность и масштаб. Критичность характеризует последствия дефектов программного обеспечения и имеет один из уровней:

  • C – потеря удобства;

  • D – потеря возместимых средств;

  • E – потеря невозместимых средств;

  • L –угроза человеческой жизни.

Масштаб определяется количеством разработчиков:

  • малый – 1-6 человек;

  • средний – 6-20 человек;

  • большой – свыше 20 человек.

Быстрая разработка применима только для проектов малого и среднего масштаба с низкой критичностью (C или D).

Общая характеристика технологий такого рода такова:

  • общение лицом к лицу – самый дешёвый способ обмена информацией;

  • избыточная тяжесть технологии стоит дорого;

  • многочисленные команды требуют более тяжёлых технологий;

  • большая формальность требуется для проектов с большой критичностью;

  • возрастание обратной связи снижает потребность в промежуточных продуктах;

  • дисциплина, умение и понимание противостоят формальности и документированию;

  • потеря эффективности в некритичных идах деятельности допустима.

Наиболее известная методология, построенная на подобных принципах – «Экстремальное программирование» (ХР). Она предназначена для небольших компактных команд, нацеленных на получение продуктов высокого качества с высокой продуктивностью. Это достигается путём насыщенной коммуникации, высокому умению и навыкам участников разработки, дисциплине и пониманию. Промежуточные рабочие продукты сводятся к минимуму.

Помимо технологий быстрой разработки, широкое распространение получила методология RUP, ориентированная на строгое следование формальным правилам разработки. В основе её лежит инкрементно-итеративный подход, который позволяет разрабатывать большие системы по отдельным подсистемам (инкрементная часть), причём, каждая подсистема разрабатывается итеративно. Подобный подход позволяет достаточно эффективно разрабатывать системы большого масштаба. Определённая «тяжесть» методологии послужила побудительной причиной для создания на её основе более гибких подходов.