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

СОДЕРЖАНИЕ

Введение

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 приведены типичные сервисные домены.

Страница:  1  2  3  4  5  6  7 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2019 - www.refsru.com - рефераты, курсовые и дипломные работы