No Slide Title

Download Report

Transcript No Slide Title

Въведение в Unified Modeling
Language (UML) и
интеграцията му в
ORACLE JDeveloper 9i
Александър Станев
БанкСервиз АД
Съдържание
 Използване на Модели
 UML Моделиране
 Архитектурни изгледи
 Елементи
 Диаграми
 Интеграция в JDeveloper
БГПО Семинар
“ORACLE 9i Development Suite”.
2
Използване на модели
Прости конструкции - могат да бъдат изградени и от един човек
Изискват
• Минимално моделиране
• Прост процес
• Прости средства
Средни по сложност – Изграждат се по-ефективно
от екип
Изискват
• Моделиране
• Ясно дефиниран процес
• Автоматизирани средства
Сложни конструкции – Изграждат се от екипи от контрагенти
Изискват
• Инженерен модел
• Координиран процес
• Индустриални машини
БГПО Семинар
“ORACLE 9i Development Suite”.
3
Предназначение на моделирането

Осигурява структура за решаване на проблеми
Позволява експерименти за откриване на различни
решения

Дава ниво на абстрактност за управление на
сложни взаимовръзки


Намалява времето за реализиране

Понижаване на цената за разработване
Позволява управление на риска от грешки в
проектирането

БГПО Семинар
“ORACLE 9i Development Suite”.
4
Език за моделиране на софтуер
Какво е UML?



UML е съкращение от Unified Modeling Language
Стандартен език с набор от знаци за означаване
предназначен за визуализиране, специфициране
конструиране и документиране на софтуерен дизайн
Използва концепции от





Моделирането на данни (Entity Relationship Diagrams)
Бизнес моделиране (work flow)
Обектно моделиране
Компонентно моделиране
Създатели
 Grady Booch, James Rumbaugh, and Ivar Jacobson
БГПО Семинар
“ORACLE 9i Development Suite”.
5
История на UML
Revision Task Force (RTF) report, Apr 1999
UML 1.3
OMG Acceptance, Nov 1997
UML 1.1
OMG revision, Sep ‘97
OMG submission, Jan ´97
UML 1.0
UML partners
Other
submissions
UML 0.9
Web - June ´96
OOPSLA ´95
OMG
Feedback
Unified Method 0.8
Booch method
Microsoft,
Oracle,
IBM, HP, &
other industry leaders
OOSE
&
OMT
Other methods
БГПО Семинар
“ORACLE 9i Development Suite”.
6
Участници в OMG
Aonix
Colorado State University
Computer Associates
Concept Five
Data Access
EDS
Enea Data
Hewlett-Packard
IBM
I-Logix
InLine Software
Intellicorp
Kabira Technologies
Klasse Objecten
Lockheed Martin
Microsoft
ObjecTime
Oracle
Ptech
OAO Technology Solutions
Rational Software
Reich
SAP
Softeam
Sterling Software
Sun
Taskon
Telelogic
Unisys
…
БГПО Семинар
“ORACLE 9i Development Suite”.
7
Какво е UML и какво не е?
UML не е:
UML e:
 Стандартен език за
моделиране на софтуерни
системи
 Дефинира значещ
метамодел на системата
 Независим е от процеса на
разработване на системата




Език за програмиране
Интерфейс към средство
run-time модел
Стандартен процес за
разработване на софтуерни
системи
БГПО Семинар
“ORACLE 9i Development Suite”.
8
Архитектура
Архитектурата – комплекс от важни решения относно:
 Организацията на софтуерната система.
 Избор на структурни елементи и интерфейси от които е
съставена системата.
 Поведението и взаимодействието на елементите.
 Съединяването на структурните и поведенческите елементи.
 Стилът при изграждането на системата.
речник
функционалност
Производителност
Скалируемост
Производство
Design View
поведение
Сглобяване на
системата
Implementation ViewКонфигурационен
мениджмънт.
Use Case View
Process View
Deployment View
БГПО Семинар
“ORACLE 9i Development Suite”.
Топология на
системата
разпределение
доставка
инсталиране
9
Use Case View
Use Case View
 Use Case Анализът е техника за описание на бизнес процес
от гледна точка на потребителя на системата.
 Обхваща поведението на системата както тя изглежда за
потребителите, аналитиците и тестерите.
 Специфицира въздействията, които оформят
