- •Основные понятия и определения
- •Модели жизненного цикла разработки программных средств и систем
- •Стратегии разработки программных средств и систем
- •Каскадная модель жизненного цикла разработки программных средств и систем
- •Преимущества каскадной модели жизненного цикла
- •Недостатки каскадной модели жизненного цикла
- •Область применения каскадной модели
- •V-образная модель жизненного цикла разработки программных средств и систем
- •Преимущества V-образной модели жизненного цикла
- •НедостаткиV-образной модели жизненного цикла
- •Область применения V-образной модели
- •Структурная эволюционная модель быстрого прототипирования жизненного цикла разработки программных средств и систем
- •Преимущества структурной эволюционной модели быстрого прототипирования
- •Недостатки структурной эволюционной модели быстрого прототипирования
- •Область применения структурной эволюционной модели быстрого прототипирования
- •Модель быстрой разработки приложений rad
- •Преимущества модели быстрой разработки
- •Недостатки модели быстрой разработки
- •Область применения модели быстрой разработки rad
- •Инкрементная модель жизненного цикла разработки программных средств и систем
- •Преимущества инкрементной модели жизненного цикла
- •Недостатки инкрементной модели жизненного цикла
- •Область применения инкрементной модели
- •Спиральная модель жизненного цикла разработки программных средств и систем
- •Преимущества спиральной модели жизненного цикла
- •Недостатки спиральной модели жизненного цикла
- •Область применения спиральной модели
- •Упрощенные варианты спиральной модели
- •Классификация проектов по созданию и развитию программных средств и систем
- •Классические технологии проектирования программ
- •Модульное проектирование программ
- •Метод нисходящего проектирования
- •Пошаговое уточнение
- •Кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования
- •Использование комментариев для описания обработки данных
- •Анализ сообщений
- •Связность модуля
- •Сцепление модулей
- •Метод восходящего проектирования
- •Методы расширения ядра
- •Метод иерархического проектирования модулей (метод Джексона)
- •Основные конструкции построения структур данных
- •Построение структур данных
- •Создание структур программ
- •Этапы конструирования программы
- •Case-технологии проектирования программного обеспечения
- •Общие сведения о case-технологиях
- •Информационное моделирование
- •Сущности
- •Атрибуты
- •Способы представления сущностей с атрибутами
- •5. Студент (с)
- •Классификация атрибутов
- •Правила атрибутов
- •Безусловные связи
- •Условные формы связи
- •Формализация связи
- •Подтипы и супертипы
- •Рабочие продукты информационного моделирования
- •Методология структурного анализа и проектирования sadt
- •Введение
- •Общие сведения о методологии структурного анализа и проектирования sadt
- •Достоинства методологии sadt
- •Основные понятия idef0-модели
- •Синтаксис диаграмм
- •Синтаксис моделей
- •Декомпозиция и её стратегии при idef0-моделировании
- •Процесс моделирования в idef0
- •Инструментальные средства проектирования программного обеспечения
- •ЭволюцияCase-средств
- •Case–модель жизненного цикла.
- •Сравнительная оценка трудозатрат по этапам жизненного цикла.
- •Концептуальные основыCase–средств
- •Состав и функциональные особенностиCase–средств
- •КлассификацияCase–средств
Метод восходящего проектирования
При использовании метода восходящего проектирования в первую очередь определяются вспомогательные функции, которые могут потребоваться для проектирования программы. Эти функции реализуются с помощью модулей самых нижних уровней. Затем они используются для определения функций более высокого уровня и т.д. в чистом виде метод восходящего проектирования используется крайне редко, т.к. он имеет существенные недостатки. Программисты начинают разработку программы !!! с вспомогательных деталей. Однако, иногда использование метода восходящего проектирования целесообразно. Это происходит в следующих случаях:
А) существуют разработанные прикладные программы, которые могут быть использованы для выполнения функций разработанных программ;
Б) если заранее известно, что некоторые простые модули потребуются нескольким различным частям программы.
Чаще используется сочетание методов нисходящего и восходящего проектирования. Сочетание возможно различными способами:
Находят ключевые, наиболее важные модули, промежуточные уровни, а потом проектирование ведется нисходящими и восходящими методами одновременно (Рисунок 3 .25).
Рисунок 3.25 – Одновременное проектирование нисходящим и восходящим методами
Проектируются модули нижнего уровня, а затем программа проектируется одновременно нисходящими и восходящими методами ().
Рисунок 3.26 – Одновременное проектирование нисходящим и восходящим методами
Недостаток: программист должен обладать достаточно высокой квалификацией.
Методы расширения ядра
Методы расширения ядра отличаются от метода нисходящего проектирования тем, что в нем больше внимания вначале уделяется выявленному множеству вспомогательной функции, а не определению функций всей программы в целом. Для получения вспомогательной функции существует 2 подхода:
А) Основан на методах проектирования структур данных при иерархическом проектировании модулей. Основоположник – Джексон.
Б) Основан на определении областей хранения данных с последующим анализом связанных с ними функциональных единиц. Данный подход использует метод определения спецификаций модуля, разработанный Парнасом.
Метод иерархического проектирования модулей (метод Джексона)
Метод наиболее эффективен в случае высокой степени структуризации данный. Разработан в 75 г. Джексоном. Он базируется на исходном положении, состоящем в том, что структура программы зависит от формы подлежащей обработки данных, т.е. структура данных может использоваться для фактического формирования структуры программы.
Основные конструкции построения структур данных
Метод Джексона основывается на возможном представлении структур данных и программ единым набором и конструкций. Существует 4 основных конструкций:
Конструкция последовательных данных (Рисунок 3 .27). Она возникает когда 2 или более компонент данных помещаются вместе строго последовательным образом и образуют единый большой компонент данных.
Рисунок 3.27 – Конструкция последовательных данных
Таким образом, в последовательности должно быть не менее двух подкомпонент, причем каждый из них должен встречаться строго 1 раз и обязательно в предписанном порядке.
Пример (Рисунок 3 .28):
Рисунок 3.28 – Пример конструкции последовательных данных
Конструкция выбора данных (). Конструкция выбора данных называется конструкцией сведения результирующего компонента данных к одному из двух или более избираемых подкомпонентам.
Рисунок 3.29 – Конструкция выбора данных
Признак выбора – круг в правом верхнем углу выбранных подкомпонентов. В выборе должно быть не менее двух подкомпонентов.
Рисунок 3.30 – Пример конструкции выбора данных
Конструкция повторения данных (Рисунок 3 .31). Применяется тогда, когда конкретный элемент данных применяется от 0 до неограниченного числа раз.
Рисунок 3.31 – Конструкция повторения данных
*– признак повторяющейся части конструкции.
Пример конструкции повторения данных (Рисунок 3 .32):
Рисунок 3.32 – Пример конструкции повторения данных
Пример конструкции повторения данных с не мее, чем с одним появлением (Рисунок 3 .33):
Рисунок3.33– Пример конструкции повторения данных с не менее, чем с одним появлением
Элементарная конструкция. Элементарными являются те конструкции, которые не разлагаются дальше на подкомпоненты. Компонент может быть элементарным, так как его нельзя разложить дальше или если с проектной точки зрения окажется удобнее от его дальнейшего разбиения.