G. Pullaiah College of Engineering and Technology

Slides:



Advertisements
Similar presentations
Deployment Diagrams Depicts a static view of the run-time configuration of Nodes.
Advertisements

® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
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:
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Component and Deployment Diagrams
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Interpret Application Specifications
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
CS 432 Object-Oriented Analysis and Design
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Lecture The Client/Server Database Environment
The Client/Server Database Environment
UML Packages & Related Diagrams
Systems Analysis and Design in a Changing World, Fifth Edition
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Session 26 Modeling the Static View: The Deployment Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Implementation Diagrams
R R R CSE870: UML Component Diagrams Implementation Diagrams.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Technology Layer. Technology Layer Metamodel Technology Layer Concepts.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega. PLAN OF TALK  Introduction about components  Components and component diagrams in uml 2.0  Case study.
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.
Two New UML Diagram Types Component Diagram Deployment Diagram.
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Deployment Diagram.
UML Diagrams: Class Diagrams The Static Analysis Model
UML Diagrams By Daniel Damaris Novarianto S..
Component and Deployment Diagrams
WWW and HTTP King Fahd University of Petroleum & Minerals
Deployment Diagram.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
The Client/Server Database Environment
COMPONENT & DEPLOYMENT DIAGRAMS
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Component and Deployment Diagrams
OO Methodology OO Architecture.
Chapter 9: The Client/Server Database Environment
UML Diagrams Jung Woo.
Topic 10: Design Elements
Deployment Diagram.
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
The Object Oriented Approach to Design
Ch > 28.4.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Component and Deployment Diagrams
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
More Model Elements.
UNIT – V.
CIS 375 Bruce R. Maxim UM-Dearborn
Analysis models and design models
An Introduction to Software Architecture
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Design Yaodong Bi.
CIS 375 Bruce R. Maxim UM-Dearborn
Chapter 14 Web-Based Management 14-1 Chapter 14
#01 Client/Server Computing
Chapter 10 – Component-Level Design
Presentation transcript:

G. Pullaiah College of Engineering and Technology Object Oriented Analysis Design And Modeling Department of Computer Science & Engineering

Implementation Diagrams CSE870:Advanced Software Engineering (Cheng) Implementation Diagrams

Implementation Diagrams Both are structural diagrams Component Diagrams: set of components and their relationships Illustrate static implementation view Component maps to one or more classes, interfaces, or collaborations Deployment Diagrams: Set of nodes and their relationships Illustrate static deployment view of architecture Node typically encloses one or more components

Package General purpose mechanism for organizing elements into groups Can group classes or components. Package Name

Component Diagram Classes Interfaces Dependency, generalization, association, and realization relationships Special kind of class diagram focusing on system’s components. Example.java

Interfaces Definition: Realized by: Relationships: Notation: Collection of operation signatures and/or attribute defns Defines a cohesive set of behaviors Realized by: Implemented by classes and components Implement operations/attributes defined by interface Relationships: A class can implement 0 or more interfaces An interface can be implemented by 1 or more classes Notation: Lollipop Dashed arrow [Ambler, 2002-2005]

Sample interfaces [Ambler, 2002-2005]

Example Component Diagram CSE870:Advanced Software Engineering (Cheng) Example Component Diagram As you can see in Figure 1 components are modeled as rectangles with two smaller rectangles jutting out from the left-hand side.  Components realize one or more interfaces, modeled using the lollipop notation in Figure 1, and may have dependencies on other components – as you can see the Persistence component has a dependency on the Corporate DB component. [Ambler, 2002-2005]

CSE870:Advanced Software Engineering (Cheng) Component Diagram executable find.html Find.exe page Index.html Comp2.dll Comp1.dll Short for Dynamic Link Library, a library of executable functions or data that can be used by a Windows application. Typically, a DLL provides one or more particular functions and a program accesses the functions by creating either a static or dynamic link to the DLL. A static link remains constant during program execution while a dynamic link is created by the program as needed. DLLs can also contain just data. DLL files usually end with the extension .dll,.exe., drv, or .fon. A DLL can be used by several applications at the same time. Some DLLs are provided with the Windows operating system and available for any Windows application. Other DLLs are written for a particular application and are loaded with the application. library

CSE870:Advanced Software Engineering (Cheng) Common Uses: Model source code: model configuration mgmt Model executable releases Release is relatively complete and consistent set of artifacts delivered to user Release focuses on parts necessary to deliver running system Component Diagram visualizes, specifies, and documents the decisions about the physical parts that define the software.

Common Uses: (cont’d) Model Physical databases: database is concrete realization of schema schemas offer an API to persistent information model of physical dbases represents storage of that information in tables of a relational dbase or pages of an OO dbase. Component Diagram can represent this kind of physical database Model Adaptable systems: can model static aspects of adaptable systems can model dynamic aspects (in conjunction with behavioral models)

Modeling Source Code (Forward/Reverse Eng): identify set of source code files of interest model as components stereotyped as files Larger systems: use packages to show groups of source code files Model compilation dependencies among files

Modeling Source Code Example Signal.h {version=3.5} Signal.h {version=4.0} Signal.h {version=4.1} 5 source code files signal.h (header) used by 2 other files (signal.cpp, interp.cpp) interp.cpp has compilation dependency to header file (irq.h) device.cpp compilation dependency to interp.cpp <<parent>> <<parent>> Signal.cpp Interp.cpp Irq.h Device.cpp

