close

Вход

Забыли?

вход по аккаунту

?

Диаграмма классов

код для вставкиСкачать
Содержание
ВВЕДЕНИЕ…………………………………………………………………………….3
I.
II.
III.
IV.
V.
VI.
VII.
VIII.
ЗАДАНИЕ………………………………………………………………………4
ДИАГРАММА КЛАССОВ……………………………………………………5
ДИАГРАММА ИСПОЛЬЗОВАНИЯ…………………………………………6
ДИАГРАММА ДЕЯТЕЛЬНОСТИ……………………………………………7
ДИАГРАММА СОСТОЯНИЙ………………………………………………...8
ДИАГРАММА ПОСЛЕДОВАТЕЛЬНОСТИ………………………………...9
ДИАГРАММА РАЗВЕРТВЫВАНИЯ………………………………………10
ДИАГРАММА КООПЕРАЦИЙ……………………………………………..11
ВВЕДЕНИЕ
Компания, занимающаяся производством программного обеспечения, может преуспевать
только в том случае, если выпускаемая ею продукция всегда отличается высоким
качеством и разработана в соответствии с запросами пользователей. Фирма, которая
способна выпускать такую продукцию своевременно и регулярно, при максимально
полном и эффективном использовании всех имеющихся человеческих и материальных
ресурсов будет стабильно процветать.
Из сказанного следует, что основным продуктом такой компании является именно
первоклассное программное обеспечение, удовлетворяющее повседневным нуждам
пользователей. Все остальное - прекрасные документы, встречи на высшем уровне,
великолепные лозунги и даже Пулитцеровская премия за идеальные строки исходного
кода - вторично по сравнению с этой основной задачей.
К сожалению, во многих организациях путают понятия "вторичный" и "несущественный".
Нельзя забывать, что для разработки эффективной программы, которая соответствует
своему предполагаемому назначению, необходимо постоянно встречаться и работать с
пользователями, чтобы выяснить реальные требования к вашей системе. Если вы хотите
создать качественное программное обеспечение, вам необходимо разработать прочное
архитектурное основание проекта, открытое к возможным усовершенствованиям. Для
быстрой и эффективной разработки программного продукта с минимальным браком
требуется привлечь рабочую силу, выбрать правильные инструменты и определить верное
направление работы. Чтобы справиться с поставленной задачей, принимая во внимание
затраты на обеспечение жизненного цикла системы, необходимо, чтобы процесс
разработки приложения был тщательно продуман и мог быть адаптирован к
изменяющимся потребностям вашего бизнеса и технологии.
Центральным элементом деятельности, ведущей к созданию первоклассного
программного обеспечения, является моделирование. Модели позволяют нам наглядно
продемонстрировать желаемую структуру и поведение системы. Они также необходимы
для визуализации и управления ее архитектурой. Модели помогают добиться лучшего
понимания создаваемой нами системы, что зачастую приводит к ее упрощению и
возможности повторного использования. Наконец, модели нужны для минимизации
риска.
I. ЗАДАНИЕ
Домофон.
Тема: объектно-ориентированный анализ и проектирование программного обеспечения.
Требуется разработать средствами UML модель домофонной системы и разработать
эмулятор домофона.
На входной двери располагаются панель набора номера квартиры, индикатор,
переговорное устройство и разъем для открытия с помощью ключа. Устройство в
квартире состоит из следующих элементов: кнопка «Связь» для связи с посетителем,
кнопка «Блокировать» для отключения подачи вызывного сигнала (второе нажатие
кнопки включает подачу сигнала), кнопка «Открыть» для открытия входной двери, а
также переговорное устройство.
При нажатии кнопки «Открыть», срабатывает таймер, по истечении которого входная
дверь закрывается.
II. ДИАГРАММА КЛАССОВ
Рисунок 1 – Диаграмма классов.
Диаграмма классов (class diagram) служит для представления статической структуры
модели системы в терминологии классов объектно-ориентированного программирования.
В данной модели присутствует всего 9 классов.
Класс Button представляет кнопку, характеризующуюся своим номером. Совокупность
экземпляров этого класса составляет класс Keyboard, который предназначен для
обработки событий вода, посылки вызывного сигнала, а также сброса домофона в
состояние ожидания.
Класс Indicator отображает все действия пользователя.
Класс On-door phone_system взаимодействует с классом In-door phone_system для
осуществления разговора.
Control Panel представляет контрольную панель внутри квартиры, с помощью которых
осуществляется открытие двери, связь и блокирование проигрывания вызывающего
сигнала.
Класс Door – дверь в подъезд.
Timer представляет собой таймер, по истечении которого происходит закрытие двери.
Класс Key_connector предназначен для открытия дверей с помощью ключа.
III. ДИАГРАММА ИСПОЛЬЗОВАНИЯ
Рисунок 2 – Диаграмма использования.
Диаграммы вариантов использования описывают функциональное назначение системы
или то, что система должна делать.
В данной диаграмме присутствуют три актера: человек на улице, жилец и жилец, у
которого есть ключ (Visitor, Men In Flat и Men with Key).
Для того, чтобы посетитель мог войти в дом, ему необходимо связаться с определенной
квартирой. Для этого необходимо набрать номер квартиры и послать сигнал вызова.
Актер жилец может заблокировать вызывной сигнал, связаться с посетителем или же
открыть ему дверь. Открытие двери может произойти при помощи ключа и нажатием
кнопки «Открыть» в квартире. Одновременно с открытием двери запускается таймер,
который закрывает ее по истечении 5 секунд.
IV. ДИАГРАММА ДЕЯТЕЛЬНОСТИ
Рисунок 3 – Диаграмма деятельности.
Для моделирования процесса выполнения операций в языке UML используются
диаграммы деятельности. Диаграмма деятельности показывает поток переходов от одной
деятельности к другой.
Основным состоянием диаграммы является состояние «Ожидание нажатия» (Waiting).
При нажатии кнопки, проверяется были ли нажаты цифры, соответствующие
существующей квартире в подъезде, иначе идет индикация ошибки (Error) и возвращение
в состояние ожидания.
Если такая квартира существует, то посылается вызов в квартиру (Send Calling) с
введенным номером. Если была нажата связь (Press Phone), то осуществляется разговор.
Если нажата кнопка «Блокировать» (Press Block) – блокируется вызов, в противном случае
– проигрывается сигнал вызова. Если нажата кнопка «Открыть дверь» (Press Open), то
дверь открывается (Open Door) и одновременно запускается 5 секундный таймер (Start
Timer), по истечении которого дверь снова закрывается (Close Door).
Также в квартиру можно попасть используя дверной ключ (Use Key). Аналогично
запускается 5 секундный таймер, и потом дверь закрывается.
V. ДИАГРАММА СОСТОЯНИЙ
Рисунок 4 – Диаграмма состояний.
Каждая диаграмма состояний в UML описывает все возможные состояния одного
экземпляра определенного класса и возможные последовательности его переходов из
одного состояния в другое, то есть моделирует все изменения состояний объекта как его
реакцию на внешние воздействия.
Данная диаграмма функционирует таким же образом, что и диаграмма деятельности,
только вместо перехода между действиями, осуществляется переход между состояниями.
VI. ДИАГРАММА
ПОСЛЕДОВАТЕЛЬНОСТИ
Рисунок 5 – Диаграмма последовательности.
Для моделирования взаимодействия объектов во времени в языке UML используются
диаграммы последовательности. В UML диаграмма последовательности имеет как бы два
измерения. Первое слева направо в виде вертикальных линий, каждая из которых
изображает линию жизни отдельного объекта, участвующего во взаимодействии. Крайним
слева на диаграмме изображается объект, который является инициатором взаимодействия.
Правее изображается другой объект, который непосредственно взаимодействует с первым.
Таким образом, все объекты на диаграмме последовательности образуют некоторый
порядок. Второе измерение диаграммы последовательности — вертикальная временная
ось, направленная сверху вниз. Начальному моменту времени соответствует самая
верхняя часть диаграммы. При этом взаимодействия объектов реализуются посредством
сообщений, которые посылаются одними объектами другим. Сообщения изображаются в
виде горизонтальных стрелок с именем сообщения и также образуют порядок по времени
своего возникновения.
В начальный момент при наборе номера на клавиатуре, дисплей просто отображает
введенные цифры. Как только введен номер квартиры и нажата кнопка «С» (Call),
происходит вызов в квартиру. Жилец слышит сигнал и осуществляет разговор (Phone), в
противном случае – блокирует подачу сигнала (Block). По окончании разговора может
быть нажата кнопка открытия двери (Open). При открытии двери также запускается
таймер (Start), по истечении которого дверь снова закрывается (Close).
Если же в подъезд пытается попасть жилец с ключом, он вставляет ключ в разъем (Insert
Key) и двери автоматически открываются (Open).
VII. ДИАГРАММА РАЗВЕРТВЫВАНИЯ
Рисунок 6 – Диаграмма развертывания.
На диаграмме развертывания представляется конфигурация обрабатываемых узлов
системы и размещенных в них компонентах. Данная схема содержит четыре узла:
устройство на улице (On-door System), управляющая часть (Control Part), квартирная часть
(In-door System) и дверь (Door).
Устройство на улице состоит из индикатора (Indicator), кнопок (Keyboard), переговорного
устройства (On-door Phone System) и разъема для ключа (Key Connector). В управляющей
части присутствуют следующие узлы: процессор (CPU), устройство отпирания двери
(Mechanical Device) и таймер (Timer). Квартирная часть состоит из переговорного
устройства (In-door Phone System) и панели управления (Control Panel). Дверь открывается
и закрывается по командам от устройства отпирания двери.
VIII. ДИАГРАММА КООПЕРАЦИЙ
Рисунок 7 – Диаграмма коопераций.
Диаграмма кооперации предназначена для спецификации структурных аспектов
взаимодействия. Главная особенность диаграммы кооперации заключается в возможности
графически представить не только последовательность взаимодействия, но и все
структурные отношения между объектами, участвующими в этом взаимодействии.
В нашем случае на диаграмме коопераций показан порядок взаимодействия между
объектами различных классов. На этой диаграмме не указывается время в виде отдельного
измерения. Поэтому последовательность взаимодействий может быть определена с
помощью порядковых номеров.
Документ
Категория
Компьютеры, Программирование
Просмотров
128
Размер файла
12 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа