- •Основные понятия и определения
- •Модели жизненного цикла разработки программных средств и систем
- •Стратегии разработки программных средств и систем
- •Каскадная модель жизненного цикла разработки программных средств и систем
- •Преимущества каскадной модели жизненного цикла
- •Недостатки каскадной модели жизненного цикла
- •Область применения каскадной модели
- •V-образная модель жизненного цикла разработки программных средств и систем
- •Преимущества V-образной модели жизненного цикла
- •НедостаткиV-образной модели жизненного цикла
- •Область применения V-образной модели
- •Структурная эволюционная модель быстрого прототипирования жизненного цикла разработки программных средств и систем
- •Преимущества структурной эволюционной модели быстрого прототипирования
- •Недостатки структурной эволюционной модели быстрого прототипирования
- •Область применения структурной эволюционной модели быстрого прототипирования
- •Модель быстрой разработки приложений rad
- •Преимущества модели быстрой разработки
- •Недостатки модели быстрой разработки
- •Область применения модели быстрой разработки rad
- •Инкрементная модель жизненного цикла разработки программных средств и систем
- •Преимущества инкрементной модели жизненного цикла
- •Недостатки инкрементной модели жизненного цикла
- •Область применения инкрементной модели
- •Спиральная модель жизненного цикла разработки программных средств и систем
- •Преимущества спиральной модели жизненного цикла
- •Недостатки спиральной модели жизненного цикла
- •Область применения спиральной модели
- •Упрощенные варианты спиральной модели
- •Классификация проектов по созданию и развитию программных средств и систем
- •Классические технологии проектирования программ
- •Модульное проектирование программ
- •Метод нисходящего проектирования
- •Пошаговое уточнение
- •Кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования
- •Использование комментариев для описания обработки данных
- •Анализ сообщений
- •Связность модуля
- •Сцепление модулей
- •Метод восходящего проектирования
- •Методы расширения ядра
- •Метод иерархического проектирования модулей (метод Джексона)
- •Основные конструкции построения структур данных
- •Построение структур данных
- •Создание структур программ
- •Этапы конструирования программы
- •Case-технологии проектирования программного обеспечения
- •Общие сведения о case-технологиях
- •Информационное моделирование
- •Сущности
- •Атрибуты
- •Способы представления сущностей с атрибутами
- •5. Студент (с)
- •Классификация атрибутов
- •Правила атрибутов
- •Безусловные связи
- •Условные формы связи
- •Формализация связи
- •Подтипы и супертипы
- •Рабочие продукты информационного моделирования
- •Методология структурного анализа и проектирования sadt
- •Введение
- •Общие сведения о методологии структурного анализа и проектирования sadt
- •Достоинства методологии sadt
- •Основные понятия idef0-модели
- •Синтаксис диаграмм
- •Синтаксис моделей
- •Декомпозиция и её стратегии при idef0-моделировании
- •Процесс моделирования в idef0
- •Инструментальные средства проектирования программного обеспечения
- •ЭволюцияCase-средств
- •Case–модель жизненного цикла.
- •Сравнительная оценка трудозатрат по этапам жизненного цикла.
- •Концептуальные основыCase–средств
- •Состав и функциональные особенностиCase–средств
- •КлассификацияCase–средств
Пошаговое уточнение
При пошаговом уточнении на каждом следующем этапе декомпозиции определяются программные фрагменты очередного более низкого уровня.
Существуют 2 способа реализации пошагового уточнения:
кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования.
Взаимное расположение записи должно обеспечивать читабельность всей программы.
Пошаговое уточнение требует, что бы взаимное расположение записей обеспечивало читабельность всей программы.
Кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования
Общее правило записи текста программы:
Служебные слова, которыми начинается и заканчивается та или иная управляющая конструкция записываются на одной вертикали. Все вложенные в данную конструкцию псевдокоды и управляющие конструкции записываются с отступом вправо.
Разбиение на модули осуществляется эвристическим способом. На каждом этапе проектирования по возможности не уточняются операции с данными. Но выбор необходимых управляющих конструкций осуществляется на каждом этапе. На этапе, когда принимается решение о дальнейшем уточнении, оставшиеся неопределенными подфункции становятся вызываемыми подпрограммами, а проектируемый модуль – управляющим модулем.
Пример: проект программы обработки пакетов некоторых групп записей. Каждая группа, сопровождаемая управляющей группой, имеет заголовок и окончание.
1 этап
Рrogramобработка_пакетов;
2 этап
Programобработка_пакетов;
Сортировать_записи_по_управляющим_полям
Отделить_правильные_записи_от_неправильных_и_обработать
Endprogram.
3 этап
Programобработка_пакетов;
Сортировать_записи_по_управляющим_полям/
Взять_первую_запись/
Whileне_конец_входного_файлаDo
Взять_правильную_управляющую_группу
Обработать_группу_записей
End
Обработать_неправ_упр_группы
Endprogram.
Процесс детализации продолжаем, пока не будет принято решение о прекращении дальнейшей детализации. Все действия, записанные в последней программе в виде предложений, оформляются в виде подпрограмм, с использованием принципа структурного программирования, с использованием принципа структурно программирования.
Преимущества метода пошагового уточнения:
основное внимание при его использовании обращается на проектирование корректной структуры программ, а не на ее детализацию.
так как каждый последующий этап является уточнением предыдущего лишь с небольшими изменениями, то легко может быть выбрана проверка корректности процесса разработки на всех этапах.
Недостаток метода:
на поздних этапах проектирования может обнаружиться необходимость в структурных изменениях, требующих пересмотра более ранних конструкций.
Использование комментариев для описания обработки данных
При этом способе на каждом этапе уточнений используют управляющие конструкции структурного программирования, а правила обработки данных не детализируют, описывая их в виде комментариев. На каждом этапе уточняющие блоки представления комментариев детализируются. Но сами комментарии при этом не выбрасывают. В результате получается хорошо прокомментированная программа.
Существуют следующие виды комментариев.
заголовки: объясняют назначение основных блоков программы на отдельных этапах пошаговой детализации.
построчные: описывают мелкие фрагменты программы.
вводные комментарии: помещаются в начале текста программы и задают общую информацию о программе.
Нормы комментариев:
4-5 строк комментария заголовка на каждую подпрограмму или блок и по 1 комментарию на каждые 2-3 строки исходного текста для построчных комментариев.
Пример:
1 этап
{программа обработки пакетов записей
разработчик – Иванов И.И. …}
{Заголовок программы}
2 этап
{вводный комментарий из предыдущего этапа}
{заголовок программы}
Program{обработка пакетов}
{сортировка записей по упр полям}
{отделение правильных записей от неправильных и их обработка}
Endprogram
3 этап
{отделение правильных записей от неправильных и их обработка}
{взятие первой записи}
While{не конец входного файла}do
{взятие правильной управляющей группы}
{Обработка группы записей}
End
{обработка неправильной управляющей группы}
Endprogram