- •5 Программная инженерия
- •5.1 Проблемы разработки по
- •5.2 Жизненный цикл по
- •5.2.1. Основные процессы жц по
- •5.2.2 Вспомогательные процессы жц по
- •5.2.3 Организационные процессы жц по
- •5.3 Модели жизненного цикла по
- •Контрольные вопросы
- •6 Стадии разработки ппп
- •6.1 Виды работ и трудоемкости
- •6.2 Формирование требований к ппп
- •6.3 Проектирование
- •6.4 Программирование
- •6.5 Тестирование
- •6.5.1 Определение и принципы тестирования
- •6.5.2 Методы тестирования
- •6.5.3 Этапы тестирования
- •6.6 Документирование ппп
- •6.7 Эксплуатация и сопровождение ппп
- •Контрольные вопросы
- •7 Качество ппп
- •7.1 Характеристики качества программного изделия
- •7.2 Основные понятия и показатели надежности программных средств
- •7.3 Дефекты программных изделий
- •7.4 Концепция качества Six Sigma
- •7.5 Стандарты iso 9000
- •Контрольные вопросы
- •8 Оценка затрат на разработку ппп
- •8.1 Экономическая эффективность пи
- •8.2 Исследование затрат на разработку ппп
- •8.3 Составляющие затрат на эксплуатацию, влияющие на процесс разработки ппп
- •8.4 Составляющие затрат на сопровождение, влияющие на процесс разработки ппп
- •Контрольные вопросы
Контрольные вопросы
-
С какой целью вводятся стандарты на разработку программных изделий?
-
Назовите причины появления проектов типа «death march».
-
Что называется жизненным циклом программного обеспечения? Дайте характеристику этапов жизненного цикла ПО.
-
Охарактеризуйте особенности современной методологии разработки прикладных программ.
-
Какие направления деятельности регламентирует ГОСТ Р ИСО/МЭК 12207?
-
Как в стандарте ГОСТ Р ИСО/МЭК 12207 отражены вопросы качества и надежности программного изделия?
-
Сравните недостатки и преимущества двух моделей жизненного цикла ПИ: каскадной и спиральной.
6 Стадии разработки ппп
6.1 Виды работ и трудоемкости
Период жизненного цикла ППП, как одной из составляющих ПО, состоит из трех фаз: разработки, эксплуатации, сопровождения, причем фазы эксплуатации и сопровождения протекают параллельно. Их взаимосвязь показана на рис. 6.1. На фазу разработки приходится, как правило, треть общих трудозатрат.
К ак уже отмечалось выше (п. 5.2), процессы, происходящие в каждой фазе, регламентирует стандарт ISO/IEC 12207 . Рассмотрим более подробно содержание фазы разработки, которую в соответствии как с каскадной, так и со спиральной моделью, можно представить состоящую из следующих этапов (рис.6.2).
1. Формирование требований к ППП:
-
концептуализация проекта;
-
планирование работ;
-
разработка требований.
2. Проектирование:
-
разработка внешних спецификаций (или высокоуровневое, функциональное проектирование);
-
разработка внутренних спецификаций (или низкоуровневое, техническое проектирование).
3. Программирование (кодирование) модулей.
4. Тестирование:
-
модульное (автономное) тестирование;
-
комплексное (интеграционное) тестирование;
-
системное тестирование.
6.2 Формирование требований к ппп
Главной целью формирования требований является отражение потребностей пользователей. К пользователями создаваемого программного продукта можно отнести заказчика конкретного ППП, а также массового потребителя. Поэтому все проекты по созданию пакетов прикладных программ можно разбить на две группы: управляемые заказчиком (для заказных ППП) и независимые от заказчика (для коммерческих ППП).
Для проектов первой группы требования формулируются организацией-заказчиком. Однако если разработчики не привлекаются к выработке требований, увеличивается вероятность неправильной интерпретации или ошибочного понимания уже утвержденных требований. Отметим, что разработчики и заказчики имеют свой собственный набор приоритетов по взглядам на проект.
Заказчики заинтересованы в наличии строго определенного регламента на все процессы выполнения заказа. Для этого, как минимум, необходимы:
-
критерии оценки трудоемкости и длительности проекта;
-
прозрачность проекта, т.е. возможность тотального контроля по ходу выполнения проекта на полноту и качество.
Разработчики находятся в зеркальной ситуации. Часто они не обладают достаточными навыками и квалификацией для того, чтобы быстро и точно понять предметную область пакета и корректно специфицировать требования заказчика.
Нередко в их взаимоотношениях возникает патовая ситуация: один знает что, но не знает как, а другой, наоборот, понимает как, но не знает что. Поэтому наиболее оптимальной является совместная работа разработчиков и заказчиков по выработке требований (рис. 6.3).
Для проектов второй группы совокупность требований разрабатывается самой фирмой-разработчиком пакета на основе тщательных маркетинговых исследований потребностей рынка в конкретном программном изделии: изучаются программные продукты-конкуренты и аналоги, обобщаются требования пользователей к программному продукту, устанавливается потенциальная емкость рынка сбыта, дается прогноз цены и объема продаж.
На этапе разработки требований необходимо выполнить следующие действия:
1) Концептуализация проекта:
-
на основе исследования предметной области сформулировать цели (производственно-хозяйственные, научно-технические, экономические и пр.) создания ППП;
-
описать функциональные задачи, для решения которых предназначен создаваемый ППП, и их взаимосвязь;
-
выявить наличие информации, необходимой для выполнения планируемых функций;
-
выявить наличие прототипа, т.е. уже действующего ППП или отдельных программных модулей, реализующих некоторые функции создаваемого ПО;
-
разработать концепцию проектирования (выбрать модель ЖЦ ПО, технологию и стандарты проектирования и соответствующие программные средства).
2) Планирование работ:
-
оценить трудовые и стоимостные затраты, сроки выполнения предстоящей работы;
-
разработать план-график работ с указанием перечня работ, сроков выполнения, исполнителей работ, связанных с созданием ППП, и форму представления результатов работ;
-
сформулировать требования к качеству программных модулей в соответствии с условиями их функционирования и реализации конкретных функций.
3) Разработка детальных требований к ППП:
-
сформулировать требования к входным и выходным данным, к конфигурации технических и программных средств в среде которых может работать проектируемый ППП;
-
описать требования к надежности функционирования ППП (защита информации, уровень обеспечения безопасности при сбоях в работе, возможности восстановления работоспособности);
-
указать требования к оформлению и содержанию технологической и эксплуатационной документации;
-
определить порядок контроля и приемки этапов работы над проектом, критерии завершенности разработки и начала эксплуатации.
Требования анализируются на протяжении всего времени разработки проекта. Это способствует лучшему пониманию решаемой проблемы и компромиссных ситуаций, что помогает выбрать оптимальное решение.
Результатом работы по выработке требований обычно является соответствующий документ (техническое задание на проектирование), который должен быть:
-
достаточным для идентификации целей ППП, его среды, преимуществ и ограничений для пользователя, состава и конфигурации ресурсов для его работы;
-
достаточно полным, чтобы в последующем при разработке исключить серьезные модификации и пересмотр требований;
-
достаточным для просмотра и утверждения руководством заказчика и разработчика на основе его реализуемости в соответствии с выбранными критериями.