АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Введение. 1.3. Основные понятия объектно-ориентированного анализа и проектирования информационных систем 7

Читайте также:
  1. I Введение
  2. I. Введение
  3. I. Введение
  4. I. ВВЕДЕНИЕ
  5. I. Введение
  6. I. Введение
  7. I. Введение
  8. I. Введение
  9. I. ВВЕДЕНИЕ.
  10. II. ВВЕДЕНИЕ
  11. VI. ВВЕДЕНИЕ В АНАТОМИЮ МАССОВОГО ЧЕЛОВЕКА
  12. VI. Введение в анатомию массового человека

Основы UML

 

 


СОДЕРЖАНИЕ

Введение.. 4

1. введение в UML. 5

1.1. История UML. 5

1.2. CASE-средства. 6

1.3. Основные понятия объектно-ориентированного анализа и проектирования информационных систем 7

1.4. Общая характеристика моделей объектно-ориентированного анализа и проектирования 9

2. Основные элементы языка UML.. 11

2.1. Пакеты.. 11

2.2. Канонические диаграммы языка UML.. 13

2.3. Диаграмма вариантов использования (Use Case Diagram) 15

2.4. Диаграмма классов (Class Diagram) 30

2.5. Диаграмма кооперации (сотрудничества) (Collaboration Diagram) 48

2.6. Диаграмма последовательности (Sequence Diagram) 56

2.7. Диаграмма состояний (Statechart Diagram) 63

2.8. Диаграмма деятельности (Activity Diagram) 76

2.9. Диаграмма компонентов (Component Diagram) 85

2.10. Диаграмма размещения (Deployment Diagram) 93

3. Паттерны (Patterns) 99

3.1. Паттерны, их классификация. 99

3.2. Паттерны проектирования. 101

3.3. Архитектурные паттерны.. 109

ЗАКЛЮЧЕНИЕ.. 116

Литература.. 117

Приложение. Пример разработки.. 118

 


Введение

Данное учебное пособие имеет практическую направленность и должно способствовать лучшему освоению технологий описания моделирования программных систем, технических средств, бизнес-процессов и организационных структур с использованием универсального языка моделирования – UML. Материалы, представленные в данном учебном пособии могут быть использованы при выполнении курсовых работ по дисциплине «Технологии конструирования программного обеспечения», а также при написании бакалаврских работ по специальности «Компьютерные науки».

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

Во второй главе рассматриваются элементы языка UML и основные принципы построения следующих канонических диаграмм:

ü диаграмм вариантов использования;

ü диаграмм классов;

ü диаграмм кооперации;

ü диаграмм последовательности;

ü диаграмм состояний;

ü диаграмм деятельности;

ü диаграмм компонентов;

ü диаграмм размещения.

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

В приложении в качестве примера применения диаграмм UML и паттернов приведен фрагмент разработки системы розничной торговли. Более детально и подробно он описан в [2].

При создании данного учебного пособия использовалась литература, приведенная в соответствующем разделе, материалы курса «Нотация и семантика языка UML» Интернет-Университета Информационных Технологий (www.intuit.ru), другие ресурсы Интернета, а также материалы, полученные в рамках стажировки....проект №....

 


1. введение в UML

Unified Modeling Language (UML)унифицированный язык моделирования – визуальный язык моделирования 3-го поколения, используемый для моделирования программных систем, технических средств, бизнес-процессов и организационных структур.

1.1. История UML

Октябрь 1994 – Гради Буч (Grady Booch) и Джеймс Рамбо (James Rumbaugh), работавшие в компании Rational Software, объединили свои усилия для создания нового унифицированного языка объектно-ориентированного моделирования.

Октябрь 1995 года – опубликован проект предварительной версии 0.8 унифицированного метода (Unified Method).

Осень 1995 – к компании Rational присоединился Айвар Якобсон (Ivar Jacobson), автор метода Object-Oriented Software Engineering – OOSE. OOSE обеспечивал превосходные возможности для спецификации бизнес-процессов и анализа требований при помощи сценариев использования. OOSE был также интегрирован в унифицированный метод.

Июнь 1996 – группа разработчиков в OMG (Object Management Group), в которую также входили Буч, Румбах и Якобсон, выпустила спецификацию UML версии 0.9

Октябрь 1996 – спецификация UML версии 0.91.

Январь 1997 – спецификация UML 1.0, результат совместной работы таких компаний, как Digital Equipment Corporation, Hewlett-Packard, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle Corporation, Rational Software, Texas Instruments и Unisys.

Ноябрь 1997 – принята в качестве стандарта версия 1.1, содержавшая улучшения нотации, а также некоторые расширения семантики.

Июнь 1999 – релизы UML версии 1.3.

Сентябрь 2001 – опубликована версия 1.4.

Март 2003 – опубликована версия 1.5.

