More Model Elements.

Slides:



Advertisements
Similar presentations
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 9 Object, Package, Component and Deployment Diagrams (Based on Fowler, 2004,
Advertisements

® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
C OMPONENT & D EPLOYMENT D IAGRAMS Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
UML – Class Diagrams.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Component and Deployment Diagrams
Data and Process Modeling
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Chapter 10 Introduction to Components. Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFramework Detailed.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Unified Modeling Language, Version 2.0
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Modelling Class T16: Conceptual Modelling – Architecture Image from
SWE 316: Software Design and Architecture Objectives Lecture # 18 Introduction to Components SWE 316: Software Design and Architecture To learn:  benefits.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Implementation Diagrams
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Design Jon Walker. More UML ● What is UML again?
Technology Layer. Technology Layer Metamodel Technology Layer Concepts.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
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.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega. PLAN OF TALK  Introduction about components  Components and component diagrams in uml 2.0  Case study.
ISBN Chapter 11 Abstract Data Types and Encapsulation Concepts.
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
OOS SQUARE SQUARE Lab Deployment Diagram *UML 2 and the Unified Process Second Edition 을 인용하여 작성됨.
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Deployment Diagram.
Method – Notation 8 Hours.
UML Diagrams By Daniel Damaris Novarianto S..
Component and Deployment Diagrams
Deployment Diagram.
COMPONENT & DEPLOYMENT DIAGRAMS
Object-Oriented Analysis and Design
Unified Modeling Language
G. Pullaiah College of Engineering and Technology
Component and Deployment Diagrams
11.1 The Concept of Abstraction
Object Oriented Concepts -I
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Deployment Diagram.
The Object Oriented Approach to Design
Abstract Data Types and Encapsulation Concepts
What is an Architecture?
Your First Java Application
Encapsulation & Visibility Modifiers
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
UNIT – V.
Unified Modelling Language
SYS466 Domain Classes – Part 1.
Analysis models and design models
Software Design Lecture : 15.
UNIT 2 STATIC MODELING.
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
What is an Architecture?
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Software Architecture & Design
Chapter 11 Abstraction - The concept of abstraction is fundamental in
Presentation transcript:

More Model Elements

Templates Two alternate ways of instantiating a template Type/Class, n : int Two alternate ways of instantiating a template Array <<bind>> <Color,50> Array <Car, 100> Color Array

Interface An interface is defined as an abstract class with no specific implementation Contains signatures of abstract operations Concrete classes choose to use the interface by implementing the abstract operations defined in the interface Example: Java interface called “Runnable” defines an abstract operation “void run()”. A Clock class can implement the interface by redefining the “run()” operation.

Defining the interface Runnable {abstract} <<interface>> Comparable {abstract} + run() : void {abstract} +compareTo (object) : int {abstract} Defined with the keyword <<interface>> in the name box. All interfaces are defined as abstract classes. THE ATTRIBUTES BOX SHOULD BE EMPTY.

Implementing and Using the interface Class B Class A Runnable Class A implements the interface ‘Runnable’ and class B uses that interface Class E Runnable Class D Class F Comparable Class D implements the interfaces ‘Runnable’ and ‘Comparable’

Package A grouping mechanism A package may have public and private components No strict semantics associated – user choice Packaging for convenience Library package No instances of a package

Package A contains packages B, C, D and F Dependencies Package names Specialization F

<<import>> B A <<import>> C <<access>> <<import>> D Package C imports all public components of package A and private components of package B. Package D imports all public components of C.

is equivalent to (see next slide) F G A A a : int c: char B C m1() m2() <<merge>> <<merge>> H D A is equivalent to (see next slide)

H A B a : int c : char D m1() m2() C

Component A component is a self-contained unit that encapsulates the state and behavior of a set of model elements Components are generally meant for reuse Ideal notation to represent a library The contents of a component are always hidden and therefore are not visible Components are accessed via interfaces Components communicate via interfaces

Notations for a component Component’s Name <<component>> A <<delegate>> B External View of a Component <<delegate>> Internal View of a Component

Artifact Synonym for “File/Folder” Used to show the physical representation of a component Also used in deployment diagrams (to be shown shortly) to show the physical location of an artifact Two types of artifacts Source artifact (includes programs and documents) Executable artifact

A component and an artifact <<manifest>> Manifest file, contains information about the files packaged in a JAR file. mathLib.jar

Deployment diagram Shows the physical runtime architecture of devices, execution environments and artifacts Useful for managing storages, allocating team work and other managerial activities

UW-L server : Server Server Type of a node Instance of a node Server <<device>> UW-L server : Server Server Type of a node Instance of a node <<device>> Server <<execution environment>> <<execution environment>> Web Server DB server

Client A : PC with Windows <<TCP/IP>> Application Server: Web Server Client B : PC with Linux <<TCP/IP>> Database : DB Server <<LocalNet>>

Application Server : Web Server <<artifact>> Shopping Application <<artifact>> <<artifact>> Order.jar ShoppingCart.jar one of many kinds of tangible byproducts produced during the development of software Build tools often refer to source code compiled for testing as an artifact, because the executable is necessary to carrying out the testing plan. Artifacts are significant from a project management perspective as deliverables. The deliverables of a software project are likely to be the same as its artifacts with the addition of the software itself. In UML 2.0, artifacts are the physical entities that are deployed on Nodes, Devices, and Execution Environments. Other UML elements such as classes and components are first manifested into artifacts and instances of these artifacts are then deployed. Artifacts can also be composed of other artifacts. <<deployment spec>> PurchasingRules.xml