- •8. Базовая rad-модель быстрой разработки приложений жизненного цикла пс. Достоинства и недостатки. Область применения.
- •13. Эволюционная модель жизненного цикла пс по гост р исо/мэк то 15271-2002. Достоинства и недостатки. Область применения.
- •17. Упрощенная спиральная модель жц пс института качества sqi. Достоинства и недостатки. Область применения.
- •18. Упрощенная спиральная модель жц пс Института Управления проектами. Достоинства и недостатки. Область применения.
- •20. Спиральная модель жизненного цикла пс Консорциума по вопросам разработки программного обеспечения. Достоинства и недостатки. Область применения.
- •21. Компонентно-ориентированная модель жизненного цикла пс. Достоинства и недостатки. Область применения.
- •22. Классификация проектов по разработке пс и систем, ориентированная на выбор модели жц. Категории и критерии классификации проектов.
- •23. Процедура выбора модели жц разработки пс и систем института sqi
- •25. Модульное проектирование программ. Признаки модульности программы. Достоинства и недостатки модульности. Классификация методов проектирования модульных программ.
- •26. Нисходящее проектирование программ и его стратегии. Стратегия, основанная на использовании псевдокода. Достоинства и недостатки. Пример.
- •27. Стратегия пошаг проект-я при нисходящем проектировании программ, основанная на использовании комментариев. Виды и нормы комментариев. Пример.
- •28. Стратегия анализа сообщений при нисходящем проектировании программ. Пример.
- •29. Метод восходящего проектир. Сущность. Целесообразность использования. Недостатки. Способы сочетания с другими методами.
- •30. Метод Джексона. Сущность. Основ констр постр структур дан. Примен к иерархич, сетев и реляц структурам данных. Примеры.
- •31. Первый этап метода Джексона. Виды документов, создаваемых на данном этапе. Пример.
- •33. Третий этап метода Джексона. Цель. Сущность. Подэтапы. Пример.
- •34. Четвертый этап метода Джексона. Цель. Сущность. Контрольный перечень операций. Пример.
- •35. Пятый этап метода Джексона. Цель. Сущность. Пример.
25. Модульное проектирование программ. Признаки модульности программы. Достоинства и недостатки модульности. Классификация методов проектирования модульных программ.
Под модуляцией (модуляризацией) понимается разделение программы на части по некоторым установленным правилам. Модульная программа - это программа, в которой любую часть логической структуры можно изменить, не вызывая изменений в других частях программы.
Признаки модульности программы:
Программа состоит из модулей.
Независимость модулей. Это значит, что модуль можно изменять или модифицировать без последствий в других модулях.
Условие «один вход - один выход». Модульная программа должна состоять из модулей, имеющих одну точку входа и одну точку выхода. В общем случае может быть и более чем один вход, но важно, чтобы точки входов были строго определены и другие модули не могли входить в данный модуль в произвольной точке.
Дост-ва: 1) Упрощение разработки и реализации программ. 2) Облегчение чтения программ. 3) Упрощения настройки и модификации программ. 4) Облегчение работы с данными, имеющими сложную структуру. 5) Исключение чрезмерной детализации алгоритмов.
Недост-ки: 1) Модульность требует большей дополнительной работы программиста и определенных навыков проектирования программ.
Модульный подход в среднем требует большего времени работы центрального процессора (в среднем на 5 - 10%) за счет времени обращения к модулям.
Модульность программы приводит к увеличению объема программ (в среднем на 5 - 10%).
Методы дел на 3 группы:
Методы нисходящего проектирования.
Методы расширения ядра.
Методы восходящего проектирования.
На практике обычно применяются различные сочетания этих методов.
26. Нисходящее проектирование программ и его стратегии. Стратегия, основанная на использовании псевдокода. Достоинства и недостатки. Пример.
Основное назначение нисходящего проектирования - служить средством разбиения большой задачи на меньшие подзадачи так, чтобы каждую задачу можно было рассматривать независимо.
Суть метода: На начальном шаге в соответствии с назначением всей программы продумывается ее общая структура, без детальной проработки ее отдельных частей. Затем выделяются функц треб-я более низкого уровня. В соответ с ними разраб отдел компоненты, не детализ на предыд шаге. Эти действия явл рекурс. Стратегии на кот основана реализ-я:
пошаговое уточнение (данная стратегия разработана Е. Дейкстрой)
анализ сообщений (данная стратегия базируется на работах группы авторов: Иодана, Константайна, Мейерса).
Эти стратегии отличаются способами определения начальных спецификаций требований, методами разбиения задачи на части и правилами записи (нотациями), положенными в основу проектирования.
При пошаговом уточнении на каждом следующем этапе декомпозиции детализируются программные компоненты очередного более низкого уровня. При этом результаты каждого этапа являются уточнением результатов предыдущего этапа лишь с небольшими изменениями.
При пошаговом уточнении на каждом следующем этапе декомпозиции детализируются программные компоненты очередного более низкого уровня. При этом результаты каждого этапа являются уточнением результатов предыдущего этапа лишь с небольшими изменениями.
Существуют различные способы реализации пошагового уточнения. В данном учебном пособии рассмотрены два из них:
1) кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования;
2) использование комментариев для описания обработки данных. Пошаговое уточнение требует, чтобы взаимное расположение строк
программы обеспечивало читабельность всей программы.
Преимущества метода пошагового уточнения:
Основное внимание при его использовании обращается на проектирование корректной структуры программ, а не на ее детализацию.
Так как каждый последующий этап является уточнением предыдущего лишь с небольшими изменениями, то легко может быть выполнена проверка корректности процесса разработки на всех этапах.
Недостаток метода пошагового уточнения: на поздних этапах проектирования может обнаружиться необходимость в структурных изменениях, требующих пересмотра более ранних решений.
Использ псевдокода. При использ данного способа разбиение прог на модули осущ эвристическим способом. На каждом этапе проект по возможности не уточняются операции с данными . Но выбор необходимых управляющих конструкций осуществляется на каждом этапе. На этапе, когда принимается решение о прекращении дальнейшего уточнения, оставшиеся неопределенными подфункции становятся вызываемыми модулями (или подпрограммами), а проектируемый модуль – управляющим модулем.
Пример.
Пусть программа обрабатывает файл дат. Необх отделить правильные даты от неправильных, отсортировать правильные даты, перенести летние и зимние даты в выходной файл и вывести исправленные даты.
Первый этап пошагового уточнения.Задается заголовок программы, соответствующий ее основной функции.
Рrogram Обработка_дат
Второй этап пошагового уточнения
Определяются основные действия.
Program Обработка_дат;
Отделить_ правильные_даты_от_ неправильных {*}
Сортировать_правильные_даты;
Выделить_зимние_и_летние_даты;
Обработать_неправильные_даты;
EndРrogram.
Третий этап пошагового уточнения.
Детализация фрагмента *.
Program Обработка_дат;
While не_конец_входного_файла Do
Begin
Прочитать_дату;
Проанализировать_правил_даты;
End
Сортировать_правильные_даты;
Выделить_зимние_и_летние_даты;
Обработать_неправильные_даты;
EndРrogram.