
- •ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Основы проектирования программных систем
- •Основы проектирования программных систем Цели изучения и рассматриваемые вопросы
- •Основы проектирования программных систем Вспомним
- •Основы проектирования программных систем Особенности процесса синтеза ПС
- •Основы проектирования программных систем
- •Понятие архитектуры программного средства Этап архитектурного проектирование
- •Этап архитектурного проектирование Понятие архитектуры программного средства
- •Этап архитектурного проектирование Результат архитектурного проектирования
- •Этап архитектурного проектирование Процессы архитектурного проектирования
- •ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Этап архитектурного проектирование Структурирование системы
- •Этап архитектурного проектирование Структурирование системы
- •Структурирование системы Модель хранилища данных
- •Структурирование системы Модель хранилища данных
- •Структурирование системы Модель хранилища данных
- •Структурирование системы Модель клиент-сервер
- •Структурирование системы Модель абстрактной машины
- •Структурирование системы Модель абстрактной машины
- •Структурирование системы Модель абстрактной машины
- •ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Этап архитектурного проектирование Моделирование управления
- •Моделирование управления Централизованное управление
- •Моделирование управления Централизованное управление - ВЫЗОВ-ВОЗВРАТ
- •Моделирование управления Централизованное управление - ДИСПЕТЧЕР
- •Моделирование управления Централизованное управление
- •Моделирование управления Событийное управление
- •Моделирование управления Событийное управление - ПЕРЕДАЧА СООБЩЕНИЙ
- •Моделирование управления Событийное управление - ПЕРЕДАЧА СООБЩЕНИЙ
- •Моделирование управления Событийное управление - ПРЕРЫВАНИЯ
- •Моделирование управления Событийное управление - ПРЕРЫВАНИЯ
- •ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Этап архитектурного проектирование Модульная декомпозиция
- •Модульная декомпозиция Программный модуль
- •Модульная декомпозиция Модели
- •Модульная декомпозиция Характеристики программного модуля
- •Характеристики программного модуля Размер модуля
- •Характеристики программного модуля
- •Характеристики программного модуля
- •Характеристики программного модуля Связность (прочность)
- •Характеристики программного модуля Связность (прочность)
- •Характеристики программного модуля Связность (прочность)
- •Характеристики программного модуля Сцепление
- •ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •Основы проектирования программных систем
- •Методы проектирования Метод восходящей разработки
- •Методы проектирования Метод нисходящей разработки
- •Методы проектирования
- •Методы проектирования Разработка программного модуля
- •Разработка программного модуля Структурное программирование
- •Разработка программного модуля Пошаговая детализация
- •Разработка программного модуля Пошаговая детализация
- •Методы проектирования

Структурирование системы Модель абстрактной машины
Version management
Object management
Database system
Operating
system
Модель архитектуры абстрактной машины (иногда называемая многоуровневой моделью) моделирует взаимодействие подсистем. Она организует систему в виде набора уровней, каждый из которых предоставляет свои сервисы.
Каждый уровень определяет абстрактную машину, машинный язык которой (сервисы, предоставляемые уровнем) используется для реализации следующего уровня абстрактной машины.
Например, наиболее распространенный способ реализации языка программирования состоит в определении идеальной "языковой машины" и компилировании программ, написанных на данном языке, в код этой машины. На следующем шаге трансляции код абстрактной машины конвертируется в реальный машинный код.
© 2005, В.В.Хашковский, Д.П.Калачев. |
21 |

Структурирование системы Модель абстрактной машины
Version management
Object management
Database system
Operating
system
Каждый уровень определяет свой набор сервисов (интерфейсов) и реализует некоторую абстрактную машину, машинный язык которой (набор сервисов) используется на следующем уровне.
+ Обеспечивается пошаговое развитие системы.
+ Архитектура изменяема и переносима.
- Но достаточно велика сложность, особенно в части использования только сервисов одного нижележащего уровня.
© 2005, В.В.Хашковский, Д.П.Калачев. |
22 |

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
(Software engineering)
Учебный курс
очного обучения по специальностям 220400 «Программное обеспечение вычислительной техники и автоматизированных систем»
351500 «Математическое обеспечение и администрирование информационных систем» кафедры
МОП ЭВМ
Л Е К Ц И Я 8 семестр
4.3
Основы
проектирования
программных систем.
Архитектурное,
проектирование.
Моделирование
управления.
В.В.Хашковский, к.т.н., доц. каф. МОП ЭВМ ТРТУ
Д.П.Калачев, доц., к.т.н., доц. каф. МОП ЭВМ
ТРТУ

