Въведение в unified modeling language (uml) и интеграцията му в oracle ...

89
Въведение в Unified Modeling Language (UML) и интеграцията му в ORACLE JDeveloper 9i Александър Станев БанкСервиз АД

Upload: adlai

Post on 24-Jan-2016

101 views

Category:

Documents


0 download

DESCRIPTION

Въведение в Unified Modeling Language (UML) и интеграцията му в ORACLE JDeveloper 9i. Александър Станев БанкСервиз АД. Съдържание. Използване на Модели UML Моделиране Архитектурни изгледи Елементи Диаграми Интеграция в JDeveloper. Използване на модели. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

Въведение в Unified Modeling Language (UML) и

интеграцията му в ORACLE JDeveloper 9i

Александър Станев

БанкСервиз АД

Page 2: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

2

Съдържание

Използване на Модели UML Моделиране

Архитектурни изгледи Елементи Диаграми

Интеграция в JDeveloper

Page 3: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

3

Прости конструкции - могат да бъдат изградени и от един човекИзискват• Минимално моделиране• Прост процес• Прости средства

Използване на модели

Сложни конструкции – Изграждат се от екипи от контрагентиИзискват• Инженерен модел• Координиран процес• Индустриални машини

Средни по сложност – Изграждат се по-ефективно от екип

Изискват• Моделиране• Ясно дефиниран процес• Автоматизирани средства

Page 4: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

4

Предназначение на моделирането

Осигурява структура за решаване на проблемиПозволява експерименти за откриване на различни решенияДава ниво на абстрактност за управление на сложни взаимовръзкиНамалява времето за реализиранеПонижаване на цената за разработванеПозволява управление на риска от грешки в проектирането

Page 5: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

5

Език за моделиране на софтуер

Какво е UML? UML е съкращение от Unified Modeling Language Стандартен език с набор от знаци за означаване

предназначен за визуализиране, специфициране конструиране и документиране на софтуерен дизайн

Използва концепции от Моделирането на данни (Entity Relationship Diagrams) Бизнес моделиране (work flow) Обектно моделиране Компонентно моделиране

Създатели Grady Booch, James Rumbaugh, and Ivar Jacobson

Page 6: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

6

История на UML

OOPSLA ´95

Web - June ´96

OMG revision, Sep ‘97

OMG submission, Jan ´97

OMG Acceptance, Nov 1997

UML partners

Revision Task Force (RTF) report, Apr 1999

Booch method OMT

Unified Method 0.8

OOSE&

Other methods

UML 0.9

UML 1.1

UML 1.3

UML 1.0

Microsoft, Oracle,

IBM, HP, &other industry leaders

Othersubmissions

OMGFeedback

Page 7: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

7

Участници в OMG

AonixColorado State UniversityComputer AssociatesConcept FiveData AccessEDSEnea DataHewlett-Packard IBMI-LogixInLine SoftwareIntellicorpKabira TechnologiesKlasse ObjectenLockheed Martin

MicrosoftObjecTime

OraclePtech OAO Technology SolutionsRational SoftwareReichSAPSofteamSterling SoftwareSunTaskonTelelogicUnisys…

Page 8: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

8

Какво е UML и какво не е?

Стандартен език за моделиране на софтуерни системи

Дефинира значещ метамодел на системата

Независим е от процеса на разработване на системата

Език за програмиране Интерфейс към средство run-time модел Стандартен процес за

разработване на софтуерни системи

UML e: UML не е:

Page 9: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

9

Deployment View

Implementation View

Архитектура

Process View

Design View

Use Case View

речникфункционалност

ПроизводителностСкалируемостПроизводство

поведение

Сглобяване на системата

Конфигурационен мениджмънт.

Топология на системата

разпределениедоставка

инсталиране

Архитектурата – комплекс от важни решения относно: Организацията на софтуерната система. Избор на структурни елементи и интерфейси от които е

съставена системата. Поведението и взаимодействието на елементите. Съединяването на структурните и поведенческите елементи. Стилът при изграждането на системата.

Page 10: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

10

Use Case View

Use Case View Use Case Анализът е техника за описание на бизнес процес

от гледна точка на потребителя на системата. Обхваща поведението на системата както тя изглежда за