архитектурата.
 Статичните аспекти се представят от use case диаграми.
 Динамичните аспекти се представят в interaction, statechart,
and activity диаграми.
БГПО Семинар
“ORACLE 9i Development Suite”.
10
Design View
Design View
 Обхваща класовете, интерфейсите и
взаимодействията, които дефинират “речника” на
системата.
 Поддържа функционалните изисквания на
системата.
 Статичните аспекти се представят от class and object
диаграмите.
 Динамичните аспекти се представят в interaction,
statechart, and activity диаграми.
БГПО Семинар
“ORACLE 9i Development Suite”.
11
Process View
Process View
 Обхваща нишките и процесите дефиниращи
съгласуваност и синхронизираност.
 Адресиран към производителност, скалируемост и
производствени възможности на системата.
БГПО Семинар
“ORACLE 9i Development Suite”.
12
Implementation View
Implementation View
 Обхваща компонентите и файловете използвани за
сглобяване и пускане в експлоатация на реалната
система.
 Адресиран към конфигурационния мениджмънт.
 Статичните аспекти се представят от component
диаграми.
 Динамичните аспекти се представят в interaction,
statechart и activity диаграми.
БГПО Семинар
“ORACLE 9i Development Suite”.
13
Deployment View
Deployment View
 Обхваща възлите, които формират хардуерната
топология на системата.
 Адресиран към разпространение, доставка и
инсталиране.
 Статичните аспекти се представят от deployment
диаграми.
 Динамичните аспекти се представят в interaction,
statechart и activity диаграми.
БГПО Семинар
“ORACLE 9i Development Suite”.
14
Език
 Език = синтаксис + семантика
 синтаксис = правила, чрез които
елементите на езика (напр.. думите) се
сглобяват в изрази (напр. фрази,
изречения)
 семантика = правила, чрез които на
синтактичните изрази им се придава
смисъл
 UML Notation Guide – дефинира графичният
синтаксис на UML
 UML Semantics – дефинира семантиката на
UML
БГПО Семинар
“ORACLE 9i Development Suite”.
15
Фундаментални идеи
 Изграждащи блокове
 Ясно дефинирани правила
БГПО Семинар
“ORACLE 9i Development Suite”.
16
Изграждащи блокове
 Основните изграждащи блокове на UML са:
 Елементи на модела (classes, interfaces,
components, use cases, др.)
 релации (associations, generalization,
dependencies, др.)
 диаграми (class diagrams, use case diagrams,
interaction diagrams, др.)
 Простите изграждащи блокове се използват за
изграждането на големи, комплексни структури
БГПО Семинар
“ORACLE 9i Development Suite”.
17
Ясно дефинирани правила
 Добре формирани: индицира, че модела или кой да
е фрагмент от модела спазва всички семантични и
синтактични правила.
 UML задава правила за:
 именоване
 област на действие
 видимост
 интегритет
 изпълнение
 Все пак, по време на итеративното последователно
нарастващо разработване може да се очаква, че
модела може да бъде непълен или неконсистентен.
БГПО Семинар
“ORACLE 9i Development Suite”.
18
Разширяемост на UML
 Ограничения (Constraints)
позволяват означаване на произволни ограничения върху
елементите на модела. Например: могат да се използват за
ограничаване стойност на даден атрибут на клас.
 Стереотипи (Stereotypes)
позволяват разширяването на семантиката на UML с говорим език.
Стереотипа е обикновено дума или кратка фраза, която описва
какво е дадения елемент на диаграмата. Могат да се използват за
разширяване на UML елементите и могат да се използват за
класифициране, разширение на асоциации, класове, релации по
наследяване (inheritance), класове или компоненти
БГПО Семинар
“ORACLE 9i Development Suite”.
19
Изграждащи блокове на UML
 Елементи на модела
Важните понятия в модела
 Релации
Връзките между отделните елементи на модела
 Диаграми
Групиране на взаимно свързаните групи от
елементи и релации
БГПО Семинар
“ORACLE 9i Development Suite”.
20
Елементи
 Структурни
съществителните в моделите описвани с езика
UML.
 Поведенчески
динамичните (глаголни) части от UML моделите.
 Групиращи
организационните части от UML моделите.
 Коментарни