Этап архитектурного проектирование Моделирование управления
Для функционирования подсистем как единой системы необходимо обеспечить управление ими. Выделяют два основных типа управления в системах:
Централизованное управление - Одна из подсистем полностью отвечает за управление, запускает и завершает работу остальных подсистем. Управление от первой подсистемы может перейти к другой подсистеме, однако потом обязательно возвращается к первой.
Событийное управление - Здесь вместо одной подсистемы, ответственной за управление, на внешние события может отвечать любая подсистема. События, на которые реагирует система, могут происходить либо в других подсистемах, либо во внешнем окружении системы.
Модель управления дополняет структурные модели.
© 2005, В.В.Хашковский, Д.П.Калачев. |
24 |

Моделирование управления Централизованное управление
В модели централизованного управления одна из подсистем является главной и для каждой из подсистем всегда есть главенствующая. Такие модели разбить на два класса в зависимости от того, последовательно или параллельно выполняются подсистемы:
Вызов-возврат - Это известная модель организации вызова программных процедур "сверху вниз", в которой управление начинается на вершине иерархии процедур и через вызовы передается на более нижние уровни иерархии. Данная модель применима только в последовательных системах.
Диспетчер - Применяется в параллельных системах. Один системный компонент назначается диспетчером и управляет запуском, завершением и координированием других процессов системы. Процесс (выполняемая подсистема или модуль)
может протекать параллельно с другими процессами. Модель такого типа применима также в последовательных системах, где управляющая программа
вызывает отдельные подсистемы в зависимости от значений некоторых переменных состояния.
© 2005, В.В.Хашковский, Д.П.Калачев. |
25 |

Моделирование управления Централизованное управление - ВЫЗОВ-ВОЗВРАТ
Main |
program |
Routine 1 |
Routine 2 |
Routine 3 |
Routine 1.1 |
|
Routine 1.2 |
|
Routine 3.1 |
|
Routine 3.2 |
|
|
|
|
|
|
|
Это не структура программы (модулей), а структура управления (вызовов).
© 2005, В.В.Хашковский, Д.П.Калачев. |
26 |

Моделирование управления Централизованное управление - ДИСПЕТЧЕР
Sensor |
Actuator |
processes |
processes |
System controller
Computation |
User |
Fault |
processes |
interface |
handler |
© 2005, В.В.Хашковский, Д.П.Калачев. |
27 |

Моделирование управления Централизованное управление
Жесткая и ограниченная природа модели вызова-возврата является одновременно и преимуществом и недостатком. Преимущества модели проявляются в относительно (+) простом анализе потоков управления, а также при выборе системы, отвечающей за конкретный ввод данных. Недостаток модели - состоит в (-) сложной обработке исключительных ситуаций.
Модель с диспетчером напоминает децентрализованную событийную модель управления и поэтому + и _ похожи. Относительно (+)простая модернизация. Новую подсистему можно интегрировать, реализовав ее и доработав диспетчер. Каждая подсистема может (+)активизировать любую другую подсистему, не зная ее имени. Подсистемам неизвестно, когда произойдет обработка(-) измененных ими данных – это дело диспетчера. Генерируя событие (т.е. модифицируя общие данные), подсистема не знает, какая именно другая подсистема прореагирует(-) на него.
© 2005, В.В.Хашковский, Д.П.Калачев. |
28 |

Моделирование управления Событийное управление
В модели событийного управления рассматривается как бы децентрализованное управление. Такие модели можно разбить на два класса в зависимости от того, последовательно или параллельно выполняются подсистемы:
Передача сообщений - В этих моделях событие представляет собой передачу сообщения всем подсистемам. Любая подсистема, которая обрабатывает данное событие, отвечает на него.
Управляемые прерываниями - Такие модели обычно используются в системах реального времени, где внешние прерывания регистрируются обработчиком прерываний, а обрабатываются другим системным компонентом.
© 2005, В.В.Хашковский, Д.П.Калачев. |
29 |

Моделирование управления Событийное управление - ПЕРЕДАЧА СООБЩЕНИЙ
Subsystem |
Subsystem |
Subsystem |
Subsystem |
1 |
2 |
3 |
4 |
Event and message handler
© 2005, В.В.Хашковский, Д.П.Калачев. |
30 |