uml development - overview program actors analysis domain objects design implementation d a t a d i...

21
UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S) IMPLEMENTATION CLASS DIAGRAM SEQUENCE DIAGRAMS OPERATION CONTRACTS CLASS STATE DIAGRAMs DEPLOYMENT DIAGRAM SUBSYSTEM/ COMPONENT DIAGRAMS System Design Object Design SCENARIOS REQUIREMENTS ELICITATION DESIGN CLASS DIAG. IMPLEMENTATION CHOICES DESIGN COLLABORATION DIAG.

Upload: kerry-dorsey

Post on 16-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

UML Development - Overview

PROGRAM

ACTORS

ANALYSISDomain Objects

DESIGN

IMPLEMENTATION

DATA

DICTION

ARY

TimeUSE CASES

ANALYSISCLASS DIAGRAM(S)

IMPLEMENTATIONCLASS DIAGRAM

SEQUENCEDIAGRAMS

OPERATION CONTRACTS

CLASS STATEDIAGRAMs

DEPLOYMENT DIAGRAMSUBSYSTEM/COMPONENT

DIAGRAMS

SystemDesign

ObjectDesign

SCENARIOS

REQUIREMENTSELICITATION

DESIGN CLASS DIAG.

IMPLEMENTATIONCHOICES

DESIGN COLLABORATION DIAG.

Page 2: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

Information Available at Architectural Design

• Use cases, Use case Diagram• Analysis and Arc. Design class diagrams• Analysis and Arc. Design Sequence/Collaboration

diagrams• Statecharts for multi-modal classes• Subsystems + their public interface (API)• Subsystem dependencies• Mapping subsystems’ instances to Hardware

(Deployment)• Data management, Security control

Page 3: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

MyTrip Analysis Class Diagram

Location

Segment

Crossing

Direction

Destination

TripRouteAssistant PlanningService

Page 4: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

MyTrip Subsystems

Location

Segment

Crossing

Direction

Destination

RoutingSubsystem PlanningSubsystem

TripRouteAssistant PlanningService

Page 5: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

Subsystem Interface

• The set of public operations forms the subsystem interface or Application Programming Interface (API)

• Includes operations but also their parameters, types, and return values

• Operation contracts are also defined (pre- and post-conditions) and accounted for by client subsystems – they can be considered part of the API

Page 6: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

6

Components vs Subsystems

• A Component are used to implement a package of classes defined in a subsystem

• A component defines a module in the architectural design

• Component types defined by component stereotypes include a Main program component, and Tasks

• Task components represent packages or subsystems with independent threads of control

Page 7: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

7

Components and Component stereotypes

NewMainSubprog

NewTaskSpec

NewComponent

NewTaskBody

Page 8: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

MyTrip Deployment Diagram

:RoutingSubsystem :PlanningSubsystem

:OnBoardComputer :WebServer

Components must be associated with a processor4 node in the deployment diagram

Page 9: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

New Classes and Subsystems

TripLocation

PlanningService

SegmentCrossing

RouteAssistant

Direction

Destination

TripProxy

SegmentProxy

PlanningSubsystem

Message

Connection

CommunicationSubsystem

RoutingSubsystem

Page 10: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

MyTrip Data Storage

PlanningSubsystem

MapDBStoreSubsystemTripFileStoreSubsystem

RoutingSubsystem

CommunicationSubsystem

Page 11: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

Static versus Dynamic Architecture Information

• Subsystem Interfaces and dependencies provide static information

• Interaction models provide dynamic information

• Concurrency information can be specified on objection collaboration diagrams, sequence diagrams, and component diagrams

Page 12: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

12

Concurrency Adornment

• The concurrency of a class is a statement about its semantics in the presence of multiple threads of control. You can set the concurrency of a class to type Active

• The class will has its own thread of control. The method can be executing concurrently with other methods.

• You can display the concurrency for the class in the class diagram by selecting Show Concurrency from the class shortcut menu.

Page 13: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

13

Concurrency in Sequence Diagrams

updateStatus( )

Object1:C1 Object2:C2

