Presentation is loading. Please wait.

Presentation is loading. Please wait.

IMPORTANT NOTICE TO STUDENTS:

Similar presentations


Presentation on theme: "IMPORTANT NOTICE TO STUDENTS:"— Presentation transcript:

1 IMPORTANT NOTICE TO STUDENTS:
These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions. Software models and the Unified Modeling Language (UML) - Structural Diagrams CS 360 Lecture 10

2 Outline Structural UML Diagrams Class Diagram Component Diagram
Deployment Diagram

3 Structural UML Diagrams
Emphasize what must be present in the system being modelled. Class Diagram Component Diagram Deployment Diagram

4 The Class Diagram Models the static view of an application.
Class diagrams are the only diagrams that can be directly mapped with OO languages. Class Diagrams always provide: Class Model Descriptions Represented by a box with three compartments. Top – Name of the class Middle – Attributes of the class Bottom – Operations of the class

5 The Class Diagram Class Diagrams always provide:
Relationships between classes Connections between class model descriptions. Inheritance – Indicates that one class is considered to be a specialized form of the other. Association – General bidirectional communication between two classes. Aggregation – “Has a” relationship between two classes. Weak lifecycle dependency. Composition – “Has a” relationship. Shows that a class has exclusive ownership over another class. Strong Dependency – Exists between two classes if changes in the supplying class causes changes or breaks the client class.

6 The Class Diagram Class Diagrams always provide:
Association Relationship Multiplicity Indicates that at least one of the two classes in the relationship makes reference to the other. Indicator Meaning 0..1 Zero or One 1 | 1..1 One Only 0..* 0 or More 1..* | * n Only n (Where n > 1) 0..n Zero to n (Where n > 1) 1..n One to n (Where n > 1)

7 The Class Diagram - Example
Model Name Attributes Operations 2. Relationships

8 The Class Diagram Class Diagrams:
Generally, UML diagrams are not directly mapped with any OO language. The UML Class diagram is an exception. Class Diagrams: Describes the static view of the system. Shows collaboration among the classes in the system. Describes functionalities performed by the classes in the system.

9 Team Activity Discuss and create the initial Class Diagram(s) for your project. Specific software modules. OO design patterns.

10 The component Diagram A component is a replaceable part of a system that conforms to a set of interfaces. Can be thought of as an implementation of a subsystem. Set of closely related functions. UML definition of a component: “A distributable piece of a system, including code (source, binary, etc.), but also includes documentation”

11 Components as replaceable elements
Components allow systems to be assembled from replaceable elements Can be replaced by other component(s) that conforms to the interfaces/specifications. Provide the implementation and documentation of a set of requirements. The entire system is made of many components. Process Data Component x interface: mapped directory volume output: Data` Process Data Component x` interface: mapped directory volume output: Data` //refactored x component //x` performs 10x better than x //must use the same defined interface

12 Components and Classes (documentation)
Classes represent logical abstractions. They have attributes(data) and operations (methods). Components have operations that are reachable only through Interfaces. http requests, GPIO port, memory location, socket, etc.

13 The Component Diagram Component Diagrams always provide: Components
Set of related software and defined interfaces. Interface Dependencies Distinguished between provided and required communication protocols. Communication Paths Connections between components

14 The Component diagram - Example
1. Components 2. Interface Dependencies 3. Communication Paths

15 Team Activity Discuss and create the initial Component Diagram(s) for your project. Define sets of like software into components. Define component interface protocols. Required/provided Create communication paths between components using the defined interfaces.

16 The Deployment Diagram
Describes the physical deployment of components onto nodes. Deployment Diagrams: Visualizes the hardware/software topology of a system. Describes the system nodes (execution environments). Physical Virtual Visualizes communication path between nodes.

17 Nodes Nodes are associated with deployments of packaged elements and components. Can be physical or virtual execution environments. Interconnected with communication paths. Ex: application and database on different nodes need to communicate. Communication paths between the nodes define how these processes exchange information. Communication Path

18 The Deployment Diagram
Describes the physical deployment of components onto nodes. Deployment Diagrams always: Identifies individual Nodes (execution environments). Physical and virtual Identifies all components included in the system. Identifies communication paths between nodes. Includes all physical and virtual nodes. Identifies all communication paths between components.

19 The Deployment Diagram - Example
1. Identify Nodes Identify Communication paths between nodes 4. Identify communication paths between components Identify System Components

20 Team Activity Discuss and identify the individual nodes of your project. Define which component(s) are located within each node. Define the communication paths between the nodes What protocols are needed? Defined by the components within each node.


Download ppt "IMPORTANT NOTICE TO STUDENTS:"

Similar presentations


Ads by Google