UML Development Overview ACTORS REQUIREMENTS ELICITATION USE CASES





















- Slides: 21
UML Development - Overview ACTORS REQUIREMENTS ELICITATION USE CASES SCENARIOS SEQUENCE DIAGRAMS ANALYSIS Domain Objects System Design ANALYSIS CLASS DIAGRAM(S) SUBSYSTEM/ COMPONENT DIAGRAMS DESIGN Object Design IMPLEMENTATION CHOICES IMPLEMENTATION CLASS STATE DIAGRAMs Time D A T A D I OPERATION CONTRACTS C T I DESIGN COLLABORATION DIAG. DEPLOYMENT DIAGRAM O N DESIGN CLASS DIAG. A R Y IMPLEMENTATION CLASS DIAGRAM PROGRAM
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
My. Trip Analysis Class Diagram Route. Assistant Planning. Service Trip Location Direction Destination Crossing Segment
My. Trip Subsystems Routing. Subsystem Planning. Subsystem Route. Assistant Planning. Service Trip Location Direction Destination Crossing Segment
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
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 6
Components and Component stereotypes 7
My. Trip Deployment Diagram Components must be associated with a processor 4 node in the deployment diagram : On. Board. Computer : Routing. Subsystem : Web. Server : Planning. Subsystem
New Classes and Subsystems Planning. Subsystem Route. Assistant Planning. Service Trip Location Trip. Proxy Destination Direction Crossing Segment. Proxy Communication. Subsystem Message Connection Segment
My. Trip Data Storage Routing. Subsystem Planning. Subsystem Communication. Subsystem Trip. File. Store. Subsystem Map. DBStore. Subsystem
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
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. 12
Concurrency in Sequence Diagrams Synchronous method invocation for sequential execution 13
Concurrency in Sequence Diagrams 14
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 15
Proposed Component-based IETM Display System Architecture Data Services MIL-PRF-87269 A Alternative COTS Components Web Technologies Business Services IETM Object Model User Services IETM Object Model Interfaces 16
User Interface Scripts Applet Jbeans Active. X Forms IETM Navigation Handler Web page + Style info if not processed on server (Requires IE 5) GUI Manager Receive-Request HTTP, IIOP, DCOM User Interface Engine Render-Info Web Server Browser Receive-Response Send-Request Send-Response Might require a Media Server Media Viewer Plugins or Helper 17 Applications
IETM EDS IETM Object Model Interfaces IETM Interpreter Get-Result. Objects Receive-Request Get-IETMObjects Web Server IETM Display Engine Search XML/HTML Transformer Start Update Get Add Remove (XSL Processor) Session Manager Optional: Use it to allow rendering on all browsers not just IE 5 Receive. Response Session State Session Cache Send-Response CGI Servlet EJB CORBA Beans VB, Java, ECMA Scripts ASP, JSP 18
Data Access Database-driven System O/DBMS + ORB Database on O/DBMS Server XML on O/DBMS Server IETM Content CORBA Server Vendor Driver + ODBC or JDBC Driver Database to DOM Relational to Object Mapping Data Loader Get-Info Style Info CORBA/IIOP XML/HTML Transformer (XSL Processor) Database Object Interface Get-Result. Objects SQL OQL SQLJ IETM Interpreter 19
IETM Object Model Architectural Forms in UML Architectural-Forms id : ID cdm : NAME ref : IDREF 0. . * Information. Content-Forms 1. . * <<Stereotype>> IF-NODE Condition : expression Then. Seq : NODE-SEQ Else. Seq [0. . 1] : NODE-SEQ select. Flow() get. Then. Seq() <<Stereotype>> NODE-ALTS Nodes : NODE Eval_Alts() 1 <<Stereotype>> NODE name : CDATA type : CDATA itemid : CDATA preconditions [0. . *] : precond postconditions [0. . *] : postcond Contents : Information. Content-Forms 1. . * primitives [0. . *] : %primitive links [0. . *] : %link Display() Set_Post_Conditions() 1 Eval_Pre_Conditions() has. Contents() <<Stereotype>> LOOP-NODE Index. Declare [0. . 1] : assertion Exit. Cond : expression Index. Alter [0. . 1] : assertion Repeat. Seq : NODE-SEQ Start() Eval_Condition() Update_Index() Terminate() 1 1 <<Stereotype>> NODE-SEQ Seq. Elements : Architectural-Forms get. Next. Element() step. Back() has. More. Elements() Reset() 1 20
IETM Object Model The IETM Object Model Interfaces 21