University of Utah SoCCS6961 - Lecture 121 Dynamic Models in Design CS6961 – Lecture 12 Nathan Dykman.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Chapter 7 – Object-Oriented Design
University of Utah SoCCS Lecture 151 Inside UML CS6961 – Lecture 15 Nathan Dykman.
Unified Modeling Language
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Lecture 4 Class Responsibility Collaboration Cards
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
IELM 511: Information System design
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
CPSC 371/872 UML / SysML Modeling J. YATES MONTEITH, CLEMSON UNIVERSITY, FALL 2014.
Advanced Behavioral Modeling
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
SE-280 Dr. Mark L. Hornick Design Review Issues. SE-280 Dr. Mark L. Hornick 2 Many expensive defects are a result of design problems Software applications.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
University of Utah SoCCS Lecture 61 Architecture – An Introduction CS Lecture 6 Nathan Dykman.
Software Engineering 1 Object-oriented Analysis and Design Chap 29 UML State Machine Diagrams and Modeling.
ITEC 370 Lecture 10 Design. Review Design –Why is it part of the process? –Who is the audience for design?
1 On to Object Design Chapter 14 Applying UML and Patterns.
Component Basics CS6961 – Lecture 6 Nathan Dykman.
Systems Analysis and Design in a Changing World, 6th Edition
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
CS Collaborations and Hierarchies CS 4311 Chapters 5 and 6 of Wirfs-Brock, R., Wilkerson, B., and Wiener, L., Designing Object- Oriented Software,
Chapter 7 System models.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Object-Oriented Analysis and Design Fall 2009.
Behavioral Modeling Chapter 8.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
CS Collaborations and Hierarchies CS 4311 Chapters 5 and 6 of Wirfs-Brock, R., Wilkerson, B., and Wiener, L., Designing Object- Oriented Software,
CSC 395 – Software Engineering Lecture 14: Object-Oriented Analysis –or– Ripping the Band-Aid Off Quickly.
♦ Use Case Model  Detailled use case - Important  Use case diagram- Refactoring Use case diagram  > 1 Last Lectures.
Chap 28 UML Activity Diagrams and Modeling
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Design Jon Walker. More UML ● What is UML again?
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Use Cases CS 6961 – Lecture 4 Nathan Dykman. Neumont UniversityCS Lecture 102 Administration Homework 1 is due –Still reviewing the proposal, but.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Systems Analysis and Design in a Changing World, Thursday, Feb 15.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 26. Review UML behavioral Diagrams – Sequence diagram.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Chapter 5 System Modeling (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Object Oriented Analysis & Design By Rashid Mahmood.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Chapter 4 – System Modeling Lecture 1 1Chapter 5 System modeling.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Unified Modeling Language
Collaborations and Hierarchies
Starting Design: Logical Architecture and UML Package Diagrams
Software Design Lecture : 15.
Uml diagrams In ooad.
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

University of Utah SoCCS Lecture 121 Dynamic Models in Design CS6961 – Lecture 12 Nathan Dykman

University of Utah SoCCS Lecture 122 Dynamic Models To review, there are two major type of models in UML Static models –Use Case, Class, Component, Deployment Composite structure (mix of static/dynamic) Dynamic models –Sequence, State, Activity

University of Utah SoCCS Lecture 123 Dynamic Models Dynamic modeling is often overlooked in the design process –Why is this, do you think? Using dynamic models comes down to balance: –Too little: Critical dynamic details may be missed –Too much: Overwhelming detail

University of Utah SoCCS Lecture 124 Dynamic Modeling I think dynamic models are best used in two ways: –Exploratory: Does this design do what we want, how could it do it? –Descriptive: This is a tricky aspect of the system, this model (should) help explain what is going on

University of Utah SoCCS Lecture 125 Dynamic Modeling Traps Unfortunately, dynamic models are easy to overuse –For example, requiring a state diagram for every class Not surprising, most of these diagrams aren’t helpful –Or activity diagram, or sequence diagram, etc. Therefore, some avoid them completely –Missing out where they are useful.

University of Utah SoCCS Lecture 126 Dynamic Modeling Domains However, in some software domains, these kinds of models are critical: –Embedded Systems: Must have predictable, reactive behavior –Telecommunications: Strict protocol requirements –Service Oriented Applications: Conversations, Transactions very important. –And so on.

University of Utah SoCCS Lecture 127 UML 2.0 Example

University of Utah SoCCS Lecture 128 Sequence Diagram Hopefully, all of you recognized the preceding diagram as a sequence diagram –If not, review chapter 4 of UML Distilled. In design, the messages can be actual method calls –Because the instances on the sequence diagram are class instances

University of Utah SoCCS Lecture 129 Sequence Diagrams Are probably the most popular means of showing interaction between objects in UML –Communication Diagrams are still preferred by some (not me) Remember, UML 2.0 added interaction frames –Which added to the expressiveness of sequence models.

University of Utah SoCCS Lecture 1210 Sequence Diagrams It is often useful to take select use cases and build a sequence diagram in the design that reflects the use case –Insures that the design does cover use case functionality –Doesn’t need to be perfect, but enough detail to verify that the use case can be performed as required.

University of Utah SoCCS Lecture 1211 Sequence Diagrams Complex systems often contain quite a bit of messaging –For example, most web systems pass between multiple classes (and layers) to process/render web pages Sequence diagrams can show this interaction fairly well –Examples show how the flow of messages is structured.

University of Utah SoCCS Lecture 1212 UML 2.0 Example Action/ Activity Decision Point Fork/Join Activity with Sub-activity model

University of Utah SoCCS Lecture 1213 Activity Diagrams This is an activity diagram. –We will cover activity models in more detail For now: –Easy modeling of parallelism –Activities can nest (have sub-structure) –We will cover how to link activity models to classes As well as execution in general.

University of Utah SoCCS Lecture 1214 Activity Diagrams I find activity diagrams best used to model large scale workflow in the system –Workflow is a topic in of itself, of course Workflows are more common in systems with longer-standing transactions –For example, maintaining a relationship with a shipping office, a supplier of goods, a long- term customer, etc.

University of Utah SoCCS Lecture 1215 Activity Diagrams Again, activity diagrams should feel forced –They should pop out naturally to you Also, remember that activity diagrams display parallel/concurrent behaviors –Sequence diagrams don’t do this nearly as well. Activities can be linked to use cases –For example, a use case can become an activity (or activities) in a system.

University of Utah SoCCS Lecture 1216 State Example

University of Utah SoCCS Lecture 1217 State Diagram Again, more details to come. But for now, note the following: –We have states. States can nest, or have their own state machine –We have start states (final states as well) –Substates (or complex states) can have multiple entry/exit states Later, we will learn that these, like start/final states, are called pseudostates.

University of Utah SoCCS Lecture 1218 State Machines In some domains, state machines are rare –In embedded systems, they can be the most commonly used diagram Executable UML often centers around state diagrams –The state model in UML is quite complex Again, don’t force it –But sometimes, it is a very useful abstraction to use. (So, don’t ignore it completely)

University of Utah SoCCS Lecture 1219 Pushing the Edges For those interested in how dynamic models are used in real-time systems, check out: –Real Time UML (3 rd Edition), by Bruce Powell Douglas –You can get access to real-time tools from Telelogic, iLogix, IBM/Rational if you liked All require the use of a license server.

University of Utah SoCCS Lecture 1220 Dynamic Models Tools like RSA tools do very little with dynamic models –You need a special modeling tool to do code generation from state machines, etc. These are very complex tools –Some tools are starting to do forward and reverse engineering of sequence diagrams RSA is supposed to do this for Java, no clue if it really does

University of Utah SoCCS Lecture 1221 Summary Next Time, we go into more details –This may include exercises! –Be warned. Reading: Chap. 4, 10, 11 in UML Distilled.