IrQAIrQA meets Enterprise Architect meets …...Software Development Excellence • Developer of...
Transcript of IrQAIrQA meets Enterprise Architect meets …...Software Development Excellence • Developer of...
IrQAIrQA meets Enterprise Architectmeets Enterprise ArchitectPeter Lieber, CEOPeter Lieber, CEO
SparxSystems EuropeSparxSystems Europe
www.sparxsystems.de
Presentation OverviewPresentation Overview
Introducing SparxSystems
Enterprise Architect Theory
www.sparxsystems.de
Enterprise Architect Live!
Software Development Excellence
• Developer of Enterprise Architect
• OMG Contributor
• Consensus Software Quality Award 2005
• Jolt Productivity Award 2006/2008
Loyal Customer Base
• 180,000+ Endusers
• 75% top 100 global firms use EA
• 200 Technology & Training Partners globally
• Strong presence in Japan, America, Europe
SparxSystemsSparxSystems
www.sparxsystems.de
Company Strength
• Privately owned
• Debt free
• Cash flow in excess of operating expenses
• 160 man years in product development
Product History
ProduktportfolioProduktportfolio
Siemens TcSE
www.sparxsystems.de
ProduktportfolioProduktportfolio
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
www.sparxsystems.de
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
Enterprise Architect ÜberblickEnterprise Architect Überblick
www.sparxsystems.de
Team Tools: Enterprise ArchitectTeam 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
www.sparxsystems.de
Extensible Meta-data Interchange (XMI) fürZusammenarbeit mit anderen Werkzeugen
Datenbankrepository basierend (EAP, SQL Server, Oracle, Postgre SQL, Sybase, MySQL, …)
cd UML 2.0 Diagrammfamilie
«Diagrammfamilie»
Diagramm
«Diagrammfamilie»
Strukturdiagramm
«Diagrammfamilie»
Verhaltensdiagramm
Objektdiagramm«überarbeitet»
AktivitätsdiagrammUse Case Diagram
«überarbeitet»
Klassendiagramm
EA unterstützt UML 2.1EA unterstützt UML 2.1
www.sparxsystems.de
«neues Diagramm»
Kompositionsstrukturdiagramm
Komponentendiagramm Verteilungsdiagramm
Paketdiagramm
«überarbeitet»
Zustandsdiagramm
«Diagrammfamilie»
Interaktionsdiagramm
«überarbeitet»
Sequenzdiagramm
Kommunikationsdiagramm«neues Diagramm»
Interaktionsübersichtsdiagramm
«neues Diagramm»
Timing Diagram
«control»
Order Screen
View BasketBack
Cancel
Submit
Order Details
Ship Details
OrderTotal
Order
«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
«PK»+ PK_StockItem(Integer)
Eriksson-Penker Extensions
…
EA unterstützt weitere EA unterstützt weitere DiagrammeDiagramme
www.sparxsystems.de
REQ020 -Receive Books
REQ019 - Manage Inventory
REQ022 -Order Books
REQ023 -Store and Manage Books
REQ027 - Add Books
REQ021 - List Stock Levels
Account
«column»*PK accountID: Integer bil l ingAddress: String FK orderID: Integer FK shoppingBasketID: Integer closed: Boolean deliveryAddress: String emailAddress: String name: String
«FK»+ FK_Account_Order(Integer)+ FK_Account_ShoppingBasket(Integer)
«PK»+ PK_Account(Integer)
LineItem
«column»*PK lineItemID: Integer quantity: Integer FK stockItemID: Integer
«FK»+ FK_LineItem_StockItem(Integer)
«PK»+ PK_LineItem(Integer)
«FK»+ FK_Order_LineItem(Integer)+ FK_Order_OrderStatus(Integer)
«PK»+ PK_Order(Integer)
ShoppingBasket
«column» FK lineItemID: Integer*PK shoppingBasketID: Integer shoppingBasketNumber: String
«FK»+ FK_ShoppingBasket_LineItem(Integer)
«PK»+ PK_ShoppingBasket(Integer)
+ PK_StockItem(Integer)
Transaction
«column» 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)
+PK_LineItem
+FK_Transaction_Account
(accountID = accountID)
+PK_Account
+FK_ShoppingBasket_LineItem
(lineItemID = l ineItemID)
+PK_LineItem
+FK_Order_LineItem
(lineItemID = lineItemID)
+PK_LineItem+FK_LineItem_StockItem
(stockItemID = stockItemID)
+PK_StockItem
+FK_Account_ShoppingBasket
(shoppingBasketID = shoppingBasketID)
+PK_ShoppingBasket
+FK_Account_Order
(orderID = orderID)
+PK_Order
Daten Modellierung (Relationenmodell)
Modellieren von Requirements
Userinterface
state01
+ do / aDoBehavior// do behaviors
+ entry / aEntryBehavior// entry behaviors
+ exi t / anExitBehavior// exi t behaviors
Initial
SubStateMachine01
Initial
Substate01
Substate02 Substate03
Substate04
The Effects and guard conditions of transi tions through pseudo states ( fork / join / junction etc ) are cummulative
Use RTUML->Options-->LanguageOptions "Guard Concatenator" variable to modify the target languages' operator
[att3= 1][att3== 1]
[att2 ==false]
[att3= 1][att3== 1]
[att2 ==true]
[att3 ==0]
[att1 == true/att1 = false[att1.var1 == true]/att1.var1 = false;
Bankomat
DomainModels
Dynamic Views
ActivityDiagram
Use CaseDiagram
Requirements
Mind Map
EA Erweiterung durch EA Erweiterung durch TechnologienTechnologien
www.sparxsystems.de
Substate04
SubStateMachine02
Substate02
Substate01
Initial
Substate04
Substate02
History
"History" is chi ld of SubStateMachine01
Ensure that the History States are encapsulated within respective SubStateMachines
Paste Substate02 ( parent = SubStatemachine02 ) state as a link model a transi tion to history state of SubStateMachine01
Activ eClass01
- att1: CompositeDataType- att2: boolean = false- att3: int = 0
«struct»Activ eClass01::
CompositeDataType
+ var1: boolean = true+ var2: 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
Real Time UML
Use Case
Requirem.Requ 2 UC
Beliebige Views können eingebaut werden…
Beliebig
Latenzzeit kleiner als 1 sec.
(from Requirement)
Spielzug
durchführen
extension points
Spieler ist an der Reihe (a)
(from Monopoly)
«extend»
Beliebige Vorgehensmodelle anwendbar: RUP, ICONIX, etc.
Traceability durch Views und Links
Flexible VorgehensmodelleFlexible Vorgehensmodelle
www.sparxsystems.de
Activity D.
Sequence D.
Class D.
…
BeliebigViele
IterationenLatenzzeit einhalten
(from Requirement)
(from Monopoly)
Würfeln
Requirement : Requirement
Monopoly : Monopoly
«extend»
Live
www.sparxsystems.de
Live
Neuigkeiten in 7.5
www.sparxsystems.de
Neuigkeiten in 7.5
Additional InformationAdditional Information
FREE 30 day trial and more info:
http://[email protected]
Questions, suggestions and feedback
Peter LieberCEO, SparxSystems Europe
www.sparxsystems.de
CEO, SparxSystems [email protected]
thank you for your attention!