пояснителните части от UML моделите.
БГПО Семинар
“ORACLE 9i Development Suite”.
21
Структурни елементи
Съществителните на UML моделите.
Концептуални или материални елементи.
Active Class
Class
Collaboration
Window
origin
size
open( )
close( )
move( )
Chain of
Responsibility
Event Mgr
thread
time
suspend( )
flush( )
stop( )
Place
Order
IWindow
Interface
Node
WebServer
listbox
Use Case
Component
БГПО Семинар
“ORACLE 9i Development Suite”.
22
Структурни елементи
име
Клас
Описание на набор от обекти, които споделят атрибути
едни и същи атрибути, операции, релации и
операции
семантика.
Обикновено имплементират един или повече
интерфейса.
Window
origin
size
open()
close()
Интерфейс
Набор от операции, които определят услуга (сървиз) (за ресурс
или действие) на клас или компонент. Описва видимото отвън
поведение на този елемент.
име
операции
<<interface>>
IWindow
open()
close()
БГПО Семинар
“ORACLE 9i Development Suite”.
23
Структурни елементи
Колаборация
Дефинира взаимодействието в мрежата от обекти.
Дефинира общност от ролите и останалите елементи.
Обезпечава поведението при взаимодействията.
Извлича структурните и поведенческите измерения.
Chain of
Responsibility
Use Case
Поредица от действие, които водят до забележим
резултат за определено действащо лице (actor).
Осигурява структура за поведенческите елементи.
Осъществява се посредством колаборация (обикновено
между набор от действащи лица и системата, която се
изгражда).
Place Order
БГПО Семинар
“ORACLE 9i Development Suite”.
24
Структурни елементи
Активен клас
Специален клас, чиито обекти
притежават един или повече процеса
или нишки.
Може да инициира контролна дейност.
име
атрибути
операции
Event
Manager
Thread
Heavy border
time
suspend()
flush()
Компонент
Заменяема част от системата.
Компонентите могат да бъдат пакетирани логически.
Съобразен с набора от интерфейси.
Обезпечава реализацията на интерфейс.
Orderform.java
Ноуд
Елемент, който съществува в рънтайм.
Представя изчислителен ресурс.
Обикновено има памет и процесорна мощ.
БГПО Семинар
“ORACLE 9i Development Suite”.
WebServer
25
Поведенчески елементи
Те са:
Глаголите в UML моделите.
Динамичните части от UML моделите: “поведението във времето и
пространството”
Обикновено свързани към структурните елементи на UML.
Два основни типа поведенчески елементи:
Интеракция
Поведението на набор от обекти, обхващащо набор от съобщения в
рамките на даден контекст за постигането на специфична цел.
display
Машина на състоянието (State Machine)
Поведението, което описва последователността на
състоянията на обекта или взаимодействието в резултат от
събития, случващо се през време на живота му, обединени с
отговора на тези събития.
Waiting
Idle
БГПО Семинар
“ORACLE 9i Development Suite”.
26
Групиращи елементи
Пакети – Основен тип групиране.
Механизъм с общо предназначение за организирането на
елементите в групи.
Изцяло концептуален; съществува само по време на
разработването.
Съдържа структурни и поведенчески елементи.
Могат да се влагат.
Вариации на пакети са: Frameworks, модели и подсистеми.
Meeting Scheduler
БГПО Семинар
“ORACLE 9i Development Suite”.
27
Коментарни елементи
Пояснителните части на UML моделите
Бележки относно други UML елементи (обикновено се наричат
украси в UML)
Бележка (Note)
основен коментарен елемент в UML, изразява се чрез
формален или неформален текст.
flexible
drop-out dates
БГПО Семинар
“ORACLE 9i Development Suite”.
28
Релации
4 типа:




Зависимост (Dependency)
Асоциация (Association)
Обобщение (Generalization)
Реализация (Realization)
БГПО Семинар
“ORACLE 9i Development Suite”.
29
Релации
Зависимост (Dependency)
Насочването и етиката са опционални.
Семантичната връзка между два елемента, в която промяната в
единия от елементите (независим елемент) може да въздейства
върху семантиката на другия елемент (зависим).
Асоциация (Associations)
Структурна релация, описваща набор от връзки, като връзка е
отделното отношение между обектите.
employer
0..1
Насочени етикети

