Goals of the Lecture UML Implementation Diagrams

Similar documents
Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού

Goals of this Lecture Activity Diagram Example

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Elementary Educational Computer

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Architectural styles for software systems The client-server style

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

Topics. Instance object. Instance object. Fundamentals of OT. Object notation. How do objects collaborate? Pearson Education 2007 Appendix (RASD 3/e)

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Requirements Analysis

Goals of the Lecture Object Constraint Language

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Modeling a Software Architecture. Paolo Ciancarini

n We have discussed classes in previous lectures n Here, we discuss design of classes n Library design considerations

Outline n Introduction n Background o Distributed DBMS Architecture

Baan Finance Financial Statements

n Explore virtualization concepts n Become familiar with cloud concepts

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

1 Enterprise Modeler

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

POMA: A Pattern-Oriented and Model-Driven Architecture

Avid Interplay Bundle

Interactive PMCube Explorer

Computers and Scientific Thinking

Chapter 8 Web Services Foundations

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods.

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis

BEA Tuxedo. Creating CORBA Client Applications

USB TO PARALLEL USB to DB25 Parallel Adapter Cable

System and Software Architecture Description (SSAD)

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Modern Systems Analysis and Design Seventh Edition

Multi-Threading. Hyper-, Multi-, and Simultaneous Thread Execution

Analysis of Class Design Coupling Based on Information Entropy Di Jiang 1,2, a, Hua Zhou 1,2,b and Xingping Sun 1,2,c

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Overview. Another application of Interfaces: the Strategy Design Pattern. n Java interfaces

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13

Chapter 3 Classification of FFT Processor Algorithms

Appendix D. Controller Implementation

Python Programming: An Introduction to Computer Science

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

ISSN (Print) Research Article. *Corresponding author Nengfa Hu

The Magma Database file formats

Minimum Spanning Trees

CS 683: Advanced Design and Analysis of Algorithms

Chapter 2 Distributed Information Systems Architecture

CSI 3140 WWW Structures, Techniques and Standards. Cascading Style Sheets (CSS)

Using the Keyboard. Using the Wireless Keyboard. > Using the Keyboard

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Chapter 3 DB-Gateways

Baan Tools User Management

INF5120 Modellbasert Systemutvikling Modelbased System development

What Is Object-Orientation?

What does JFC stand for?

Towards Efficient Selection of Web Services

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk

Outline. CSCI 4730 Operating Systems. Questions. What is an Operating System? Computer System Layers. Computer System Layers

Lecture 5. Counting Sort / Radix Sort

Workflow model GM AR. Gumpy. Dynagump. At a very high level, this is what gump does. We ll be looking at each of the items described here seperately.

BEA WebLogic Portal. Guide to Events and Behavior Tracking

Recall: What is an operating system? Very Brief History of OS. Very Brief History of OS. CS162 Operating Systems and Systems Programming Lecture 2

Humans are visual creatures, so it isn t surprising that we want to

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

% Sun Logo for Frame. X3T10/95-229, Revision 2. September 28, 1995

BEA Tuxedo. Creating CORBA Server Applications

JoLetter 6.7. JoLauterbach Software GmbH. Mail and merge with QuarkXPress. JoLauterbach Software GmbH. Stolzingstraße 4a Bayreuth Germany

n Haskell n Covered syntax, lazy evaluation, static typing n Algebraic data types and pattern matching n Type classes n Monads and more n Types

CS 111: Program Design I Lecture 19: Networks, the Web, and getting text from the Web in Python

VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION. Thomas Wiedemann

prerequisites: 6.046, 6.041/2, ability to do proofs Randomized algorithms: make random choices during run. Main benefits:

SUBDIVISION surfaces are becoming more and more popular

Software Architecture. Paolo Ciancarini

What are Information Systems?

One advantage that SONAR has over any other music-sequencing product I ve worked

Priority Queues. Binary Heaps

Browser code isolation

15-859E: Advanced Algorithms CMU, Spring 2015 Lecture #2: Randomized MST and MST Verification January 14, 2015

1 Graph Sparsfication

CS 111: Program Design I Lecture 21: Network Analysis. Robert H. Sloan & Richard Warner University of Illinois at Chicago April 10, 2018

BEA WebLogic Server. Programming WebLogic Enterprise JavaBeans

BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM

BEA WebLogic XML/Non-XML Translator

DEFINITION OF CELL BEHAVIOUR. Actions and Behaviour. CELL = a CELL CELL = b CELL

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager.

Chapter 11 Web-based Information Systems

Data Warehousing. Paper

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. Projects

Octahedral Graph Scaling

Introduction to Pattern Oriented Analysis and Design (POAD) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU

Human-Computer Interaction IS4300

In this chapter, you learn the concepts and terminology of databases and

BEA WebLogic Process Integrator

Transcription:

Goals of the Lecture UML Implemetatio Diagrams Object-Orieted Aalysis ad Desig - Fall 1998 Preset UML Diagrams useful for implemetatio Provide examples Next Lecture Ð A variety of topics o mappig from desig ito implemetatio traslatig associatios ito operatios, scalability cosideratios, etc. Overview Packages Package Diagrams Ð Systems ad Subsystems Compoet Diagrams Deploymet Diagrams Collaboratios A package is a geeral-purpose mechaism for orgaizig elemets ito groups Ð Packages are redered as tabbed folders Ð The visibility of elemets ca be specified Ð Elemets are sematically related for a sigle purpose Packages are thus coducive to providig groups which are highly cohesive, loosely coupled, ad access tightly cotrolled

