DOC PREVIEW
MSU CSE 870 - Implementation Diagrams

This preview shows page 1-2-21-22 out of 22 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Implementation DiagramsSlide 2PackageComponent DiagramInterfacesSample interfacesExample Component DiagramSlide 8Common Uses:Common Uses: (cont’d)Modeling Source CodeModeling Source Code ExampleComponent Diagram GuidelinesCommon StereotypesDeployment DiagramsDeployment DiagramContentsA Deployment DiagramModeling Client-Server ArchitectureClient-Server SystemGuidelines for Deployment DiagramsSample Communication LinksCSE870: UML Component DiagramsRRRImplementation DiagramsCSE870: UML Component DiagramsRRRImplementation 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 componentsCSE870: UML Component DiagramsRRRPackage•General purpose mechanism for organizing elements into groups•Can group classes or components.Package NameCSE870: UML Component DiagramsRRRComponent Diagram•Classes•Interfaces•Dependency, generalization, association, and realization relationshipsSpecial kind of class diagram focusing on system’s components.Example.javaCSE870: UML Component DiagramsRRRInterfaces•Definition:–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]CSE870: UML Component DiagramsRRRSample interfaces[Ambler, 2002-2005]CSE870: UML Component DiagramsRRRExample Component Diagram[Ambler, 2002-2005]CSE870: UML Component DiagramsRRRComponent DiagramIndex.htmlFind.exefind.htmlComp1.dllComp2.dllexecutablelibrarypageCSE870: UML Component DiagramsRRRCommon 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.CSE870: UML Component DiagramsRRRCommon 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)CSE870: UML Component DiagramsRRRModeling 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 filesCSE870: UML Component DiagramsRRRModeling Source Code Example•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.cppSignal.h{version=3.5}Signal.h{version=4.0}Signal.h{version=4.1}<<parent>> <<parent>>Interp.cppSignal.cppIrq.hDevice.cppCSE870: UML Component DiagramsRRRComponent 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 DependenciesCSE870: UML Component DiagramsRRRCommon StereotypesStereotype 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.CSE870: UML Component DiagramsRRRDeployment DiagramsCSE870: UML Component DiagramsRRRDeployment Diagram•Shows the configuration of:–run time processing nodes and –the components that live on them•Graphically: collection of vertices and arcsCSE870: UML Component DiagramsRRRContents•Deployment diagrams contain:–Nodes–Dependency and association relationships–may also contain components, each of which must live on some node.CSE870: UML Component DiagramsRRRA Deployment Diagram<<network>> local network<<processor>>primary server<<processor>>Caching server<<processor>>Caching server<<processor>> server<<processor>> server<<processor>> serverModem bankInternetnodeconnectionCSE870: UML Component DiagramsRRRModeling 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 distinguishCSE870: UML Component DiagramsRRRClient-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


View Full Document

MSU CSE 870 - Implementation Diagrams

Documents in this Course
HW2

HW2

3 pages

splc1

splc1

21 pages

Lessons

Lessons

3 pages

revision

revision

13 pages

ft1

ft1

12 pages

john.dsn

john.dsn

21 pages

Survey

Survey

2 pages

revision

revision

38 pages

Load more
Download Implementation Diagrams
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Implementation Diagrams and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Implementation Diagrams 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?