Package Diagram CS537 Advanced Software Engineering Fall 2010 Prof. J Guo Presented By: Patel Vishrut Patel Harshil Gadhiya Yogesh Dhola Haresh.

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

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Modeling Notations.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Software Engineering COMP 201
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
C OMPONENT & D EPLOYMENT D IAGRAMS Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Introduction to UML Visual modeling Models and its importance
Component and Deployment Diagrams
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
COMS W4156: Advanced Software Engineering
UML Diagrams Computer Science I.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Systems Analysis and Design in a Changing World, Fifth Edition
Session 24 Modeling the Development Environment Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented by Hyewon Lim.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
CS 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Systems Analysis and Design in a Changing World, 3rd Edition
Introduction to Rational Rose 2000 v6.5 Copyright © 1999 Rational Software, all rights reserved 1 Rational Rose 2000 Class Diagrams.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 03. Classes,
1 Class Diagrams: The Essentials. 2 Terms and Concepts A class is... The most important building block of any object-oriented system. A description of.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class project.
CBSE 2014 Modeling Components with UML. Bibliography Modelling components in UML – Main text: Kim Hamilton, Russell Miles, Learning UML 2.0, OReilly,
An Introduction to the Unified Modeling Language
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Part VII: Design Continuous
Relationships Relationships between objects and between classes.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Introduction to OOAD and the UML
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 Introduction to Classes. 2 Terms and Concepts A class is... –The most important building block of any object- oriented system. –A description of a set.
TK2023 Object-Oriented Software Engineering CHAPTER 8 LOGICAL ARCHITECTURE.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
INFO 620Lecture #71 Information Systems Analysis and Design Design Class Diagrams and others INFO 620 Glenn Booker.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
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
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
UML (Unified Modeling Language)
Deployment Diagram.
Systems Analysis and Design in a Changing World, Fourth Edition
Appendix 3 Object-Oriented Analysis and Design
Deployment Diagram.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
COMPONENT & DEPLOYMENT DIAGRAMS
Object-Oriented Analysis and Design
M.M. Pickard, PhD A Primer on Use Cases (Reference: UML Superstructure Specification, v2.1.1)
Unified Modeling Language
The Process of Object Modeling
UML dynamic Modeling (Behavior Diagram)
The Object Oriented Approach to Design
CS 426 Senior Projects Chapter 9: Relationships
CBSE 2014 Modeling Components with UML
Packages.
CIS 375 Bruce R. Maxim UM-Dearborn
CS 8532: Advanced Software Engineering
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Package Diagram CS537 Advanced Software Engineering Fall 2010 Prof. J Guo Presented By: Patel Vishrut Patel Harshil Gadhiya Yogesh Dhola Haresh

Outline: Introduction. Package. What is Packageable Element? Relationship between Packages. Element Import. Package Import. Package Merge. Package Model. Use-case package Diagram. Class Package Diagram. References. Question ?????????

Package Diagram: Patel Vishrut

Package Diagram: A package diagram in the Unified Modeling Language depicts the dependencies between the packages that make up a model. Package diagram shows the arrangement and organization of model elements in middle to large scale project. Package diagram can also show both structure and dependencies between sub-systems or modules.

UML Package Symbols:

Access: An element import is defined as a directed relationship between an importing namespace and a packageable element. Dependency: A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation. Import:A package import is defined as a directed relationship that identifies a package whose members are to be imported by a namespace. Merge: A package merge is a directed relationship between two packages that indicates that the contents of the two packages are to be combined.

Package: A package is used to group elements, and provides a namespace for the grouped elements. A package is a namespace for its members, and may contain other packages. Owned members of a package should all be package elements. Package can also be merge with other package, thus provide the hierarchical organization of the package. Different types of elements are allow to have the same name. The members of the package may be shown within the boundaries of the package.

Package: The elements that can be referred to within a package using non-qualified names are: Owned Element, Imported Element, and elements enclosing namespaces. Owned and imported elements may have a visibility that determines whether they are available outside the package.

Package: Package Member are not shown inside the package. Package org.hibernate

Package: Package org.hibernate contains SessionFactory and Session. Package Member are shown inside the package.

Package: Members of the package may be shown outside of the package by branching lines. Package org.hibernate contains interfaces Session and SessionFactory.

Package: Packages are useful for simplify this kind of diagrams Nested packages. Qualifier for Graphics class is Java::Utilities::Graphics

Package: Visibility of Owned and Import element. "+" for public and "-" for private or helper class. All elements of Library Domain package are public except for Account.

Packageable Element: Packageable element is a named element that may be owned directly by a package. Owned member of the package should all be packageable elements. If a package is removed from the model, so are all the elements owned by the package. Package by itself is packageable element, so any package could be also a member of the other packages.

Relationships: Dependency Generalization Refinement

Dependency: One Package depends on another package. Fish depends on water.

Generalizations: Fish is a kind of Animal.