Package Example Iformatio o Packages Chimera ChimeraServer Cocept API +csapi +hwsapi +hwmapi -evetgeerator Packages ca cotai Ð packages, classes, iterfaces, compoets, odes, collaboratios, use cases, etc. Cotaimet is a composite relatioship Ð The elemet belogs to the package Delete the package, you delete its elemets More Iformatio o Packages Each package defies a amespace Ð Names of elemets (of a particular type) must be uique withi a package e.g. you ca have a class amed Timer ad a iterface amed Timer but you caõt have two classes both amed Timer Ð its recommeded that you keep all ames uique regardless of type, however Ð Nested ames use the followig otatio Chimera::API::csAPI Accessig Package Elemets ProductIfo + ame + descriptio + image - GUI::Widow GUI + Widow + Form # EvetHadler «access» «import» Cliet + OrderForm + TrackigForm - Order Import ad Access specify that oe package makes use of aother. Import brigs the public elemets of the target package ito the source s amespace. These relatioships are ot trasitive ad oly operate i oe directio.

Geeralizatio Geeralizatio Example GUI Geeralizatio relatioships are used to specify families of packages Ð All rules of iheritace apply Public ad Protected members are available i childre, ad childre ca override members of their parets ad add ew elemets Substitutability ca also be used; a child package ca be used i the place of oe of its parets MacGUI + Widow + Form # EvetHadler WidowsGUI + GUI::Widow + Form + VBForm Stadard Package Stereotypes Systems ad Subsystems facade Ð A package that is a view oto some other package framework Ð A package cosistig maily of patters stub Ð A package that serves as a proxy for the public cotets of aother package system, subsystem A system is the thig beig modeled ad developed to accomplish some task Ð It cotais all its models such as classes, use cases, activity diagrams, etc. A subsystem is simply a part of a system Ð used to decompose a complex system ito early idepedet parts Ð typically has high cohesio collectig everythig eeded to accomplish a particular subtask or goal

Compoets Compoets vs. Classes A compoet is a physical ad replaceable part of a system that coforms to ad provides the realizatio of a set of iterfaces Ð Redered as a rectagle with tabs Example Compoets Ð dyamically-liked libraries, jar files, database tables, software compoets (JavaBeas, CORBA, ad DCOM) Classes are logical abstractios Ð Compoets are physical objects that ca be deployed Classes may have attributes ad operatios Ð Compoets typically oly have operatios defied by their associated iterfaces Compoets are at a differet level of abstractio; they represet the physical packagig of classes Compoets ad Iterfaces More o compoets image.class ImageObserver compoet.class Compoet.class exports the iterface, image.class imports it. A compoet ca import ad export may differet iterfaces. The iterface breaks the depedecy betwee the two compoets; they ca chage idepedetly as log as they maitai their obligatios with respect to the iterface. Compoets are physical Compoets are replaceable Compoets are part of a system Ð They ca be thought of as buildig blocks Compoets coform to ad provide the realizatio of a set of iterfaces

Stadard Compoet Stereotypes Executable Compoet Example executable aimator.class dlog.dll Ð ca be executed o a ode library Ð static or dyamic object library table Ð database table raytrce.dll reder.dll wrfrme.dll file Ð source code or data documet Ð catch-all for other types of documets Deploymet Diagrams Chimera Deploymet Documet the odes of a system A ode is a physical elemet that represets a computatioal resource Ð typically havig memory ad processig capability Ð Nodes model the topology of the hardware used by a system A ode represets (typically) a processor or device (sesor, modem, etc.) achor chimeraserver jimage bigtime hwmserver hwsserver serl mysql

Nodes vs. Compoets More iformatio o Nodes Compoets participate i the executio of a system Ð Nodes are thigs that execute compoets Compoets physically package logical elemets Ð Nodes represet the physical deploymet of compoets Nodes (as well as compoets) ca participate i depedecy, geeralizatio, ad associatio relatioships They ca be ested, have istaces, participate i iteractios, etc. Nodes ca also have attributes ad operatios Commo uses for Deploymet Diagrams To model embedded systems Ð Nodes ca represet physical devices ad show how compoets access those devices To model cliet/server systems Ð See previous example To model fully distributed systems Ð Icludig adaptive systems for example, agets that migrate from ode to ode Collaboratios A collaboratio is a society of classes, iterfaces, ad other elemets that work together to provide a cooperative behavior Ð A collaboratio cosists of a structural part ad a behavioral part Class diagrams specify the former Iteractio diagrams specify the latter Ð Redered as a ellipse with dashed lies

Uses for collaboratios Modelig a mechaism Ð Show me all the classes ad activities ivolved with cliet-server commuicatio Modelig a use case Ð Show me all the classes ad iteractios to support the process order use case Modelig a operatio Ð Show me how ray tracig is accomplished Collaboratios, cotiued Elemets ca appear i multiple collaboratios Ð A collaboratio ca be thought of as a set of poiters ito a systemõs packages Ð Sort of like the perspective mechaismõs otio of a virtual copy Example Structural Aspect cliet server chimeraserver «actor» Commuicate with Other Servers * api * message * listeer hadler Cliet-Server Commuicatio request reply evet

Behavioral Aspect csapi:api «create» request :listeer csnativehadler:hadler SedRequest(r) SedReply(r) HadleRequest(r) SedReply(r) «create» reply