Microsoft liebt UML - UML 2.5 Enterprise Architect ... Microsoft liebt UML ... td Activity D. Class

download Microsoft liebt UML - UML 2.5 Enterprise Architect ... Microsoft liebt UML ... td Activity D. Class

If you can't read please download the document

  • date post

    11-Sep-2018
  • Category

    Documents

  • view

    221
  • download

    0

Embed Size (px)

Transcript of Microsoft liebt UML - UML 2.5 Enterprise Architect ... Microsoft liebt UML ... td Activity D. Class

  • Microsoft liebt UMLInteraktion von Enterprise Architekt mit

    Microsoft ApplikationenMicrosoft Applikationen

    Dr. Horst KarglSparxSystems Software GmbH, Ferrogasse 80/3, 1180 Wien, sterreich,

    Tel: +43 (0)662 90 600 2041 Fax: +43 (0)662 90 333 3041Tel: +43 (0)662 90 600 2041, Fax: +43 (0)662 90 333 3041

    Vorstellungsrunde

    NameNamePosition/Funktion/AufgabenErfahrungen mit SW-EntwicklungErfahrungen mit SW Entwicklung, Objektorientierter Analyse/DesignUML- bzw. Enterprise Architect-KenntnisseU b e p se c ec e sseErwartungen

  • Agenda

    Enterprise ArchitectAufbau von Enterprise ArchitectM d lli UML 2 1++ it E t i A hit t

    10:30

    Modellieren von UML 2.1++ mit Enterprise ArchitectDiskussion

    PauseG i C d it E t i A hit t

    11:15

    11 30 Generieren von Code mit Enterprise ArchitectEnterprise Architect Code Generierung FeaturesIntegration von Enterprise Architect mit Visual Studio

    11:30

    DiskussionMittagspauseTeamarbeit mit Enterprise Architect

    12:3013:30

    EA im Team NtzenEnterprise Architect + Team Foundation ServerDiskussion

    PauseEnterprise Architekt als Modellierungsplattform

    Erweitern von UML 2.1 (erstellen einer DSL)

    14:3014:45

    Forward und Reverse Engineering einer DSLDiskussion

    Enterprise Architect berblick

    Projekt-Vorgehen

    UML 2.1

    Enterprise Architect 7

    Analyse Design Implementierung Testen Rollout

    XMIEclipseMS Visual Studio .NetVisio

    Business-Process-Diagram

    UML-Diagramme

    Reverse-Engineering

    TestenVorfalls-verfolgung

    Rollout-Dokumentation

    Requirements ManagementDOORS XMI

    Requirements Management

    Projekt Management

  • EA untersttzt UML 2.1

    cd UML 2.0 Diagrammfamilie

    Diagrammfamilie

    Diagramm

    Diagrammfamilie

    StrukturdiagrammDiagrammfamilie

    Verhaltensdiagramm

    Objektdiagramm berarbeitetAktivittsdiagramm

    Use Case Diagramberarbeitet

    Klassendiagramm

    neues Diagramm

    Komponentendiagramm Verte ilungsdiagramm berarbeitetZustandsdiagramm

    Diagrammfamilie

    Interaktionsdiagramm

    neues Diagramm

    KompositionsstrukturdiagrammPaketdiagramm

    berarbeitet neues Diagrammberarbeitet

    Sequenzdiagramm

    Kommunikationsdiagramm neues Diagramm

    neues Diagramm

    Timing Diagram

    gInteraktionsbersichtsdiagramm

    EA untersttzt weitere Diagramme

    controlOrder Screen

    Eriksson-Penker ExtensionsOrder Screen

    Order Details

    Ship Details

    OrderTotal

    View BasketBack

    Cancel

    SubmitOrder

    column date: Date FK lineItemID: Integer*PK orderID: Integer FK orderStatusID: Integer deliveryInstructions: String orderNumber: String

    StockItem

    column Author: string*PK stockItemID: Integer catalogNumber: string costPrice: number listPrice: number title: string

    PKPK St kIt (I t )

    Account

    column*PK accountID: Integer bil l ingAddress: String FK orderID: IntegerFK shoppingBasketID: Integer

    LineItem

    column*PK lineItemID: Integer

    q antit Integer

    FK+ FK_Order_LineItem(Integer)+ FK_Order_OrderStatus(Integer)

    PK+ PK_Order(Integer)

    + PK_StockItem(Integer)

    Transaction

    column

    +FK_Order_LineItem

    (lineItemID = lineItemID)

    +PK_LineItem+FK_LineItem_StockItem

    (stockItemID = stockItemID)

    +PK_StockItem

    +FK_Account_Order

    (orderID = orderID)

    +PK_Order Userinterface

    REQ019 - Manage Inventory

    REQ022 -Order Books

    REQ023 -Store and Manage Books

    REQ021 - List Stock Levels

    FK shoppingBasketID: Integer closed: Boolean deliveryAddress: String emailAddress: String name: String

    FK+ FK_Account_Order(Integer)+ FK_Account_ShoppingBasket(Integer)

    PK+ PK_Account(Integer)

    quantity: Integer FK stockItemID: Integer

    FK+ FK_LineItem_StockItem(Integer)

    PK+ PK_LineItem(Integer)

    FK accountID: Integer date: Date FK lineItemID: Integer*PK transactionID: Integer orderNumber: String

    FK+ FK_Transaction_Account(Integer)+ FK_Transaction_LineItem(Integer)

    PK+ PK_Transaction(Integer)

    +FK_Transaction_LineItem

    (lineItemID = lineItemID)

    +FK_Transaction_Account

    (accountID = accountID)

    +PK_Account

    +PK_LineItem

    +FK_Account_ShoppingBasket

    REQ020 -Receive Books

    REQ027 - Add Books

    ShoppingBasket

    column FK lineItemID: Integer*PK shoppingBasketID: Integer shoppingBasketNumber: String

    FK+ FK ShoppingBasket LineItem(Integer)

    +PK_LineItem

    +FK_ShoppingBasket_LineItem

    (lineItemID = lineItemID)

    (shoppingBasketID = shoppingBasketID)

    +PK_ShoppingBasket Modellieren von Requirements FK_ShoppingBasket_LineItem(Integer)

    PK+ PK_ShoppingBasket(Integer)

    Daten Modellierung (Relationenmodell)

  • EA Erweiterung durch Technologien

    state01

    + do / aDoBehavior// do behaviors

    Initial

    SubStateMachine01

    Initial

    Substate01

    Use RTUML->Options-->LanguageOptions "G d C t t " i bl t dif th

    [att3 ==0]

    Bankomat

    DomainModels

    Use CaseDiagram

    // do behaviors+ entry / aEntryBehavior

    // entry behaviors+ exit / anExitBehavior

    // exit behaviors

    Substate02 Substate03

    The Effects and guard conditions of transitions through pseudo states ( fork / join / junction etc ) are cummulative

    "Guard Concatenator" variable to modify the target languages' operator

    [att2 ==false]

    [att2 ==true]

    [att1 == true/att1 = false[att1.var1 == true]/att1.var1 = false;

    Bankomat

    Dynamic Views

    Requirements

    [att3= 1][att3== 1]

    [att3= 1][att3== 1]

    ActivityDiagram Mind Map

    Substate04Substate04

    History

    "History" is child of SubStateMachine01

    Ensure that the History States are encapsulated within respective SubStateMachines

    ActiveClass01

    - att1: CompositeDataTypett2 b l f l SubStateMachine02

    Substate02Initial

    Substate02 Paste Substate02 ( parent = SubStatemachine02 ) state as a link model a transition to history state of SubStateMachine01

    - att2: boolean = false- att3: int = 0

    Attributes' type shall be composite ( struct, union, Class, etc ). For EA to render out the composite data type it should be a child classof the active class containing the state machine

    Substate01

    structActiveClass01::

    CompositeDataType

    + var1: boolean = true+ var2: int = 0

    Real Time UML

    Flexible VorgehensmodelleBeliebige Vorgehensmodelle anwendbar: RUP, ICONIX, etc.Traceability durch Views und Links

    Requirem.Beliebige Views knnen eingebaut werden

    Use Case

    qRequ 2 UC

    Beliebig

    Latenzzeit kleiner als 1 sec.

    (from Requirement)

    Spielzug durchfhren

    extension pointsSpieler ist an der Reihe (a)

    (from Monopoly)

    t d

    Activity D.

    Class D.

    gViele

    IterationenLatenzzeit einhalten

    (from Requirement)

    (from Monopoly)

    Wrfeln

    extend

    Sequence D.

    Requirement : Requirement

    Monopoly : Monopoly

  • AgendaEnterprise Architect

    Aufbau von Enterprise ArchitectModellieren von UML 2.1++ mit Enterprise Architect

    10:30

    pDiskussion

    PauseGenerieren von Code mit Enterprise Architect

    11:15

    11:30 pEnterprise Architect Code Generierung FeaturesIntegration von Enterprise Architect mit Visual StudioDiskussionDiskussion

    MittagspauseTeamarbeit mit Enterprise Architect

    EA im Team Ntzen

    12:3013:30

    EA im Team NtzenEA + TFSDiskussion

    Pause14:30 PauseEnterprise Architekt als Modellierungsplattform

    Erweitern von UML 2.1 (erstellen einer DSL)Forward und Reverse Engineering einer DSL

    14:3014:45

    Forward und Reverse Engineering einer DSLDiskussion

    Reverse Engineering

    Import Soruce FileImport Source Directory

    Rechte Maustaste in der Diagrammflche

  • Reverse Engineering

    Import Soruce File

    Import Source Directory

    Reverse Engineering

    Import Binary ModuleJava Archive ( jar)Java Archive (.jar).Net PE file (.exe, .dll)

    Native Windows DLL und exe werden nicht untersttztNative Windows DLL und exe werden nicht untersttztIntermediate Language file (.il)

  • Reverse Engineering

    Modell ist vorhanden. Code wurde verndert. nderungen in das Modell bernehmeng

    Reverse Engineering

    Code ist vorhanden. Modell wurde verndert. nderungen in den Code bernehmen

  • Code Generation

    es wird gefragt wohin gespeichert werden soll.

    Code wird in ein Verzeichnis generiert!Code wird in ein Verzeichnis generiert!

    Code Generation

    Generiere in V i h iVerzeichnis

    Fr jedes Package wird nun ein Verzeichnis angelegt!

  • Code Generation

    Klassen sind fix mit Dateien verbunden

    import/include:java, C#, C++ (im .h) etc.

    Class1

    Import/include (macro #define in C++):Import/include (macro, #define in C++): java (an vorige angehngt), C#,

    C++ (im .cpp)

    Code/Model Synchronisation

    Code zu Model Synchronisation

    Class 1 wird mit Code Synchronisiert

    Class1

  • Code/Model Synchronisation

    KonfigurationsmglichkeitenTools->OptionsTools >Options

    A B

    bli l A {public class A {public B m_B;

    public A(){p (){}

    }

    Code/Model Synchronisation

    KonfigurationsmglichkeitenTools->Options Synchronice Package with CodeTools >Options

    A

    - value: int

    B

    Synchronice Model with Code

    public class A {public B m_B;private int value;

    public class A {public B m_B;

    delete

    public A(){}

    }

    public A(){}

    }} }

    A B

    + m_B: