UML Advanced Structural Modeling II

Slides:



Advertisements
Similar presentations
By Philippe Kruchten Rational Software
Advertisements

2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
Object-Oriented Analysis and Design
UML – Class Diagrams.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Unified Modeling (Part I) Overview of UML & Modeling
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
SE-565 Software System Requirements More UML Diagrams.
An Introduction to Rational Rose Real-Time
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
1 Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人 : 許勝杰
UML - Development Process 1 Software Development Process Using UML (2)
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
An Introduction to Software Architecture
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 11 Subsystem Design.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Real Time Systems Modeling Structure in UML (Part I)
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
1 Advanced Behavioral Model Part 1: Processes and Threads Part 2: Time and Space Chapter22~23 Speaker: 陳 奕 全 Real-time and Embedded System Lab 10 Oct.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Implementation Diagrams
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Design Model Lecture p6 T120B pavasario sem.
Relationships Relationships between objects and between classes.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Software Engineering Lecture 8 Object-Oriented Analysis.
UML / UML 2.0 Diagrams (Part I) 1. Overview of the 13 diagrams of UML Structure diagrams 1.Class diagram 2.Composite structure diagram (*) 3.Component.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Chapter 3: Introducing the UML
UML - Development Process 1 Software Development Process Using UML.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
UML (Unified Modeling Language)
Method – Notation 8 Hours.
UML Chapter 17.
CHAPTER
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Unified Modeling Language
OO Methodology OO Architecture.
Visit for more Learning Resources
UML Diagrams Jung Woo.
Online Shopping APP.
Software Architecture & Design Pattern
Unified Modeling Language
Activity Diagrams.
UNIT – V.
Analysis models and design models
An Introduction to Software Architecture
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Design Yaodong Bi.
Software Development Process Using UML Recap
Presentation transcript:

UML Advanced Structural Modeling II

Basic Structural Modeling Classes Attributes, Operations, Responsibilities Relationships Dependency, Generalization, Association, Role, Multiplicity, Aggregation Common Mechanisms Specifications, Adornments, Common Divisions, Extensibility Mechanisms Diagrams Class , Object , Component , Deployment Dagrams

Other UML concepts Interface Type Role Activity Diagram Package Component Deployment Diagram Process and Threads

Interfaces (chapter 11) Collection of operations used to specify a service Specify a behavior of an a element (class or component) independent of its implementation Important for large scale project where different teams are developing different parts of the system Described by abstract operations (signatures) Used to model the seams of a system Components on eah side of seams should not be affected by changes on the other side Concept supported in Java, Corba IDL, COM

Interfaces IStuff Graphical Representation: Or Class Stereotype: Storable load() save() no attribute

Interfaces Relationships Participate in: generalization, association dependency, realization Realization: Class or Component may realize one (or many) interface(s): class provides a set of methods that implement the operations of all the interfaces it realizes Exemple: Telemetry Sensor IFilter realization dependency

Types and Roles Types: Roles: Same as Interface + Attributes Allow to model the semantics of an abstraction and its conformance to a specific interface. Roles: In a given context, an instance may present only one of its interface. Each interface represents a role the object plays Person Company e:Employee

Activity Diagrams (Chapter 19) Used to model dynamic aspects of a system Flowchart showing flow of control from activity to activity Kind of a State Machine where : states are activity states and action states transitions are triggered by completion of activities Activity is an on-going nonatomic execution within a state machine Purpose: focus on flows driven by internal processing (not external events), usually the implementation of an operation

Activity Diagrams (cont.) Contains: action state, activity state, transitions, branching, forking/joining, swimlanes Action State: can’t be decomposed, atomic, not interupted, Activity State: can be decomposed, non atomic, can be interupted, may have some additional parts (entry/exit actions) Transitions: triggerless transitions from one state to another, once action or activity ends. Branching: specifies alternate paths taken based Boolean expression forking/joining: model concurrent flows swimlanes: Allow to parttion the activity states into groups, each group representing the business organization responsible for those activities