потребителите, аналитиците и тестерите. Специфицира въздействията, които оформят

архитектурата. Статичните аспекти се представят от use case диаграми. Динамичните аспекти се представят в interaction, statechart,

and activity диаграми.

Page 11: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

11

Design View

Design View

Обхваща класовете, интерфейсите и взаимодействията, които дефинират “речника” на системата.

Поддържа функционалните изисквания на системата.

Статичните аспекти се представят от class and object диаграмите.

Динамичните аспекти се представят в interaction, statechart, and activity диаграми.

Page 12: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

12

Process View

Process View Обхваща нишките и процесите дефиниращи

съгласуваност и синхронизираност. Адресиран към производителност, скалируемост и

производствени възможности на системата.

Page 13: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

13

Implementation View

Implementation View Обхваща компонентите и файловете използвани за

сглобяване и пускане в експлоатация на реалната система.

Адресиран към конфигурационния мениджмънт. Статичните аспекти се представят от component

диаграми. Динамичните аспекти се представят в interaction,

statechart и activity диаграми.

Page 14: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

14

Deployment View

Deployment View

Обхваща възлите, които формират хардуерната топология на системата.

Адресиран към разпространение, доставка и инсталиране.

Статичните аспекти се представят от deployment диаграми.

Динамичните аспекти се представят в interaction, statechart и activity диаграми.

Page 15: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

15

Език

Език = синтаксис + семантика синтаксис = правила, чрез които

елементите на езика (напр.. думите) се сглобяват в изрази (напр. фрази, изречения)

семантика = правила, чрез които на синтактичните изрази им се придава смисъл

UML Notation Guide – дефинира графичният синтаксис на UML

UML Semantics – дефинира семантиката на UML

Page 16: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

16

Изграждащи блокове Ясно дефинирани правила

Фундаментални идеи

Page 17: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

17

Основните изграждащи блокове на UML са: Елементи на модела (classes, interfaces,

components, use cases, др.) релации (associations, generalization,

dependencies, др.) диаграми (class diagrams, use case diagrams,

interaction diagrams, др.) Простите изграждащи блокове се използват за

изграждането на големи, комплексни структури

Изграждащи блокове

Page 18: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

18

Ясно дефинирани правила

Добре формирани: индицира, че модела или кой да е фрагмент от модела спазва всички семантични и синтактични правила.

UML задава правила за:

именоване област на действие видимост интегритет изпълнение

Все пак, по време на итеративното последователно нарастващо разработване може да се очаква, че модела може да бъде непълен или неконсистентен.

Page 19: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

19

Ограничения (Constraints)позволяват означаване на произволни ограничения върху елементите на модела. Например: могат да се използват за ограничаване стойност на даден атрибут на клас.

Стереотипи (Stereotypes)позволяват разширяването на семантиката на UML с говорим език. Стереотипа е обикновено дума или кратка фраза, която описва какво е дадения елемент на диаграмата. Могат да се използват за разширяване на UML елементите и могат да се използват за класифициране, разширение на асоциации, класове, релации по наследяване (inheritance), класове или компоненти

Разширяемост на UML

Page 20: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

20

Изграждащи блокове на UML

Елементи на модела Важните понятия в модела

Релации Връзките между отделните елементи на модела

Диаграми Групиране на взаимно свързаните групи от

елементи и релации

Page 21: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

21

Структурнисъществителните в моделите описвани с

езика UML. Поведенчески

динамичните (глаголни) части от UML моделите.

Групиращи

организационните части от UML моделите.

Коментарни

пояснителните части от UML моделите.

Елементи

Page 22: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

22

Съществителните на UML моделите.Концептуални или материални елементи.

Windoworiginsize

open( )close( )move( )

IWindow

Chain ofResponsibility

PlaceOrder

Event Mgrthreadtime

suspend( )flush( )stop( )

listbox

Class

Interface

Collaboration

Use Case

Active Class

Component

Node

WebServer

Структурни елементи

Page 23: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

23

КласОписание на набор от обекти, които споделят едни и същи атрибути, операции, релации и семантика.Обикновено имплементират един или повече интерфейса.

Window

originsize

open()close()

име

атрибути

операции

