Смекни!
smekni.com

Основные этапы объектно-ориентированного проектирования (стр. 1 из 5)

СОДЕРЖАНИЕ

Введение

1. Обзор процесса проектирования

1.1 Характерные черты удачных проектов

2. Понятие домена

2.1 Типы доменов

2.2 Пакеты (домены) в языке UML

2.3 Управление большим доменом

3. Разработка домена

4. Структура приложения

4.1.Способ обработки событий

4.2 Архитектурный класс Form

4.3 Архитектурный класс Imitator

4.4 Архитектурный класс AE

5. Разработка прикладного домена

5.1 Статическая модель прикладного домена

5.2 Описание событий

5.3 Реагирование объектов классов на события

5.4 Исходные тексты операций обработки событий

5.5 Диспетчер вызовов операций класса

6. Организация процесса проектирования

Заключение

Использованы источники

Введение

Тема курсовой работы «Основные этапы объектно-ориентированного проектирования».

В современном мире прогресс производительности программиста достигается в тех случаях, когда часть интеллектуальной нагрузки берут на себя компьютеры. Одним из способов достигнуть максимального прогресса в этой области, является "искусственный интеллект", когда компьютер берет на себя не только однотипные, многократно повторяющиеся операции, но и сам сможет обучаться.

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

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

По А.Н. Колмогорову, любая материальная система, с которой можно достаточно долго обсуждать проблемы науки, литературы и искусства, обладает интеллектом. Такое определение показывает, что данная дисциплина находится во взаимосвязи практически со всеми учебными дисциплинами. Тем не менее, следует подчеркнуть связи со следующими дисциплинами: «Программирование», «Математический анализ», «Линейная алгебра и аналитическая геометрия», «Дискретная математика», «Логическое программирование», «Экспертные системы», «Интерфейсы интеллектуальных систем».

Работа посвящена вопросам объектно-ориентированного проектирования интеллектуальных систем. В качестве основного инструмента используется унифицированный язык моделирования UML.


1. Обзор процесса проектирования

Процесс объектно-ориентированного анализа и проектирования не сводится к сумме рецептов, однако он определен достаточно хорошо, чтобы быть предсказуемым и воспроизводимым в умелых руках.

Объектно-ориентированный анализ и проектирование - метод, использующий объектную декомпозицию; объектно-ориентированный подход имеет свою систему условных обозначений и предлагает богатый набор логических и физических моделей, с помощью которых можно получить представление о различных аспектах рассматриваемой системы.

1.1 Характерные черты удачных проектов

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

- ясное представление об архитектуре создаваемой системы;

- хорошо организованный итеративно развивающийся процесс работы над проектом.

Можно выделить ряд этапов, которые присутствуют в процессе протирования и перечень которых дан в таблице 1.

Таблица 1 -Основные этапы процесса проектирования

Этап Результаты этапы
Пред проектное обследование, разработка технического задания Отчеты, техническая документация, техническое задание, результаты обследования, прототипы системы
Разбиение большой системы на домены (пакеты) - диаграмма доменов (пакетов);- описание доменов (пакетов);- описание связей (мостов) между доменами (пакетами);
Разбиение большого домена (пакета) на поддомены - диаграмма поддоменов;- описание поддоменов;
Разработка домена - статическая модель домена - диаграмма классов;- модели состояний (диаграммы активности, диаграммы состояний, диаграммы взаимодействия, диаграммы последовательностей);- описания моделей;

2.Понятие домена

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

Домен (package)– это отдельный реальный, гипотетический или абстрактный мир, населенный отчетливым набором классов, которые ведут себя в соответствии с характерными для домена правилами и линиями поведения. Например, домен «Пользовательский интерфейс», домен «Управление лабораторией». Аналогами домена (пакета) в языках программирования могут быть: язык C# - пространство имен (namespace); язык Delphi – модуль (unit), задаваемый в предложении uses; язык C++ - файл, подключаемый с помощью #include.

При определении классов и доменов должны соблюдаться следующие правила:

- любой класс определяется только в одном домене;

- количество классов в домене должно быть не менее одного.

2.1Типы доменов

В соответствии с той ролью, которую каждый домен играет в законченной системе, домены подразделяются на:

- прикладные;

- сервисные;

- архитектурные;

- реализации.

Прикладной домен – это предметная область с точки зрения конечного пользователя. Она обычно рассматривается в контексте анализа требований: что надо делать пользователю данного приложения. Для каждого проекта существует один прикладной домен.

Сервисный домен обеспечивает общие механизмы и сервисные функции, необходимые для поддержки прикладного домена. В таблице2приведены типичные сервисные домены.

Таблица 2 - Типичные сервисные домены

Домен Описание
Процесс ввода - вывода Обеспечивает организацию сигналов, составляющих интерфейс с оборудованием (считывает данные, управляет силовыми приводами и т.п.)
Сигналы Получает сообщения о вызывающих беспокойство условиях и аномалиях. Представляет эти сообщения оператору для принятия соответствующих мер.
Пользовательский интерфейс Формирует и обновляет изображение на экране. Взаимодействует с оператором.
Гистограммирование Отображает данные, подготавливает отчеты.
Регистрация тенденций Записывает последовательные значения выбранных атрибутов в течение определенного периода времени, отображает в виде графиков тенденции в изменении значений.
История Запись и сохранение всех инцидентов с указанием времени на протяжении всего выполнения производственного процесса.
Архивирование данных Создает с указанием времени долговечный снимок определенных наборов данных.

Архитектурный домен обеспечивает общие механизмы и структуры для управления данными и управления приложением как единым целым. Классы в архитектурном домене представляют абстрактные структуры данных и модули кода. Архитектурный домен служит ряду целей:

- обеспечение однородности структуры программного обеспечения. Это достигается путем:

1) организации и доступности данных;

2) регулирования каналов управления;

3) структуры прикладного и сервисного кода;

4) взаимодействия между различными модулями кода.

В любом случае цель заключается в том, чтобы ограничить сложность системы использованием стандартных структур и способов выполнения многократно используемых функций;

- управление инициализацией и закрытием системы, переход к резервной при отказах;

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

- выполнение измерений в работающей системе – реализуется путем добавления специальных контрольных точек.

Домены реализации включают в себя языки программирования, операционные системы и общие библиотеки объектов. Обеспечивает концептуальные сущности, в которых будет реализована вся система.

2.2 Пакеты (домены) в языке UML

Пакет (package) — основной способ организации элементов модели в языке UML. Каждый пакет владеет всеми своими элементами, т. е. теми элементами, которые включены в него.

Для графического изображения пакетов на диаграммах применяется специальный графический символ — большой прямоугольник с небольшим прямоугольником, присоединенным к левой части верхней стороны первого. Внутри большого прямоугольника может записываться информация, относящаяся к данному пакету. Если такой информации нет, то внутри большого прямоугольника записывается имя пакета, которое должно быть уникальным в пределах рассматриваемой модели (рисунок1, а). Если же такая информация имеется, то имя пакета записывается в верхнем маленьком прямоугольнике (рисунок1, б).

Рисунок1 -Графическое изображение пакета в языке UML