Component Diagram Guidelines CSE870:Advanced Software Engineering (Cheng) Component Diagram Guidelines Use Descriptive Names for Architectural Components Use Environment-Specific Naming Conventions for Detailed Design Components Apply Textual Stereotypes to Components Consistently Avoid Modeling Data and User Interface Components Interfaces Prefer Lollipop Notation To Indicate Realization of Interfaces By Components Prefer the Left-Hand Side of A Component for Interface Lollipops Show Only Relevant Interfaces Dependencies and Inheritance Model Dependencies From Left To Right Place Child Components Below Parent Components Components Should Only Depend on Interfaces Avoid Modeling Compilation Dependencies Table 1. Common Stereotypes. Stereotype Indicates <<application>> A “front-end” of your system, such as the collection of HTML pages and ASP/JSPs that work with them for a browser-based system or the collection of screens and controller classes for a GUI- based system. <<database>> A hierarchical, relational, object-relational, network, or object-oriented database. <<document>> A document.  A UML standard stereotype. <<executable>> A software component that can be executed on a node.  A UML standard stereotype.<<file>>A data file. A UML standard stereotype. <<infrastructure>> A technical component within your system such as a persistence service or an audit logger. <<library>> An object or function library.  A UML standard stereotype. <<source code>> A source code file, such as a .java file or a .cpp file. <<table>> A data table within a database.  A UML standard stereotype <<web service>> One or more web services. <<XML DTD>> An XML DTD.

Common Stereotypes Stereotype Indicates <<application>> A “front-end” of your system, such as the collection of HTML pages and ASP/JSPs that work with them for a browser-based system or the collection of screens and controller classes for a GUI-based system. <<database>> A hierarchical, relational, object-relational, network, or object-oriented database. <<document>> A document.  A UML standard stereotype. <<executable>> A software component that can be executed on a node.  A UML standard stereotype. <<file>> A data file. A UML standard stereotype. <<infrastructure>> A technical component within your system such as a persistence service or an audit logger. <<library>> An object or function library.  A UML standard stereotype. <<source code>> A source code file, such as a .java file or a .cpp file. <<table>> A data table within a database.  A UML standard stereotype <<web service>> One or more web services. <<XML DTD>> An XML DTD.

Deployment Diagrams

Deployment Diagram Shows the configuration of: run time processing nodes and the components that live on them Graphically: collection of vertices and arcs

Contents Deployment diagrams contain: Nodes Dependency and association relationships may also contain components, each of which must live on some node.

CSE870:Advanced Software Engineering (Cheng) A Deployment Diagram node Modem bank Internet <<processor>> Caching server <<processor>> Caching server connection <<network>> local network A node, depicted as a three-dimensional box, represents a computational unit, typically a single piece of hardware, such as a computer, network router, mainframe, sensor, or personal digital assistant (PDA).  Components, depicted as rectangles with two smaller rectangles jutting out from the left-hand side (the same notation used on UML Component diagrams), represent software artifacts such as file, framework, or domain component. <<processor>> primary server <<processor>> server <<processor>> server <<processor>> server CSE870: UML Component Diagrams

Modeling Client-Server Architecture CSE870:Advanced Software Engineering (Cheng) Modeling Client-Server Architecture Identify nodes that represent system’s client and server processors Highlight those devices that are essential to the behavior E.g.: special devices (credit card readers, badge readers, special display devices) Use stereotyping to visually distinguish

CSE870:Advanced Software Engineering (Cheng) Client-Server System Human resource system 2 pkgs: client, server Client: 2 nodes console and kiosk stereotyped, distinguishable Server: 2 nodes caching server and server Multiplicities are used client console kiosk server 4..* 2..* 2.4      Apply Visual Stereotypes to Nodes Figure 2 depicts nodes using visual stereotypes, for example the mobile PC is shown as a laptop and the databases are shown using traditional database drum notation.  There are no standards for applying visual stereotypes on UML Deployment diagrams – the general rule of thumb is to use the most appropriate clip art that you can find.  <<processor>> <<processor>> Caching server server Deploys dbadmin.exe tktmstr.exe logexc.exe Deploys Http.exe rting.exe

Guidelines for Deployment Diagrams General [Ambler 2002-2005] Indicate Software Components on Project-Specific Diagrams Focus on Nodes and Communication Associations on Enterprise-Level Diagrams Nodes and Components Name Nodes With Descriptive Terms Model Only Vital Software Components Apply Consistent Stereotypes to Components Apply Visual Stereotypes to Nodes Dependencies and Communication Associations Indicate Communication Protocols Via Stereotypes Model Only Critical Dependencies Between Components

Sample Communication Links CSE870:Advanced Software Engineering (Cheng) Sample Communication Links Communication associations support one or more communication protocols, each of which should be indicated by a UML stereotype.  In Figure 1 you see that the HTTP, JDBC, and web services protocols are indicated using this approach.   Table 1 provides a representative list of stereotypes for communication associations – your organization will want to develop its own specific standards.  Table 1. Common stereotypes for communication associations. Stereotype Implication Asynchronous An asynchronous connection, perhaps via a message bus or message queue. HTTP HyperText Transport Protocol, an Internet protocol. JDBC Java Database Connectivity, a Java API for database access. ODBC Open Database Connectivity, a Microsoft API for database access. RMI Remote Method Invocation, a Java communication protocol. RPC Communication via remote procedure calls. Synchronous A synchronous connect where the senders waits for a response from the receiver. web services Communication is via Web Services protocols such as SOAP and UDDI