Module 11: Packages Lawrence Chung CS6359.OT1: Module 11.

Slides:



Advertisements
Similar presentations
Architecture Representation
Advertisements

1 Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
UML – Class Diagrams.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Copyright W. Howden1 Lecture 3: Elaboration and System Architecture.
1 Lecture 3: Elaboration and System Architecture.
System Architecture Lecture 3 CSE 111 Spring /22/20151Copyright William E. Howden.
11 3 / 12 CHAPTER Databases MIS105 Lec14 Irfan Ahmed Ilyas.
The Need for Packages How do you break down a large system into smaller systems? Structured methods use functional decomposition Functions represent something.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
1 Detail Design Subsystem Design Static Part - VOPC.
Module 11: Data Transport. Overview Tools and functionality in Oracle and their equivalents in SQL Server for: Data transport out of the database Data.
Client/Server Software Architectures Yonglei Tao.
Overview of Active Directory Domain Services Lesson 1.
UML Packages & Related Diagrams
Java Beans.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 11 Subsystem Design.
Chapter 8 Introduction to HTML and Applets Fundamentals of Java.
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Systems Analysis and Design in a Changing World, 3rd Edition
Francesco Rizzo (ISTAT - Italy) SDMX ISTAT FRAMEWORK GENEVE May 2007 OECD SDMX Expert Group.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
1 Package Diagram. 2 הדיאגרמות 3 אבני יסוד: דיאגרמות פריסת התוכנה על גבי החומרה PackageDiagram “חבילות עבודה” מקרא: מודל סטטי מודל דינמי מודל ניהולי.
Relationships Relationships between objects and between classes.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
UML Package Diagrams. Package Diagrams UML Package Diagrams are often used to show the contents of components, which are often packages in the Java sense.
HORIZONT 1 XINFO ® The IT Information System How to use XINFO in Software Development HORIZONT Software for Datacenters Garmischer Str. 8 D München.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Deployment Diagram.
Fundamentals of Object Oriented Modeling
UML Diagrams: Class Diagrams The Static Analysis Model
Overview of Active Directory Domain Services
XINFO – How to use XINFO in Development
Deployment Diagram.
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
N-Tier Architecture.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Unified Modeling Language—UML A Very Brief Introduction
Object-Oriented Modeling with UML
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Facade Pattern Jim Fawcett CSE776 – Design Patterns Summer 2010
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
The Object Oriented Approach to Design
UML Diagrams: The Static Model Class Diagrams
VISUAL BASIC.
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
SDMX Reference Infrastructure Introduction
Draft-ietf-supa-generic-policy-info-model-01
Packages.
More Model Elements.
UNIT – V.
More Object-Oriented Programming
IMPORTANT NOTICE TO STUDENTS:
Building a CORBA Server
Analysis models and design models
Software Design Lecture : 14.
Open Archival Information System
Package Diagram.
MATERI PL/SQL Procedures Functions Packages Database Triggers
Today: Distributed File Systems
Software Analysis.
Design Yaodong Bi.
NetChat Communications Framework
Software Development Process Using UML Recap
The generalization of class
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
Presentation transcript:

Module 11: Packages Lawrence Chung CS6359.OT1: Module 11

Overview Packages Modeling groups of elements Lawrence Chung CS6359.OT1: Module 11

Basics Package — general-purpose mechanism for organizing elements into groups. Names Simple name — textual string distinguishing one package from others. Path name — simple name prefixed by any enclosing package. simple names path names Client enclosing package name + OrderForm package name + TrackingForm Business rules - Order Sensors::Vision { version = 2.24 } extended packages Lawrence Chung CS6359.OT1: Module 11

Owned/Nested Elements Composite relationship (When the whole dies, its parts die as well, but not necessarily vice versa) Destroyed if enclosing package is destroyed textual nesting graphical nesting visibility Client Client + OrderForm +OrderForm + TrackingForm - Order -Order +TrackingForm Lawrence Chung CS6359.OT1: Module 11

Visibility You can control the visibility of the elements owned by a package just as you can control the visibility of the attributes and operations owned by a class. Packages that are friends to another may see all the elements of that package, no matter what their visibility. If an element is visible within a package, it is visible within all packages nested inside the package. Lawrence Chung CS6359.OT1: Module 11

Importing & Exporting Importing Grants a one-way permission for elements in one package to access the elements in another package. Dependency with stereotype <<import>> Exporting Public parts of a package. Server Client + OrderForm +Database + TrackingForm +LoggingService - Order Is <<import>> transitive? Is visibility transitive? Does <<friend>> apply to all types of visibility: +, -, #? exports Policies <<import>> +OrderRules -GUI:Window GUI <<import>> +Window imports +Form #EventHandler Lawrence Chung CS6359.OT1: Module 11

Standard Elements Façade — only a view on some other package. Framework — package consisting mainly of patterns. Stub — a package that serves as a proxy for the public contents of another package. Subsystem — a package representing an independent part of the system being modeled. System — a package representing the entire system being modeled. Lawrence Chung CS6359.OT1: Module 11

Modeling Groups of Elements Look for “clumps” of elements that are semantically close to one another. Surround “clumps” with a package. Identify public elements of each package. Identify import dependencies. Java.awt utd.administration registration Tools.db db interfaces Cloudscape Oracle Lawrence Chung CS6359.OT1: Module 11

Summary Packages Modeling groups of elements Basics Visibility Importing & Exporting Standard Elements Modeling groups of elements Lawrence Chung CS6359.OT1: Module 11

Points to Ponder Dependencies between two packages reflect dependencies between any two classes in the packages. For example, if a class in Package A uses the services of a class in Package B, Package A is dependent on Package B.  Would you try to maximize dependencies between packages or minimize? A package can be considered logically equivalent to a Java package and dependencies between packages can be mapped to Java import statements. Give an example of such a mapping. Can two different elements in two different packages have the same name? Is packaging a good mechanism for testing? Why or why not? Lawrence Chung CS6359.OT1: Module 11