employee
*
множественост & имена на роли
Агрегация (Aggregation)
Представя се
Специален тип асоциация. Представя чрез черен ромб.
структурното взаимодействие между цялото
и неговите части.
БГПО Семинар
“ORACLE 9i Development Suite”.
30
Релации
Обобщение (Generalization)
Отношение специализация/обобщение, което обектите на
специализирания елемент (детето) са по-точно определени и
специфични, отколкото обектите на обобщаващия елемент
(родителя).
Реализация (Realization)
Семантично взаимоотношение между два елемента, в което
единия елемент гарантира, че осъществява това, което се очаква
от другия.
Напр. Между интерфейсите и класовете които ги реализират.
БГПО Семинар
“ORACLE 9i Development Suite”.
31
Диаграми
Графично представяне на група от елементи.
Изобразяват се чрез свързан граф: Листата са
елементите; Дъгите са поведенията.
5 основни изгледа се изграждат от 9 типа диаграми.
Class Диаграми;
Object Диаграми
Use case Диаграми;
Sequence Диаграми;
Collaboration Диаграми;
Statechart Диаграми
Activity Диаграми;
Component Диаграми
Deployment Диаграми
БГПО Семинар
“ORACLE 9i Development Suite”.
32
Типове UML Диаграми
 Структурни Диаграми (Structural Diagrams)
фокусът е върху статичните аспекти на софтуерната система
 Class Диаграма
 Object Диаграма
 Component Диаграма
 Deployment Диаграма
 Поведенчески диаграми (Behavioral Diagrams) фокусът е
върху динамичните аспекти на софтуерната система
 Use-case Диаграма
 Interaction Диаграма
 State Chart Диаграма
 Activity Диаграма
БГПО Семинар
“ORACLE 9i Development Suite”.
33
Use Case Диаграми
 Use case модела разделя системната
функционалност на транзакции (‘use cases’) , които
са значещи за участниците (‘actors’).
 Use case е описание на сценарий, който
приложението би или не би могло да управлява.
Описва как участника взаимодейства със системата.
 Use case е модел на поведението, което системата
проявява.
 Всеки use case е последователност от свързани
транзакции, изпълнени от участниците (актьорите) и
системата в диалог
 Use case и use case диаграмата дават use case
модел
БГПО Семинар
“ORACLE 9i Development Suite”.
34
Use Case Диаграми - Елементи
 Use case елемента е модел на поведението,
което системата проявява
Регистратор
 Участник (actor) е някой или
нещо, на който се налага да
взаимодейства със системата.
Потребител
Регистрира плащания
Платежна система
Регистриране
 Use case диаграмите са
създадени да
визуализират връзките
между участниците и use
case
БГПО Семинар
“ORACLE 9i Development Suite”.
35
Use case
Описание:
 Всеки use case има описващо го име
 Описва какво системата прави, но не и как го прави.
 Use case имената трябва да са уникални в рамките
на даден пакет.
A Use Case
БГПО Семинар
“ORACLE 9i Development Suite”.
36
Какво е Use Case
 Use case обхваща някаква видима от потребителя
функционалност.
 Гранулата на функционалността зависи от нивото на
детайлност в модела.
 Всеки use case реализира независим резултат за
потребителя.
 Use Case се създават чрез анализ на изискванията
към системата.
БГПО Семинар
“ORACLE 9i Development Suite”.
37
Actor
 Участниците (Actors) имат име.
 Участникът е набор от роли, които потребителите на
use case-а играят , когато взаимодействат със
системата.
 Те са външни за системата единици.
 Могат да бъдат и външни системи.
