270 likes | 430 Vues
Introduction to UML. DIAGRAMS & CLASS DIAGRAM Chapter 7,8. 主講人 : 許勝杰 jason@rtpc06.ee.ncku.edu.tw. Outline. Different Views of a System Diagrams Structural Diagrams Behavioral Diagrams Class Diagram Examples : An ATM System. Different Views of a System.
E N D
Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人: 許勝杰 jason@rtpc06.ee.ncku.edu.tw
Outline • Different Views of a System • Diagrams • Structural Diagrams • Behavioral Diagrams • Class Diagram • Examples : An ATM System
Different Views of a System • A view is a projection into the organization and structure of a system’s model, focused on one aspect of a system. • Five most important views : • Use case view: force the shape of system. • Design view: function requirements. • Process view: concurrency,synchronization. • Implementation view: component and files assemble the physical system. • Deployment view: nodes form H/W topology
Diagrams • A diagram is a graphical projection into the elements that make up a system. • Each diagram provides a view into the elements that make up the system. • Structural diagrams to view the static parts and Behavioral diagrams to view the dynamic parts of a system.
Structural Diagrams • The UML’s structural diagrams are used to visualize, specify, construct, and document the static aspects of a system. • Static aspects: represent system’s relatively stable skeleton and scaffolding. • UML’s four structural diagrams: • Class diagrams • Object diagrams • Component diagrams • Deployment diagrams
Structure Diagrams - Class Diagrams • A class diagram shows a set of classes, interfaces, and collaborations and their relationship. • Class diagrams are used to illustrate the static design view of a system. • Class diagrams including active classes are used to address the static process view of a system.
Structure Diagrams - Object Diagrams • A object diagram show a set of objects and their relationships. • Object diagrams are used to illustrate data structures, the static snapshots of instances of the things founds in class diagrams. • Object diagrams address the static design view of a system just as do class diagrams, but from the perspective of real or prototypical case. • Ref. P.196, Fig 14-1
Structure Diagrams - Component Diagrams • A component diagram shows a set of components and their relationships. • Component diagrams are used to illustrate static implementation view of a system. • A component typically maps to one or more classes, interfaces, or collaborations. • Ref. P.394, Fig.29-1
Structure Diagrams - Deployment Diagrams • A deployment diagram shows a set of nodes and their relationships. • Deployment diagrams illustrate the static deployment view of an architecture. • Ref. P.408, Fig. 30-1
Behavioral Diagrams • The UML’s behavioral diagrams are used to visualize, specify, construct, and document the dynamic aspects of a system. • Dynamic aspects: represent a system’s changing parts. • UML’s five behavioral diagrams • Use case diagrams • Sequence diagrams • Collaboration diagrams • Statechart diagrams • Activity diagrams
Behavioral Diagrams-Use Case Diagram • A use case shows a set of use cases and actors and their relationships. • Used to illustrate the static use case view of a system. • Especially important in organizing and modeling the behaviors of a system.
Behavioral Diagrams-Sequence Diagram • A sequence diagram is an interaction diagram that emphasizes the time ordering of messages. • It shows a set of objects and the messages sent and received by those objects. • Used to illustrate the dynamic view of a system.
Behavioral Diagrams-Collaboration Diagram • A collaboration diagram is an interaction diagram that emphasize the structural organization of objects that send and receive messages. • It shows a set of objects, links among those objects, and messages sent and received by those objects. • Used to illustrate dynamic view of a system.
Behavioral Diagram-Statechart Diagram • A statechart diagram shows a state machine, consisting of states, transitions, events, and activities. • Especially important in modeling the behavior of an interface, class, or collaboration. • It emphasizes the event-ordered behavior of an object, which is especially useful in modeling reactive systems. • Illustrating dynamic view of a system.
Statechart Diagram (p.333) Activity Diagram (p.259)
Behavioral Diagrams-Activity Diagram • An activity diagram shows the flow from activity to activity within a system. • It shows a set of activities, the sequential or branching flow from activity to activity, and objects that act and are acted. • Especially important in modeling the function of a system. • It emphasizes the flow of control among objects.
Class Diagram • Class diagram commonly contains the following things: • Classes • Interfaces • Collaborations • Dependency, generalization, and association relationships. • It may also contains notes and constraints, packages or subsystems
Fig 8-1 p.106 Class Diagram • Example:
Class Diagram • A well-structured class diagram • Focused on communicating one aspect of a system’s static design view • Contain only elements that are essential to understanding that aspect • Provides detail consistent with its level of abstraction, with adornments that are essential for understanding • Is not so minimalist that it misinform readers about important semantics.
Class Diagram • When drawing a class diagram: • Give name communicating its purpose. • Layout elements with minimal cross line • Semantically close, lay out close. • Use notes and color to draw attention to important features of system. • Try not to show too many kinds of relationships.
An Example – ATM System • The ATM system. • Model collaboration • Identify the mechanism. • Identify the classes, interface of each mechanism. • Use scenarios to walk through these things. • Populate these elements with their contents.
密碼 櫃員機 顧客 金額 inputCard() inputPW() inputMoney() checkCard() checkPW () getMoney() 金融卡 An Example – ATM System 1..* 1 1 1..* 1 1