Refinement: Refinement shows different kind of relationship between packages. One Package refines another package, if it contains same elements but offers more details about those elements. Performance refines rehersals.

Nodes and Edges: Patel Harshil

Element Import: The keyword «import» is shown near the dashed arrow if the visibility is public The keyword «access» is shown to indicate private visibility Public import of PageInfo element and private import of SortInfo element from Domain package.

Package Import: Package Import (PackageImport) is a directed relationship between an importing namespace and imported package A package import is shown using a dashed arrow with an open arrowhead from the importing namespace to the imported package. It looks exactly like dependency and usage relationships. The visibility of a PackageImport could be either public or private.

Package Import: The keyword «access» is shown to indicate private visibility. Public import of PageInfo element and private import of SortInfo element from Domain package. Web Application imports Presentation package.

Package Import : Private import of Presentation package and public import of Domain package.

Package Merge: A package merge is a directed relationship between two packages. It indicates that content of one package is extended by the contents of another package. Package merge used when elements defined in different packages have the same name and are intended to represent the same concept. Package merge is shown using a dashed line with an open arrowhead pointing from the receiving package to the merged package.

Package Merge : Rules for Merging Packages: Private elements within the package do not merge with the receiving package. UML allows multiple inheritance in package merge. Any sub packages within the package are added to the receiving package. If both packages have different packages of the same name, a merge takes place between those packages.

Package Merge : UML packages Constructs and Primitive Types are merged by UML Kernel package.

Model: Model is a package which captures a view of a system. View of the system defined by its purpose and abstraction level. Model is notated using the ordinary package symbol (a folder icon) with a small triangle in the upper right corner of the large rectangle. Business layer model :

Model : If contents of the model are shown within the large rectangle, the triangle may be drawn to the right of the model name in the tab. Service Layer model contains service interfaces and message types.

Model: Model could be notated as a package with the keyword «model» placed above the name of the model. Stereotyped model Layered Service :

Package Relationship: A relationship between two packages is called a package dependency. Dependencies are not transitive. The dependency relationship between packages is consistent with the associative relationship between classes. Ex. If changing the contents of a package, P2, affects the contents of another package, P1, we can say that P1 has a Package Dependency on P2.

Package Relationship: Package dependency diagram :

Package Relationship: Two types of relationship: Unidirectional and Bidirectional Unidirectional Diagram :

Package Relationship: Bidirectional Diagram :

Package Relationship: Package Coupling—Unidirectional relationships between packages emphasize lower coupling. While some coupling must exist, those packages most loosely coupled are more easily maintained. Reuse Impact—Packages with bidirectional dependencies limit reusability. Those packages exhibiting lower degrees of coupling on other packages promote reuse. Layering—Defining unidirectional dependencies is consistent with how we would layer a system. Typically, upper-level layers are dependent on lower-level layers. A package should reside in, not span across, a layer. As such, packages in lower- level layers should be less dependent on other packages, increasing the reusability of those packages.

Examples: Gadhiya Yogesh

Use Case Package Diagram: Use case Diagram  Use case Package Diagram

Use Case Package Diagram:

Class Package Diagram class Diagram  class Package Diagram

When to use Package Diagram ??? A large complex project can hundred of classes. Without some way to organization those classes. It becomes impossible to make sense of tem all. Packages create a structure for you classes or other Uml element by grouping related elements.

Use of Package Diagram: When you want to show high level view of the system. To keep track of dependencies. With the large system to show its major element and how they relate to one another. To divide a complex system into module Package diagrams can use packages that represent the different layers of a software system to illustrate the layered architecture of a software system.

Reference Links: html html ons%20-%20programming%20with%20object- oriented%20programming/5399final/lib0147.htm ons%20-%20programming%20with%20object- oriented%20programming/5399final/lib0147.htm examples.html#layered-application-model examples.html#layered-application-model _packagediagram.html _packagediagram.html

Reference Links: pQC&pg=PA73&lpg=PA73&dq=package+diagram+uml&source=bl& ots=oHf1jpMO04&sig=7- 4ngnbNVcDZ0s0b34QMkUIBurQ&hl=en&ei=NGi_TIj3KMOGnQeW6 o2KDg&sa=X&oi=book_result&ct=result&resnum=12&ved=0CFMQ 6AEwCw#v=onepage&q=package%20diagram%20uml&f=false pQC&pg=PA73&lpg=PA73&dq=package+diagram+uml&source=bl& ots=oHf1jpMO04&sig=7- 4ngnbNVcDZ0s0b34QMkUIBurQ&hl=en&ei=NGi_TIj3KMOGnQeW6 o2KDg&sa=X&oi=book_result&ct=result&resnum=12&ved=0CFMQ 6AEwCw#v=onepage&q=package%20diagram%20uml&f=false paradigm.com/VPGallery/diagrams/Package.html paradigm.com/VPGallery/diagrams/Package.html /multilingual.html /multilingual.html

Questions ??????