Основные этапы объектно-ориентированного проектирования
При инициализации предварительно существующих (объектов) экземпляров классов возможны два осложнения. Во-первых, может быть большое количество предварительно существующих экземпляров, которые должны быть созданы. В этом случае может быть подготовлена одна общая процедура создания экземпляров классов по некоторому описанию, которое считывается либо из файла, либо из базы данных. Во-вторых, при
создании необходимо учитывать порядок, в котором создаются экземпляры, поскольку при создании некоторых экземпляров могут понадобиться ссылочные адреса экземпляров других классов, которые еще не созданы.
4.3 Архитектурный класс Imitator
В данном классе определены операции для заполнения списка имитируемых внешних событий, а также создания описателя события при нажатии на клавишу клавиатуры. Для упрощения заполнения списка имитируемых событий (атрибут list_event), клавиши событиям назначаются автоматически, начиная с символа, который определяется атрибутом ch_key. Пользователь может запросить список назначений, нажав клавишу, символ которой определяется атрибутом help_key. Диаграмма класса приведена на рисунке 7.
Рисунок 7 - Диаграмма класса Imitator
При инициализации объектов выполняется заполнение списка имитируемых событий с помощью операции Add_event(…) класса Imitator.
При нажатии клавиш на клавиатуре активизируется операция главной программы, которая вызывает операцию Create_event(…)класса Imitator. Если символ клавиши соответствует некоторому внешнему событию, то создается описатель события и помещается в список описателей главной программы.
4.4 Архитектурный класс AE
Диаграмма класса приведена на рисунке 8. В состав атрибутов данного класса включаются общие атрибуты для всех активных классов приложения. Атрибут id предназначен для хранения строки с именем объекта, которое может быть выведено на экран. Атрибут extern_event является списком, который создается при инициализации объекта (экземпляра) класса и содержит имена внешних событий связанных с данным классом. Используется при инициализации объектов класса для занесения внешних событий, связанных с объектом, в список имитатора.
Рисунок 8 - Диаграмма класса AE
Все операции данного класса объявлены как виртуальные. В классах наследниках эти операции могут перекрываться. Обязательно в классах наследниках должна быть определена операция диспетчера вызовов (do_it) других операций класса. Виртуальная операция Out_param(…) предназначена для задания операции вывода текстовых сообщений о значениях атрибутов объекта.
5.Разработка прикладного домена
Рассмотрение данного вопроса целесообразно вести на примере разработки домена. В качестве предметной среды выбрана область цифровых логических схем. На рисунке 9 приведен фрагмент цифровой логической схемы. Необходимо для заданного фрагмента разработать статическую модель прикладной области, определить состав событий и операций обработки событий, для языка C# разработать исходные тексты операций классов и сгенерировать проект для MS Visual Studio.Net.
Рисунок 9 - Фрагмент цифровой логической схемы
5.1 Статическая модель прикладного домена
Разработка статической (информационной) модели прикладной области базируется на результатах объектно-ориентированного анализа (ООА). ООА может быть проведен различными способами, например, с помощью классической категоризации [7]. Должны быть выполнены следующие работы: выделены и описаны классы и их атрибуты; определены и описаны связи между классами; построена диаграмма статической модели. Описание выделенных классов оформляется в виде таблицы 4.
Таблица 4 - Описание классов
Имя класса |
Представители класса |
Описание |
And |
Элементы D1, D3 |
Логический элемент, выполняющий логическую операцию «И» (конъюнкцию). Значения входных сигналов изменяются асинхронно. Имеет два устойчивых состояния: высокий уровень выходного напряжения – 1 и низкий - 0 |
Not |
Элементы D2, D4 |
Логический элемент, выполняющий логическую операцию «НЕ» (инверсия, отрицание). Значения входных сигналов изменяются асинхронно. Имеет два устойчивых состояния: высокий уровень выходного напряжения – 1 и низкий – 0 |
Классы And и Not являются активными классами.
Для каждого класса выделяются и описываются его атрибуты (таблица 5).
Таблица 5 - Описание атрибутов класса And
Имя атрибута |
Содержательное описание |
Доп. значения |
vx1 |
Значение сигнала на первом входе |
[0; 1] |
vx2 |
Значение сигнала на втором входе |
[0; 1] |
vyx |
Значение сигнала на выходе |
[0; 1] |
tz |
Время задержки логического элемента |
1 – 20 нс |
Таблица 6 - Описание атрибутов класса Not
Имя атрибута |
Содержательное описание |
Доп. значения |
vx |
Значение сигнала на входе |
[0; 1] |
vyx |
Значение сигнала на выходе |
[0; 1] |
tz |
Время задержки логического элемента |
1 – 20 нс |
В соответствии с заданной схемой экземпляры класса And имеют физическую связь с экземплярами класса Not, причем в каждой связи участвуют ровно по одному экземпляру каждого класса.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности