Модульная структура программ.
Модульная структура программ разрабатывается на стадии технического проекта, когда определяется состав программных модулей и устанавливаются связи между ними по управлению и данным.
Виды модульных структур:
Монолитно-модульная структура.
Включает в себя большой программный модуль, реализующий основную часть возложенных на программу функций. Из этой части имеется незначительное число обращений к другим программным модулям небольшого размера.
Недостаток:
Сложность для понимания, проверки и сопровождения.
Подобной структуры следует избегать. Все программные модули рекомендуется ограничивать сотней операторами исходного языка программирования.
Последовательно-модульная структура.
Такая структура включает в себя несколько последовательно передающих друг другу управления управление программных модулей.
Преимущество: простота и наглядность.
Недостаток: реализуется только для простых программ.
Модульно-иерархическая структура.
Включает в себя программные модули, располагаемые на нескольких уровнях иерархии. Модули верхних уровней управляют работой модулей нижних уровней. Структура проста и позволяет решать сложные задачи.
Модульно-хаотическая структура.
Модули в структуре связаны между собой таким образом, что они не образуют в явном виде ни одну из перечисленных выше структур. Эти программы сложны для проверки и сопровождения. Следует избегать получения таких программ. Такая структура может оказаться допустимой только в системах реального времени с жёсткими объёмно-временными ограничениями.
Технологический цикл конструирования программной системы (ПС): три процесса.
Технологический цикл конструирования программной системы (ПС) вклю-
-чает 3 процесса:
Анализ.
Синтез.
Сопровождение.
Анализ.
Отвечают на вопрос: что должна делать будущая система. Необходимо учитывать полноту и точность в определении требований к программной системе;
Синтез.
Отвечают на вопрос каким образом система будет реализовывать предъявляемые к ней требования. Три этапа синтеза:
a) Проектирование;
b) Кодирование;
c) Тестирование.
Информационные потоки процесса синтеза программной системы.
Модель анализа: Ø Информационная; Ø Функциональная; Ø Поведенческая. |
Этап проектирования |
Этап кодирования |
Процедурная разработка |
Разработка архитектуры |
Разработка данных |
Этап тестирования |
Процедурные модули |
Проверенная и объединённая ПС |
Информационная модель описывает информацию, которую должна обрабатывать ПС.
Функциональная модель определяет перечень функций обработки.
Поведенческая модель фиксирует режимы работы ПС.
Разработка данных – результат преобразования информационной модели анализа в структуры данных.
Разработка архитектуры выделяет основные структурные компоненты и фиксирует связи между ними.
Процедурная разработка описывает последовательность действий структурных компонентов(их содержание).
На проектирование, кодирование и тестирование приходится более 75% стоимости конструирования ПС. Решение, принимаемое в ходе проектирования, делают его стержневым этапом процесса синтеза.
Особенности этапа проектирования.
Выделяют две ступени:
1. Предварительное.
2. Детальное.
1. Предварительное проектирование обеспечивает :
1) Идентификацию подсистем;
2) Определение основных принципов управления подсистема-ми, взаимодействие подсистем.
Предварительное проектирование включает три типа деятельности:
Ø I.Структурирование системы (система разбивается на несколько подсистем – независимых программных компонентов. Определяется взаимодействие подсистем);
Ø II.Моделирование управления.(Определяется модель связей управления между подсистемами);
Ø III.Декомпозиция подсистем на модули.(Определение типов модулей и межмодульных соединений)
Информационные связи процесса проектирования.
Предварительное проектирование |
Детальное проектирование |
Требования Архитектура Структура
программ и данных и
данных алгоритм
Интерфейсное проектирование |
Характеристики , формы
человеко-машинного
взаимодействия
На выход
I.Структурирование систем.
Известны 4 модели системного структурирования:
I. Модель хранилища данных.
Редактор проекта |
Генератор кода |
Хранилище данных проекта |
Редактор программы |
Анализатор проекта |
Проектный транслятор |
В данной модели подсистемы разделяют данные находящиеся в общей памяти. Как правило данные образуют базы данных.Предусматривается система управления этой базой.
II.Модель клиент – сервер.
Клиент 1 |
Клиент 3 |
Клиент N |
Клиент 2 |
Видео- -сервер |
Сервер каталога |
Сервер гипер-текстов |
Сеть (Протокол взаимодействий TCP/IP) |
Сервер картинок |
Данная модель используется для распределения систем,где данные распределены по серверам.
III.
Графический интерфейс пользователя |
Бизнес - логика |
Реляционная СУБД |
Уровень графического интерфейса запускается на машине клиента.
Бизнес – логику образуют модули осуществляющие функциональные обязанности подсистемы. Этот уровень запускается на сервере приложения.
Реляционная СУБД хранит данные необходимые уровню бизнес – логики. Этот уровень запускается на втором уровне - сервере базы данных(БД).
Преимущества трёхуровневой модели:
Ø Упрощается такая модификация уровня, которая не влияет на другие уровни;
Ø Отделение прикладных функций от функций управления БД,
упрощает оптимизацию всей системы.
IV. Модель абстрактной машины.
Это многослойная система, при этом каждый текущий слой реализуется с использованием средств обеспечиваемых слоем фундамента.
Управление версиями |
Управление объектом |
СУБД |
ОС |