Модульная структура программ.

Модульная структура программ разрабатывается на стадии технического проекта, когда определяется состав программных модулей и устанавливаются связи между ними по управлению и данным.

Виды модульных структур:

Монолитно-модульная структура.

Включает в себя большой программный модуль, реализующий основную часть возложенных на программу функций. Из этой части имеется незначительное число обращений к другим программным модулям небольшого размера.

Недостаток:

Сложность для понимания, проверки и сопровождения.

Подобной структуры следует избегать. Все программные модули рекомендуется ограничивать сотней операторами исходного языка программирования.

Последовательно-модульная структура.

Такая структура включает в себя несколько последовательно передающих друг другу управления управление программных модулей.

Преимущество: простота и наглядность.

Недостаток: реализуется только для простых программ.

Модульно-иерархическая структура.

Включает в себя программные модули, располагаемые на нескольких уровнях иерархии. Модули верхних уровней управляют работой модулей нижних уровней. Структура проста и позволяет решать сложные задачи.

Модульно-хаотическая структура.

Модули в структуре связаны между собой таким образом, что они не образуют в явном виде ни одну из перечисленных выше структур. Эти программы сложны для проверки и сопровождения. Следует избегать получения таких программ. Такая структура может оказаться допустимой только в системах реального времени с жёсткими объёмно-временными ограничениями.

Технологический цикл конструирования программной системы (ПС): три процесса.

Технологический цикл конструирования программной системы (ПС) вклю-

-чает 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. Модель абстрактной машины.

Это многослойная система, при этом каждый текущий слой реализуется с использованием средств обеспечиваемых слоем фундамента.

Управление версиями
Управление объектом

СУБД

ОС

Наши рекомендации