Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Стандартизация лекция.docx
Скачиваний:
22
Добавлен:
01.03.2025
Размер:
141 Кб
Скачать
☆

Формальные методы

  1. Использование новых языковых и проектных подходов

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

  3. Использование стандартов, как на сами программы, так и на процесс разработки.

Недостатки стандартизации

  1. Запаздывание появления стандартов.

  2. Стандарты не содержат методик количественной оценки выгоды от их применения.

  3. Отсутствие взаимосвязи стандартов с лучшими образцами практики и другими стандартами.

  4. Эффективное тестирование.

  5. Использование CASE-средств. Предполагается, что человек делает меньше ошибок, проектируя визуально.

  6. Тотальное управление качеством.

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

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

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

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

В международных стандартах обычно классифицируются как фундаментальные каскадные, инкрементные и эволюционные модели жизненного цикла. Каждая из них может быть использована самостоятельно либо скомбинирована с другими. Модели разделяются в соответствии со стратегией конструирования ПО. Выделяют 3 стратегии:

  1. Однократный подход (водопадная стратегия) – линейная последовательность этапов конструирования. Ей соответствует классическая модель жизненного цикла или каскадная модель.

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

  3. Эволюционная стратегия – система так же строится в виде последовательности версий, но в начале процесса определены не все требования. Требования уточняются в результате разработки версий. Данной стратегии соответствует спиральная модель жизненного цикла.

Классический жизненный цикл – данный подход был разработан в 1970 г.

Системный

анализ

Анализ

Проектирование

Кодирование

Тестирование

Сопровождение

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

  1. Архитектуры ПО.

  2. Модульной структуры ПО.

  3. Алгоритмической структуры ПО.

  4. Структур данных.

  5. Входного и выходного интерфейса.

Исходными данными для проектирования являются спецификации анализа и в ходе проектирования выполняется трансляция требований ПО во множество проектных представлений. Уже на этапе проектирования большое внимание уделяется к качеству.

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

  1. Исправления ошибок.

  2. Адаптация ПО к изменениям внешней среды.

  3. Усовершенствование ПО по требованию заказчика.

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

Достоинство и недостатки жизненного цикла

К достоинствам относится: формирование плана и временного плана по всем этапам проекта. Данный подход упорядочивает ход конструирования.

Недостатки: реальные проекты требуют отклонения от реальной последовательности шагов. Модель основана на точной формулировке исходных требований к ПО, хотя реально требования заказчика определены лишь частично. Результаты доступны заказчику только в конце работы.

Инкрементная модель

1ый инкремент

Анализ

Проект

Кодирование

Тестирование

Каждая линейная последовательность вырабатывает линейный инкремент ПО.

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

Макетирование используется для снятия неопределенности в требованиях заказчика.

Макетирование – это процесс создания модели требуемого программного продукта. Модель может принимать одну из трех форм:

  1. Это бумажный макет или схема.

  2. Работающий макет.

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

Ожидание заказчика построение или уточнения макета и оценка макеты заказчиком. Макетирование начинается со сбора и обработки требований к создаваемому ПО. Разработчик и заказчик определяет все цели ПО, устанавливают, какие требования известны, какие предстоит определить. Далее выполняется быстрое проектирование, в результате которого строится макет. После чего, макет оценивается заказчиком и используется для уточнения требований к ПО.

Спиральная модель

1 – начальный сбор требований и планирование проекта.

2 – сбор требований и планирования

3 – анализ риска на основе начальных требований

4 – анализ риска на основе реакции заказчика

5 – переход к комплексной системе

6 – начальный макет системы

7 – следующий уровень макета

8 – сконструированная система

9 – оценивание заказчиком

15.10.10

Планирование – это определение цели вариантов и ограничений.

Анализ риска – понимается анализ вариантов и распознавание или выбор риска.

Конструирование – разработка продукта следующего уровня.

Оценивание – оценка заказчиком текущего результата конструирования.

С каждой итерацией по спирали строится все более полные версии ПО.

На первом витке спирали распознается и анализируется риск. Если анализ риска показывает неопределенность требований, то строится модель требуемого ПО с целью снятия неопределенности. Заказчик оценивает конструкторскую работу и вносит предложения по модификации. Следующая фаза планирования базируется на предложениях заказчика. Конструирование может быть реализовано классическим жизненным циклом. Достоинство такой модели в том, что наиболее реально отображает разработку ПО. Так же позволяет учитывать риск на каждом витке разработки. И еще использует моделирование для уменьшения риска и совершенствования программного изделия. Недостатки: трудности контроля и управлением времени разработки.

Модели жизненного цикла системы и степень ее практического применения, в качестве обязательного и рекомендуемого документа, зависит от роли конкретного программного продукта в системе. Соответствующая модель жизненного цикла системы, в которой программный продукт становится ее частью. Разработку программных средств необходимо координировать с аналогичными процессами для всей исходной системы. Должны быть определены лица, участвующие в процессе системы и их ответственность за конкретные процессы. Для большого проекта, в который вовлечено много лиц, необходим развитой административный надзор и контроль, проведение внутренних независимых оценок, анализов, аудиторских проверок, инспекций, подготовка отчетов. Современное предприятие широко использует модели жизненного цикла в качестве составной части деятельности по определению и усовершенствованию процессов, связанных с программными средствами. Применения стандартов жизненного цикла позволяет ориентироваться специалистам на построение систем и комплексов программ из крупных функциональных узлов, отвечающих требованиям стандарта. Методы и процессы стандартизации жизненного цикла программных средств играют стабилизирующую и организующую роль во всем жизненном цикле сложных систем. Они обеспечивают:

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

  2. Систематическое повышение качества функционирования качества программ и БД.

  3. Улучшение технико-экономических характеристик систем программной продукции.

  4. Совершенствование жизненного цикла сложных систем и комплекса программ.

Особенности процессов жизненного цикла программных средств в стандарте ИСО 122-07

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

Жизненный цикл в стандарте представлен набором этапов частных работ и операций в последовательности их выполнения, регламентирующих ведение разработки на всех стадиях жизненного цикла. В ЖЦ включается описание исходной информации способы выполнения операции и работ. Устанавливаются требования к результатам и правилам контроля, а также к содержанию технологических эксплуатационных документов. Определяется организационная структура коллектива, распределение и планирование работ, а также контроль за реализацией ЖЦ программных средств. Стандарт может использовать как директивный, руководящий или рекомендательный документ… Стандарт определяет разделы и подразделы ЖЦ программных средств.