ИнтерфейсНабор от операции, които определят услуга (сървиз) (за ресурс или действие) на клас или компонент. Описва видимото отвън поведение на този елемент.

<<interface>>IWindow

open()close()

име

операции

Структурни елементи

Page 24: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

24

Chain ofResponsibility

Дефинира взаимодействието в мрежата от обекти.Дефинира общност от ролите и останалите елементи.Обезпечава поведението при взаимодействията.Извлича структурните и поведенческите измерения.

Колаборация

Place Order

Поредица от действие, които водят до забележим резултат за определено действащо лице (actor).Осигурява структура за поведенческите елементи.Осъществява се посредством колаборация (обикновено между набор от действащи лица и системата, която се изгражда).

Use Case

Структурни елементи

Page 25: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

25

Специален клас, чиито обекти притежават един или повече процеса или нишки.

Може да инициира контролна дейност.

имеатрибутиоперации

Heavy border

Активен клас Event Manager

suspend()flush()

Threadtime

Orderform.java

Заменяема част от системата.Компонентите могат да бъдат пакетирани логически.Съобразен с набора от интерфейси.Обезпечава реализацията на интерфейс.

Компонент

WebServerЕлемент, който съществува в рънтайм.Представя изчислителен ресурс.Обикновено има памет и процесорна мощ.

Ноуд

Структурни елементи

Page 26: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

26

Поведенчески елементи

Два основни типа поведенчески елементи:

Те са:Глаголите в UML моделите.Динамичните части от UML моделите: “поведението във времето и пространството”Обикновено свързани към структурните елементи на UML.

ИнтеракцияПоведението на набор от обекти, обхващащо набор от съобщения в рамките на даден контекст за постигането на специфична цел.

display

Машина на състоянието (State Machine)Поведението, което описва последователността на състоянията на обекта или взаимодействието в резултат от събития, случващо се през време на живота му, обединени с отговора на тези събития. WaitingIdle

Page 27: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

27

Пакети – Основен тип групиране. Механизъм с общо предназначение за организирането на елементите в групи.Изцяло концептуален; съществува само по време на разработването.Съдържа структурни и поведенчески елементи.Могат да се влагат.Вариации на пакети са: Frameworks, модели и подсистеми.

Meeting Scheduler

Групиращи елементи

Page 28: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

28

Коментарни елементи

flexible drop-out dates

Пояснителните части на UML моделитеБележки относно други UML елементи (обикновено се наричат украси в UML)

Бележка (Note) основен коментарен елемент в UML, изразява се чрез

формален или неформален текст.

Page 29: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

29

Релации

4 типа: Зависимост (Dependency) Асоциация (Association) Обобщение (Generalization) Реализация (Realization)

Page 30: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

30

Асоциация (Associations)Структурна релация, описваща набор от връзки, като връзка е отделното отношение между обектите.

Насочени етикети множественост & имена на роли

Зависимост (Dependency)

Семантичната връзка между два елемента, в която промяната в единия от елементите (независим елемент) може да въздейства върху семантиката на другия елемент (зависим).

Релации

Насочването и етиката са опционални.

0..1employer

*

employee

Агрегация (Aggregation) Специален тип асоциация. Представя структурното взаимодействие между цялото и неговите части.

Представя се чрез черен ромб.

Page 31: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

31

Релации

Обобщение (Generalization)Отношение специализация/обобщение, което обектите на специализирания елемент (детето) са по-точно определени и специфични, отколкото обектите на обобщаващия елемент (родителя).

Реализация (Realization)Семантично взаимоотношение между два елемента, в което единия елемент гарантира, че осъществява това, което се очаква от другия.Напр. Между интерфейсите и класовете които ги реализират.

Page 32: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

32

Диаграми

Class Диаграми; Object Диаграми

Use case Диаграми; Sequence Диаграми;

Collaboration Диаграми; Statechart Диаграми

Activity Диаграми; Component Диаграми

Deployment Диаграми

Графично представяне на група от елементи.Изобразяват се чрез свързан граф: Листата са елементите; Дъгите са поведенията.5 основни изгледа се изграждат от 9 типа диаграми.

Page 33: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

33

Типове UML Диаграми

Структурни Диаграми (Structural Diagrams)

