- •5,6 Семестр Общие принципы проектирования программных систем. Этапы жизненного цикла программной системы.
- •1. Постановка задачи:
- •Требования, предъявляемые к программным системам:
- •2. Разработка:
- •3. Реализация:
- •Нисходящее и восходящее проектирование.
- •Структурное программирование (без go to).
- •2) Ветвление (if): 3) цикл с предусловием (do while):
- •1.2.4. Язык проектирования (метаязык)
- •Глава 2. Структуры данных.
- •2.1. Агрегативные переменные
- •2.2. Динамические структуры данных.
- •2.2.1. Списки. (Списочные структуры).
- •2.2.2. Очереди
- •2.2.3. Стеки
- •2.2.4. Множества
- •2.2.5. Деревья и графы
- •1 . Направленный граф:
- •2 . Ненаправленный граф:
- •2.3. Абстрактные структуры данных
- •2.3.2. Объекты
- •2.4. Файловые типы данных
- •2.4.4. Операции над файлами
- •4. Специальные операции:
- •Специальные типы файлов языка Pascal.
- •Файлы в других языках
- •3. Алгоритмы
- •3.1. Типы алгоритмов. Сложность алгоритмов.
- •3.2. Способы реализации алгоритмов.
- •5.2 Реализация наследования в Паскале
- •5.3 Проблема наследования статических методов
- •6.1 Объекты и их жизненный цикл
- •6.2. Инкапсуляция. Св-ва
- •6.3 Наследование
- •6.4. Области видимости
- •6.5 Информация о классе
- •Особенности архитектуры программ
- •7 .1 Обработчики сообщений Windows в Delphi
- •Средства разработки Windows приложений
- •4.4.2 Основные понятия ооп
- •4.4.3 Типы оос
- •4.4.4 Общие принципы работы оос-м
- •Особенности объектно-ориентированных систем
- •4.1 Декомпозиция и абстракция
- •Методы проектирования ориентированные на обработку
- •4.2.1 Модульное программирование
- •4.2.2 Функциональная декомпозиция
- •1. Пошаговое уточнение:
- •2. Метод анализа потоков данных:
- •Связанность модулей
- •Сцепление модулей
- •4.2.3. Технология структурного анализа проекта
- •4.2.4 Язык определения задач psl/psa
- •Методология Джексона
- •Методология Уорнера
- •4.2.6. Метод иерархических диаграмм hipo
- •Методы проектирования ориентированные на данные
Методология Джексона
Согласно этой методологии структура данных рассматривается в качестве ключевого эл-та в построении хорошего программного проекта. Структура программной системы при этом определяется структурой данных.
Анализируется структура входных и выходных данных получим структуру программы.
Основные действия при проектировании:
1) идентифицировать и изобразить структуру входных и выходных данных. Для изображения структур использовать иерархические диаграммы.
2) изобразить структуру данных программы соединяя изображения структур входных и выходных данных.
3) определить дискретные операции составляющей программы:
эл-т – ф-ция, которая не может быть разбита на некоторые простые ф-ции
последовательность – ряд ф-ций реализуемых последовательно и однократно
выбор – выбор одной из возможных последовательностей
итерация – ф-ция выполняемая определённое число раз
Для каждой из этих операций определяются условные графические обозначения.
4) Превратить операции в текст программы
Пример использования методологии Джейксона для построения простой программы построчной печати текста:
1 ) входные данные
2) строим структуру выходных данных:
3 ) структура программы:
Метод Джексона эффективен в высокой степени структуризации данных.
Методология Уорнера
Однако здесь процедура проектирования более детализирована, чем Джексона.
Используется 4 вида представления проекта:
1) диаграмма организации данных
2) диаграммы логического следования, список инструкций
3) метаязык
Основные действия при проектировании:
1) идентифицировать все входные данные
2) организовать входные данные и иерархическую форму
3) определить детальный формат для всех эл-тов входных данных
4) повторить 1-3 для выходных данных
5) идентифицировать типы инструкций и определить обозначения для них (например: чтение, ветвление, вызов процедур и т.д.)
6) использовать диаграммы типа блок-схем для определения логической последовательности инструкций
7) записать текст программы на метаязыке
4.2.6. Метод иерархических диаграмм hipo
Основные хар-ки метода:
1) способность представлять связь между входными данными, выходными данными и процессом обработки
2) возможность иерархической декомпозиции без излишней детализации
3) использование 3-х стандартных эл-тов: вход, обработка, выход
Порядок проектирования:
1) идентифицируются входные данные, выходные и обработка (но не определяются их структура)
2) вход и выход соединяются соответствующей обработкой
3) изобразить полученную структуру с помощью набора иерархических диаграмм
4) детализировать проект, выполняя предыдущие шаги
Пример программы модификации записей в ф-ле:
П ри этом не детализируется структура данных и архитектура программной системы и алгоритмы обработки, работа системы в основном рассматривается на функциональном уровне.
Методы проектирования ориентированные на данные
Наиболее известны 2 методологии:
1) объектно-ориентированная методология
2) методология основанная на преобразовании спецификаций в концептуальную базу данных.
Обе методологии опираются на формализацию спецификаций. Методологии исходят из того, что программы могут быть построены систематически, исходя из спецификации на данные.
В обоих методологиях используются абстракции данных.
ОО-нная методология (ООМ):
В её основе лежит идея упрятывания информации. Объекты рассматриваются в качестве активных данных.
При проектировании программной системы программист создаёт абстрактную структуру данных и отображает проблемную область в эти структуры.
2-я методология
является разновидностью ООМ-гии, основана
на построении модели системы, с
использованием некоторых приёмов
обобщения и спецификации.