An Actor
БГПО Семинар
“ORACLE 9i Development Suite”.
38
Основни Елементи
Елемент
Описание
Последователност от действия,
включително вариантите им,
които системата може да
изпълни, взаимодействайки с
участниците в нея.
Участник
Съгласуван набор от роли, които
(actor)
потребителите на use casе
играят, когато взаимодействат с
тези use case
Граница на Представя границата между
системата материализираната система и
(system
участниците, които
boundary) взаимодействат с нея.
Синатксис
use case
БГПО Семинар
“ORACLE 9i Development Suite”.
UseCaseName
ActorName
39
Основни Релации
Construct
Description
Syntax
Асициация
(аssociation)
Участието на участник в use case,
т.е., участник и use case
комуникират помежду си.
разширение
Отношение на разширявана на
(extend)
use case спрямо базовия use case,
специфициращо как поведението
на разширения use case може да
бъде вмъкнато в поведението
дефинирано за базовия use case.
Обобщение
Класификационно отношение
(generalization) между по-общ use case и подетайлен use case.
БГПО Семинар
“ORACLE 9i Development Suite”.
<<extend>>
40
Основни Релации
Construct
Description
включване
(include)
Релация от базовия use case към
включвания use case,
специфицираща как поведението
за включвания use case се включва
в поведението, дефинирано за
базовия use case.
БГПО Семинар
“ORACLE 9i Development Suite”.
Syntax
<<include>>
41
Релации между use case (пример)
Релацията употреба (uses) показва поведение, общо за един или
повече use case.
Релацията разширяване (extends) показва опционално поведение.
<<extends>>
Регистрация за
дистанционни курсове
<<uses>>
Регистрация за курс
<<uses>>
Проверка за достъп
Поддръжка на
програмата на
курса
БГПО Семинар
“ORACLE 9i Development Suite”.
42
Документиране
 Потокът от събития се описва в документация за всеки use
case, като:
 Написани от гледна точка на участник (actor)
 Детайлизира какво системата трябва да осигури на
участника, когато се изпълни use case-а.
 Типично съдържание




Как стартира и завършва use case
Нормалния поток на събитията
Алтернативния поток на събитията
Потока на събитията при изключение (Exceptions)
БГПО Семинар
“ORACLE 9i Development Suite”.
43
Use Case Диаграма - пример
Actor - Person, Organization, or
System
Use Case
Interaction
Information Flow
System
БГПО Семинар
“ORACLE 9i Development Suite”.
44
Use Case – Полезни съвети
 Да се осигури, че всеки use case описва значима
част от използването на системата, която е
разбираема и за програмистите и за експертите
при потребителя.
 Когато се дефинират use casе в текстова форма,
да се използват съществителните и глаголите
акуратно и съгласувано, за да се подпомогне
извличането на обектите и съобщенията за
interaction диаграмите.
БГПО Семинар
“ORACLE 9i Development Suite”.
45
Use Case – Полезни съвети
 Една use case диаграма трябва:
 Да съдържа само набор от use case на едно
ниво на абстракция
 Да включва само участниците, необходимите
за осъществяването на представените в нея
набор от use case.
 По голям брой use case би следвало да се
организират в пакети.
БГПО Семинар
“ORACLE 9i Development Suite”.
46
Interaction Диаграми
 Interaction диаграмите описват как use case са
реализирани като взаимодействие между общност от
обекти, включвайки съобщенията, които могат да се
изпращат между тях.
 Създават се една или повече interaction
диаграми за един use case.
 Адресирани са към динамичния изглед на
системата.
 Представят последователността на
взаимодействията.
 Съставени са от обекти, връзки и съобщения.
БГПО Семинар
“ORACLE 9i Development Suite”.
47
Типове Interaction Диаграми
 Sequence диаграми
(Диаграми на последователността)
 Моделира начина на управление за организацията по
време.
 Наблягат на течащите съобщения във времето
 Показват прости повторения и разклонения
 Collaboration диаграми
(Диаграми на сътрудничеството)
 Моделира начина на управление за организацията
 Структурни релации между реализации при
изпълнение
 Показват сложни повторения и разклонения
БГПО Семинар
“ORACLE 9i Development Suite”.
48
Sequence Диаграми
 Sequence диаграма (обектна диаграма или event trace
диаграма) се използва за да се дефинира логиката за
дефиниран use case сценарий.
 Sequence диаграмата показва взаимодействията между
обектите подредени по време.
 Най-често се използват за да се провери use cases при
преминаване през логиката на сценария.
 Показва типовете обекти включени в use case-а,
съобщенията които те си изпращат един на друг и всяка
върната стойност, асоциирана със съобщението.
 Правоъгълниците върху вертикалните линии са т.нар. “Кутии
за изпълнение на методи” (method invocation boxes), които
представят изпълнението на метод в обект.
БГПО Семинар
“ORACLE 9i Development Suite”.
49
Sequence Диаграма
 По ордината са обектите
 Обекта инициатор на взаимодействието е
най-вляво
 Обектите надясно са в нарастваща по степен
подчиненост
 По абсцисата е времето
 Изпратените и получените съобщения са
