ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.04.2024
Просмотров: 182
Скачиваний: 1
Пример. Поток синхронных событий.
Имеем: клиент, бармен и официант. Любой объект из класса «Клиент» может выпить.
Сообщение (направление и название сообщения)
|
|
2:заказать(смесь(3)) |
|
2.2:принести(напиток(3)) |
|
|
:Клиент |
|
Б1:Бармен |
|
О1:Официант |
||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|
|
|
2.1:НапитокИзготовить(сместь(3))
3:выпитьСместь(3)
Система управления полетами.
|
|
П1:Программа полета |
|
8:Прогноз() |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1:выполнитьУправление() |
|||
|
|
|
|
|
4:ТекущаяСкорость() |
|||
|
|
|
К1:КонтроллерСУ |
|
||||
|
|
|
|
|
|
|
5:ТекущийУгол() |
|
2:ВключитьИзмСКор() |
|
|
|
7:[T≤Tзад+:ВклРегУглов |
||||
|
7:[T>Tзад+:ВклРегСкорости() |
|||||||
3:ВключитьИЗмУгл() |
|
|
||||||
|
|
|
|
|
У:РегуляторУглов |
|||
|
|
|
|
|
|
|
|
|
Д:Датчик |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С:РегуляторСкорости |
|
|
||
|
|
|
|
|
|
|
|
|
А теперь то же самое, но диаграммой последовательности действий. В прямоугольниках если не подчеркнуто или не стоит имя класса перед «:» – то это класс. А нужен объект!
|
П1:Программа полета |
|
К:КонтроллерСУ |
|
|
Д:Датчик |
|
С:РегуляторСкор |
|
С:РегуляторУглов |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Означает |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
активность |
|
|
|
ВключитИзмСкор |
|
|
|
|
|
|
|
|||||
объекта |
|
|
|
ости() |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
ВклИзмУглов() |
|
|
|
|
|
|
|
ТекСкорость()
[T>Tзад+ВклРегСкор()
Прогноз() |
ТекУгол() |
[T≤Tзад+ВклРегУглов()
Диаграмма последовательности действий пользователя и автоматизированного кассового аппарата
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 33 |
Стрелка со сплошной заливкой наконечноника означает процедурную передачу управления.
Стрелка с двухреберным наконечником обозначает непроцедурную передачу управления.
Стрелка с однореберным наконечником обозначает асинхронное взаимодействие между объектами.
Пунктирная стрелка с двухреберным наконечником обозначает возврат из вызова процедуры.
:Пользователь – означает любой объект из класса пользователь.
:Пользователь |
:АКМ |
:Банк |
|
|
:Транзакция |
requestAccount |
(Запрос Счета) |
|
счет |
|
|
requestAmount |
|
|
сумма |
|
|
|
|
transactionRequest |
|
|
transactionAuthorization |
X – уничтожить объект
Мы хотим снять деньги. НО, прежде чем снять деньги, мы должны запросить, а есть ли они. Банк – огромная гетерогенная система, К которому мы, вроде, Не имеем отношения. Но мы хотим обратиться к хостовому компьютеру этого банка – вот мы его и обозначили выше прямоугольником :БАНК на схеме выше.
Мы создали объект, и мы же его уничтожили на схеме выше.
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 34 |
Зацикливание, выбор вариантов и циклы.
Транзакцию рисовать не будем, т.к. она сидит внутри.
:Пользователь |
|
:АКМ |
|
:Банк |
|
|
|
|
|
cardInserted
PINrequest
PIN-code
Цикл |
**до завершения сеанса+ |
|
|
|
requestTransSector |
|
|
ответ |
Выбор |
**условие – TimeOut] |
|
|
|
Баланс |
|
|
Снять деньги |
|
|
Положить деньги на счет |
Terminate session
Теперь поговорим о параллельных процессах.
Например, мы осуществляем подкачку данных из БД на наш сайт. Можем распараллелить: пока система спрашивает что-то у пользователя, в этот момент может подгружаться картинка.
В общем, если если я вижу, что и как можно распараллелить, то на диаграмме есть возможность это изобразить. Приведем пример на браузере и веб-сервере.
Б:броузер |
S:Web-server |
|
,место=ПК- |
,место = сервер- |
|
|
http-запрос |
|
|
Web-страница |
Get-файл |
|
|
|
параллельно |
**до завершения сеанса+ |
|
|
httpRequest1() |
|
|
httpRequest2() |
|
Есть другой вариант: |
|
httpRequest1() |
параллельно |
httpRequest2()
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 35 |
Синхронный запрос – это … Он не будет активным, пока не получен ответ!
Асинхронный – это… можно и не дождаться ответа.
Пример синхронного:
:Клиент |
|
:Сервер |
||
|
|
|
|
|
|
|
|
|
|
обрывается!
Синхронный с обратным откликом – нарисовала, передумала, стерла. Дала ссылку на презентацию.
Очень важный момент!:
Диаграмма развертывания. Это диаграмма, которая обозначает, На каком узле какие находятся модули, приложения.
Узлы изображаются в виде |
|
|
узел |
<<процессор>> ,f=1ГГц- |
БД |
Рабочая станция |
|
GVI |
|
|
Приложение |
Интероперабельность – различные системы (мои и не мои) должны вместе друг с другом взаимодействовать. Интероперабильность нужно отобразить и в ТЗ и на схемах.
Что такое распределенная система? Методичка: «мы обращались к стандарту для разработки автоматизированных систем, то мы разрабатываем автоматизированную систему».
ТИТУЛЬНЫЙ ЛИСТ ДЕЛАТЬ ПО ЕСПД.
Короче… автоматизированная система – это немного не то, что распределенная, а распределенная – это немного не то, что автоматизированная.
Вопросы распределенных единиц работы, итероперабильности – нужно оттенить в ТЗ
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 36 |
05.04.2011
Презентация. И книжка Уильямса.
Оценка производительности распределенных информационных систем на этапе проектирования
Чтобы оценить, правильно ли выбрани архитектурные решения, будет ли отвечать заявленной производительности – следует это оценить на этапе тестирования.
Модели реализации.
Компонентная диаграмма и компонент.
Компонент изображается так. Это физическая и заменяемая часть системы, которая соответствует
Словарь.dll |
набору интерфейсов и обеспечивает реализацию этого набора интерфейса. |
|
Сходные характеристики компонента и класса.
1.Наличие имени
2.Релазиация набора интерфейсов
3.Участие в отношениях зависимости
4.Возможность быть вложенным (для классов – это наследники)
5.Наличие экземпляров.
Различия компонентов и классов
1.Классы – это логические абстракции Компоненты – физические предметы, которые живут в мире битов. Т.е. физически
располагаются на физических узлах (на серверах, рабочих классах, узлах).
2.Компоненты являются физическими упаковками (контейнерами), в которых инкапсулируются различные логические элементы.
3.Классы имеют свойства и операции.
Компоненты имеют компоненты только операции, доступные только через их интерфейс.
Пример. |
компонент |
Словарь.dll
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рабочий |
|
рабочий |
|
рабочий |
|
|
|
|
|
|
|
|
классы
Класс – это некий такой «хрупкий» логический элемент, которому нужен «скафандр» для существования в физическом мире. Этим скафандром является компонент.
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 37 |
Разновидности компонент и их графическое изображение в виде пиктограмм.
Компонент «исполняемый файл» |
a.exe |
|
Документ с исходным кодом или данными |
Пиктограмма «объектные библиотеки» |
|
Таблица БД
Текстовый документ
Пример.
|
|
Видеоклип.dll |
|
|
|
Регистратор.dll |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Видеоклип.exe
I сценарии
,версия 2.1-
I модели
I Визуализации
I Применение
интерфейс
|
|
Визуализация.dll |
|
|
|
Свернутый |
|
|
|
|
|||
|
|
|
|
|
|
формат.dll |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Компонентная диаграмма
Техническое узлы – это серверы. Изображаются в виде параллелипипеда с затемененными гранями (левым и верхним). На верхней грани пишется: «Сервер, частота столько-то гХЗ». На передней рисуются и пишутся все связи, схематически изображаются диаграммки и т.д.
От этого куба идет ссылка на такой же кубик «клиент». Рисуем «человечков»: «админ», «опер»… оператор то есть.
Романова Т.Н. – Технология программирования [2011]by Melvin |
Страница 38 |