CSC 520 – Advanced Object Oriented Programming, Fall, 2010 Thursday, October 14 Week 7, UML Diagrams

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

Object-Oriented Software Engineering Visual OO Analysis and Design
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Chapter 8: Modelling Interactions and Behaviour
Component and Deployment Diagrams
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Architecture, Deployment Diagrams, Web Modeling Elizabeth Bigelow CS-15499C October 6, 2000.
Advanced Behavioral Modeling
SE-565 Software System Requirements More UML Diagrams.
An Introduction to Rational Rose Real-Time
Unified Modeling Language
Client/Server Architectures
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
The Design Discipline.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Class, Sequence and UML Model.  Has actors and use cases.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
1 Welcome to CSC 301 Web Programming Charles Frank.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
UML -Part 3. Dynamic Diagram Types Interaction Diagrams - Set of objects or roles and the messages that can be passed among them. – Sequence Diagrams.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Design Jon Walker. More UML ● What is UML again?
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Systems Analysis and Design in a Changing World, Fourth Edition
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CS3773 Software Engineering Lecture 06 UML State Machines.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
UML Activity Diagrams.
Chapter 3: Introducing the UML
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005.
Deployment Diagram.
Systems Analysis and Design in a Changing World, Fourth Edition
Appendix 3 Object-Oriented Analysis and Design
Analysis Classes Unit 5.
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Deployment Diagram.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
Object-Oriented Systems Analysis and Design Using UML
Activity and State Transition Diagram
UML Diagrams Jung Woo.
State Machine Diagrams
Deployment Diagram.
Business System Development
Behavioral Models for Software Development
CIS 375 Bruce R. Maxim UM-Dearborn
CIS 375 Bruce R. Maxim UM-Dearborn
Identifying & Creating Use Cases - Part 3
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

CSC 520 – Advanced Object Oriented Programming, Fall, 2010 Thursday, October 14 Week 7, UML Diagrams

UML Class diagrams >, >, > other stereotype Class_or_Interface_Name Generic - privateAttribute1 : p1Type = initialValue # protectedAttribute2 : p2Type ~ packageAttribute3 : p3Type + publicAttribute4 : p4Type + publicStaticAttribute5 : p5Type - privateOperation1(param1 : T1, …) : m1Type # protectedOperation2(param1 : T1, …) : m2Type ~ packageOperation3(param1 : T1, …) : m3Type + publicOperation4 (param1 : T1, …) : m4Type + publicStaticOperation5(param1 : T1, …) : m5Type + publicAbstractOperation(param1 : T1, …) : m6Type {abstract}

Generalization, Association, Dependency, Multiplicity, Keywords

Sequence Diagram shows sequence of method calls ScrabbleGameScrabbleBoardScrabblePlayerScrabbleScoreSheet move put validateWord validateLetters putWord deleteTiles addScore addEntry addTiles

Other Sequence Diagram Options Filled arrow is the synchronous (waiting) call Open arrow is asynchronous (nonblocking) UML 1.4 UML 1.3 Create message starts an object’s lifeline. Delete message ends an objects lifeline. I recommend avoiding conditional control logic and loops in sequence diagrams.

Activity Diagram It is like an old-fashioned flowchart. Start End Fork and Join (thick horizontal line) Action, including subdiagrams Vertical or gridded Partitions can be used to divide control across objects or deployed components Again, avoid using every diagramming option.

Diagrams similar to Class Diagrams Package Diagram shows package dependencies. Object Diagram shows instantiated objects. Useful for showing example run-time relationships. Give the name of a class object and assign values to attributes. Component Diagram shows software components packaged together. Dynamic link libraries (DLLs), Java Archives (JARs), Server Processes, Frameworks, Plugins, etc. Multiple class objects and data stores per component. Related to deployment diagrams.

Deployment Diagrams A 3D box is a Node. A Device is hardware. An Execution Environment is software (process, OS, …). A Node contains Artifacts. Executable files, server processes, plugins, DLLs, JARs, browsers, data files, databases, scripts, etc. I prefer to model Artifacts as Components contained within Nodes. Labeled Communication Paths connect Nodes.

Use Case Diagrams Stick Figure Actors with interaction ellipses. Meyer says OK for validation, not for analysis. I find Use Case Text more useful. Write simple narratives. Identify potential Objects, perhaps drawing exemplary Object Diagrams. Nouns, interactions, class-responsibility-collaboration. Capabilities are Meyer’s Deferred Classes (e.g., comparable, cloneable, serializable). Abstract the Objects into Classes.

State Diagrams = State Machines States mirror collection of mutable state variables. Initial and final pseudostates for entry and exit. Superstate can be modeled as a substate diagram. Targeted modeling tools can generate code. Transitions between states include triggers (events), guards (booleans) and activities (outputs). Any of these on a given transition is optional. kayakingpaddling drifting current / steer flatwater / paddle c / s f / p dest / stop

State Machine Diagrams continued State Diagrams can capture nested, hierarchical behavior. State Diagrams can capture concurrency. Specify state variables as part of machine. Relate these to attributes in Class Diagrams. Use notes. Internal activities list their triggers, guards and actions. They are like self-transitions. Triggers and actions are the I/O of states. Guards are conditional entry booleans. Add a stack to support a pushdown automaton (not part of UML).

Deployment Bundle executable files, data sets, scripts, on- line help etc. into a distributable format. JAR file + manifest = stand alone executable. JAR file + HTML + browser = applet. Frameworks support run-time configuration using plugins (games2010rev5, Eclipse). Servers and clients support run-time configuration using plugins, networked distribution, live update, multithreading.

Multitiered Enterprise Architectures Beyond the scope of this course Specific systems tend to constrain your perspective. Ajax Web Application Model Web Browser UI Ajax engine Javascript call HTML,CSS,XML data Web Server DB HTTP request Data Query / data request