подредени по време
 Активацията (аctivation), изразявана с двойна линия,
е изпълнението на процедура.
БГПО Семинар
“ORACLE 9i Development Suite”.
50
Sequence Диаграма (пример)
Objects
Method Invocation
Messages
БГПО Семинар
“ORACLE 9i Development Suite”.
51
Collaboration Диаграми
С ударение върху:
 Организацията на обектите, които участват във
взаимодействие.
 Класифицира ролите
 Асоциацията между обектите
 Съобщенията, потока на движението им и
последователността
БГПО Семинар
“ORACLE 9i Development Suite”.
52
Collaboration Диаграми
 Collaboration диаграмите визуализират взаимодействието
между обектите, по начин, насочен към обектите и
техните връзки един с друг
 Показват движението на съобщенията между обектите.
 Правоъгълниците са различните обекти и ролите, които
те имат в приложението (системата).
 Линиите между обектите са релациите или асоциациите
между тях.
 Съобщенията са етикети, последвани от стрелка,
показваща посоката на движението на съобщението.
 Връщаните стойности са етикети последвани от кръг със
стрелка.
 Collaboration диаграмите се използват за получаването на
общата картина на системата, с включен поток на
съобщенията за много use case сценарии.
БГПО Семинар
“ORACLE 9i Development Suite”.
53
Обменяни Съобщения




Send – изпраща сигнал (съобщение) на обекта
Return – връща стойност на извикващия
Call – извиква операция
Стереотипи (stereotype)
 <<create>>
 <<destroy>>
call
send
Return
БГПО Семинар
“ORACLE 9i Development Suite”.
54
Collaboration Diagram
 Показват взаимодействията между обектите. В основата на
диаграмите са обектите и техните насочени връзки един към друг.
 Демонстрират структурната организация на обектите, които
изпращат и получават съобщения.
1: set course info
2: process
course form :
CourseForm
3: add course
: Registrar
theManager :
CurriculumManager
aCourse :
Course
4: new course
БГПО Семинар
“ORACLE 9i Development Suite”.
55
Collaboration Диаграма (пример)
Objects
Relationship
Message
Return Value
БГПО Семинар
“ORACLE 9i Development Suite”.
56
Class Диаграми
 Показва статичната структура на класовете в
системата
 Класовете представят нещата, които се
манипулират в системата
 Класовете могат да се съотнасят един към друг по
следните начини:
 Подчинен – зависи от или използва друг клас
 Ограничен – ограничение на друг клас
 Пакетирани или групирани заедно като едно
цяло
 Един клас може да участва в няколко class диаграми
БГПО Семинар
“ORACLE 9i Development Suite”.
57
Class Диаграми
 Class диаграмата показва съществуването на
класовете и техните взаимодействия.
 UML елементи в class диаграмите
 Класовете с техните структура и поведение
 Отношенията: Association, aggregation,
dependency и inheritance
 Имена на роли
БГПО Семинар
“ORACLE 9i Development Suite”.
58
Клас (Class)
 Клас
 Класът сбор от обекти с общи поведение,
структура, релации и семантика
 Класът се изобразява като правоъгълник с
три отделения.
Име на класа
Атрибути
Оператори
Person
-name : string(idl)
-age : int
+print()
БГПО Семинар
“ORACLE 9i Development Suite”.
59
Какво е добър клас?
 Трябва да осигурява ясна абстракция на нещо от
областите на задачата или решението.
 Да въплъщава малък, добре дефиниран набор от
отговорности и да ги изпълнява добре.
 Осигурява ясно и точно изолиране между
абстракция, спецификация и изпълнение.
 Да е разбираем и прост и в същото време
разширяем и пригодим.
БГПО Семинар
“ORACLE 9i Development Suite”.
60
Документиране
 Класовете се документират, като се описва какво
извършват.
 Методите се документират като се описва тяхната
логика.
 Атрибутите се документират, като се описва какво
съдържат, техния тип и указание за обхвата на
стойностите им.
 Релациите между класовете се документират, като
се описва тяхното предназначение, това колко
обекта са въвлечени в релацията и дали или не
един обект трябва да участва в релацията
БГПО Семинар
“ORACLE 9i Development Suite”.
61
Class Диаграма (пример)
Class
Relationship
Attribute
Methods
БГПО Семинар
“ORACLE 9i Development Suite”.
62
State Transition Диаграми
 Диаграми на състоянията
