IrQA meets Enterprise Architect Peter Lieber, CEO SparxSystems Europe www.sparxsystems.de Presentation Overview Introducing SparxSystems Enterprise Architect Theory Enterprise Architect Live! www.sparxsystems.de SparxSystems Software Development Excellence Loyal Customer Base • Developer of Enterprise Architect • 180,000+ Endusers • OMG Contributor • 75% top 100 global firms use EA • Consensus Software Quality Award 2005 • 200 Technology & Training Partners globally • Jolt Productivity Award 2006/2008 • Strong presence in Japan, America, Europe Product History Company Strength • Privately owned • Debt free • Cash flow in excess of operating expenses • 160 man years in product development www.sparxsystems.de Produktportfolio Siemens TcSE www.sparxsystems.de Produktportfolio Enterprise Architect 7.5: Eines der verbreitesten UML Werkzeuge Mehr als nur Modellierung - Modellierungsplattform Model Driven Generator (MDG) Produkte: MDG Integration: IDE Integrationen MDG Technologies: Unterstützt BPMN, SysML und mehr 3rd party add-in products RaQuest (Sparx Systems Japan) Screen Architect (Catch Ltd) Polarion, IrQA, QC, ... Viele andere www.sparxsystems.de Enterprise Architect Überblick www.sparxsystems.de Team Tools: Enterprise Architect UML 2 Modellierungsplattform: Unterstützt alle 13 UML 2 Diagrammtypen Anpassbares Framework für Domain Specific Modeling (UML profiles, patterns, templates) Extensible Meta-data Interchange (XMI) für Zusammenarbeit mit anderen Werkzeugen Datenbankrepository basierend (EAP, SQL Server, Oracle, Postgre SQL, Sybase, MySQL, …) www.sparxsystems.de EA unterstützt UML 2.1 cd UML 2.0 Dia gra m m fa m ilie «Diagrammfamilie» Dia gra m m «Diagrammfamilie» «Diagrammfamilie» Strukturdia gra m m Ve rha lte nsdia gra m m «überarbeitet» «überarbeitet» Obje ktdia gra m m Kla sse ndia gra m m Kom pone nte ndia gra m m «neues Diagramm» Use Ca se Dia gra m Aktivitä tsdia gra m m Ve rte ilungsdia gra m m «Diagrammfamilie» «überarbeitet» Inte ra ktionsdia gra m m Zusta ndsdia gra m m Pa ke tdia gra m m Kom positionsstrukturdia gra m m «überarbeitet» «neues Diagramm» Se que nzdia gra m m Tim ing Dia gra m Kom m unika tionsdia gra m m «neues Diagramm» Inte ra ktionsübe rsichtsdia gra m m www.sparxsystems.de EA unterstützt weitere Diagramme Eriksson-Penker Extensions «control» Order Screen Order Details OrderTotal StockItem Order «column» Author: string *PK stockItemID: Integer catalogNumber: string costPrice: number listPrice: number title: string «column» date: Date FK lineItemID: Integer *PK orderID: Integer FK orderStatusID: Integer deli veryInstructions: String orderNumber: String «FK» + FK_Order_LineItem(Integer) + FK_Order_OrderStatus(Integer) … +PK_StockItem (lineItemID = lineItemID) +FK_Account_Order «column» *PK accountID: Integer billingAddress: String FK orderID: Integer FK shoppingBasketID: Integer closed: Boolean deliveryAddress: String email Address: String name: String Submit View Basket Cancel Userinterface +PK_Order Account Back «PK» + PK_StockItem(Integer) +FK_Order_LineItem «PK» + PK_Order(Integer) (orderID = orderID) Ship Details (stockItemID = stockItemID) +PK_LineItem +FK_LineItem_StockItem LineItem Transaction «column» FK accountID: Integer date: Date FK lineItemID: Integer (accountID = accountID) *PK transactionID: Integer orderNumber: String «column» *PK li neItemID: Integer quantity: Integer FK stockItemID: Integer +FK_T ransaction_Account «FK» +PK_Account + FK_Account_Order(Integer) + FK_Account_ShoppingBasket(Integer) «PK» + PK_Account(Integer) +FK_T ransaction_LineItem «FK» + FK_LineItem_StockItem(Integer) (lineItemID = lineItemID) «FK» + FK_Transaction_Account(Integer) + FK_Transaction_LineItem(Integer) REQ021 - List Stock Levels «PK» + PK_LineItem(Integer) REQ023 -Store and Manage Books +PK_LineItem «PK» + PK_Transaction(Integer) REQ019 - Manage Inventory REQ022 -Order Books +FK_Account_ShoppingBasket (lineItemID = l ineItemID) REQ020 -Receive Books REQ027 - Add Books ShoppingBasket (shoppingBasketID = shoppingBasketID) «column» FK lineItemID: Integer *PK shoppingBasketID: Integer shoppingBasketNumber: String +FK_ShoppingBasket_LineItem +PK_ShoppingBasket «FK» + FK_ShoppingBasket_Li neItem(Integer) +PK_LineItem Modellieren von Requirements «PK» + PK_ShoppingBasket(Integer) Daten Modellierung (Relationenmodell) www.sparxsystems.de EA Erweiterung durch Technologien SubStateMachine01 Domain Models Use Case Diagram Initial Initial state01 + Bankomat + Requirements + do / aDoBehavior // do behaviors entry / aEntryBehavior // entry behaviors exit / anExitBehavior // exit behaviors Use RT UML->Options-->LanguageOptions "Guard Concatenator" variable to modify the target languages' operator [att2 == false] [att1 == true /att1 = false [att1.var1 == true] /att1.var1 = false; Dynamic Views [att3 == 0] [att2 == true] The Effects and guard conditions of transitions through pseudo states ( fork / join / junction etc ) are cummulative Substate02 Substate03 [att3 = 1] [att3 == 1] Activity Diagram Substate01 [att3 = 1] [att3 == 1] Mind Map "History" is child of SubStateMachine01 Substate04 Substate04 History Activ eClass01 - att1: CompositeDataType att2: boolean = false att3: int = 0 Ensure that the History States are encapsulated within respective SubStateMachines Attributes' type shall be composite ( struct, union, Class, etc ). For EA to render out the composite data type it should be a child class of the active class containing the state machine «struct» Activ eClass01:: CompositeDataType + + var1: boolean = true var2: int = 0 SubStateMachine02 Initial Substate02 Substate02 Substate01 Real Time UML www.sparxsystems.de Paste Substate02 ( parent = SubStatemachine02 ) state as a link model a transition to history state of SubStateMachine01 Flexible Vorgehensmodelle Beliebige Vorgehensmodelle anwendbar: RUP, ICONIX, etc. Traceability durch Views und Links … Beliebige Views können eingebaut werden Requirem. Requ 2 UC Latenzzeit kleiner als 1 sec. Use Case Beliebig Viele Iterationen Spielzug durchführen (from Requirement) extension points Spieler ist an der Reihe (a) (from Monopoly) «extend» Activity D. Latenzzeit einhalten Würfeln (from Requirement) Class D. (from Monopoly) Requirement : Requirement Sequence D. … www.sparxsystems.de Monopoly : Monopoly Live www.sparxsystems.de Neuigkeiten in 7.5 www.sparxsystems.de Additional Information FREE 30 day trial and more info: http://www.sparxsystems.de [email protected] Questions, suggestions and feedback Peter Lieber CEO, SparxSystems Europe [email protected] www.sparxsystems.de thank you for your attention!