CSE870: Advanced Software Engineering(Cheng)1CSE870: Advanced Software Engineering (Cheng): UML OverviewRRRUnified Modeling Language(A Brief Overview)CSE870: Advanced Software Engineering (Cheng): UML OverviewRRRTypes of DiagramsObjectives: visualize, specify, construct, anddocument a system• Structural: focus on static aspects of system• Behavioral: focus on dynamic aspects ofsystem (changing parts)CSE870: Advanced Software Engineering (Cheng): UML OverviewRRRStructural Diagrams• Class: set of classes and their relationships– Interface: is a collection of operations that specify aservice of a class• Object: set of objects and their relationships• Component: set of components and theirrelationships– component:physical realization of a logical groupingof elements (e.g., classes, interfaces)• Deployment: set of nodes and theirrelationships– exists at run time; represents computational resource– node typically encloses one or more componentsCSE870: Advanced Software Engineering(Cheng)2CSE870: Advanced Software Engineering (Cheng): UML OverviewRRRBehavioral Diagrams• Use case: organize behaviors of system– user goals (high-level services of system)– perspective from external entities (actors)• Interaction Diagrams– Sequence: focus on time ordering of messages– Collaboration: focus on structural organization ofobjects that send/receive messages• Statechart: changing state of system drivenby events• Activity: focus on flow of control from oneactivity to anotherCSE870: Advanced Software Engineering (Cheng): UML OverviewRRRDevelopment Process• High-Level capture of requirements– Use Case Diagram• Identify major objects and relationships– Class diagram (object diagram)• Create scenarios of usage– Interaction Diagrams• Sequence Diagram• Collaboration Diagram• Generalize scenarios to describe behavior– State Diagram– Activity Diagram• Refine to add implementation details– Implementation Diagrams• Component Diagram• Deployment
View Full Document