фокусът е върху статичните аспекти на софтуерната система

Class Диаграма Object Диаграма Component Диаграма Deployment Диаграма

Поведенчески диаграми (Behavioral Diagrams) фокусът е върху динамичните аспекти на софтуерната система Use-case Диаграма Interaction Диаграма State Chart Диаграма Activity Диаграма

Page 34: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

34

Use Case Диаграми

Use case модела разделя системната функционалност на транзакции (‘use cases’) , които са значещи за участниците (‘actors’).

Use case е описание на сценарий, който приложението би или не би могло да управлява. Описва как участника взаимодейства със системата.

Use case е модел на поведението, което системата проявява.

Всеки use case е последователност от свързани транзакции, изпълнени от участниците (актьорите) и системата в диалог

Use case и use case диаграмата дават use case модел

Page 35: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

35

Use Case Диаграми - Елементи

Потребител

Регистрира плащания

Платежна система

Use case диаграмите са създадени да визуализират връзките между участниците и use case

Use case елемента е модел на поведението, което системата проявява Регистриране

Участник (actor) е някой или нещо, на който се налага да взаимодейства със системата.

Регистратор

Page 36: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

36

Use case

Описание: Всеки use case има описващо го име Описва какво системата прави, но не и как го прави. Use case имената трябва да са уникални в рамките

на даден пакет.

A Use Case

Page 37: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

37

Какво е Use Case

Use case обхваща някаква видима от потребителя функционалност.

Гранулата на функционалността зависи от нивото на детайлност в модела.

Всеки use case реализира независим резултат за потребителя.

Use Case се създават чрез анализ на изискванията към системата.

Page 38: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

38

Actor

Участниците (Actors) имат име. Участникът е набор от роли, които потребителите на

use case-а играят , когато взаимодействат със системата.

Те са външни за системата единици. Могат да бъдат и външни системи.

An Actor

Page 39: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

39

Основни Елементи

Елемент Описание Синатксис

use case Последователност от действия, включително вариантите им, които системата може да изпълни, взаимодействайки с участниците в нея.

Участник (actor)

Съгласуван набор от роли, които потребителите на use casе играят, когато взаимодействат с тези use case

Граница на системата (system boundary)

Представя границата между материализираната система и участниците, които взаимодействат с нея.

UseCaseNam e

ActorNam e

Page 40: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

40

Construct Description Syntax

Асициация (аssociation)

Участието на участник в use case, т.е., участник и use case комуникират помежду си.

разширение (extend)

Отношение на разширявана на use case спрямо базовия use case, специфициращо как поведението на разширения use case може да бъде вмъкнато в поведението дефинирано за базовия use case.

Обобщение (generalization)

Класификационно отношение между по-общ use case и по-детайлен use case.

Основни Релации

<<extend>>

Page 41: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

41

Construct Description Syntax

включване (include)

Релация от базовия use case към включвания use case, специфицираща как поведението за включвания use case се включва в поведението, дефинирано за базовия use case.

Основни Релации

<<include>>

Page 42: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

42

Релации между use case (пример)

Релацията употреба (uses) показва поведение, общо за един или повече use case.

Релацията разширяване (extends) показва опционално поведение.

Регистрация за курс

<<uses>>

Проверка за достъп<<uses>>

Поддръжка на програмата на курса

Регистрация за дистанционни курсове

<<extends>>

Page 43: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

43

Документиране

Потокът от събития се описва в документация за всеки use case, като:

Написани от гледна точка на участник (actor) Детайлизира какво системата трябва да осигури на

участника, когато се изпълни use case-а. Типично съдържание

Как стартира и завършва use case Нормалния поток на събитията Алтернативния поток на събитията Потока на събитията при изключение (Exceptions)

Page 44: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

44

Use Case Диаграма - пример

Actor - Person, Organization, orSystemUse Case

System

Interaction

Information Flow

Page 45: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

45

Use Case – Полезни съвети

Да се осигури, че всеки use case описва значима част от използването на системата, която е разбираема и за програмистите и за експертите при потребителя.

Когато се дефинират use casе в текстова форма, да се използват съществителните и глаголите акуратно и съгласувано, за да се подпомогне извличането на обектите и съобщенията за interaction диаграмите.

