Разработка модели программного обеспечения, управляющего работой холодильника

Автор работы: Пользователь скрыл имя, 14 Апреля 2013 в 18:08, курсовая работа

Описание работы

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

Файлы: 1 файл

ОМИ.doc

— 504.00 Кб (Скачать файл)

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

Параллелизм —  свойство объектов находиться  в  активном  или  пассивном состоянии и различать активные и пассивные объекты между собой.

Устойчивость  —  свойство  объекта   существовать   но   времени   (вне

зависимости от процесса, породившего данный  объект)  и/или  в  пространстве (при перемещении объекта из  адресного пространства,  в котором он  был создан).

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

 

Объект  определяется  как  осязаемая  реальность  (tangible  entity) - предмет или явление, имеющие четко определяемое поведение.  Объект  обладает состоянием, поведением и индивидуальностью;  структура  и  поведение  схожих объектов определяют общий  для  них  класс.  Термины  "экземпляр  класса"  и  "объект'' являются  эквивалентными.   Состояние   объекта   характеризуется перечнем всех возможных (статических) свойств  данного  объекта  и  текущими значениями (динамическими) каждого из этих свойств. Поведение  характеризует воздействие объекта на другие  объекты  и  наоборот  относительно  изменения состояния этих  объектов  и  передачи  сообщений.  Иначе  говоря,  поведение объекта  полностью  определяется  его  действиями.  Индивидуальность  —  это свойства объекта, отличающие его от всех других объектов.

Определенное воздействие одного  объекта  на  другой  с  целью  вызвать

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

Класс  —  это  множество  объектов,  связанных  общностью  структуры  и поведения. Любой объект является экземпляром  класса. Определение  классов  и  объектов  —  одна   из   самых   сложных   задач   объектно-ориентированного проектирования.

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

Объектно-ориентированная  система  изначально  строится  с  учетом   ее

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

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

 

 

 

2. Основы языка UML

 

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

Унифицированный язык моделирования UML (Unified  Modeling  Language)  — это преемник того поколения  методов ООАП, которые появились в конце  80-х  и начале 90-х гг. Создание UML фактически началось  в конце 1994  г.,  когда Гради Буч и Джеймс Рамбо начали работу по объединению методов  Booch  и  ОМТ (Object Modeling Technique) под эгидой компании Rational Software.  К концу 1995 г. они создали первую  спецификацию  объединенного  метода,  названного ими Unified Method, версия 0.8. Тогда же, в 1995  г.,  к  ним  присоединился создатель метода OOSE (Object-oriented Software Engineering)  Ивар  Якобсон.

Таким образом, UML является прямым объединением и унификацией  методов  Буча, Рамбо и Якобсона, однако  дополняет  их  новыми  возможностями.  Главными  в разработке UML были следующие цели:

    •  предоставить пользователям готовый  к использованию выразительный язык визуального моделирования, позволяющий разрабатывать  осмысленные  модели  и обмениваться ими;

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

    •  обеспечить независимость  от  конкретных  языков  программирования  и процессов разработки;

    •  обеспечить формальную основу  для понимания этого языка   моделирования (язык должен  быть  одновременно  точным  и  доступным  для  понимания,  без лишнего формализма);

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

Класс  —  это  множество  объектов,  связанных  общностью  структуры  и поведения. Любой объект является экземпляром класса. Определение  классов  и объектов  —  одна   из   самых   сложных   задач   объектно-ориентированного проектирования.

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

Объектно-ориентированная  система  изначально  строится  с  учетом   ее

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

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

2.1 Варианты  использования

 

В  течение  достаточно  длительного  периода  времени  в  процессе  как

объектно-ориентированного, так и традиционного  структурного  проектирования разработчики  использовали  типичные  сценарии,  помогающие   лучше   понять требования к системе. Эти сценарии трактовались  весьма  неформально  -  они почти всегда использовались и крайне редко документировались. Ивар  Якобсон впервые ввел понятие "вариант использования" (use case) и придал  ему такую значимость, что он превратился в основной элемент разработки и  планирования проекта.

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

Когда Якобсон в 1994 г. предложил  варианты  использования  в  качестве основных элементов процесса разработки ПО, он также предложил применять  для их наглядного представления  диаграммы  вариантов  использования.  На  рис.1 показаны некоторые варианты использования для системы торговой  организации; человеческие фигурки здесь обозначают  действующих  лиц,  овалы  -  варианты использования, а линии  и  стрелки  —  различные  связи  между  действующими лицами и вариантами использования.

                   Рис.1 Диаграмма вариантов использования

   

Действующее лицо (actor) — это роль,  которую  пользователь  играет  по

отношению  к  системе.  На  рис.1  четыре  действующих  лица:  Менеджер   по продажам, Оптовый торговец,  Продавец  и  Система  учета.  Действующие  лица представляют собой роли, а  не  конкретных  людей  или  наименования  работ.

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

Все  варианты  использования  так  или   иначе   связаны   с   внешними

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

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

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

В  дополнение  к  связям  между  действующими   лицами   и   вариантами

использования   существуют   два   других   типа   связей    (см.    рис.1):

"использование"   (uses)   и   "расширение"   (extends)   между   вариантами

использования.  Связь  типа  "расширение"  применяется  тогда,  когда   один

вариант использования подобен другому, но несет несколько большую нагрузку.   

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

Выбор применяемой связи определяется следующими правилами:

    •  связь  "расширение"  следует  применять  при  описании  изменений  в нормальном поведении системы;

    • связь "использование"  следует применять для избежания  повторов в двух (или более)  вариантах использования.  Варианты   использования   являются необходимым  средством  на  стадии  формирования  требований  к  ПО.  Каждый вариант использования — это потенциальное требование к системе, и  пока  оно не выявлено, невозможно запланировать его реализацию.

Информация о работе Разработка модели программного обеспечения, управляющего работой холодильника