
- •Вопросы для подготовки к экзамену:
- •Краткое изложение программного материала
- •Тема «Программная инженерия в жизненном цикле программных средств»
- •Тема «Модели и профили жизненного цикла программных средств»
- •Тема «Модели и процессы управлении проектами программных средств»
- •Тема «Управление требованиями к программному обеспечению»
- •Тема «Проектирование программного обеспечения»
- •Тема «Конструирование (детальное проектирование) программного обеспечения»
- •Тема «Тестирование программного обеспечения»
- •Тема «Сопровождение программного обеспечения»
- •Тема «Конфигурационное управление»
- •Тема «Управление программной инженерией»
- •Тема «Процесс программной инженерии»:
- •Тема «Качество программного обеспечения»
- •Тема «Удостоверение качества и сертификация программных продуктов»
- •Тема «Документирование программного обеспечения»
- •Тема «Технико-экономическое обоснование проектов программных средств»
Тема «Конструирование (детальное проектирование) программного обеспечения»
Международные стандарты программной инженерии (Приложение 1), регламентируют жизненный цикл программных средств широкого класса в различных областях их применения. Они ориентированы в основном на структурное проектирование и разработку процессов, функций и данных в различных комплексах программ, в которых доминируют сложные алгоритмы обработки, относительно небольшой совокупности данных. Объектно-ориентированное проектирование (ООП) предназначено организовывать программные системы с большими базами данных на основе описаний объектов реального мира, важных для пользователей. Этот подход существенно отличается от структурного проектирования, которое акцентировано на сложные функции и процессы обработки данных. Объекты реального мира, существующие внутри области действия ООП программных проектов, определяются в терминах целей, характеристик и ответственностей поведения соответствующих данных (атрибутов) и отношений с другими многочисленными объектами. Все функции при этом скрыты внутри деталей описаний объекта.
Объектно-ориентированное проектирование представляет собой стратегию, в рамках которой программная система состоит из взаимодействующих объектов, имеющих собственное локальное состояние и способных выполнять определенный набор операций, определяемый состоянием объекта. Объекты скрывают информацию о представлении состояний и, следовательно, ограничивают к ним доступ. Под процессом ООП подразумевается проектирование классов объектов и взаимоотношений между этими классами. Объектно-ориентированные системы можно рассматривать как совокупность автономных и в определенной степени независимых объектов. Изменение реализации какого-нибудь объекта или добавление новых функций не влияет на другие объекты системы.
Общий процесс объектно-ориентированного проектирования состоит из нескольких крупных этапов:
определение рабочего окружения системы и разработка моделей её использования;
проектирование архитектуры программной системы;
определение и идентификация основных объектов системы;
разработка модели архитектуры комплекса программ;
определение и документирование интерфейсов объектов.
Процесс ООП нельзя представить в виде простой схемы (как при структурном проектировании), в которой предполагается четкая последовательность этапов. Фактически все перечисленные этапы в значительной мере можно выполнять параллельно, с учетом взаимного влияния друг на друга. Как только разработана архитектура системы, определяются объекты и интерфейсы. После создания моделей объектов отдельные объекты можно переопределить, а это может привести к изменениям в архитектуре системы.
Тема «Тестирование программного обеспечения»
Верификация это процесс для определения, выполняют ли программные средства и их компоненты требования, наложенные на них в последовательных этапах ЖЦ ПС. Анализ, просмотры (обзоры) и тестирование от требований являются важнейшей частью верификации и установления корректности программ. Основная цель верификации ПС состоит в том, чтобы обнаружить, зарегистрировать и устранить дефекты и ошибки, которые внесены во время последовательной разработки или модификации программ. Для эффективности затрат ресурсов при ее реализации, верификация должна быть интегрирована как можно раньше с процессами проектирования, разработки и сопровождения. Обычно она проводится сверху вниз, начиная от общих требований, заданных в техническом задании и/или спецификации на всю информационную систему до детальных требований на программные модули и их взаимодействие.
Назначение верификации ПС последовательно проверить, что в реализованном комплексе программ (рис. 13.1):
общие требования к информационной системе, предназначенные для программной реализации, корректно переработаны в спецификацию требований высокого уровня к комплексу программ, удовлетворяющих исходным системным требованиям;
требования высокого уровня правильно переработаны в архитектуру ПC и в спецификации требований к функциональным компонентам низкого уровня, которые удовлетворяют требованиям высокого уровня;
спецификации требований к функциональным компонентам ПC, расположенным между компонентами высокого и низкого уровня, каждый раз удовлетворяют требованиям более высокого уровня;
архитектура ПC и спецификации требований к компонентам низкого уровня корректно переработаны в, удовлетворяющие им, исходные тексты программных и информационных модулей;
исполняемый объектный код удовлетворяет требованиям к исходному тексту программных компонентов.
Кроме того, верификации на соответствие спецификации требований на конкретный проект программного средства подлежат требования к технологическому обеспечению ЖЦ ПС, а также требования к эксплуатационной и технологической документации.