(State diagrams)
използват се да описват как работят обектите
 Показват:
 Историята на живота на даден клас
 Събитията (events), които причиняват
преминаването от едно състояние в друго
 Действията в резултат от промяната на
състоянието.
БГПО Семинар
“ORACLE 9i Development Suite”.
63
Елементи
 Правоъгълниците са състоянията, които са
етапи в поведението на обект
 Състоянията се представят чрез стойностите на
аргумент на обект.
 Стрелките представят преходите –
напредването от едно състояние в друго.
 Началното състояние се представя от плътен
кръг.
 Крайното състояние се представя с очертан
кръг.
БГПО Семинар
“ORACLE 9i Development Suite”.
64
State Transition Диаграми
Събитията, причиняващи преминаването от едно състояние в
друго.
 Действията в резултат на промяна в състоянието.
Add student[ count < 10 ]
Initialization
do: Initialize course
Add Student /
Set count = 0
Open
entry: Register student
exit: Increment count
Cancel
Cancel
Canceled
do: Notify registered students
Cancel
[ count = 10 ]
Closed
do: Finalize course
БГПО Семинар
“ORACLE 9i Development Suite”.
65
State Transition Диаграми(пример)
Transition
State
Initial State
Final State
БГПО Семинар
“ORACLE 9i Development Suite”.
66
Activity Diagram - description
 Диаграмите за Дейностите (Activity diagrams )
позволяват визуалното представяне на процесите и
това как те се синхронизират.
 Описват многонишково поведение
 Activity диаграмата е вариация на машината на
състоянието(State Mashine), в която състоянията са
Дейности (Activities)
БГПО Семинар
“ORACLE 9i Development Suite”.
67
Дейност (Activity)
 Представят вътрешни действия (чакане,
контролиране и т.н.), изпълнявани, когато обекта е в
определено състояние
 Изискват време за изпълнение и могат да бъдат
прекъсвани
БГПО Семинар
“ORACLE 9i Development Suite”.
68
Activity Diagrams
•Показват движението от дейност към дейност.
Body
Prepare for speech
Mind
Swimlanes
Механизъм за групиране и
организиране на
състоянията на дейностите
(activity states)
Decompress
Gesture
Synch Mouth
Stream Audio
Cleanup
БГПО Семинар
“ORACLE 9i Development Suite”.
69
Implementation Диаграми
 Диаграми за реализацията
 Показват аспекти на осъществяването на
модела, включвайки структурата на сорс и
структурата на системата в експлоатация.
 Типове:
 Компонентна (component) диаграми
 Внедрителна (deployment) диаграми
БГПО Семинар
“ORACLE 9i Development Suite”.
70
Component Диаграма
 Показва организацията и връзките между
набора от софтуерни компоненти.
 Компонентите включват:
 Компонентите на сорс кода
 Компоненти на бинарния код
 Изпълними компоненти
БГПО Семинар
“ORACLE 9i Development Suite”.
71
Component Диаграма
 Component диаграмите показват софтуерните
компоненти съставящи софтуерни елементи,
позволяващи многократно ползване и техните
взаимовръзки.
 Кутиите представят компонентите.
 Пунктираните линии показват зависимостите между
компонентите.
 Целта е да се раздели системата на компоненти ,
имащи стабилни интерфейси, изграждайки ядро,
което няма нужда от промяна в отговор на промени
на ниво подсистема.
БГПО Семинар
“ORACLE 9i Development Suite”.
72
Component Diagram
Components
Dependencies
БГПО Семинар
“ORACLE 9i Development Suite”.
73
Deployment Диаграми
 Deployment диаграмите показват конфигурацията на
експлоатационните изчислителни единици, включвайки
хардуера и софтуера, който се изпълнява в тях.
 Deployment диаграмите могат да бъдат използвани да
показват кой компонент на кой ноуд се изпълнява
 Ползват подобни означения се, като при component
диаграмите.
 Deployment диаграмите показват как хардуерните и
софтуерни единици, ще бъдат конфигурирани и
внедрени.
 Нещата които трябва да се вземат предвид за всеки
компонент, са подходящите техническите изисквания като
скоростта на мрежата, времето за отговор, размера на
данните и т.н.
БГПО Семинар
“ORACLE 9i Development Suite”.
74
Deployment Диаграма
Components
Node
БГПО Семинар
“ORACLE 9i Development Suite”.
75
Deployment Диаграми
 Deployment диаграмите визуализират и
