- •Общее положение стандартов
- •Международные организации разрабатывающие стандарты
- •Технические комитеты по стандартизации
- •Стандарты регламентирующие термины и определения
- •Эволюция инструментального по
- •Руководство проектом разработки по
- •Планирование проектных задач
- •Функционально-ориентированные метрики
- •Компоненты интегрированного case средства
- •Качество по
- •Case-технологии
- •Общие характеристики качества
- •Структура стандарта iso “цифра”
- •Выбор показателей качества
- •Оценка качества
- •Функциональная пригодность
- •Оценка корректности программных средств
- •Система управления качества
- •Модели и метрики оценки качества по
- •Правила формирования потокового графа
- •Формальные методы
- •Использование новых языковых и проектных подходов
- •Недостатки стандартизации
- •Основы жизненного цикла программных средств
- •Раздел 6 - это вспомогательные процессы и работы, поддерживающие жц программных средств. Раздел 7 – организационные процессы и управление жц программных средств. Процессы Взять табличку!
- •Принципы тестирования
- •Методы тестирования программ
- •Особенности жц пс в исо 155-04
- •Процессы жц
- •Выгоды аттестации для покупателей и заказчиков
- •Внешнее проектирование программного изделия
- •Внутреннее проектирование
- •Характеристики внутренних и внешних связей модуля
- •Функциональная связанность
- •Сцепление
- •Комплексное тестирование
- •Стандартизация тестирования
- •Критерии завершенности тестирования
Формальные методы
Использование новых языковых и проектных подходов
Использование метрик и измерений - в данном подходе предполагается, что хорошее ПО может быть разработано на основе цифровых оценок, относящихся непосредственно к коду и к процессу его разработки.
Использование стандартов, как на сами программы, так и на процесс разработки.
Недостатки стандартизации
Запаздывание появления стандартов.
Стандарты не содержат методик количественной оценки выгоды от их применения.
Отсутствие взаимосвязи стандартов с лучшими образцами практики и другими стандартами.
Эффективное тестирование.
Использование CASE-средств. Предполагается, что человек делает меньше ошибок, проектируя визуально.
Тотальное управление качеством.
Основы жизненного цикла программных средств
Типовая модель процессов жизненного цикла сложной системы начинается с концепции идеи системы или потребностей в ней. Охватывает проектирование, разработку, применение и сопровождение системы и заканчивается снятием системы с эксплуатации.
Модель жизненного цикла системы обычно разделяют на последовательные периоды реализации, на стадии или этапы.
Реализация жизненного цикла зависит от персонала, технических, организационных и договорных требований и сложности проекта.
В международных стандартах обычно классифицируются как фундаментальные каскадные, инкрементные и эволюционные модели жизненного цикла. Каждая из них может быть использована самостоятельно либо скомбинирована с другими. Модели разделяются в соответствии со стратегией конструирования ПО. Выделяют 3 стратегии:
Однократный подход (водопадная стратегия) – линейная последовательность этапов конструирования. Ей соответствует классическая модель жизненного цикла или каскадная модель.
Инкрементная стратегия – в начале процесса определяются все пользовательские и системные требования, оставшиеся часть конструирования выполняется в виде последовательных версий программного продукта (инкрементов). Первая версия реализует часть запланированных возможностей, следующая – дополнительные возможности и т.д., пока не будет получена полная система. Этой стратегии соответствует инкрементная модель и модель быстрой разработки.
Эволюционная стратегия – система так же строится в виде последовательности версий, но в начале процесса определены не все требования. Требования уточняются в результате разработки версий. Данной стратегии соответствует спиральная модель жизненного цикла.
Классический жизненный цикл – данный подход был разработан в 1970 г.
Системный
анализ
Анализ
Проектирование
Кодирование
Тестирование
Сопровождение
Системный анализ – задает роль каждого элемента в компьютерной системе и взаимодействии элементов друг с другом. На этом этапе начинается решения задач планирования ПО. В ходе планирования проекта определяется объем проектных работ, риски, необходимые трудозатраты, формируются рабочие задачи и план, график работ. Уточняются и детализируются его функции, характеристики и интерфейс. Все определения документируются в спецификациях анализа. На этом же этапе завершается решение задачи планирования задачи. Проектирование состоит в создании представления:
Архитектуры ПО.
Модульной структуры ПО.
Алгоритмической структуры ПО.
Структур данных.
Входного и выходного интерфейса.
Исходными данными для проектирования являются спецификации анализа и в ходе проектирования выполняется трансляция требований ПО во множество проектных представлений. Уже на этапе проектирования большое внимание уделяется к качеству.
Сопровождение – это внесение изменения в эксплуатируемое ПО, причем цели этих изменений могут быть различными. Цели изменения:
Исправления ошибок.
Адаптация ПО к изменениям внешней среды.
Усовершенствование ПО по требованию заказчика.
Сопровождение состоит в повторном применении каждого из предшествующих шагов жизненного цикла в существующей программе, но не в разработке новой программы.
Достоинство и недостатки жизненного цикла
К достоинствам относится: формирование плана и временного плана по всем этапам проекта. Данный подход упорядочивает ход конструирования.
Недостатки: реальные проекты требуют отклонения от реальной последовательности шагов. Модель основана на точной формулировке исходных требований к ПО, хотя реально требования заказчика определены лишь частично. Результаты доступны заказчику только в конце работы.
Инкрементная модель
1ый инкремент
Анализ
Проект
Кодирование
Тестирование
Каждая линейная последовательность вырабатывает линейный инкремент ПО.
1ый инкремент приводит к получениям базового продукта, реализующего базовые требования. План следующего инкремента предусматривает модификацию базового продукта обеспечивающие базовые требования. Основное достоинство – это создание работающей версии на каждом этапе. Основное недостаток: данный подход ориентирован на малое приращение функциональности.
Макетирование используется для снятия неопределенности в требованиях заказчика.
Макетирование – это процесс создания модели требуемого программного продукта. Модель может принимать одну из трех форм:
Это бумажный макет или схема.
Работающий макет.
Существующая программа, характеристики которой затем должны быть улучшены.
Ожидание заказчика построение или уточнения макета и оценка макеты заказчиком. Макетирование начинается со сбора и обработки требований к создаваемому ПО. Разработчик и заказчик определяет все цели ПО, устанавливают, какие требования известны, какие предстоит определить. Далее выполняется быстрое проектирование, в результате которого строится макет. После чего, макет оценивается заказчиком и используется для уточнения требований к ПО.
Спиральная модель
1 – начальный сбор требований и планирование проекта.
2 – сбор требований и планирования
3 – анализ риска на основе начальных требований
4 – анализ риска на основе реакции заказчика
5 – переход к комплексной системе
6 – начальный макет системы
7 – следующий уровень макета
8 – сконструированная система
9 – оценивание заказчиком
15.10.10
Планирование – это определение цели вариантов и ограничений.
Анализ риска – понимается анализ вариантов и распознавание или выбор риска.
Конструирование – разработка продукта следующего уровня.
Оценивание – оценка заказчиком текущего результата конструирования.
С каждой итерацией по спирали строится все более полные версии ПО.
На первом витке спирали распознается и анализируется риск. Если анализ риска показывает неопределенность требований, то строится модель требуемого ПО с целью снятия неопределенности. Заказчик оценивает конструкторскую работу и вносит предложения по модификации. Следующая фаза планирования базируется на предложениях заказчика. Конструирование может быть реализовано классическим жизненным циклом. Достоинство такой модели в том, что наиболее реально отображает разработку ПО. Так же позволяет учитывать риск на каждом витке разработки. И еще использует моделирование для уменьшения риска и совершенствования программного изделия. Недостатки: трудности контроля и управлением времени разработки.
Модели жизненного цикла системы и степень ее практического применения, в качестве обязательного и рекомендуемого документа, зависит от роли конкретного программного продукта в системе. Соответствующая модель жизненного цикла системы, в которой программный продукт становится ее частью. Разработку программных средств необходимо координировать с аналогичными процессами для всей исходной системы. Должны быть определены лица, участвующие в процессе системы и их ответственность за конкретные процессы. Для большого проекта, в который вовлечено много лиц, необходим развитой административный надзор и контроль, проведение внутренних независимых оценок, анализов, аудиторских проверок, инспекций, подготовка отчетов. Современное предприятие широко использует модели жизненного цикла в качестве составной части деятельности по определению и усовершенствованию процессов, связанных с программными средствами. Применения стандартов жизненного цикла позволяет ориентироваться специалистам на построение систем и комплексов программ из крупных функциональных узлов, отвечающих требованиям стандарта. Методы и процессы стандартизации жизненного цикла программных средств играют стабилизирующую и организующую роль во всем жизненном цикле сложных систем. Они обеспечивают:
Расширение и совершенствование функции систем и компонентов с сохранением их целостности и первичных затрат.
Систематическое повышение качества функционирования качества программ и БД.
Улучшение технико-экономических характеристик систем программной продукции.
Совершенствование жизненного цикла сложных систем и комплекса программ.
Особенности процессов жизненного цикла программных средств в стандарте ИСО 122-07
Считается, что этот стандарт наиболее полно отражает жизненный цикл, технологию разработки и обеспечение качества сложных программных средств.
Жизненный цикл в стандарте представлен набором этапов частных работ и операций в последовательности их выполнения, регламентирующих ведение разработки на всех стадиях жизненного цикла. В ЖЦ включается описание исходной информации способы выполнения операции и работ. Устанавливаются требования к результатам и правилам контроля, а также к содержанию технологических эксплуатационных документов. Определяется организационная структура коллектива, распределение и планирование работ, а также контроль за реализацией ЖЦ программных средств. Стандарт может использовать как директивный, руководящий или рекомендательный документ… Стандарт определяет разделы и подразделы ЖЦ программных средств.