Page 46: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

46

Use Case – Полезни съвети

Една use case диаграма трябва: Да съдържа само набор от use case на едно

ниво на абстракция Да включва само участниците, необходимите

за осъществяването на представените в нея набор от use case.

По голям брой use case би следвало да се организират в пакети.

Page 47: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

47

Interaction Диаграми

Interaction диаграмите описват как use case са реализирани като взаимодействие между общност от обекти, включвайки съобщенията, които могат да се изпращат между тях.

Създават се една или повече interaction диаграми за един use case.

Адресирани са към динамичния изглед на системата.

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

Съставени са от обекти, връзки и съобщения.

Page 48: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

48

Типове Interaction Диаграми

Sequence диаграми (Диаграми на последователността) Моделира начина на управление за организацията по

време. Наблягат на течащите съобщения във времето Показват прости повторения и разклонения

Collaboration диаграми (Диаграми на сътрудничеството) Моделира начина на управление за организацията Структурни релации между реализации при

изпълнение Показват сложни повторения и разклонения

Page 49: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

49

Sequence Диаграми

Sequence диаграма (обектна диаграма или event trace диаграма) се използва за да се дефинира логиката за дефиниран use case сценарий.

Sequence диаграмата показва взаимодействията между обектите подредени по време.

Най-често се използват за да се провери use cases при преминаване през логиката на сценария.

Показва типовете обекти включени в use case-а, съобщенията които те си изпращат един на друг и всяка върната стойност, асоциирана със съобщението.

Правоъгълниците върху вертикалните линии са т.нар. “Кутии за изпълнение на методи” (method invocation boxes), които представят изпълнението на метод в обект.

Page 50: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

50

Sequence Диаграма

По ордината са обектите Обекта инициатор на взаимодействието е

най-вляво Обектите надясно са в нарастваща по степен

подчиненост По абсцисата е времето

Изпратените и получените съобщения са подредени по време

Активацията (аctivation), изразявана с двойна линия, е изпълнението на процедура.

Page 51: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

51

Sequence Диаграма (пример)Objects

Method Invocation

Messages

Page 52: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

52

Collaboration Диаграми

С ударение върху: Организацията на обектите, които участват във

взаимодействие. Класифицира ролите Асоциацията между обектите Съобщенията, потока на движението им и

последователността

Page 53: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

53

Collaboration Диаграми

Collaboration диаграмите визуализират взаимодействието между обектите, по начин, насочен към обектите и техните връзки един с друг

Показват движението на съобщенията между обектите. Правоъгълниците са различните обекти и ролите, които

те имат в приложението (системата). Линиите между обектите са релациите или асоциациите

между тях. Съобщенията са етикети, последвани от стрелка,

показваща посоката на движението на съобщението. Връщаните стойности са етикети последвани от кръг със

стрелка. Collaboration диаграмите се използват за получаването

на общата картина на системата, с включен поток на съобщенията за много use case сценарии.

Page 54: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

54

Обменяни Съобщения

Send – изпраща сигнал (съобщение) на обекта Return – връща стойност на извикващия Call – извиква операция Стереотипи (stereotype)

<<create>> <<destroy>>

call

send

Return

Page 55: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

55

: Registrar

course form : CourseForm

theManager : CurriculumManager

aCourse : Course

1: set course info2: process

3: add course

4: new course

Collaboration Diagram

Показват взаимодействията между обектите. В основата на диаграмите са обектите и техните насочени връзки един към друг.

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

Page 56: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

56

Collaboration Диаграма (пример)Objects

Relationship

MessageReturn Value

Page 57: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

57

Class Диаграми

Показва статичната структура на класовете в системата

Класовете представят нещата, които се манипулират в системата

Класовете могат да се съотнасят един към друг по следните начини: Подчинен – зависи от или използва друг клас Ограничен – ограничение на друг клас Пакетирани или групирани заедно като едно

цяло Един клас може да участва в няколко class диаграми

Page 58: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

58

Class Диаграми

Class диаграмата показва съществуването на класовете и техните взаимодействия.

UML елементи в class диаграмите Класовете с техните структура и поведение Отношенията: Association, aggregation,

dependency и inheritance Имена на роли

Page 59: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

59

