ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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