Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программная инженерия / Лекция 1 ПРОГРАММНАЯ ИНЖЕНЕРИЯ В ЖИЗНЕННОМ ЦИКЛЕ ПРОГРАММНЫХ СРЕДСТВ.ppt
Скачиваний:
45
Добавлен:
05.02.2016
Размер:
387.58 Кб
Скачать

ПРОГРАММНАЯ ИНЖЕНЕРИЯ В ЖИЗНЕННОМ ЦИКЛЕ ПРОГРАММНЫХ СРЕДСТВ

Жизненный цикл конкретной системы:

определение потребностей;

исследование и описание основных концепций;

проектирование и разработка;

испытания системы;

создание и производство;

распространение и продажа;

эксплуатация;

сопровождение и мониторинг;

снятие с эксплуатации (утилизация)

2

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

коллективами (3—5) специалистов, которые:

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

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

не имеют конкретного независимого заказчика- потребителя, определяющего требования к программам и их финансирование;

не ограничиваются заказчиком допустимой стоимостью, трудоемкостью и сроками их создания, требованиями заданного качества и документирования;

не подлежат независимому тестированию, гарантированию качества и/или сертификации.

3

Второй класс

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

от заказчика, финансирующего проект программного средства и/или базы данных, разработчикам необходимо получать квалифицированные конкретные требования к функциям и характеристикам проекта и продукта, соответствующие выделенному финансированию и квалификации исполнителей проекта;

для организации и координации деятельности специалистов- разработчиков при наличии единой, крупной целевой задачи, создания и совершенствования программного продукта необходимы квалифицированные менеджеры проектов;

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

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

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

4

Множество моделей процессов жизненного цикла систем и программных средств, в международных стандартах

обычно квалифицируются как фундаментальные:

каскадная;

инкрементная;

эволюционная.

5

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

6

Каждая модель жизненного цикла содержит некоторые процессы, которые могут быть выполнены

последовательно,

повторно

комбинированно

7

Методы и процессы стандартизации жизненного цикла обеспечивают:

расширение и совершенствование функций систем и компонентов с сохранением их целостности и первичных затрат;

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

улучшение технико-экономических характеристик применения систем и программных продуктов;

совершенствование технологий обеспечения жизненного цикла сложных систем и комплексов программ.

8

Ряд современных концептуальных требований программной инженерии и формирования их жизненного цикла:

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

простое, без коренных структурных изменений, развитие и наращивание функций и ресурсов системы в соответствии с расширением сфер и задач ее применения;

в структуре и компонентах ПС и системы следует предусматривать обеспечение максимально возможной сохранности инвестиций в аппаратные и программные средства, а также в базы данных при длительном развитии, сопровождении и модернизации системы;

необходимо обеспечивать эффективное использование ресурсов в ЖЦ системы и минимизировать интегральные затраты на обработку данных в типовых режимах ее функционирования с учетом эксплуатационных затрат и капитальных вложений в создание системы и программного продукта;

должны быть обеспечены безопасность функционирования системы и надежная защита данных от ошибок, от разрушения или потери информации, а также авторизация пользователей, управление рабочей загрузкой, резервированием и оперативным восстановлением функционирования системы и программного продукта;

для обеспечения перспективы развития жизненного цикла системы и комплекса программ целесообразно предусматривать возможность интеграции гетерогенных вычислительных компонентов и возможность переноса ПС и БД на различные аппаратные и операционные платформы на основе концепции и стандартов открытых систем;

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

9

Роль системотехники в программной инженерии

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

Системотехника как технология создания систем охватывает все аспекты создания и модернизации сложных вычислительных комплексов, где программные продукты играют ведущую роль

Программная инженерия — как часть системотехники охватывает все аспекты

жизненного цикла ПС от начальной стадии разработки системных требований до завершения использования программного продукта

10