Основные этапы объектно-ориентированного проектирования
Таким образом, на основании приведенной информации можно составить предварительную статическую модель предметной среды на языке UML, которая приведена на рисунке 10.
Рисунок 10 - Предварительная статическая модель
Следует иметь в виду, что при генерации кода в состав атрибутов класса And будет введен
еще один: имя – taker; тип – Not. То есть, имя помеченного стрелкой конца связи добавляется в качестве атрибута к классу от которого исходит стрелка.
5.2 Описание событий
Событие – это нарушенное однообразие. Однообразие в схеме нарушается, если происходит изменение какого-либо сигнала. В цифровых схемах возможны два изменение сигнала: из 0 в 1 и обратно. То есть, с каждым входом и выходом элемента схемы связаны два события. Каждому событию необходимо присвоить имя и определить другие данные. Описание событий для объекта and класса And и объекта not класса Not приведены в таблицах 7,8.
Таблица 7 -Описание событий объекта and класса And
Имя события |
Описание |
Источник |
Приемник |
Данные |
vx10_1 |
Изменение сигнала на входе 1 из 0 в 1 |
Внеш. схема |
Объект and |
нет |
vx11_0 |
Изменение сигнала на входе 1 из 1 в 0 |
Внеш. схема |
Объект and |
нет |
vx20_1 |
Изменение сигнала на входе 2 из 0 в 1 |
Внеш. схема |
Объект and |
нет |
vx21_0 |
Изменение сигнала на входе 2 из 1 в 0 |
Внеш. схема |
Объект and |
нет |
vyx0_1 |
Изменение сигнала на выходе из 0 в 1 |
Объект and |
Объект and |
нет |
vyx1_0 |
Изменение сигнала на выходе из 1 в 0 |
Объект and |
Объект and |
нет |
Таблица 8 - Описание событий объекта not класса Not
Имя события |
Описание |
Источник |
Приемник |
Данные |
vx0_1 |
Изменение сигнала на входе из 0 в 1 |
Объект and |
Объект not |
нет |
vx1_0 |
Изменение сигнала на входе из 1 в 0 |
Объект and |
Объект not |
нет |
vyx0_1 |
Изменение сигнала на выходе из 0 в 1 |
Объект not |
Объект not |
нет |
vyx1_0 |
Изменение сигнала на выходе из 1 в 0 |
Объект not |
Объект not |
нет |
5.3Реагирование объектов классов на события
Простейший способ реагирования на события сопоставить каждому событию операцию класса, причем в качестве имен операций использовать имена событий. Для задания взаимодействия объектов по событиям можно использовать диаграмму последовательностей языка UML. На диаграмме последовательностей изображаются исключительно те объекты, которые непосредственно участвуют во взаимодействии и не показываются возможные статические ассоциации с другими объектами. Для диаграммы последовательностей ключевым моментом является динамика взаимодействия объектов во времени. При этом диаграмма последовательностей имеет как бы два измерения. Одно — слева направо в виде вертикальных линий, каждая из которых изображает линию жизни отдельного объекта, участвующего во взаимодействии. Графически каждый объект изображается прямоугольником и располагается в верхней части своей линии жизни. Внутри прямоугольника записывается имя объекта. На рисунке 11 приведена диаграмма последовательностей для описанных событий и объектов. В качестве источника внешних событий на диаграмме приведен объект класса Imitator. Аргумент main_prog задает ссылку на объект главной программы, с помощью которого можно обращаться к операциям, определенным в главной программе.
Рисунок 11 - Диаграмма последовательностей
На диаграмме отражается также взаимосвязь событий – изменение выходного сигнала какого-либо объекта класса And приведет к возникновению события, связанного с изменением входного сигнала соответствующего объекта класса Not (связки событий vyx0_1(объект and) + vx0_1(объект not) и vyx1_0(объект and) + vx1_0(объект not)).
Помощь в выявлении событий предметной среды может оказать анализ состояний активных классов. Для представления активного класса используется модель конечного автомата Мура [7]. В языке UML для анализа и задания конечных автоматов используются диаграммы состояний (Statechart diagram) и диаграммы активности (Activity diagram). Например, модель активности класса Not может иметь вид, представленный на рисунке 12.
Рисунок 12 - Модель активности класса Not
Создание диаграмм последовательностей и активности потребовало ввести в каждом классе операции обработки событий, что привело к дополнению статической модели, которая приобрела вид, показанный на рисунке 13.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности