Modeling Dynamic Behavior
|
|
- Camron Lee
- 5 years ago
- Views:
Transcription
1 Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Modeling Dynamic Behavior The following slides use material from: Craig Larman; Applying UML and Patterns, 3rd Edition; Prentice Hall
2 UML Interaction Diagrams Two types of diagrams can be distinguished: UML Sequence Diagrams UML Communication Diagrams
3 UML Interaction Diagrams - Introduction 3 Interaction diagrams are used to visualize the interaction via messages between objects; they are used for dynamic object modeling.
4 UML Interaction Diagrams - Introduction 4! Modeling the dynamic behavior is often more rewarding w.r.t. understanding the domain than modeling the static structure.
5 Four types of interaction diagrams are available. UML Interaction Diagrams - Introduction 5 Sequence diagrams (which use a fence format.) Communication diagrams (which use a graph or network format) Timing diagrams (not discussed) :A myb:b do1 do2 do3 E x a m p l e Interaction overview diagrams (not further discussed)
6 Four types of interaction diagrams are available. UML Interaction Diagrams - Introduction 6 Sequence diagrams (which use a fence format.) Communication diagrams (which use a graph or network format) Timing diagrams (not further discussed) Interaction overview diagrams (not further discussed) do1 :A E x a m p l e 1: do2 2: do3 myb:b
7 Java Code for Interaction Diagrams UML Interaction Diagrams - Introduction 7 do1 :A myb:b do2 do3 E x a m p l e Sequence Diagram public class A { private B myb =...; } public void do1() { myb.do2(); myb.do3(); }
8 Java Code for Interaction Diagrams UML Interaction Diagrams - Introduction 8 do1 :A E x a m p l e 1: do2 2: do3 myb:b Communication Diagram public class A { private B myb =...; } public void do1() { myb.do2(); myb.do3(); }
9 Java Code for Interaction Diagrams UML Interaction Diagrams - Introduction 9 :A myb:b do2 do1 :A do3 1: do2 2: do3 E x a m p l e myb:b public class A { private B myb =...; } public void do1() { myb.do2(); myb.do3(); }
10 Common Notations for UML Interaction Diagrams UML Interaction Diagrams - Introduction 10 :Sale Lifeline box representing an unnamed instance of class Sale.
11 Common Notations for UML Interaction Diagrams UML Interaction Diagrams - Introduction 11 s1:sale Java Code: Sale s1 = ; Lifeline box representing a named instance (s1) of Sale.
12 Common Notations for UML Interaction Diagrams UML Interaction Diagrams - Introduction 12 «metaclass» Font Java Code: Class<Font> fontclass = Font.class; Lifeline box representing the class Font, or more precisely, that Font is an instance of class Class - an instance of a metaclass.
13 Common Notations for UML Interaction Diagrams UML Interaction Diagrams - Introduction 13 sales:arraylist<sale> Java Code: ArrayList<Sale> sales = ; Lifeline box representing an instance of an ArrayList class, parameterized to hold Sale objects.
14 Common Notations for UML Interaction Diagrams UML Interaction Diagrams - Introduction 14 Java Code: sales[i]:sale ArrayList<Sale> sales = ; Sale sale = sales.get(i); Lifeline box representing one instance of class Sale, selected from the sales ArrayList<Sale> collection.
15 Common Notations for UML Interaction Diagrams UML Interaction Diagrams - Introduction 15 :Sale s1:sale «metaclass» Font sales:arraylist<sale> sales[i]:sale O v e r v i e w
16 Common Notations for UML Interaction Diagrams - Format for Interaction Messages UML Interaction Diagrams - Introduction 16 Commonly Used Grammar: return = message(parameter:parametertype):returntype Parentheses are usually excluded if there are no parameters. Type information may be excluded if unimportant. initialize(code) initialize d = getproductdescription (id) E x a m p l e s d = getproductdescription (id : ItemId) d = getproductdescription (id : ItemId) : ProductDescription The same syntax is used by, e.g., the Scala programming language.
17 UML Sequence Diagrams
18 Modeling (Synchronous) Messages UML Sequence Diagrams 18 a found message whose sender will not be specified typical synchronous message shown with a filled-arrow line report execution specification bar indicates :Register getdate :Sale focus of control (optional) dt. Ausführungssequenz tostring getregno
19 Modeling (Synchronous) Messages UML Sequence Diagrams 19 a found message whose sender will not be specified report execution specification bar indicates focus of control (optional) UML Superstructure If the Message represents a CallAction, :Register getdate dt. Ausführungssequenz tostring getregno typical synchronous message shown with a filled-arrow line there will normally be a reply message from the called Lifeline back to the calling :Sale lifeline before the calling lifeline will proceed.
20 Self messages can be modeled using nested execution specification bars. UML Sequence Diagrams 20 canceltransaction :Register self message log
21 To show the return value of a message you can either use the message syntax (A) or use a message line at the end of an execution specification bar (B). execution specification bar =dt. Ausführungssequenz UML Sequence Diagrams 21 report :Register thereport = report :Sale Variant A report Variant B :Register :Sale report thereport
22 Object Instance Creation UML Sequence Diagrams 22 :Register makepayment(cashtendered) :Sale Newly created objects are placed at their creation height. create(cashtendered) :Payment authorize The name create is an UML idiom; it is not required.
23 Object Instance Destruction UML Sequence Diagrams 23 :Register makepayment(cashtendered) :Sale create(cashtendered) :Payment... X Not strictly required by the UML. The object destruction notation is also used to mark objects that are no longer usable.
24 Invoking Static Methods (Class Methods) UML Sequence Diagrams 24 report :Register locales = getavailablelocales Calendar Beware, other notations are also used (e.g. underlined method names).
25 Invoking Static Methods (Class Methods) UML Sequence Diagrams 25 report :Register locales = getavailablelocales Calendar public class Register { public void report() { Locale[] locales = Calendar.getAvailableLocales(); } } Corresponding Java Code
26 Diagram frames in UML sequence diagrams are used to support - among others - conditional and looping constructs. Frames have an operator and a guard. Diagram Frame ~dt. Fragment UML Sequence Diagrams 26 :Sale lineitems[i] : SalesLineItem t = gettotal loop [0 < i < lineitems.size] i++ st = getsubtotal E x a m p l e
27 How to model the iteration over a collection? UML Sequence Diagrams 27 Modeling task: Calculate the total of a sale by summing up the sub totals for each sales line item.
28 Use a UML loop frame to iterate over a collection. UML Sequence Diagrams 28 :Sale lineitems[i] : SalesLineItem t = gettotal loop [0 < i < lineitems.size] st = getsubtotal i++ Modeling task: Calculate the total of a sale by summing up the sub totals for each sales line item.
29 Use a UML loop frame to iterate over a collection. UML Sequence Diagrams 29 :Sale lineitems[i] : SalesLineItem t = gettotal loop [for each sales line item] st = getsubtotal Modeling task: Calculate the total of a sale by summing up the sub totals for each sales line item.
30 Java code corresponding to a UML loop frame. UML Sequence Diagrams 30 :Sale lineitems[i] : SalesLineItem t = gettotal public class Sale { private List<SalesLineItem> lineitems = new ArrayList<SalesLineItem>(); loop [for each sales line item] st = getsubtotal public Money gettotal() { Money t = new Money(); Money st = null; for (SalesLineItem lineitem : lineitems) { st = lineitem.getsubtotal(); t.add(st); } return t; } } Modeling task: Calculate the total of a sale by summing up the sub totals for each sales line item.
31 How to model the sending of a message only if a guard condition matches? UML Sequence Diagrams 31 Modeling task: Get the sum of all sales that happened today after 18:00 o clock.
32 Use a UML opt frame to model the sending of a message if the guard condition matches. UML Sequence Diagrams 32 :Register sales[i] : Sale r = gettotal(startdate) loop [for each sale] date = getdate opt [startdate < date] t = gettotal Frames can be nested. Modeling task: Get the sum of all sales that happened today after 18:00 o clock.
33 How to model mutually exclusive alternatives? UML Sequence Diagrams 33 Modeling task: A register should be able to handle credit card payments and cash payments.
34 Use the UML alt frame to model between 2 and n mutually exclusive alternatives. makepayment(type,sale) :Register UML Sequence Diagrams 34 alt [type = CreditCardPayment] create :CreditCardPayment [type = CashPayment] create :CashPayment Modeling task: A register should be able to handle credit card payments and cash payments.
35 Diagram frames in UML sequence diagrams are used to support - among others - conditional and looping constructs. makepayment(type,sale) :Register UML Sequence Diagrams 35 alt [type = CreditCardPayment] create In general, sequence diagrams [type = CashPayment] create :CreditCardPayment are not really well suited to show looping and conditional behavior. Activity diagrams and code may be alternatives. :CashPayment Modeling task: A register should be able to handle credit card payments and cash payments.
36 An interaction occurrence (interaction use) is a reference to an interaction within another interaction. UML Sequence Diagrams References are used to simplify a diagram and factor out a portion into another diagram or to enable reuse. 36 Modeling task: We want to calculate the store s overall total. interaction occurrence ~dt. Interaktionsauftreten
37 An interaction occurrence (interaction use) is a reference to an interaction within another interaction. UML Sequence Diagrams 37 :Register sales[i] : Sale r = gettotal(startdate) loop [for each sale] date = getdate opt [startdate < date] t = gettotal given
38 An interaction occurrence (interaction use) is a reference to an interaction within another interaction. sd = sequence diagram UML Sequence Diagrams 38 sd CalculatePerRegisterTotal r = gettotal(startdate) :Register sales[i] : Sale loop [for each sale] date = getdate opt [startdate < date] t = gettotal given
39 An interaction occurrence (interaction use) is a reference to an interaction within another interaction. UML Sequence Diagrams 39 sd CalculatePerRegisterTotal r = gettotal(startdate) :Register sales[i] : Sale loop [for each sale] date = getdate opt [startdate < date] t = gettotal
40 An interaction occurrence (interaction use) is a reference to an interaction within another interaction. UML Sequence Diagrams 40 :Store :Register sales[i] : Sale mr = managementreport r = gettotal(startdate) ref CalculatePerRegisterTotal...
41 How to model the sending of asynchronous messages? How to model objects that have their own thread of execution? UML Sequence Diagrams 41 Modeling task: The log information should automatically be collected and processed in the background.
42 Asynchronous messages are messages that don t block. An active object is an object where each instance runs on and controls its own thread of execution. UML Sequence Diagrams 42 create :Register Active objects are modeled using double vertical lines on the left and right side of the lifeline boxes. create :LogManager run Asynchronous messages are shown using stick arrows. Modeling task: The log information should automatically be collected and processed in the background.
43 UML Communication Diagrams
44 Links and Messages in Communication Diagrams UML Communication Diagrams 44 A link is a connection path between two objects (it is an instance of an association) A link indicates that some form of navigation and visibility between the objects is possible. Each message between objects is represented with a message expression and a small arrow indicating the direction of the message Sequence numbers are added to show the sequential order of messages in the current thread of control; the starting message is often not numbered. makepayment 1: makepayment(cashtendered) :Register 2: gettaxes 2.1. getdate :Sale
45 Links and Messages in Communication Diagrams Modeling self messages UML Communication Diagrams 45 makepayment :Register 1: verify
46 Alternative Notations for Modeling Instance Creation UML Communication Diagrams 46 Create message, with optional initializing parameters. This will normally be interpreted as a constructor call. :Register 1: create(cashier) :Sale :Register 1: create(cashier) :Sale{new} :Register «create» 1: make(cashier) :Sale If an unobvious creation message name is used, the message may be stereotyped for clarity.
47 Message Number Sequencing The initial message ist not numbered to make the numbering easier to comprehend. UML Communication Diagrams 47 second message third message i_msg 1: j_msg :A :B first message 2: n_msg 1.1: k_msg 2.1: l_msg :C fifth message forth message 2.2: m_msg :D sixth message
48 Modeling Conditional Messages UML Communication Diagrams 48 msg :E 2: msg6 Small letters are sometimes used to mark methods that are executed in parallel. 1a [test1]: msg2 :A :B 1b [not test1]: msg4 1a.1: msg3 :D 1b.1: msg5 :C The message is only sent if the condition evaluates to true. The condition is written in square brackets. In case of modeling mutually exclusive message conditional path letters are prepended.
49 Messages to Class Objects UML Communication Diagrams 49 makepayment :Sale 1: locs = getavailablelocales «metaclass» Calendar e.g. to format the date as either 3/2/2009 or
50 UML Communication vs. UML Sequence Diagrams
51 Strengths and Weaknesses Interaction Diagrams UML Interaction Diagrams 51 Type Strengths Weaknesses Sequence Diagram clearly shows sequence or time ordering of messages large set of detailed notation options - forced to extend to the right when adding new objects; consumes horizontal space Communication Diagram space economical - flexibility to add new objects in two dimensions - more difficult to see sequence of messages - fewer notational options
52 Strengths and Weaknesses Interaction Diagrams UML Interaction Diagrams 52 Type Strengths Weaknesses Sequence Diagram Communication Diagram clearly shows sequence or time ordering of messages large set of detailed notation options of their greater notational power. space economical - flexibility to add new objects in two dimensions - forced to extend to the right when adding new objects; consumes horizontal space UML tools often emphasize sequence diagrams, because - more difficult to see sequence of messages - fewer notational options
53 Summary
54 Goal of the Lecture 54 The goal of this lecture is to enable you to systematically carry out small(er) software projects that produce quality software. Modeling the dynamic behavior is often more rewarding than modeling the static structure w.r.t. understanding a domain Modeling the dynamic behavior is often particularly useful if the control-flow is more involved; but only draw the part that is relevant to understand the problem at hand The UML is often used informally - this is OK if everyone interprets the diagrams in the same way
55 Goal of the Lecture 55 The goal of this lecture is to enable you to systematically carry out small(er) commercial or open-source projects. Modeling Software Project Management Project Start Requirements Management Domain Modeling Modeling Testing Project End
Modeling Dynamic Behavior
Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Modeling Dynamic Behavior The following slides use material from: Craig Larman;
More informationIntroduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.
More informationChapter 15 UML Interaction Diagrams. Larman, C. Applying UML and Patterns. 3rd Ed. Ed. Prentice-Hall: 2005.
Chapter 15 UML Interaction Diagrams Larman, C. Applying UML and Patterns. 3rd Ed. Ed. Prentice-Hall: 2005. Fig. 15.1 : A myb : B doone dotwo dothree Fig. 15.2 doone : A 1: dotwo 2: dothree myb : B Fig.
More informationApplying UML & Patterns (3 rd ed.) Chapter 15
Applying UML & Patterns (3 rd ed.) Chapter 15 UML INTERACTION DIAGRAMS This document may not be used or altered without the express permission of the author. Dr. Glenn L. Ray School of Information Sciences
More informationDesign. Furthermore, it is natural to discover and change some requirements during the design and implementation work of the early iterations.
Design Design Iteratively Do the Right Thing, Do the Thing Right. The requirements and object-oriented analysis has focused on learning to do the right thing By contrast, the design work will stress do
More informationSequence Diagram. A UML diagram used to show how objects interact. Example:
Sequence Diagram A UML diagram used to show how objects interact. Example: r: Register s: Sale makepayment() makepayment() new() : Payment The above starts with a Register object, r, receiving a makepayment
More informationSequence Diagram. r: Register s: Sale
ACS-3913 1 Sequence Diagram A UML diagram used to show how objects interact. Example: r: Register s: Sale makepayment() makepayment() new() : Payment The above starts with a Register object, r, receiving
More informationCOMP 354: INTRODUCTION TO SOFTWARE ENGINEERING
COMP 354: INTRODUCTION TO SOFTWARE ENGINEERING Introduction to UML d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering 28-May-14 Unified Modeling Language Structural Diagrams
More informationMapping Designs to Code
Mapping Designs to Code Creating Class Definitions from DCDs public class SalesLineItem private int quantity; private ProductDescription description ; public SalesLineItem(ProductDescription desc, int
More informationUML Behavioral Models
UML Behavioral Models Dept. of Computer Science Baylor University Some slides adapted from materials in the following sources: UMLTutorial by Dr. R. France, Lecture slides by Dr. C. Constantinides Specifying
More informationSoftware Modeling & Analysis
Software Modeling & Analysis OOPT (Object Oriented Process with Trace) Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr What is OOPT? OOPT (Object Oriented Process with Trace) A software process based on RUP Revision
More informationSequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
More informationDomain Model and Domain Modeling
Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Domain Model and Domain Modeling Resources: Craig Larman; Applying UML and
More informationIntroduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt What
More informationWhat is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships
Class Diagram What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification
More informationWhat is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51
What is a Class Diagram? Class Diagram A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification
More informationClass diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch
Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe
More informationIntroduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.
More informationPrinciples of Software Construction: Objects, Design, and Concurrency. Assigning Responsibilities to Objects. toad. Jonathan Aldrich Charlie Garrod
Principles of Software Construction: Objects, Design, and Concurrency Assigning Responsibilities to Objects toad Fall 2014 Jonathan Aldrich Charlie Garrod School of Computer Science Key concepts from Thursday
More informationIntroduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.
More informationChapter 3: Object Oriented Design
Chapter 3: Object Oriented Design Object Oriented Design The boundaries between analysis and design are fuzzy, although the focus of each is quite distinct. In analysis, the focus is to fully analyze the
More informationCOMP 6471 Software Design Methodologies
COMP 6471 Software Design Methodologies Fall 2011 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp6471-fall2011.html Page 2 Sample UP Artifact Relationships Domain Model Context Business Modeling
More informationDesigning for Visibility & Mapping to Code CSSE 574: Session 4, Part 3
Designing for Visibility & Mapping to Code CSSE 574: Session 4, Part 3 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu Agenda Designing for Visibility Mapping
More informationCSE 308. UML Sequence Diagrams. Reading / Reference.
CSE 308 UML Sequence Diagrams Reading Reading / Reference www.ibm.com/developerworks/rational/library/3101.html Reference www.visual-paradigm.com/vpgallery/diagrams/sequence.html 2 1 Interaction Diagrams
More informationObject-Oriented Modeling. Sequence Diagram. Slides accompanying Version 1.0
Object-Oriented Modeling Sequence Diagram Slides accompanying UML@Classroom Version 1.0 Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology
More informationOO Design2. Design Artifacts
OO Design2 POS example - revisited LAR Ch 8 has entire POS design explained READ THIS CHAPTER and ASK Q s in class Design class diagrams Kinds of visibility of objects to one another Navigability of associations
More informationCTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D
CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D Today s Objectives To explain the basic concepts of OO(A)D To describe some best practices regarding to OO(A)D What is NOT UML? The UML
More informationConstantinos Constantinides Computer Science and Software Engineering Concordia University Montreal, Canada
1 Disclaimer: These slides are based on the 2 nd edition of Applying UML and Patterns; An introduction to OOAD and the Unified process by Craig Larman (2002). I take responsibility for any errors. Constantinos
More informationEnforcing Singularity
Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Enforcing Singularity For details see Gamma et al. in Design Patterns Enforcing
More informationLecture 21 Detailed Design Dynamic Modeling with UML
Lecture 21 Detailed Design Dynamic Modeling with UML Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte November 18, 2008
More informationUnified Modeling Language
Unified Modeling Language Software technology Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline UML Diagrams: Sequence Diagram Communication Diagram Interaction Overview Diagram Dr. Balázs Simon, BME,
More informationADVANCED SOFTWARE DESIGN LECTURE 7 GRASP
ADVANCED SOFTWARE DESIGN LECTURE 7 GRASP Dave Clarke 1 TODAY S LECTURE We will discuss 7 of the GRASP design patterns cohesion and coupling were covered earlier. These provide principles for evaluating
More informationInteraction Modelling: Sequence Diagrams
Interaction Modelling: Sequence Diagrams Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Interaction Modelling
More informationObject-Interaction Diagrams: Sequence Diagrams UML
Object-Interaction Diagrams: Sequence Diagrams UML Communication and Time In communication diagrams, ordering of messages is achieved by labelling them with sequence numbers This does not make temporal
More informationObject Oriented Methods with UML. Lecture -4
Object Oriented Methods with UML Lecture -4 Topics Class diagram with sample code Interaction diagram Sequence Diagram Collaboration Diagram Class Diagram with sample code +name: char #email: char #CNumber:
More informationSoftware Specification 2IX20
Software Specification 2IX20 Julien Schmaltz (slides from A. Serebrenik) Lecture 05: Interaction diagrams / Sequence diagrams This week sources Slides by Site by David Meredith, Aalborg University, DK
More informationOn to Object-oriented Design
Dr. Michael Eichberg Software Technology Group Department of Computer Science Technische Universität Darmstadt Introduction to Software Engineering On to Object-oriented Design Object-oriented Design 2
More informationResponsibilities. Using several specific design principles to guide OO design decisions.
Designing Objects with Responsibilities Using several specific design principles to guide OO design decisions. Challenge Old-school advice on OOD After identifying i your requirements and creating a domain
More informationCS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L
CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction UML Unified Modeling Language Very well recognized specification for modeling architectures, use cases, etc. UML
More informationDesign Engineering. Overview
Design Engineering Overview What is software design? How to do it? Principles, concepts, and practices High-level design Low-level design N. Meng, B. Ryder 2 1 Design Engineering The process of making
More informationClass diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch
Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2014 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe
More informationAssigning Responsibilities (Patterns of Responsibility Assignment Principles: GRASP)
Subsystem design basics Assigning Responsibilities (Patterns of Responsibility Assignment Principles: GRASP) Dept. of Computer Science Baylor University Focus on modeling how subsystems accomplish goals
More informationThe learning objectives of this chapter are the followings. At the end of this chapter, you shall
Chapter 5 Sequence diagrams In the previous chapters, we have seen different diagrams. Use case diagrams describe tasks that a system is supposed to perform. It gives high-level information about how a
More informationUnified Modeling Language (UML) Object Diagram and Interaction Diagrams
1 / 17 Unified Modeling Language (UML) and Miaoqing Huang University of Arkansas Spring 2010 2 / 17 Outline 1 2 3 / 17 Outline 1 2 4 / 17 A snapshot of the objects in a system at a point in time Object:
More informationReferences: Applying UML and patterns Craig Larman
References: Applying UML and patterns Craig Larman 1 2 What are patterns? Principles and solutions codified in a structured format describing a problem and a solution A named problem/solution pair that
More informationIntroduction to Unified Modelling Language (UML)
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Introduction to Unified
More informationCSE 403. UML Sequence Diagrams. Reading: UML Distilled Ch. 4, by M. Fowler
CSE 403 UML Sequence Diagrams Reading: UML Distilled Ch. 4, by M. Fowler These lecture slides are copyright (C) Marty Stepp, 2007. They may not be rehosted, sold, or modified without expressed permission
More informationKF5008 Program Design & Development. Lecture 3 Sequence Diagrams
KF5008 Program Design & Development Lecture 3 Sequence Diagrams Learning Outcomes At the end of the lecture, you should be able to: Explain the content and purpose of a UML Sequence Diagram Describe the
More informationUML Sequence Diagrams
UML Sequence Diagrams Prof. Dr. Eric Dubuis Berner Fachhochschule, @ Biel Course "UML and Design Patterns" of module "Software Engineering and Design", version October 2008 BFH/TI/Software Engineering
More informationLecture 17: (Architecture V)
Lecture 17: (Architecture V) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct. 30,
More informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationADVANCED SOFTWARE DESIGN LECTURE 4 GRASP. Dave Clarke
ADVANCED SOFTWARE DESIGN LECTURE 4 GRASP Dave Clarke TODAY S LECTURE We will discuss and apply the GRASP design patterns. These provide principles for evaluating and improving designs. friends User Name??
More informationUNIT-IV BASIC BEHAVIORAL MODELING-I
UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction
More informationObject Interaction Sequence Diagrams
Object Interaction Sequence Diagrams Based on Chapter 9 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using UML 4 th Edition, McGraw Hill, 2010 2010 Bennett, McRobb and Farmer
More informationUML Sequence Diagrams for Process Views
UML Sequence Diagrams for Process Views With some material from MartyStepp lectures, Wi07. Outline UML class diagrams recap UML sequence diagrams UML wrapup More detail: http://dn.codegear.com/article/31863#sequence-diagrams
More informationCS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML
CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence Diagrams 3. To show
More informationCreating Class Definitions from Design Class Diagrams: public class SalesLineItem // Java { private int quantity;
24.3.204 Coding (Implementation) The design model (design class diagram and interaction diagrams) provides some of the information that is necessary to generate the code. (Not all of the code) Creating
More informationChapter 10 Object-Oriented Design Principles
Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis
More informationMeltem Özturan
Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.
More informationSystem Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes
System Sequence Diagrams Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes Dynamic behaviors Class diagrams represent static relationships. Why? What about modeling dynamic behavior? Interaction
More informationSoftware Design and Analysis CSCI 2040
Software Design and Analysis CSCI 2040 Introduce UML State Machine Diagram Notation. Create State Machine Diagrams for Classes and Use Cases. Advanced techniques in Activity Diagrams. Software Design and
More informationPrinciples of Software Construction: Objects, Design and Concurrency. Just enough UML. toad
Principles of Software Construction: Objects, Design and Concurrency Just enough UML 15-214 toad Christian Kästner Charlie Garrod School of Computer Science With slides from Klaus Ostermann Learning Goals
More informationJava How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.
Java How to Program, 10/e Copyright 1992-2015 by Pearson Education, Inc. All Rights Reserved. Data structures Collections of related data items. Discussed in depth in Chapters 16 21. Array objects Data
More informationSequence Diagrams. Sequence Diagrams. Version Sequence Diagrams are. History. simple powerful readable used to describe interaction sequences
Sequence Diagrams Version 020913 INF-UIT 2002 / Basic Sequence Diagrams / Slide 1 Sequence Diagrams Sequence Diagrams are simple powerful readable used to describe interaction sequences History Has been
More informationUse Case Sequence Diagram. Slide 1
Use Case Sequence Diagram Slide 1 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of objects interact to complete the task of the use case. They
More informationQuestion Sheet There are a number of criticisms to UML. List a number of these criticisms.
Question Sheet 1 Name: ID: These questions do not have a formal, definitive answer. They are meant to be food for thoughts. Feel free to seek answers on browsing the Internet, talking to other software
More informationUnified Modeling Language (UML)
1 / 45 Unified Modeling Language (UML) Miaoqing Huang University of Arkansas 2 / 45 Outline 1 Introduction 2 Use Case Diagram 3 Class Diagram 4 Sequence Diagram 3 / 45 Outline 1 Introduction 2 Use Case
More informationCourse "Softwaretechnik" Book Chapter 2 Modeling with UML
Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,
More information6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views
1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties
More informationInteractions A link message
Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between
More informationOBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization
OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams
More informationObject-oriented design. More UML
Object-oriented design More UML Interfaces An interface is a language construct specific to Java Java does not support multiple inheritance Interfaces provide some of the same functionality A Java class
More informationInformation Expert (or Expert)
Page 2 Page 3 Pattern or Principle? Information Expert (or Expert) Class Responsibility Sale Knows Sale total SalesLineItem Knows line item total ProductDescription Knows product price The GRASP patterns
More informationPrinciples of Software Construction: Objects, Design and Concurrency. Object-Oriented Design: Assigning Responsibilities.
Principles of Software Construction: Objects, Design and Concurrency 15-214 toad Object-Oriented Design: Assigning Responsibilities Christian Kästner Charlie Garrod School of Computer Science With slides
More informationObject-Oriented and Classical Software Engineering
Slide 16.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 16 Slide 16.2 MORE ON UML 1 Chapter Overview Slide
More informationOn to Object-oriented Design
Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering On to Object-oriented Design Object-oriented Design 2 A popular way of thinking
More informationGoal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD
Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer
More informationBUILDING BLOCKS. UML & more...
BUILDING BLOCKS UML & more... banerjee@cs.queensu.ca 1 Main Sections UML Sequence Use Case Diagrams Diagrams 2 So, what is the problem? Software is extremely complex. - Once a structure is in place, very
More informationOBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization
OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization 2016 Software Engineering 2 (Zoom-Into Design) Requirement Requirement Specification (Functional & Non- Functional) analysis Requirement
More information17. GRASP: Designing Objects with Responsibilities
17. GRASP: Designing Objects with Responsibilities Objectives Learn to apply five of the GRASP principles or patterns for OOD. Dr. Ziad Kobti School of Computer Science University of Windsor Understanding
More informationTopic : Object Oriented Design Principles
Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities
More informationUML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram
UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling
More informationJAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 4 Professional Program: Data Administration and Management JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1) AGENDA
More informationObject-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 8.1 Interaction Diagrams Interaction diagrams are used to model the
More informationCredit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects
Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture
More informationPractical UML - A Hands-On Introduction for Developers
Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language
More informationCS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML
CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence
More information7. UML Sequence Diagrams Page 1 of 1
7. UML Sequence Diagrams Page 1 of 1 Sequence Diagram in UML In the last article, we saw Activity diagrams, the notations to be used in Activity diagrams, their significance, and how to build an Activity
More informationObjectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams
Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers
More informationUML Component Diagrams A.Y 2018/2019
UML Component Diagrams A.Y 2018/2019 Component diagrams Component diagrams are integral to building your software system. Drawn out with UML diagramming software, they help your team understand the structure
More informationChapter 2: The Object-Oriented Design Process
Chapter 2: The Object-Oriented Design Process In this chapter, we will learn the development of software based on object-oriented design methodology. Chapter Topics From Problem to Code The Object and
More informationPractical UML : A Hands-On Introduction for Developers
Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:
More informationUML (Unified Modeling Language)
UML (Unified Modeling Language) UML Outline Software Institute of Nanjing University 2009 Instructor 刘嘉 (Liu Jia) Email : liujia@software.nju.edu.cn ext : 509 Office : 705 2 References [1] The Unified
More informationINTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal
INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative
More informationLast Class: Clock Synchronization. Today: More Canonical Problems
Last Class: Clock Synchronization Logical clocks Vector clocks Global state Lecture 12, page 1 Today: More Canonical Problems Distributed snapshot and termination detection Election algorithms Bully algorithm
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationBBM 102 Introduction to Programming II Spring Inheritance
BBM 102 Introduction to Programming II Spring 2018 Inheritance 1 Today Inheritance Notion of subclasses and superclasses protected members UML Class Diagrams for inheritance 2 Inheritance A form of software
More informationRequirements Engineering
Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Engineering The following slides are primarily based on the contents of the
More informationRecap : UML artefacts. Black Box Requirements. Functional Specification. System. System. Test. Design. System. System. Development.
L5-1 Recap : UML artefacts Actors Use Cases Use Case Diagrams Storyboards Black Box Requirements System Validation Test Cases System Test Functional Specification System Development Notes Details Signatures
More informationIntroduction to Design Patterns
Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Introduction to Design Patterns (Design) Patterns A pattern describes... Patterns
More information