Acitivity Diagram Example customer sale warehouse request product process order pull material ship order receive order bill customer pay bill close order

Activity Diagrams (Hints and Tips) Where to use Activity Diagrams: Before/While developing Use Cases: Help understand a business process Capture the workflow of the business that the system will support Describe Control mechanisms within the system Describe complex sequential algorithm in an operation Develop multithreaded applications Where NOT to use Activity Diagrams: See how Objects collaborate See how object behave over its lifetime Represent complex conditional logic

Packages (chapter 12) General purpose mechanism for organizing modeling elements into groups Use Packages for Architecture Views Organize elements semantically close into large chunks Well structured Packages are loosely coupled and very cohesive Graphical Representation: Robot Kinematics

Packages (cont.) Package may own other elements classes, interfaces, components, nodes, collaborations, use cases, other packages. Package form namespace (same named element cannot be in same package, but can be in two different packages) Robot Kinematics Robot Kinematics +Joints +Vector - Matrix +Joints +Vector - Matrix

Packages Visibility Specify whether an element owned by a package can be used by other package: + public: any package that import this package can use the feature # protected: any descendant of the package can use the feature - private: only the elements in the package itself can use the feature Collectively the public parts of a package constitute the package’s interface

Package Import and Export Importing a Package grants a one way permission for the elements in one package to access the elements in the other package Allows to control the complexity of large number of elements in large scale project Public parts of a package are called its Exports Parts exported by one package are visible to the contents of the packages that import it Robot Controller Robot Kinematics +Joints +Vector - Matrix <<import>> <<import>> +DataCollector +Control - Timer GUI +Window +Frame #EventHandler

Package Example GUI DB Facade to Relational Translation AppWin AppFrame SQL Generator Bus.Obj. Facade Service Entity Business Object Control Business Object

Components (chapter 25) Physical and replaceable part of a system that conforms to and provides the realization of a set of interfaces Physical implementation of a set of logical elements such as classes and collaborations. Represent physical things that live in the world of bits, on a node Graphical Representation: winApp.dll

Components (cont.) Three kinds of components: deployment components - components needed for an executable system, such as dynamic libraries, executables, COM objects, JavaBeans, DB tables, CORBA objects work product components - source code files, data files, products from development process execution components - created as a result of an executing system COM+ object instantiated from dll Five standard stereotypes for components: executable, library, table, file, document

Component - Example of Use 1- Source code dependencies MathCtrlr.h MathCtrlr.cpp Matrix.h Vector.h Joint.h Allow to discover cluster of source code which can be put in a package

Component - Example of Use 2- Modeling API (Application Programming Interface) animator.exe IScripts IRendering IApplication IModels

Component - Example of Use 3- System Configuration RobotControl.hlp ForwardKin.dll RobotControl.exe RobotControl.ini InvKin.dll Target.txt Telemetry.dll

Deployment (chapter 26) Model of the physical/hardware aspects of a system Main concept: Node - typically a computational resource Nodes used to model the hardware topology of the system Graphical Representation: edp_server Node can be tailored to any specific kind of devices using stereotypes Nodes can be parts of packages Components are executed by Nodes

Nodes Connections Nodes can have different types of relationships: dependency, generalization, associations Most common kind of relationship is an association representing a physical connection among nodes edp_client workflow_server Raid farm connection node web_server

Nodes and Components Components are allocated/distributed across Nodes Model distribution of components in nodes by listing them: edp_client workflow_server Raid farm deploys wwwf.exe perl.exe deploys netscape.exe web_server deploys iis.exe

Processes and Threads (chapter 22) Used to model independent flow of control Process is a heavyweight flow that can execute concurrently wih other processes Thread is a lightweight flow that can execute concurrently with other threads within the same process Allow to reason about crucial issues such as concurrency, communication, synchonization Supported in languages: Java, Smalltalk, Ada.

Processes and Threads Graphical Representation: Active Class RobotController attributes operations Signals