- •Каноническое проектирование и документирование проекта
- •Гост на этапы канонического проектирования
- •Этап системного анализа
- •Техническое задание
- •Планирование разработки
- •Пооперационный перечень работ
- •Типы зависимостей
- •Рабочий график
- •Диаграмма Ганта
- •Сетевые диаграммы
- •Прогнозирование
- •Количественные характеристики
- •Технико-экономическое обоснование (тэо)
- •Этап проектирования (синтез систамы)
- •Статическая (структурная) модель
- •Модель репозитория
- •Модель абстрактной машины
- •Статическая модель распределенной архитектуры.
- •Файл-серверные приложения.
- •Клиент-серверные приложения.
- •Двух- и трехуровневые архитектура клиент-сервер.
- •Архитектура распределенных объектов.
- •Динамическая модель
- •Пользовательский интерфейс
- •Психофизические особенности человека, связанные с восприятием и обработкой информации.
- •Основные критерии оценки интерфейсов
- •Типы интерфейсов пользователя
- •Интерфейс примитивный
- •Интерфейс Меню.
- •Интерфейс со свободной навигацией (графический интерфейс).
- •Классификации и принципы разработки диалогов.
- •Типы диалога.
- •Формы диалога.
- •Фразовая форма
- •Директивная форма
- •Табличная форма
- •Состав и содержание технического проекта.
- •Вопросы и задания для самопроверки
- •Глоссарий
- •Глава III.Каноническое проектирование и документирование проекта 1
Архитектура распределенных объектов.
Более общий подход обеспечивает архитектура распределенных объектов, основными компонентами которой являются объекты. Они предоставляют набор услуг через свои интерфейсы. Другие объекты посылают запросы, при этом не делается различий между клиентом и сервером. Объекты могут располагаться на разных компьютерах в сети и взаимодействовать по средствам промежуточного ПО, по аналогии системной шины, которая позволяет подключать различные устройства и поддерживать взаимодействие между аппаратными устройствами.
Рис. III‑22 Архитектура распределенных объектов
Для поддерживания распределенных объектов используются стандарты CORBA (Common Object Request Broker Architecture), DCOM (Distributed Component Object Model). Также существуют стандарты более конкретного назначения: ODBC (Open Database Connectivity) – это интерфейс представляющий прикладным программам доступ к реляционным СУБД, использующие язык SQL. Он позволяет максимально просто переносить приложение с одной СУБД на другую без учета их спецификации. Это достигается с помощь выделения в интерфейсе двух компонентов: диспетчер ODBC и драйвер ODBC (Рис. III -23).
Рис. III‑23 Архитектура ODBC
Архитектура ODBC включает компоненты:
Приложение (например, ИС). Оно выполняет задачи: запрашивает соединение с источником данных, посылает SQL – запросы к источнику данных, описывает область хранения и формат для SQL – запросов, обрабатывает ошибки и оповещает о них пользователя, осуществляет фиксацию или откат транзакций, запрашивает соединение с источником данных.
Диспетчер устройств. Он загружает драйвера по требованию приложений, предлагает единый интерфейс всем приложениям, причем интерфейс администратора ODBC одинаков и независим то того, с какой СУБД приложение будет взаимодействовать. Диспетчер драйверов, поставляемый Microsoft, является динамически загружаемой библиотекой DLL.
Драйвер зависит от СУБД. Драйвер ODBC – это динамическая библиотека DLL, которая реализует функции ODBC и взаимодействует с источником данных. Драйвер – это программа, которая обрабатывает запрос какой-то функции специфично для СУБД (может модифицировать запросы в соответствии с СУБД) и возвращает результат приложению. Каждая СУБД, поддерживающая технологию ODBC, должна предоставить разработчикам приложений драйвер для этой СУБД.
Источник данных содержит управляющую информацию, задаваемую пользователем, информацию об источнике данных и используется для доступа к конкретной СУБД. При этом используются средства ОС и сетевой платформы.
Динамическая модель
Эта модель предполагает много аспектов, для представления которых на языке UML используется как минимум 5 диаграмм см. пп. 2.04.2- 2.04.5.
Рассмотрим аспект управления. Модель управления дополняет структурные модели.
Каким бы образом не была описана структура системы, она состоит из набора структурных единиц (функций или объектов). Чтобы они функционировали как единое целое, ими надо управлять, а информация по управлению отсутствует в статических диаграммах. В моделях управления проектируется поток управления между системами.
Можно выделить два основных типа управления в программных системах.
Централизованное управление.
Управление, основанное на событиях.
Централизованное управление может быть:
Иерархическим - по принципу «вызов-возврат» (именно так чаще всего работает учебные программы)
Модель диспетчера, которая применяется для параллельных систем.
В модели диспетчера предполагается, что один из компонентов системы – диспетчер. Он управляет как запуском, так и завершением систем и координацией остальных процессов системы. Процессы могут работать параллельно друг другу. Под процессом понимается программа, подсистема или процедура, которая работает на данный момент. Эта модель может применяться также в последовательных системах, где управляющая программа вызывает отдельные подсистемы в зависимости от каких-то переменных состояния (через оператор case).
Управление событиями предполагает отсутствие какой-либо подпрограммы ответственной за управление. Управление осуществляется внешними событиями: нажатие клавиши мыши, нажатие клавиатуры, изменения показания датчиков, изменения показания таймера ит.д. Каждое внешнее событие кодируется и помещается в очередь событий. Если реакция на событие в очереди предусмотрена, то вызывается та процедура (подпрограмма), которая и осуществляет реакцию на это событие. События, на которые реагирует система, могут происходить либо в других подсистемах, либо во внешнем окружении системы.
Примером такого управления является организация приложений в ОС Windows.
Все описанные ранее структурной модели можно реализовать с помощью централизованного управления или управления, основанного на событиях.