Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture5.doc
Скачиваний:
5
Добавлен:
26.11.2019
Размер:
73.22 Кб
Скачать

Лекция № 5

Методология проектирования пп

Проектирование (Functional design, Detailed design) - процесс преобразования задания на разработку (внешней спецификации) в задание на кодирование. Содержание процесса - построение, анализ и детализация моделей создаваемого ПП. Модель (в инженерном и научном смысле) - это упрощенное описание объекта или явления, в котором отражены те его свойства, которые существенны для целей его изучения или построения (от несущественных абстрагируемся!) - т.е., модель есть абстракция, и уместно говорить об уровнях абстракции. Чем выше уровень абстракции, тем более общая (краткая, обозримая), но зато и менее точная (детальная) модель. Вопрос 1.

Модели ПП описывают структуру и/или поведение будущей системы. Структура чего-либо - это состав (деление на компоненты) и связи (отношения) между компонентами. Строго описанная структура - это частный случай математической модели. Структура представляется наглядно в виде графа: вершины соответствуют компонентам, дуги - связям. Вопрос 2. Графовое и соответствующее графическое представление моделей способствует их наглядности, понятности (ср. чертежи в традиционных отраслях промышленности).

Виды моделей программ и их представление в виде графов

Основные традиционные виды моделей:

  • Функциональная структура

Описывает подчиненность компонентов - функциональных блоков (ФБ): подсистем, модулей, фрагментов кода, реализующих определенные функции. Два вида подчиненности:

а) отношение часть-целое (отношение эквивалентности), тогда соответствующий граф - дерево иерархии ФБ

б) отношение вызывающий - вызываемый (для подпрограмм), тогда граф - гамак или более сложного вида.

  • Алгоритмическая (процедурная) модель

Описывает алгоритм как последовательность шагов, т.е. отношение предшествования во времени (отношение частичного порядка) ФБ. Изображается блок-схемой алгоритма (Flow Chart, или схема потока управления) или в виде псевдокода. Вопрос 3.

  • Информационная модель

Ее компоненты - порции информации: структуры данных, записи, файлы и, возможно, ФБ, их обрабатывающие. Два варианта:

А) Схема потока данных (Data Flow Diagram, DFD) описывает отношения на двух множествах: порций данных и ФБ. Избражается двудольным графом; дуги – отношения двух типов: «быть входными данными» и «быть выходными данными» – одновременно заменяют собой ФБ ввода / вывода или пересылки данных.

Б) Инфологическая (информационно-логическая) модель описывает логические отношения между объектами, отображаемыми в базе данных. Чаще всего это реляционная модель или модель «сущность-связь» (Entity-Relationship, ER-model) – исходная для построения схемы базы данных.

  • Событийная структура (модель состояний и переходов)

Здесь компоненты – состояния системы, отношения – переходы между ними. Изображается диаграммой состояний и переходов (State-Transition Diagram, STD), причем дуги нагружены событиями, вызывающими переходы и, возможно, другими условиями.

Кроме того, в последние годы появились объектно-ориентированные модели, о которых – позже.

Пример: возможные модели программы пополнения словаря. Словарь – лексико-графически упорядоченный набор статей в файле А. Отдельно формируется файл D, содержащий неупорядоченный набор дополнений (новых статей). Программа объе-диняет файл D с А так, что файл А остается упорядоченным, а D – становится пустым.

Соседние файлы в предмете Информатика