- •ПРОГРАММНАЯ ИНЖЕНЕРИЯ В ЖИЗНЕННОМ ЦИКЛЕ ПРОГРАММНЫХ СРЕДСТВ
- •Жизненный цикл конкретной системы:
- •Первый класс составляют относительно небольшие программы, создаваемые одиночками или небольшими
- •Второй класс
- •Множество моделей процессов жизненного цикла систем и программных средств, в международных стандартах
- •Каскадная модель жизненного цикла наиболее известна и применяется достаточно широко. Она, по существу,
- •Каждая модель жизненного цикла содержит некоторые процессы, которые могут быть выполнены
- •Методы и процессы стандартизации жизненного цикла обеспечивают:
- •Ряд современных концептуальных требований программной инженерии и формирования их жизненного цикла:
- •Роль системотехники в программной инженерии
- •Системные основы современных технологий программной инженерии
- •Эта деятельность регламентируется рядом методов и стандартов, которые являются компонентами технологического обеспечения сложных
- •Методической основой технологии,
- •Применении современных методов и технологии обеспечения
- •Концептуальные и организационные основы административного управления жизненным циклом и качеством ПС в системе
- •Принцип 1 — Ориентация предприятия-разработчика на потребителя-заказчика.
- •Принцип 2 — Лидерство- руководство. «Лидеры обеспечивают единство назначения и направления деятельности предприятия.
- •Принцип 3 — Вовлечение персонала. «Люди составляют сущность предприятия на всех уровнях, и
- •Принцип 4 — Процессный подход. «Желаемый результат достигается более эффективно, когда требуемые ресурсы
- •Принцип 5 — Системный подход к административному управлению.
- •Принцип 6 — Постоянное усовершенствование.
- •Принцип 7 — Подход к принятию решений, основанный на фактах. «Эффективные решения должны
- •Принцип 8 — Взаимовыгодные отношения с поставщиками. «Предприятие-пользователь и его поставщики-разработчики взаимозависимы, и
- •Принципы рекомендуется применять при:
- •Методы и средства, позволяющие:
- •Ресурсы на технологические средства в ЖЦ ПС:
- •Применение на предприятиях- разработчиках программных продуктов, сертифицированных
ПРОГРАММНАЯ ИНЖЕНЕРИЯ В ЖИЗНЕННОМ ЦИКЛЕ ПРОГРАММНЫХ СРЕДСТВ
Жизненный цикл конкретной системы:
определение потребностей;
исследование и описание основных концепций;
проектирование и разработка;
испытания системы;
создание и производство;
распространение и продажа;
эксплуатация;
сопровождение и мониторинг;
снятие с эксплуатации (утилизация)
2
Первый класс составляют относительно небольшие программы, создаваемые одиночками или небольшими
коллективами (3—5) специалистов, которые:
создаются преимущественно для получения конкретных результатов автоматизации научных исследований или для анализа относительно простых процессов самими разработчиками программ;
не предназначены для массового тиражирования и распространения как программного продукта на рынке, их оценивают качественно и интуитивно преимущественно как «художественные произведения»;
не имеют конкретного независимого заказчика- потребителя, определяющего требования к программам и их финансирование;
не ограничиваются заказчиком допустимой стоимостью, трудоемкостью и сроками их создания, требованиями заданного качества и документирования;
не подлежат независимому тестированию, гарантированию качества и/или сертификации.
3
Второй класс
большая размерность, высокая трудоемкость и стоимость создания таких комплексов программ определяют необходимость тщательного анализа экономической эффективности всего их жизненного цикла и возможной конкурентоспособности на рынке;
от заказчика, финансирующего проект программного средства и/или базы данных, разработчикам необходимо получать квалифицированные конкретные требования к функциям и характеристикам проекта и продукта, соответствующие выделенному финансированию и квалификации исполнителей проекта;
для организации и координации деятельности специалистов- разработчиков при наличии единой, крупной целевой задачи, создания и совершенствования программного продукта необходимы квалифицированные менеджеры проектов;
в проектах таких сложных программных средств и баз данных с множеством различных функциональных компонентов участвуют специалисты разной квалификации и специализации, от которых требуется высокая ответственность за качество результатов деятельности каждого из них;
от разработчиков проектов требуются гарантии высокого качества, надежности функционирования и безопасности применения компонентов и поставляемых программных продуктов, в которые недопустимо прямое вмешательство заказчика и пользователей для изменений, не предусмотренных эксплуатационной документацией разработчиков;
необходимо применять индустриальные, регламентированные стандартами процессы, этапы и документы, а также методы, методики и комплексы, средства автоматизации, технологии обеспечения жизненного цикла комплексов программ.
4
Множество моделей процессов жизненного цикла систем и программных средств, в международных стандартах
обычно квалифицируются как фундаментальные:
каскадная;
инкрементная;
эволюционная.
5
Каскадная модель жизненного цикла наиболее известна и применяется достаточно широко. Она, по существу, реализует принцип однократного выполнения каждого из базовых процессов и этапов в их естественных границах.
6
Каждая модель жизненного цикла содержит некоторые процессы, которые могут быть выполнены
последовательно,
повторно
комбинированно
7
Методы и процессы стандартизации жизненного цикла обеспечивают:
расширение и совершенствование функций систем и компонентов с сохранением их целостности и первичных затрат;
систематическое повышение качества функционирования комплексов программ и баз данных для решения задач пользователей в различной внешней среде;
улучшение технико-экономических характеристик применения систем и программных продуктов;
совершенствование технологий обеспечения жизненного цикла сложных систем и комплексов программ.
8
Ряд современных концептуальных требований программной инженерии и формирования их жизненного цикла:
архитектура комплекса программ должна соответствовать текущим и перспективным целям и стратегическим, функциональным задачам создаваемой системы, быть достаточно гибкой и допускать относительно
простое, без коренных структурных изменений, развитие и наращивание функций и ресурсов системы в соответствии с расширением сфер и задач ее применения;
в структуре и компонентах ПС и системы следует предусматривать обеспечение максимально возможной сохранности инвестиций в аппаратные и программные средства, а также в базы данных при длительном развитии, сопровождении и модернизации системы;
необходимо обеспечивать эффективное использование ресурсов в ЖЦ системы и минимизировать интегральные затраты на обработку данных в типовых режимах ее функционирования с учетом эксплуатационных затрат и капитальных вложений в создание системы и программного продукта;
должны быть обеспечены безопасность функционирования системы и надежная защита данных от ошибок, от разрушения или потери информации, а также авторизация пользователей, управление рабочей загрузкой, резервированием и оперативным восстановлением функционирования системы и программного продукта;
для обеспечения перспективы развития жизненного цикла системы и комплекса программ целесообразно предусматривать возможность интеграции гетерогенных вычислительных компонентов и возможность переноса ПС и БД на различные аппаратные и операционные платформы на основе концепции и стандартов открытых систем;
следует обеспечить комфортное обучение и максимально упрощенный доступ конечных пользователей к управлению и результатам функционирования системы и программного продукта на основе современных графических средств и наглядных пользовательских интерфейсов.
9
Роль системотехники в программной инженерии
Система — это совокупность взаимодействующих компонентов, работающих совместно для достижения определенных целей.
Системотехника — как технология создания систем охватывает все аспекты создания и модернизации сложных вычислительных комплексов, где программные продукты играют ведущую роль
Программная инженерия — как часть системотехники охватывает все аспекты
жизненного цикла ПС от начальной стадии разработки системных требований до завершения использования программного продукта
10