разпределението на компонентите из
административната организация (предприятието).
Регистрация
Библиотека
База данни
Централно
Управление
Представителство
БГПО Семинар
“ORACLE 9i Development Suite”.
76
Накратко за UML
 Показва границите на системата и нейните
главни функции, използвайки use cases и
actors
 Илюстрира use case реализациите с interaction
диаграми
 Представя статичната структура на системата,
използвайки class диаграми
 Моделира поведението на обектите чрез state
transition диаграми
 Показва материалното осъществяване на
архитектурата с component и deployment
диаграми
 Разширяване на функционалността със
БГПО Семинар
77
stereotypes
“ORACLE 9i Development Suite”.
Последователност
Последователност при UML моделирането
БГПО Семинар
“ORACLE 9i Development Suite”.
78
UML Моделиране
БГПО Семинар
“ORACLE 9i Development Suite”.
79
Препоръки за използването
 Избягвайте модели, които са:
 Съкратени — някой елементи са скрити за
опростяване.
 Непълни — определени елементи може би
липсват.
 Противоречиви — няма гаранция за интегритет.
БГПО Семинар
“ORACLE 9i Development Suite”.
80
Процес по използване
Как да използваме UML като система за означаване,
за да изградим добър модел?
 Воден от Use case
use case са първичния продукт за дефиниране поведението
на системата.
 Архитектурата е в центъра
Системната архитектура е първият продукт за
концептуализиране, конструиране, управление и развитие на
системата.
 Итеративен и нарастващ
Управлението на поток от изпълними реализации с
включени нарастващи части на архитектурата на системата.
БГПО Семинар
“ORACLE 9i Development Suite”.
81
Итеративно моделиране
Свойства:
 Непрекъсната интеграция – Не се извършва наведнъж около
датата на внедряване
 Чести изпълними версии – Някои вътрешни, някои
внедрявани
 Атакува риска чрез демонстрируем напредък – Напредъкът,
измерен в продукти, а не в документация или инженерни оценки
Ползи:
 Създаването на работещи варианти на регулярна база за
проверка на модела са и начин за приключване на работата по
разработване за дадения цикъл на итерация. Не е възможен
феномена “90% са направени, остават още 90%”
 Останалите участници в проекта – екипите за тестване, за
писане на документация и т.н., могат по-добре да планират
своята работа.
БГПО Семинар
“ORACLE 9i Development Suite”.
82
JDeveloper UML






Моделиране на Java Класове
Моделиране на Business Components
Моделиране на Enterprise JavaBeans
Моделиране на Activities
Моделиране на Activities for E-Business Integration
Моделиране на Web Services
БГПО Семинар
“ORACLE 9i Development Suite”.
83
UML в JDeveloper
 Class Диаграми
 Activity Диаграми
 Интеграция с Oracle 9iAS Integration
БГПО Семинар
“ORACLE 9i Development Suite”.
84
Class Диаграми
 Class диаграмите в Jdeveloper, могат дасе използват за
създаване на модели, съдържащи следнното:
 Java класове, от които може да бъде генериран Java сорс
код
 Java класове, получени чрез ревърс инженеринг на
съществуващ Java сорс код
 UML класове импортирани от XMI файлове, като
моделирани Java класове
 Бизнес компоненти, от които могат да се генерират обекти
на базата данни
 Бизнес компоненти, получени чрез ревърс инженеринг на
съществуващи таблици
 Enterprise JavaBeans
 Enterprise JavaBeans, получени чрез ревърс инженеринг
на tables web services
БГПО Семинар
“ORACLE 9i Development Suite”.
85
Class Диаграми
БГПО Семинар
“ORACLE 9i Development Suite”.
86
Activity Диаграми
 Activity диаграмите могат да бъдат използвани за
създаването на модели, съдържащи следното:
 дейности, потоци и състояния за илюстриране на
процес
 дейности от които може да се генерира e-business
integration код.
БГПО Семинар
“ORACLE 9i Development Suite”.
87
Activity Диаграми
БГПО Семинар
“ORACLE 9i Development Suite”.
88
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
БГПО Семинар
“ORACLE 9i Development Suite”.
89