Клас (Class)

Клас Класът сбор от обекти с общи поведение,

структура, релации и семантика Класът се изобразява като правоъгълник с

три отделения.

+print()

-name : string(idl)-age : int

PersonИме на класа

Атрибути

Оператори

Page 60: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

60

Какво е добър клас?

Трябва да осигурява ясна абстракция на нещо от областите на задачата или решението.

Да въплъщава малък, добре дефиниран набор от отговорности и да ги изпълнява добре.

Осигурява ясно и точно изолиране между абстракция, спецификация и изпълнение.

Да е разбираем и прост и в същото време разширяем и пригодим.

Page 61: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

61

Документиране

Класовете се документират, като се описва какво извършват.

Методите се документират като се описва тяхната логика.

Атрибутите се документират, като се описва какво съдържат, техния тип и указание за обхвата на стойностите им.

Релациите между класовете се документират, като се описва тяхното предназначение, това колко обекта са въвлечени в релацията и дали или не един обект трябва да участва в релацията

Page 62: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

62

Class Диаграма (пример)

Class

Attribute

Methods

Relationship

Page 63: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

63

State Transition Диаграми

Диаграми на състоянията (State diagrams)

използват се да описват как работят обектите

Показват: Историята на живота на даден клас Събитията (events), които причиняват

преминаването от едно състояние в друго Действията в резултат от промяната на

състоянието.

Page 64: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

64

Елементи

Правоъгълниците са състоянията, които са етапи в поведението на обект

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

Стрелките представят преходите – напредването от едно състояние в друго.

Началното състояние се представя от плътен кръг.

Крайното състояние се представя с очертан кръг.

Page 65: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

65

InitializationOpen

entry: Register studentexit: Increment count

Closed

Canceled

do: Initialize course

do: Finalize course

do: Notify registered students

Add Student / Set count = 0

Add student[ count < 10 ]

[ count = 10 ]

Cancel

Cancel

Cancel

State Transition Диаграми

Събитията, причиняващи преминаването от едно състояние в друго. Действията в резултат на промяна в състоянието.

Page 66: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

66

State Transition Диаграми(пример)

State

Final State

Initial StateTransition

Page 67: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

67

Activity Diagram - description

Диаграмите за Дейностите (Activity diagrams ) позволяват визуалното представяне на процесите и това как те се синхронизират.

Описват многонишково поведение Activity диаграмата е вариация на машината на

състоянието(State Mashine), в която състоянията са Дейности (Activities)

Page 68: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

68

Дейност (Activity)

Представят вътрешни действия (чакане, контролиране и т.н.), изпълнявани, когато обекта е в определено състояние

Изискват време за изпълнение и могат да бъдат прекъсвани

Page 69: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

69

Activity Diagrams•Показват движението от дейност към дейност.

BodySwimlanesМеханизъм за групиране и организиране на състоянията на дейностите (activity states)

Prepare for speech

Decompress

Synch Mouth Stream Audio

Cleanup

Gesture

Mind

Page 70: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

70

Implementation Диаграми

Диаграми за реализацията Показват аспекти на осъществяването на

модела, включвайки структурата на сорс и структурата на системата в експлоатация.

Типове: Компонентна (component) диаграми Внедрителна (deployment) диаграми

Page 71: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

71

Показва организацията и връзките между набора от софтуерни компоненти.

Компонентите включват: Компонентите на сорс кода Компоненти на бинарния код Изпълними компоненти

Component Диаграма

Page 72: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

72

Component Диаграма

Component диаграмите показват софтуерните компоненти съставящи софтуерни елементи, позволяващи многократно ползване и техните взаимовръзки.

Кутиите представят компонентите. Пунктираните линии показват зависимостите между

компонентите. Целта е да се раздели системата на компоненти ,

имащи стабилни интерфейси, изграждайки ядро, което няма нужда от промяна в отговор на промени на ниво подсистема.

Page 73: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

73

Component Diagram

Components Dependencies

Page 74: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

74

Deployment Диаграми

Deployment диаграмите показват конфигурацията на експлоатационните изчислителни единици, включвайки хардуера и софтуера, който се изпълнява в тях.

Deployment диаграмите могат да бъдат използвани да показват кой компонент на кой ноуд се изпълнява

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

