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

2016-07-30СтудИзба

Описание файла

Документ из архива "Основные этапы объектно-ориентированного проектирования", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50243"

Текст из документа "50243"

СОДЕРЖАНИЕ

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Этап

Результаты этапы

Пред проектное обследование, разработка технического задания

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

Разбиение большой системы на домены (пакеты)

- диаграмма доменов (пакетов);

- описание доменов (пакетов);

- описание связей (мостов) между доменами (пакетами);

Разбиение большого домена (пакета) на поддомены

- диаграмма поддоменов;

- описание поддоменов;

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

- статическая модель домена - диаграмма классов;

- модели состояний (диаграммы активности, диаграммы состояний, диаграммы взаимодействия, диаграммы последовательностей);

- описания моделей;

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

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

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

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

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

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

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

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

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

  • - сервисные;

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

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

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

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

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

Домен

Описание

Процесс ввода - вывода

Обеспечивает организацию сигналов, составляющих интерфейс с оборудованием (считывает данные, управляет силовыми приводами и т.п.)

Сигналы

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

Пользовательский интерфейс

Формирует и обновляет изображение на экране. Взаимодействует с оператором.

Гистограммирование

Отображает данные, подготавливает отчеты.

Регистрация тенденций

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

История

Запись и сохранение всех инцидентов с указанием времени на протяжении всего выполнения производственного процесса.

Архивирование данных

Создает с указанием времени долговечный снимок определенных наборов данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Иерархическая вложенность пакетов в среде MS Visio 2002 задается с помощью проводника модели (Model Explorer), в окне которого отображается дерево всех элементов, создаваемой модели приложения (рисунок 2).

Рисунок 2 -Общий вид окна проводника модели в MS Visio 2002

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

В [7] маленьким считается домен, состоящий из 50 или менее классов. В этом случае он может анализироваться как единичный модуль. Домены с большим количеством объектов должны быть расчленены, для того, чтобы можно было успешно выполнить анализ.

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

При определении подпакетов вначале выполняется блиц идентификация классов. Для этого необходимо идентифицировать максимально возможное количество кандидатов в классы, а затем отсортировать этих кандидатов по принципу связности. При выполнении этой работы должны участвовать все члены проекта. Могут использоваться следующие подходы при определении подпакетов. Первый основан на понятии ролей пользователей, основанных на классах. Если окажется, что роли пользователей связаны с четким набором классов, тогда подпакет базируют на классах, связанных с каждой ролью. Например, Слесарь работает со слесарным оборудованием, электромонтер – с электрооборудованием и т.п. Второй основан на понятии ролей пользователей, основанных на времени или функции. В некоторых ситуациях роли пользователей основываются главным образом на времени выполнения их функций. Например, в приложении Управление Боем различные пользователи связаны с различными этапами планирования боя, его проведения и оценки результатов. Здесь каждая из фаз рассматривает одну и ту же предметную область в различное время и с различными целями.

При начальном определении подпакета определяется его имя, составляется описание работы (мини-руководство) и список классов, пробно назначенных подпакету. При этом при описании четко определяется все то, что должен делать подпакет.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4123
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее