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