Курсовая работа: Основные этапы объектно-ориентированного проектирования

Рисунок 6 - Диаграмма класса Form1


Таблица 3 - Назначение атрибутов и операций класса Form1

Имя атрибута, операции Назначение
textBox1 Компонента для ввода/вывода текстовых сообщений
button1, button2 Кнопки управления
mainMenu1, menuItem1, menuItem2 Главное меню приложения, два пункта меню
timer1 Экземпляр таймера для отслеживания времен задержек событий
components, label1 Служебные компоненты приложения
imitator Экземпляр класса Imitator для имитации внешних событий
list_message Список описателей событий
Archive Список всех экземпляров всех классов приложения
t Текущее время модели
Form1() Конструктор класса
Dispose(), InitializeComponent() Служебные операции класса
Main() Операция, реализующая основной цикл главной программы
menuItem2_Click(…) Операция, вызываемая при активизации пункта меню
Form1_KeyPress(…) Операция, вызываемая при активизации клавиш на клавиатуре
timer1_Elapsed(…) Операция, вызываемая по сигналам таймера
Porojdaet(…) Операция занесения описателя события в список
InitializeObject(…) Операция создания и инициализации предварительно существующих (объектов) экземпляров классов

При инициализации предварительно существующих (объектов) экземпляров классов возможны два осложнения. Во-первых, может быть большое количество предварительно существующих экземпляров, которые должны быть созданы. В этом случае может быть подготовлена одна общая процедура создания экземпляров классов по некоторому описанию, которое считывается либо из файла, либо из базы данных. Во-вторых, при создании необходимо учитывать порядок, в котором создаются экземпляры, поскольку при создании некоторых экземпляров могут понадобиться ссылочные адреса экземпляров других классов, которые еще не созданы.

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# разработать исходные тексты операций классов и сгенерировать проект для MSVisualStudio.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 , причем в каждой связи участвуют ровно по одному экземпляру каждого класса.

Таким образом, на основании приведенной информации можно составить предварительную статическую модель предметной среды на языке UML, которая приведена на рисунке10.

К-во Просмотров: 342
Бесплатно скачать Курсовая работа: Основные этапы объектно-ориентированного проектирования