TAL7011 – Lecture 4 UML for Architecture Modeling.

Slides:



Advertisements
Similar presentations
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
Object-Oriented Analysis and Design
Chapter 15: System Modeling with UML
Introduction To System Analysis and Design
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
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
An Introduction to Rational Rose Real-Time
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1 Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人 : 許勝杰
The Design Discipline.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
An Introduction to Software Architecture
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
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 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Implementation Diagrams
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Introduction to OOAD and the UML
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Chapter 3: Introducing the UML
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
UML (Unified Modeling Language)
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Method – Notation 8 Hours.
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
UML dynamic Modeling (Behavior Diagram)
Software Architecture & Design Pattern
Unified Modeling Language
An Introduction to Software Architecture
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Uml diagrams In ooad.
Presentation transcript:

TAL7011 – Lecture 4 UML for Architecture Modeling

2 UML Diagrams Artifacts Component Deployment Interaction Modeling the system architecture Lecture Outline UML for Architectural Modeling

3 Use Case Diagram Component Diagram Class Diagram Activity Diagram Collaboration Diagram Deployment Diagram Sequence Diagram State Diagram UML Diagrams UML for Architectural Modeling

4 Primarily consists of actors and use cases. Use Case diagrams help capture the functional requirement of your system. This is always a great diagram with which to start a project. Use Case Diagram UML for Architectural Modeling

5 Primarily consists of major system components and their relationships. This is meant to be a high-level overview diagram of your complicated system. Component Diagram UML for Architectural Modeling

6 Primarily consists of classes, interfaces, and their relationships. The classes and interfaces are fairly straightforward, but the relationships can grow a bit complicated with multiplicity, generalizations, and associations. Class Diagram UML for Architectural Modeling

7 Primarily consists of activities and decisions. These diagrams are essentially flowcharts and data flow diagrams that you use to get the general flow of the code Activity Diagram UML for Architectural Modeling

8 Primarily consists of objects and messages. This diagram focuses on the communication between objects and is similar to the Sequence Diagram. Collaboration Diagram UML for Architectural Modeling

9 Primarily consists of deployment elements, such as servers, and their relationships. This is a logical topography of your system. Deployment Diagram UML for Architectural Modeling

10 Primarily consists of objects(with lifelines) and invocation messages. Sequence diagrams depict the order of invocations in your system as well as the creation of the different objects. Sequence Diagram UML for Architectural Modeling

11 Primarily consists of states, transitions, events, and actions. State diagrams are seldom necessary except when logic is very complicated. State Diagram UML for Architectural Modeling

Artifacts

13 In UML, an artifact is a ‘physical thing’ at the level of the implementation platform. Examples: –Object libraries, executables –.Net components, EJBs –Tables, files, documents Artifact is a stereotype in UML. What are artifacts? UML for Architectural Modeling

14 Simple and qualified artifact names Specifying names for artifacts UML for Architectural Modeling

15 Artifacts implement classes, but they do not have attributes and methods. Artifacts vs. Classes UML for Architectural Modeling

16 Deployment artifacts DLLs, EXEs, CORBA components, EJBs. Work product artifacts Source code files, data files. (They do not directly participate in the execution of the software) Execution artifacts These are created as the system is executing. Example :.Net objects. Kinds of Artifacts UML for Architectural Modeling

17 Executable – Specifies an artifact that may be executed on a node. Library – Specifies a static or dynamic object library File and Document –Source code, data, other structured or unstructured information. UML predefined stereotypes for artifacts UML for Architectural Modeling

18 Modeling executables and libraries Common modeling techniques (1) UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

19 Modeling files, tables and documents Common modeling techniques (2) UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

20 Modeling source codes Common modeling techniques (3) UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

21 Artifacts are used to model the physical dimension of a software system. A well-structured artifact –Directly implements a set of classes that work together to achieve a certain service. –Is loosely coupled to other artifacts (i.e. modular) Summary for artifacts UML for Architectural Modeling

Deployment

23 Artifacts must be deployed on hardware to execute. An architect should consider both the logical and physical dimensions when designing software-intensive systems. Logical dimension: classes, interfaces, collaborations, interactions, etc. Physical dimension: artifacts, nodes (hardware on which artifacts execute). Overview UML for Architectural Modeling

24 Nodes with simple and qualified names UML for Architectural Modeling

25 Artifacts participate in execution, nodes execute artifacts. Artifacts are physical packaging of logical elements, nodes represent physical deployment of artifacts. Nodes and artifacts UML for Architectural Modeling

26 Association is the most common relationship among nodes. Connections UML for Architectural Modeling

27 Modeling processors and devices Common Modeling Techniques(1) UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

28 Modeling distribution of artifacts Common Modeling Techniques(2) UML for Architectural Modeling

29 Embedded systems Common Modeling Techniques(3) UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

30 Client-Server System Common Modeling Techniques(4) UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

31 Distributed System Common Modeling Techniques(5) UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

32 Focus on static deployment view. Organize elements spatially. Elements that are semantically close are laid out physically close. Show only attributes that are necessary to grasp the meaning of a particular node. Summary for Deployment UML for Architectural Modeling

Component

34 Interface: A collection of operation specifications that defines a service. Component: A replaceable part of a system that provides the implementation for a set of interfaces. Overview UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

35 Ports enable the interfaces of a component to be divided into groups. Components and ports UML for Architectural Modeling

36 Building large components using smaller components Internal structure of a component UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

37 Connection through ports Connection through compatible interfaces Connectors between components UML for Architectural Modeling Figure credit: The Unified Modeling Language User Guide, 2 nd Edition, Addison Wesley Professional.

38 Structured classes Common Modeling Techniques(1) UML for Architectural Modeling

39 API Common Modeling Techniques(2) UML for Architectural Modeling

40 A component encapsulates a service with well-defined interface and boundary. Externally visible behavior is organized through interfaces and ports. Use moderate number of sub-components. Do not nest the components too deep. Summary of Component Diagrams UML for Architectural Modeling

Interaction

42 Interaction diagrams model the dynamic aspects of a system. Used to model: classes, interfaces, components, nodes and the messages among them. Use interaction diagrams to model –Flow of control through time –Flow of control from the structural perspective Overview UML for Architectural Modeling

43 Modeling flow of control through time Common Modeling Techniques(1) UML for Architectural Modeling Sequence diagram

44 Modeling flow of control from structural perspective Common Modeling Techniques(2) UML for Architectural Modeling Communication diagram (a.k.a. collaboration diagrams in UML 1.x)

45 Focus on the dynamic aspects of a system (behavior) Use a sequence diagram the time ordering of messages Use communication diagram to emphasize organization of objects involved in the interaction Interaction - Summary UML for Architectural Modeling

46 Create a use case view of the system as seen by end users, analysts and testers. Specify design view of the system: classes, interfaces, components, state diagrams, etc. Specify interaction view of the system: model flow of control. Specify implementation view of the system: artifact diagrams. Specify deployment view of the system: Show the nodes that make up the system’s hardware topology Modeling a System’s Architecture UML for Architectural Modeling

47 Summary UML for Architectural Modeling

48 After completing this lecture, you should be able to: Describe the architecture of a software system using the five views: Use case, design, interaction, implementation and deployment. For each view, identify and create suitable UML diagrams. Learning outcomes UML for Architectural Modeling