calcRoute( )

route

Object1:C1 Object2:C2

Implicit Returns Explicit Return

Object3:C3

generateMessage( )

Synchronous method invocation for sequential execution

Page 14: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

14

Concurrency in Sequence Diagrams

asynchronous_Call ()

callBack ()

Object1:C1{active}

Object2:C2{active}

Page 15: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

15

Concurrency in Sequence Diagrams

• Asynchronous method calls should be explicitly identified with the UML standard notation of a solid line with a half arrowhead.

• Asynchronous messages do not yield the current thread of control.

• Therefore, from the initiating object's viewpoint, there is no implied return message or waiting

Page 16: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

16

Proposed Component-based IETM Display System Architecture

Data Access

IETM Electronic Display System (EDS)

IETM Data User Interface

Business Services User ServicesData Services

IETM Object Model

MIL-PRF-87269A Alternative

COTS Components

Web Technologies

IETM ObjectModel Interfaces

Page 17: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

17

User Interface

Web Server

IETM Navigation Handler

Receive-Request

Receive-Response

User Interface Engine

Send-Request

Send-Response

Web page + Style info if not processed on server (Requires IE5)

GUI Manager

Render-Info

Might require a Media Server Media Viewer

ScriptsAppletJbeans

ActiveXForms

Plugins or Helper Applications

Browser

HTTP, IIOP, DCOM

Page 18: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

18

IETM EDS

IETM Display Engine

IETM Object Model

Search

IETM ObjectModel Interfaces

Get-Result-Objects

Start

IETM Interpreter

Get-IETM-Objects

Receive-Request

Send-Response

Web Server

Receive-Response

Optional: Use it to allow rendering on all browsers not just IE5

XML/HTML Transformer(XSL Processor)

CGIServlet

EJBCORBA Beans

VB, Java, ECMA ScriptsASP, JSP

Session State

Session Manager

Session Cache

RemoveGet AddUpdate

Page 19: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

19

Data AccessDatabase-driven System

Data Loader

IETM Content

Get-Info

Style Info

Database Object Interface

Get-Result-Objects

IETM Interpreter

Vendor Driver + ODBC or JDBC Driver

Database to DOMRelational to Object Mapping

SQLOQLSQLJXML/HTML

Transformer(XSL Processor)

Database on O/DBMS ServerXML on O/DBMS Server

O/DBMS + ORB CORBA/IIOPCORBA Server

Page 20: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

20

Architectural Forms in UML IETM Object Model

NODE-ALTS

Nodes : NODE

Eval_Alts()

<<Stereotype>>

NODE

name : CDATAtype : CDATAitemid : CDATApreconditions [0..*] : precondpostconditions [0..*] : postcondContents : InformationContent-Formsprimitives [0..*] : %primitivelinks [0..*] : %link

Display()Set_Post_Conditions()Eval_Pre_Conditions()hasContents()

<<Stereotype>>

1 1..*1 1..*

InformationContent-Forms

1

0..*

1

0..*LOOP-NODE

IndexDeclare [0..1] : assertionExitCond : expressionIndexAlter [0..1] : assertionRepeatSeq : NODE-SEQ

Start()Eval_Condition()Update_Index()Terminate()

<<Stereotype>>

Architectural-Forms

id : IDcdm : NAMEref : IDREF

IF-NODE

Condition : expressionThenSeq : NODE-SEQElseSeq [0..1] : NODE-SEQ

selectFlow()getThenSeq()

<<Stereotype>>

NODE-SEQ

SeqElements : Architectural-Forms

getNextElement()

<<Stereotype>>

1

1

1

1

1

1..*

1

1..*

stepBack()hasMoreElements()Reset()

Page 21: UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)

21

The IETM Object Model Interfaces

IETM Object Model

IETM ElementIETM Collection IETM Document

GenericLayerElements

OrganizationalLevel LayerElements

LinkContextFiltering UserInterface OtherArchitecturalForm

Primitive

Sub-primitive ProceduralInfo

DescriptionInfo

FaultInfo

PartsInfo

MainInfo