Август 2005 – опубликована формальная спецификация версии UML 2.0. Семантика языка была значительно уточнена и расширена для поддержки методологии Model Driven Development — MDD.

Декабрь 2005 – UML 1.4.2 принят в качестве международного стандарта ISO/IEC 19501:2005.


Контрольные вопросы

1. Как расшифровывается аббревиатура UML?

2. Для решения каких задач используется UML?

3. Кто является создателями унифицированного языка моделирования?

4. Какие методы моделирования были положены в основу языка UML?

5. Когда впервые UML был принят в качестве стандарта?

1.2. CASE-средства

На рынке CASE-средств, поддерживающих UML, представлены десятки программных инструментов обеспечивающих интеграцию, включая прямую и обратную генерацию кода программ, с наиболее распространенными языками и средами программирования, такими как MS Visual C++, Java, Object Pascal/Delphi, Power Builder, MS Visual Basic, Forte, Ada, Smalltalk, др.

Наиболее популярные CASE-системы:

ü Enterprise Architecture (http://www.sparxsystems.com.au);

ü Poseidon (http://www.gentleware.com/produsts/download.php4);

ü ArgoUML (http://argouml.tigris.org/);

ü ObjectDomain (http://objectdomain.com/welcome.do);

ü UML Studio (http://www.pragsoft.com/produsts.html);

ü Visual Paradigm for UML (http://visual-paradigm.com/);

ü Umbrello UML Modeler (http://uml.sourceforge.net/);

ü Together (http://www.borland.com/together/index.html);

ü ARIS (http://www.ids-scheer.com/)

ü MagicDraw (http://magicdraw.com/)

ü Microsoft Visio (http://office.microsoft.com/)

ü PowerDesigner (http://www.sybase.com/)

ü Rational Rose (http://www-306.ibm.com/software/rational/)

ü StarUML (http://www.staruml.com/)

ü...

Контрольные вопросы

1. Назовите наиболее популярные CASE-системы, поддерживающие работу с UML.

2. С какими языками и средами программирования поддерживается интеграция UML?

1.3. Основные понятия объектно-ориентированного анализа и проектирования информационных систем

Модель (model) – абстракция физической системы, рассматриваемая с определенной точки зрения и представленная на некотором языке или в графической форме.

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

Назначение отдельной модели системы определяется характером решаемой проблемы.

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

Объектно-ориентированное программирование (ООП) (Object-Oriented Programming) – совокупность принципов, технологий, инструментальных средств для создания программных систем на основе архитектуры взаимодействия объектов.

Основные принципы ООП: абстракция, наследование, инкапсуляция и полиморфизм.

Абстракция (abstraction) – характеристика сущности, которая отличает ее от других сущностей.

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

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

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

Наследование (inheritance) – принцип, в соответствии с которым знание о наиболее общей категории разрешается применять для более частной категории.

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

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

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

Полиморфизм (polymorphism) (греч. Poly – много, morfos – форма) – свойство объектов принимать различные внешние формы в зависимости от обстоятельств, т.е. действия, выполняемые одноименными методами, могут различаться в зависимости от того, к какому из классов относится тот или иной метод.

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

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

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

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

Объектно-ориентированный анализ и проектирование (ООАП) (Object-Oriented Analysis/Design) – технология разработки программных систем, в основу которых положена объектно-ориентированная методология представления предметной области в виде объектов, являющихся экземплярами соответствующих классов.

Методология ООАП тесно связана с концепцией автоматизированной разработки программного обеспечения (Computer Aided Software Engineering – CASE).

Для более углубленного изучения вопросов изложенных в данном разделе рекомендуется обратиться к [3].

Контрольные вопросы

1. Дайте определение понятию модель.

2. Какое требование к модели программной системы является основным?

3. Назовите основные принципы объектно-ориентированного программирования. Дайте определение каждому из них.

4. В чем отличие объекта от класса?

5. Приведите пример наследования.

6. Приведите пример полиморфных операций.

7. Какие задачи позволяет решить методология объектно-ориентированного анализа и проектирования?

1.4. Общая характеристика моделей объектно-ориентированного анализа и проектирования

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

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

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

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


Обычно выделяют четыре представления:

ü Логическое представление;

ü Представление процесса функционирования;

ü Представление реализации;

ü Представление размещения компонентов.

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

Общая схема взаимосвязей моделей и представлений сложной системы в процессе объектно-ориентированного анализа и проектирования представлена на рис. 1.1.

Рис. 1.1. Общая схема взаимосвязей моделей ООАП

Контрольные вопросы

1. Для построения каких моделей можно использовать UML?

2. Что позволяет делать принцип иерархического построения моделей?

3. Дайте определение концептуальной модели. На каком этапе проектирования она строится?

4. Какие представления обычно выделяют?

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.011 сек.)