1 / 89

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

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

adlai
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Съдържание • Използване на Модели • UML Моделиране • Архитектурни изгледи • Елементи • Диаграми • Интеграция в JDeveloper БГПО Семинар“ORACLE 9i Development Suite”.

  3. Използване на модели • Прости конструкции - могат да бъдат изградени и от един човек • Изискват • Минимално моделиране • Прост процес • Прости средства • Средни по сложност – Изграждат се по-ефективно от екип • Изискват • Моделиране • Ясно дефиниран процес • Автоматизирани средства • Сложни конструкции – Изграждат се от екипи от контрагенти • Изискват • Инженерен модел • Координиран процес • Индустриални машини БГПО Семинар“ORACLE 9i Development Suite”.

  4. Предназначение на моделирането • Осигурява структура за решаване на проблеми • Позволява експерименти за откриване на различни решения • Дава ниво на абстрактност за управление на сложни взаимовръзки • Намалява времето за реализиране • Понижаване на цената за разработване • Позволява управление на риска от грешки в проектирането БГПО Семинар“ORACLE 9i Development Suite”.

  5. Език за моделиране на софтуер Какво е UML? • UML е съкращение от Unified Modeling Language • Стандартен език с набор от знаци за означаване предназначен за визуализиране, специфициране конструиране и документиране на софтуерен дизайн • Използва концепции от • Моделирането на данни (Entity Relationship Diagrams) • Бизнес моделиране (work flow) • Обектно моделиране • Компонентно моделиране • Създатели • Grady Booch, James Rumbaugh, and Ivar Jacobson БГПО Семинар“ORACLE 9i Development Suite”. Sample Callout in 12-point type

  6. Revision Task Force (RTF) report, Apr 1999 UML 1.3 OMG Acceptance, Nov 1997 UML 1.1 OMG revision, Sep ‘97 OMG Feedback OMG submission, Jan ´97 UML 1.0 UML partners Other submissions UML 0.9 Web - June ´96 Microsoft, Oracle, IBM, HP, & other industry leaders Unified Method 0.8 OOPSLA ´95 OOSE & Other methods Booch method OMT История на UML БГПО Семинар“ORACLE 9i Development Suite”.

  7. Участници в OMG AonixColorado State University Computer Associates Concept Five Data Access EDS Enea Data Hewlett-Packard IBM I-LogixInLine Software Intellicorp Kabira TechnologiesKlasse Objecten Lockheed Martin Microsoft ObjecTimeOraclePtech OAO Technology SolutionsRational SoftwareReich SAP Softeam Sterling Software Sun Taskon TelelogicUnisys… БГПО Семинар“ORACLE 9i Development Suite”.

  8. Стандартен език за моделиране на софтуерни системи Дефинира значещ метамодел на системата Независим е от процеса на разработване на системата Език за програмиране Интерфейс към средство run-time модел Стандартен процес за разработване на софтуерни системи Какво е UML и какво не е? UML не е: UML e: БГПО Семинар“ORACLE 9i Development Suite”.

  9. Архитектура Архитектурата – комплекс от важни решения относно: • Организацията на софтуерната система. • Избор на структурни елементи и интерфейси от които е съставена системата. • Поведението и взаимодействието на елементите. • Съединяването на структурните и поведенческите елементи. • Стилът при изграждането на системата. Сглобяване на системата Конфигурационен мениджмънт. Design View Implementation View речник функционалност Use Case View поведение Топология на системата разпределение доставка инсталиране Process View Deployment View Производителност Скалируемост Производство БГПО Семинар“ORACLE 9i Development Suite”.

  10. Use Case View Use Case View • Use Case Анализът е техника за описание на бизнес процес от гледна точка на потребителя на системата. • Обхваща поведението на системата както тя изглежда за потребителите, аналитиците и тестерите. • Специфицира въздействията, които оформят архитектурата. • Статичните аспекти се представят от use case диаграми. • Динамичните аспекти се представят в interaction, statechart, and activity диаграми. БГПО Семинар“ORACLE 9i Development Suite”.

  11. Design View Design View • Обхваща класовете, интерфейсите и взаимодействията, които дефинират “речника” на системата. • Поддържа функционалните изисквания на системата. • Статичните аспекти се представят от class and object диаграмите. • Динамичните аспекти се представят в interaction, statechart, and activity диаграми. БГПО Семинар“ORACLE 9i Development Suite”.

  12. ProcessView Process View • Обхваща нишките и процесите дефиниращи съгласуваност и синхронизираност. • Адресиран към производителност, скалируемост и производствени възможности на системата. БГПО Семинар“ORACLE 9i Development Suite”.

  13. Implementation View Implementation View • Обхваща компонентите и файловете използвани за сглобяване и пускане в експлоатация на реалната система. • Адресиран към конфигурационния мениджмънт. • Статичните аспекти се представят от component диаграми. • Динамичните аспекти се представят в interaction, statechart и activity диаграми. БГПО Семинар“ORACLE 9i Development Suite”.

  14. Deployment View Deployment View • Обхващавъзлите, които формират хардуерната топология на системата. • Адресиран към разпространение, доставка и инсталиране. • Статичните аспекти се представят от deployment диаграми. • Динамичните аспекти се представят в interaction, statechart и activity диаграми. БГПО Семинар“ORACLE 9i Development Suite”.

  15. Език • Език = синтаксис + семантика • синтаксис = правила, чрез които елементите на езика (напр.. думите) се сглобяват в изрази (напр. фрази, изречения) • семантика = правила, чрез които на синтактичните изрази им се придава смисъл • UML Notation Guide – дефинира графичният синтаксис на UML • UML Semantics – дефинира семантиката на UML БГПО Семинар“ORACLE 9i Development Suite”.

  16. Фундаментални идеи • Изграждащи блокове • Ясно дефинирани правила БГПО Семинар“ORACLE 9i Development Suite”.

  17. Изграждащи блокове • Основните изграждащи блокове на UML са: • Елементи на модела (classes, interfaces, components, use cases, др.) • релации (associations, generalization, dependencies, др.) • диаграми (class diagrams, use case diagrams, interaction diagrams, др.) • Простите изграждащи блокове се използват за изграждането на големи, комплексни структури БГПО Семинар“ORACLE 9i Development Suite”.

  18. Ясно дефинирани правила • Добре формирани: индицира, че модела или кой да е фрагмент от модела спазва всички семантични и синтактични правила. • UML задава правила за: • именоване • област на действие • видимост • интегритет • изпълнение • Все пак, по време на итеративното последователно нарастващо разработване може да се очаква, че модела може да бъде непълен или неконсистентен. БГПО Семинар“ORACLE 9i Development Suite”.

  19. Разширяемостна UML • Ограничения (Constraints) позволяват означаване на произволни ограничения върху елементите на модела. Например: могат да се използват за ограничаване стойност на даден атрибут на клас. • Стереотипи (Stereotypes) позволяват разширяването на семантиката на UML с говорим език. Стереотипа е обикновено дума или кратка фраза, която описва какво е дадения елемент на диаграмата.Могат да се използват за разширяване на UML елементите и могат да се използват за класифициране, разширение на асоциации, класове, релации по наследяване (inheritance), класове или компоненти БГПО Семинар“ORACLE 9i Development Suite”.

  20. Изграждащи блокове на UML • Елементи на модела Важните понятия в модела • Релации Връзките между отделните елементи на модела • Диаграми Групиране на взаимно свързаните групи от елементи и релации БГПО Семинар“ORACLE 9i Development Suite”.

  21. Елементи • Структурни съществителните в моделите описвани с езика UML. • Поведенчески динамичните (глаголни) части от UML моделите. • Групиращи организационните части от UML моделите. • Коментарни пояснителните части от UML моделите. БГПО Семинар“ORACLE 9i Development Suite”.

  22. Структурни елементи Съществителните на UML моделите. Концептуални или материални елементи. ActiveClass Class Event Mgr thread time suspend( ) flush( ) stop( ) Collaboration Window origin size open( ) close( ) move( ) Chain of Responsibility Node WebServer Place Order listbox IWindow Use Case Component Interface БГПО Семинар“ORACLE 9i Development Suite”.

  23. Структурни елементи <<interface>> IWindow име операции open() close() име атрибути операции Window • Клас • Описание на набор от обекти, които споделят едни и същи атрибути, операции, релации и семантика. • Обикновено имплементират един или повече интерфейса. origin size open() close() • Интерфейс • Набор от операции, които определят услуга (сървиз) (за ресурс или действие) на клас или компонент. Описва видимото отвън поведение на този елемент. БГПО Семинар“ORACLE 9i Development Suite”.

  24. Структурни елементи Chain of Responsibility Place Order • Колаборация Дефинира взаимодействието в мрежата от обекти. Дефинира общност от ролите и останалите елементи. Обезпечава поведението при взаимодействията. Извличаструктурните и поведенческите измерения. • Use Case Поредица от действие, които водят до забележим резултат за определено действащо лице (actor). Осигурява структура за поведенческите елементи. Осъществява се посредством колаборация (обикновено между набор от действащи лица и системата, която се изгражда). БГПО Семинар“ORACLE 9i Development Suite”.

  25. Структурни елементи Event Manager Thread time suspend() flush() Orderform.java WebServer • Активен клас Специален клас, чиито обекти притежават един или повече процеса или нишки. Може да инициира контролна дейност. име атрибути операции Heavy border • Компонент Заменяема част от системата. Компонентите могат да бъдат пакетирани логически. Съобразен с набора от интерфейси. Обезпечава реализацията на интерфейс. • Ноуд Елемент, който съществува в рънтайм. Представя изчислителен ресурс. Обикновено има памет и процесорна мощ. БГПО Семинар“ORACLE 9i Development Suite”.

  26. Idle Waiting Поведенчески елементи • Те са: • Глаголите в UML моделите. • Динамичните части от UML моделите: “поведението във времето и пространството” • Обикновено свързани към структурните елементи на UML. • Два основни типа поведенчески елементи: • Интеракция • Поведението на набор от обекти, обхващащо набор от съобщения в рамките на даден контекст за постигането на специфична цел. display • Машина на състоянието (State Machine) • Поведението, което описва последователността на състоянията на обекта или взаимодействието в резултат от събития, случващо се през време на живота му, обединени с отговора на тези събития. БГПО Семинар“ORACLE 9i Development Suite”.

  27. Групиращи елементи • Пакети – Основен тип групиране. • Механизъм с общо предназначение за организирането на елементите в групи. • Изцяло концептуален; съществува само по време на разработването. • Съдържа структурни и поведенчески елементи. • Могат да се влагат. • Вариации на пакети са: Frameworks, моделии подсистеми. Meeting Scheduler БГПО Семинар“ORACLE 9i Development Suite”.

  28. flexible drop-out dates Коментарни елементи • Пояснителните части на UML моделите • Бележки относно други UML елементи (обикновено се наричат украси в UML) • Бележка(Note) • основен коментарен елемент в UML, изразява се чрез формален или неформален текст. БГПО Семинар“ORACLE 9i Development Suite”.

  29. Релации 4 типа: • Зависимост (Dependency) • Асоциация (Association) • Обобщение (Generalization) • Реализация (Realization) БГПО Семинар“ORACLE 9i Development Suite”.

  30. Насочването и етиката са опционални. Релации • Зависимост (Dependency) • Семантичната връзка между два елемента, в която промяната в единия от елементите (независим елемент) може да въздейства върху семантиката на другия елемент (зависим). • Асоциация (Associations) • Структурна релация, описваща набор от връзки, като връзка е отделнотоотношение между обектите. • Насочени етикетимножественост & имена на роли employer employee 0..1 * • Агрегация (Aggregation) • Специален тип асоциация. Представя структурното взаимодействие между цялото и неговите части. Представя се чрез черен ромб. БГПО Семинар“ORACLE 9i Development Suite”.

  31. Релации Обобщение (Generalization) Отношение специализация/обобщение, което обектите на специализирания елемент (детето) са по-точно определени и специфични, отколкото обектите на обобщаващия елемент (родителя). Реализация (Realization) Семантично взаимоотношение между два елемента, в което единия елемент гарантира, че осъществява това, което се очаква от другия. Напр. Между интерфейсите и класовете които ги реализират. БГПО Семинар“ORACLE 9i Development Suite”.

  32. Диаграми • Графично представяне на група от елементи. • Изобразяват се чрез свързан граф: Листата са елементите; Дъгите са поведенията. • 5 основни изгледа се изграждат от 9 типа диаграми. Class Диаграми; ObjectДиаграми Use caseДиаграми; SequenceДиаграми; CollaborationДиаграми; StatechartДиаграми ActivityДиаграми; ComponentДиаграми DeploymentДиаграми БГПО Семинар“ORACLE 9i Development Suite”.

  33. Типове UML Диаграми • Структурни Диаграми (Structural Diagrams) фокусът е върху статичните аспекти на софтуерната система • Class Диаграма • Object Диаграма • Component Диаграма • Deployment Диаграма • Поведенчески диаграми (Behavioral Diagrams) фокусът е върху динамичните аспекти на софтуерната система • Use-case Диаграма • Interaction Диаграма • State Chart Диаграма • Activity Диаграма БГПО Семинар“ORACLE 9i Development Suite”.

  34. Use Case Диаграми • Use case модела разделя системната функционалност на транзакции (‘use cases’) , които са значещи за участниците (‘actors’). • Use case е описание на сценарий, който приложението би или не би могло да управлява. Описва как участника взаимодейства със системата. • Use case е модел на поведението, което системата проявява. • Всеки use case е последователност от свързани транзакции, изпълнени от участниците (актьорите) и системата в диалог • Use case и use case диаграмата дават use case модел БГПО Семинар“ORACLE 9i Development Suite”.

  35. Потребител Регистрира плащания Регистратор Платежна система Use Case Диаграми - Елементи • Use case диаграмите са създадени да визуализират връзките между участниците и use case • Use caseелемента е модел на поведението, което системата проявява Регистриране • Участник (actor) е някой или нещо, на който се налага да взаимодейства със системата. БГПО Семинар“ORACLE 9i Development Suite”.

  36. Use case Описание: • Всеки use case има описващо го име • Описва какво системата прави, но не и как го прави. • Use case имената трябва да са уникални в рамките на даден пакет. БГПО Семинар“ORACLE 9i Development Suite”.

  37. Какво е Use Case • Use case обхваща някаква видима от потребителя функционалност. • Гранулата на функционалността зависи от нивото на детайлност в модела. • Всеки use case реализира независим резултат за потребителя. • Use Case се създават чрез анализ на изискванията към системата. БГПО Семинар“ORACLE 9i Development Suite”.

  38. Actor • Участниците (Actors) имат име. • Участникът е набор от роли, които потребителите на use case-а играят , когато взаимодействат със системата. • Те са външни за системата единици. • Могат да бъдат и външни системи. БГПО Семинар“ORACLE 9i Development Suite”.

  39. Основни Елементи БГПО Семинар“ORACLE 9i Development Suite”.

  40. Основни Релации <<extend>> БГПО Семинар“ORACLE 9i Development Suite”.

  41. Основни Релации <<include>> БГПО Семинар“ORACLE 9i Development Suite”.

  42. Релации между use case (пример) Релацията употреба (uses) показва поведение, общо за един или повече use case. Релацията разширяване (extends) показва опционално поведение. <<uses>> <<extends>> Регистрацияза курс <<uses>> Проверка за достъп Регистрация за дистанционни курсове Поддръжка на програмата на курса БГПО Семинар“ORACLE 9i Development Suite”.

  43. Документиране • Потокът от събития се описва в документация за всеки use case, като: • Написани от гледна точка на участник (actor) • Детайлизира какво системата трябва да осигури на участника, когато се изпълни use case-а. • Типично съдържание • Как стартира и завършва use case • Нормалния поток на събитията • Алтернативния поток на събитията • Потока на събитията при изключение (Exceptions) БГПО Семинар“ORACLE 9i Development Suite”.

  44. Actor - Person, Organization, or System Use Case Interaction Information Flow System Use Case Диаграма - пример БГПО Семинар“ORACLE 9i Development Suite”.

  45. Use Case – Полезни съвети • Да се осигури, че всеки use case описва значима част от използването на системата, която е разбираема и за програмистите и за експертите при потребителя. • Когато се дефинират use casе в текстова форма, да се използват съществителните и глаголите акуратно и съгласувано, за да се подпомогне извличането на обектите и съобщенията за interaction диаграмите. БГПО Семинар“ORACLE 9i Development Suite”.

  46. Use Case – Полезни съвети • Една use case диаграма трябва: • Да съдържа само набор от use case на едно ниво на абстракция • Да включва само участниците, необходимите за осъществяването на представените в нея набор от use case. • По голям брой use case би следвало да се организират в пакети. БГПО Семинар“ORACLE 9i Development Suite”.

  47. Interaction Диаграми • Interaction диаграмитеописват как use case са реализирани като взаимодействие между общност от обекти, включвайки съобщенията, които могат да се изпращат между тях. • Създават се една или повече interaction диаграми за един use case. • Адресирани са към динамичния изглед на системата. • Представят последователността на взаимодействията. • Съставени са от обекти, връзки и съобщения. БГПО Семинар“ORACLE 9i Development Suite”.

  48. Типове Interaction Диаграми • Sequence диаграми(Диаграми на последователността) • Моделира начина на управление за организацията по време. • Наблягат на течащите съобщения във времето • Показват прости повторения и разклонения • Collaboration диаграми(Диаграми на сътрудничеството) • Моделира начина на управление за организацията • Структурни релации между реализации при изпълнение • Показват сложни повторения и разклонения БГПО Семинар“ORACLE 9i Development Suite”.

  49. Sequence Диаграми • Sequence диаграма (обектна диаграма или event trace диаграма) се използва за да се дефинира логиката за дефиниран use case сценарий. • Sequence диаграмата показва взаимодействията между обектите подредени по време. • Най-често се използват за да се провери use cases при преминаване през логиката на сценария. • Показва типовете обекти включени в use case-а, съобщенията които те си изпращат един на друг и всяка върната стойност, асоциирана със съобщението. • Правоъгълниците върху вертикалните линии са т.нар. “Кутии за изпълнение на методи” (method invocation boxes), които представят изпълнението на метод в обект. БГПО Семинар“ORACLE 9i Development Suite”.

  50. Sequence Диаграма • По ордината са обектите • Обекта инициатор на взаимодействието е най-вляво • Обектите надясно са в нарастваща по степен подчиненост • По абсцисата е времето • Изпратените и получените съобщения са подредени по време • Активацията (аctivation), изразявана с двойна линия, е изпълнението на процедура. БГПО Семинар“ORACLE 9i Development Suite”.

More Related