Deployment диаграмите показват как хардуерните и софтуерни единици, ще бъдат конфигурирани и внедрени.

Нещата които трябва да се вземат предвид за всеки компонент, са подходящите техническите изисквания като скоростта на мрежата, времето за отговор, размера на данните и т.н.

Page 75: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

75

Deployment Диаграма

Components

Node

Page 76: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

76

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

Библиотека

Представителство

Централно Управление

Deployment Диаграми

Deployment диаграмите визуализират и разпределението на компонентите из административната организация (предприятието).

Page 77: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

77

Накратко за UML

Показва границите на системата и нейните главни функции, използвайки use cases и actors

Илюстрира use case реализациите с interaction диаграми

Представя статичната структура на системата, използвайки class диаграми

Моделира поведението на обектите чрез state transition диаграми

Показва материалното осъществяване на архитектурата с component и deployment диаграми

Разширяване на функционалността със stereotypes

Page 78: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

78

Последователност

Последователност при UML моделирането

Page 79: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

79

UML Моделиране

Page 80: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

80

Препоръки за използването

Избягвайте модели, които са: Съкратени — някой елементи са скрити за

опростяване. Непълни — определени елементи може би

липсват. Противоречиви — няма гаранция за

интегритет.

Page 81: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

81

Процес по използване

Как да използваме UML като система за означаване, за да изградим добър модел? Воден от Use case

use case са първичния продукт за дефиниране поведението на системата.

Архитектурата е в центъра Системната архитектура е първият продукт за

концептуализиране, конструиране, управление и развитие на системата.

Итеративен и нарастващУправлението на поток от изпълними реализации с

включени нарастващи части на архитектурата на системата.

Page 82: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

82

Свойства:

Непрекъсната интеграция – Не се извършва наведнъж около датата на внедряване

Чести изпълними версии – Някои вътрешни, някои внедрявани

Атакува риска чрез демонстрируем напредък – Напредъкът, измерен в продукти, а не в документация или инженерни оценки

Итеративно моделиране

Ползи: Създаването на работещи варианти на регулярна база за

проверка на модела са и начин за приключване на работата по разработване за дадения цикъл на итерация. Не е възможен феномена “90% са направени, остават още 90%”

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

Page 83: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

83

JDeveloper UML

Моделиране на Java Класове Моделиране на Business Components Моделиране на Enterprise JavaBeans Моделиране на Activities Моделиране на Activities for E-Business Integration Моделиране на Web Services

Page 84: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

84

UML в JDeveloper

Class Диаграми Activity Диаграми Интеграция с Oracle 9iAS Integration

Page 85: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

85

Class Диаграми

Class диаграмите в Jdeveloper, могат дасе използват за създаване на модели, съдържащи следнното:

Java класове, от които може да бъде генериран Java сорс код

Java класове, получени чрез ревърс инженеринг на съществуващ Java сорс код

UML класове импортирани от XMI файлове, като моделирани Java класове

Бизнес компоненти, от които могат да се генерират обекти на базата данни

Бизнес компоненти, получени чрез ревърс инженеринг на съществуващи таблици

Enterprise JavaBeans Enterprise JavaBeans, получени чрез ревърс инженеринг

на tables web services

Page 86: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

86

Class Диаграми

Page 87: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

87

Activity Диаграми

Activity диаграмите могат да бъдат използвани за създаването на модели, съдържащи следното:

дейности, потоци и състояния за илюстриране на процес

дейности от които може да се генерира e-business integration код.

Page 88: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

88

Activity Диаграми

Page 89: Въведение в Unified Modeling Language (UML) и интеграцията му в  ORACLE  JDeveloper  9i

БГПО Семинар “ORACLE 9i Development Suite”.

89

Internet UML Ресурси

Oracle Technology Network http://otn.oracle.com

UML Revision Task Force uml.shl.com

Object Management Group www.omg.org

Rational Software Corp.'s UML Resource Center http://www.rational.com/uml/index.jtmpl

Lockheed Martin Advanced Concepts Center http://www.lmco.com/acc/

Software Development Magazine http://www.sdmagazine.com/uml/

UML resource page http://home.pacbell.net/ckobryn/uml.htm