Lecture 08: Scenarios and Use Cases
|
|
- Nicholas Park
- 6 years ago
- Views:
Transcription
1 Introduction evelopment Process, Metrics Requirements ngineering rchitecture & esign onstructive Models Testing, Formal Verification Invited Talks Wrap-Up L 1: 20.4., Mo T 1: 23.4., o L 2: 27.4., Mo L 3: 30.4., o L 4: 4.5., Mo T 2: 7.5., o L 5: 11.5., Mo , o L 6: 18.5., Mo L 7: 21.5., o , Mo , o T 3: 1.6., Mo , o L 8: 8.6., Mo L 9: 11.6., o L10: 15.6., Mo T 4: 18.6., o L11: 22.6., Mo L12: 25.6., o L13: 29.6., Mo T 5: 2.7., o L14: 6.7., Mo L15: 9.7., o L16: 13.7., Mo L17: 16.7., o T 6: 20.7., Mo L18: 23.7., o lbert-ludwigs-universität Freiburg, Germany Prof. r. ndreas Podelski, r. ernd Westphal Lecture 08: Scenarios and Use ases Softwaretechnik / Software-ngineering 4/ Sprelim ontents & Goals Last Lecture: onsistency, ompleteness, etc. for ecision Tables. This Lecture: ducational Objectives: apabilities for following tasks/questions. What is a scenario/an anti-scenario? What is included in a use case? In a use case diagram? What is the abstract syntax of this Live Sequence hart (LS)? Which are the cuts and firedsets of this LS? onstruct the T of a given LS body. Given a set of LSs, which scenario/anti-scenario/requirement is formalised by them? Formalise this positive scenario/anti-scenario/requirement using LSs. ontent: Scenarios in Requirements ngineering User Stories; Use ases and iagrams Live Sequence harts Scenarios 2/78 5/78 You re Here 3/78
2 Suserstories 10/78 back side of file card: (acceptance) test case(s) how to tell whether the user story has been realised. effort, estimated by developers, priority (from 1 (highest) to 10 (lowest)) assigned by customer, unique identifier (e.g. unique number), and in addition: s a [role] I want [something] so that [benefit]. Per user story, one file card with the user story, e.g. following the pattern: User Story is a concise, written description of a piece of functionality that will be valuable to a user (or owner) of the software. User Stories (eck, 1999) Sscen 7/78 (i) fter switching on, insert no money. (ii) Press the tea button. (iii) Get a tea. (iv) Get 100e change. Negative scenario: (iv) Get 50 cent change. (iii) Get a softdrink. (ii) Press the softdrink button. (i) Insert one 1 euro and one 50 cent coin. Positive scenario: xample: Vending Machine Suserstories Sscen Notations for Scenarios The idea of scenarios (sometimes without negative or anti-scenarios) (re-)occurs in many process models or software development approaches. First prominent recognition: OOS (Jacobson, 1992) In the following, we will discuss two and a half notations (in increasing formality): User Stories (part of xtreme Programming) Use ases and Use ase iagrams (OOS) Sequence iagrams (here: Live Sequence harts (amm and Harel, 2001)) 8/78 User Stories: iscussion Proposed card layout (front side): priority unique identifier, name estimation s a [role] I want [something] so that [benefit]. risk real effort easy to create close contact to customer customers are usually not trained in writing requirements may get difficult to keep overview over whole system to be developed strong dependency on competent developers estimation of effort may be difficult not easy to cover non-functional requirements and restrictions (alzert, 2009) 11/ Suserstories Sspeclang Recall: User Stories Natural Language Patterns Natural language requirements can be written using,,,,, F where clarifies when and under what conditions the activity takes place is MUST (obligation), SHOUL (wish), or WILL (intention); also: MUST NOT (forbidden) is either the system or the concrete name of a (sub-)system one of three possibilities: does, description of a system activity, offers, description of a function offered by the system to somebody, is able if, usage of a function offered by a third party, under certain conditions extensions, in particular an object F the actual process word (what happens) (Rupp and die SOPHISTen, 2009) xample: fter office hours (= ), the system (= ) should (= ) offer to the operator (= ) a backup (= F) of all new registrations to an external medium (= ). 37/90 9/78 12/78
3 Suc Use ases Use ase xample name uthentication goal the client wants access to the TM pre-condition the TM is operational, the welcome screen is displayed, card and PIN of client are available post-condition client accepted, services of TM are offered post-cond. in exceptional case access denied, card returned or withheld, welcome screen displayed actors client (main actor), bank system open questions none normal case 1. client inserts card 2. TM read card, sends data to bank system 3. bank system checks validity 4. TM shows PIN screen 5. client enters PIN 6. TM reads PIN, sends to bank system 7. bank system checks PIN 8. TM accepts and shows main menu exception case 2a card not readable 2a.1 TM displays card not readable 2a.2 TM returns card 2a.3 TM shows welcome screen 13/78 16/78 (-by-sa 4.0, irk Ingo Franke) Suc Suc open questions none normal case 1. client inserts card 2. TM read card, sends data to bank system 3. bank system checks validity 4. TM shows PIN screen 5. client enters PIN 6. TM reads PIN, sends to bank system 7. bank system checks PIN 8. TM accepts and shows main menu exception case 2a card not readable 2a.1 TM displays card not readable 2a.2 TM returns card 2a.3 TM shows welcome screen exception case 2b card readable, but not TM card exception case 2c no connection to bank system exception case 3a card not valid or disabled exception case 5a client cancels exception case 5b client doesn t react within 5s exception case 6a no connection to bank system exception case 7a first or second PIN wrong exception case 7b third PIN wrong (Ludewig and Lichter, 2013; V-Modell XT, 2006) 14/78 17/78 (-by-sa 4.0, irk Ingo Franke) Suc Use ase: efinition use case sequence of interactions between an actor (or actors) and a system triggered by a specific actor, which produces a result for an actor. (Jacobson, 1992) participants: the system and at least one actor, actor: an actor represents what interacts with the system. n actor is a role, which a user or an external system may assume when interacting with the system under design. ctors are not part of the system, thus they are not described in detail. ctions of actors are non-deterministic (possibly constrained by domain model). use case is triggered by a stimulus as input by the main actor. use case is goal oriented, i.e. the main actor wants to reach a particular goal. use case describes all interactions between the system and the participating actors that are needed to achieve the goal (or fail to achieve the goal for reasons). use case ends when the desired goal is achieved, or when it is clear that the desired goal cannot be achieved. 15/78 Use ase iagrams 18/78
4 Sequence iagrams Sucd use case use case extends uses or include use case use case More notation: client bank system uthenticate Use ase iagrams 19/78 22/ Ssd Sucd Use ase iagram: igger xamples TM info services extend print statement [not auth.] query balance [print statement] include transactions get cash include basic services extend define standing order include authentication (Ludewig and Lichter, 2013) Recall: Vending Machine xample Positive scenario: (i) Insert one 1 euro and one 50 cent coin. (ii) Press the softdrink button. (iii) Get a softdrink. (iv) Get 50 cent change. Negative scenario: (i) fter switching on, insert no money. (ii) Press the tea button. (iii) Get a tea. (iv) Get 100e change. notation understandable by customer precision complexity of definition natural language feels like visual formalism (temporal) logic /78 23/ Ssd Sucd Use ase iagram: igger xamples (V-Modell XT, 2006) 21/78 History Most Prominent: Sequence iagrams with long history: Message Sequence harts, standardized by the ITU in different versions (ITU Z.120, 1st edition: 1993), often accused to lack a formal semantics. Sequence iagrams of UML 1.x (one of three main authors: I. Jacobson) Most severe drawbacks of these formalisms: unclear interpretation: example scenario or invariant? unclear activation: what triggers the requirement? unclear progress requirement: must all messages be observed? conditions merely comments no means (in language) to express forbidden scenarios msc (ITU-T, 2011) 24/78
5 Msg L L is a set of messages with (l,,l ) Msg only if (l,l ) ; message (l,,l ) is called instantaneous iff l l and asynchronous otherwise, ond (2 L \ ) Φ() is a set of conditions with (L,φ) ond only if l l for all l l L, LocInv L {, } Φ() L {, } is a set of local invariants with (l,ι,φ,l,ι ) LocInv only if l l, : exclusive, : inclusive, Θ : L Msg ond LocInv {hot,cold} assigns to each location and each element a temperature. I = {I1,...,In} is a partitioning of L; elements of I are called instance line, a partial order L L, a symmetric simultaneity relation L L disjoint with, i.e. =, L is a finite, non-empty of locations with where ((L,, ),I,Msg,ond,LocInv,Θ) efinition. [LS ody] Let be a set of events and a set of atomic propositions. n LS body over and is a tuple LS ody: bstract Syntax Ssd ation aint servation nstraint :User :System ode d=duration {d..3*d} ardout {0..13} t=now OK {t..t+3} Unlock (OMG, 2007) sd Userccepted LS: L M: invariant I: strict Ss of UML 2.x address some issues, yet the standard exhibits unclarities and even contradictions (Harel and Maoz, 2007; Störrle, 2003) For the lecture, we consider Live Sequence harts (LSs) (amm and Harel, 2001; Klose, 2003; Harel and Marelly, 2003), who have a common fragment with UML 2.x Ss (Harel and Maoz, 2007) Modelling guideline: stick to that fragment. Thus: Live Sequence harts 25/78 28/ Ssd The Plan LSs as another formal software specification: LS body abstract and concrete syntax, xcursion: üchi automata (T), T construction: uts, Firedsets, Transitions, Language of an LS body, Putting it all together: ctivation modes, Pre-charts, xistential and universal LSs, Some bigger LS examples, iscussion of MS issues named on previous slide. Some concluding notes on the block Requirements ngineering. Next block: design, architecture... LS ody xample L : l1,0 l1,1 l1,2 l1,3, l1,2 l1,4, l2,0 l2,1 l2,2 l2,3, l3,0 l3,1 l3,2, l1,1 l2,1, l2,2 l1,2, l2,3 l1,3, l3,2 l1,4, l2,2 l3,1, I = {{l1,0,l1,1,l1,2,l1,3,l1,4},{l2,0,l2,1,l2,2,l2,3},{l3,0,l3,1,l3,2}}, Msg = {(l1,1,,l2,1),(l2,2,,l1,2),(l2,2,,l3,1),(l2,3,,l1,3),(l3,2,,l1,4)} ond = {({l2,2},)}, LocInv = {(l1,1,,,l1,2, )} 26/78 29/78 Live Sequence harts: Syntax (ody) LS ody xample L : l1,0 l1,1 l1,2 l1,3, l1,2 l1,4, l2,0 l2,1 l2,2 l2,3, l3,0 l3,1 l3,2, l1,1 l2,1, l2,2 l1,2, l2,3 l1,3, l3,2 l1,4, l2,2 l3,1, I = {{l1,0,l1,1,l1,2,l1,3,l1,4},{l2,0,l2,1,l2,2,l2,3},{l3,0,l3,1,l3,2}}, Msg = {(l1,1,,l2,1),(l2,2,,l1,2),(l2,2,,l3,1),(l2,3,,l1,3),(l3,2,,l1,4)} ond = {({l2,2},)}, LocInv = {(l1,1,,,l1,2, )} l1,0 l2,0 l3,0 l1,1 l2,1 l1,2 l2,2 l3,1 l1,3 l1,4 l2,3 l3,2 27/78 29/78
6
7 I1 nd The Other Way Round L : I = Msg = ond = LocInv = 30/78 oncrete vs. bstract Syntax L : l1,0 l1,1 l1,2 l1,3, l1,2 l1,4, l2,0 l2,1 l2,2 l2,3, l3,0 l3,1 l3,2, l1,1 l2,1, l2,2 l1,2, l2,3 l1,3, l3,2 l1,4, l2,2 l3,1, I = {{l1,0,l1,1,l1,2,l1,3,l1,4},{l2,0,l2,1,l2,2,l2,3},{l3,0,l3,1,l3,2}}, Msg = {(l1,1,,l2,1),(l2,2,,l1,2),(l2,2,,l3,1),(l2,3,,l1,3),(l3,2,,l1,4)} ond = {({l2,2},)}, LocInv = {(l1,1,,,l1,2, )} I2 31/78 Note: if messages in a chart are cyclic, then there doesn t exist a partial order (so such charts don t even have an abstract syntax). (l1,,l2) Msg : l {l1,l2}. an instance head, i.e. l is minimal wrt., or a message, i.e. then there is a location l simultaneous to l, i.e. l l, which is the location of a local invariant, i.e. (l1,ι1,φ,l2,ι2) LocInv : l {l1,l2}, or a condition, i.e. (L,φ) ond : l L, or For each location l L, if l is the location of ondedness/no floating conditions: (could be relaxed a little if we wanted to) Well-Formedness LocInv = {(l1,1,,,l1,2, )} ond = {({l2,2},)}, Msg = {(l1,1,,l2,1),(l2,2,,l1,2),(l2,2,,l3,1),(l2,3,,l1,3),(l3,2,,l1,4)} L : l1,0 l1,1 l1,2 l1,3, l1,2 l1,4, l2,0 l2,1 l2,2 l2,3, l3,0 l3,1 l3,2, l1,1 l2,1, l2,2 l1,2, l2,3 l1,3, l3,2 l1,4, l2,2 l3,1, I = {{l1,0,l1,1,l1,2,l1,3,l1,4},{l2,0,l2,1,l2,2,l2,3},{l3,0,l3,1,l3,2}}, LS ody xample 29/78 32/78
8 References 77/78 References alzert, H. (2009). Lehrbuch der Softwaretechnik: asiskonzepte und Requirements ngineering. Spektrum, 3rd edition. eck, K. (1999). xtreme Programming xplained mbrace hange. ddison-wesley. amm, W. and Harel,. (2001). LSs: reathing life into Message Sequence harts. Formal Methods in System esign, 19(1): Harel,. and Maoz, S. (2007). ssert and negate revisited: Modal semantics for UML sequence diagrams. Software and System Modeling (SoSyM). To appear. (arly version in SSM 06, 2006, pp ). Harel,. and Marelly, R. (2003). ome, Let s Play: Scenario-ased Programming Using LSs and the Play-ngine. Springer-Verlag. ITU-T (2011). ITU-T Recommendation Z.120: Message Sequence hart (MS), 5 edition. Jacobson, I. (1992). Object Oriented Software ngineering Use ase riven pproach. M Press. Klose, J. (2003). LSs: Graphical Formalism for the Specification of ommunication ehavior. Ph thesis, arl von Ossietzky Universität Oldenburg. Ludewig, J. and Lichter, H. (2013). Software ngineering. dpunkt.verlag, 3. edition. OMG (2007). Unified modeling language: Superstructure, version Technical Report formal/ Rupp,. and die SOPHISTen (2014). Requirements-ngineering und -Management. Hanser, 6th edition. Störrle, H. (2003). ssert, negate and refinement in UML-2 interactions. Technical Report TUM-I0323, Technische Universität München. V-Modell XT (2006). V-Modell XT. Version /78
Lecture 8: Use Cases and Scenarios
Softwaretechnik / Software-Engineering Lecture 8: Use Cases and Scenarios 2016-06-02 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 8 2016-06-02 main Topic
More informationLecture 8: Use Cases and Scenarios
Softwaretechnik / Software-Engineering Lecture 8: Use Cases and Scenarios 2017-06-01 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 8 2017-06-01 main Topic
More informationLecture 02: Semantical Model
Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2014-10-23 02 2014-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2013-10-23 02 2013-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationLecture 07: Class Diagrams II
Software Design, Modelling and Analysis in UML Lecture 07: lass Diagrams II 2014-11-13 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany ontents & Goals Last Lecture:
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 06: Class Diagrams I 2013-11-11 06 2013-11-11 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Course
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 06: Class Diagrams I 2013-11-11 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Course Map UML W N E Model
More informationLecture 15: Hierarchical State Machines I
Software Design, Modelling and Analysis in UML Lecture 15: Hierarchical State Machines I 2015-01-08 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal 15 2015-01-08 main Albert-Ludwigs-Universität Freiburg,
More informationSoftware Design, Modelling and Analysis in UML
ourse Map ontents & Goals UML W N E Last Lecture: OL Semantics Software Design, Modelling and Analysis in UML Lecture 05: lass Diagrams I 2011-11-15 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität
More informationLecture 10: State Machines Overview
Software Design, Modelling and Analysis in UML Lecture 10: State Machines Overview 2015-12-03 10 2015-12-03 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany
More informationLecture 16: Hierarchical State Machines II
Software Design, Modelling and Analysis in UML Lecture 6: Hierarchical State Machines II 206-0-9 6 206-0-9 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2013-10-28 03 2013-10-28 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2013-10-28 03 2013-10-28 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,
More informationLecture 6: Requirements Engineering
Softwaretechnik / Software-Engineering Lecture 6: Requirements Engineering 2018-05-07 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 6 2018-05-07 main 6 2018-05-07
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2012-10-30 03 2012-10-30 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 07: A Type System for Visibility 2013-11-18 07 2013-11-18 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,
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 informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language (OCL) 2011-11-02 03 2011-11-02 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,
More informationAssert and Negate Revisited: Modal Semantics for UML Sequence Diagrams
Assert and Negate Revisited: Modal Semantics for UML Sequence Diagrams David Harel dharel@weizmann.ac.il (preliminary version) The Weizmann Institute of Science, Rehovot, Israel Shahar Maoz shahar.maoz@weizmann.ac.il
More informationSteps in Using COMET/UML
SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 5- Finite State Machines and Statecharts Hassan Gomaa Dept of Computer Science George Mason University it Fairfax,
More informationFormal Methods for Software Development
Formal Methods for Software Development Model Checking with Temporal Logic Wolfgang Ahrendt 21st September 2018 FMSD: Model Checking with Temporal Logic /GU 180921 1 / 37 Model Checking Check whether a
More informationRefinement Using µ-charts: The Compaq Grand Slam Cup Case Study Revisited
Refinement Using µ-charts: The Compaq Grand Slam Cup Case udy Revisited Hubert Baumeister Institut für Informatik Universität München Oettingenstr. 67 80538 München, Germany Christoph Maier FAST e.v. Arabellastr.
More informationSE 1: Software Requirements Specification and Analysis
SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)
More informationMetamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
More information2 nd UML 2 Semantics Symposium: Formal Semantics for UML
2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany
More informationPage 1. Dynamic Modeling. How do you find classes? Dynamic Modeling with UML. UML Interaction Diagrams. UML State Chart Diagram.
Dynamic Modeling How do you find classes? We have already established several sources for class identification: Application domain analysis: We find classes by talking to the client and identify abstractions
More informationTimo Latvala. January 28, 2004
Reactive Systems: Kripke Structures and Automata Timo Latvala January 28, 2004 Reactive Systems: Kripke Structures and Automata 3-1 Properties of systems invariants: the system never reaches a bad state
More informationT Reactive Systems: Kripke Structures and Automata
Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Kripke Structures and Automata Spring 2005, Lecture 3 January 31, 2005 Tik-79.186 Reactive Systems 2 Properties of systems invariants: the system
More informationThe Esterel Language. The Esterel Version. Basic Ideas of Esterel
The Synchronous Language Esterel OMS W4995-02 Prof. Stephen. Edwards Fall 2002 olumbia University epartment of omputer Science The Esterel Language eveloped by Gérard erry starting 1983 Originally for
More informationAdministrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs
Administrivia Requirements and Specification CS169 Lecture 4 Wednesday: Groups and one-sentence idea(s) due at class One per group If you have a small group, still submit so that you will be kept together.
More informationUML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus
UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 08: Class Diagrams II 2013-11-20 08 2013-11-20 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationTERMOS: a Formal Language for Scenarios in Mobile Computing Systems
TERMOS: a Formal Language for Scenarios in Mobile Computing Systems Hélène Waeselynck 1,2, Zoltán Micskei 3, Nicolas Rivière 1,2, Áron Hamvas 3, Irina Nitu 1,2 1 CNRS; LAAS 7 av. Colonel Roche F-31077
More information12 Tutorial on UML. TIMe TIMe Electronic Textbook
TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 07: Class Diagrams II 2009-11-12 07 2009-11-12 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationCS 115 Data Types and Arithmetic; Testing. Taken from notes by Dr. Neil Moore
CS 115 Data Types and Arithmetic; Testing Taken from notes by Dr. Neil Moore Statements A statement is the smallest unit of code that can be executed on its own. So far we ve seen simple statements: Assignment:
More informationINCONSISTENT DATABASES
INCONSISTENT DATABASES Leopoldo Bertossi Carleton University, http://www.scs.carleton.ca/ bertossi SYNONYMS None DEFINITION An inconsistent database is a database instance that does not satisfy those integrity
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 informationNatural Language Requirements
Natural Language Requirements Software Verification and Validation Laboratory Requirement Elaboration Heuristic Domain Model» Requirement Relationship Natural Language is elaborated via Requirement application
More informationChapter 5, Analysis: Dynamic Modeling
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 5, Analysis: Dynamic Modeling ü Requirements Elicitation (Ch.4) ü Introduction (Ch 1-3) OOSE- Galaxy ü Nonfunctional Requirements
More informationChapter 1 Introduction
Chapter 1 Introduction We hardly need to point out the importance of business process modelling and of respective automation in this place (see, e.g. [39, 45, 58, 110, 141]). Also the advantages and shortcomings
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 informationChapter 5, Analysis: Dynamic Modeling
Chapter 5, Analysis: Dynamic Modeling Using UML, Patterns, and Java Object-Oriented Software Engineering Dynamic Modeling with UML Diagrams for dynamic modeling Interaction diagrams describe the dynamic
More information15-819M: Data, Code, Decisions
15-819M: Data, Code, Decisions 08: First-Order Logic André Platzer aplatzer@cs.cmu.edu Carnegie Mellon University, Pittsburgh, PA André Platzer (CMU) 15-819M/08: Data, Code, Decisions 1 / 40 Outline 1
More informationAssert and negate revisited: Modal semantics for UML sequence diagrams
Softw Syst Model (2008) 7:237 252 DOI 10.1007/s10270-007-0054-z REGULAR PAPER Assert and negate revisited: Modal semantics for UML sequence diagrams David Harel Shahar Maoz Received: 26 August 2006 / Revised:
More informationMulti-event IDS Categories. Introduction to Misuse Intrusion Detection Systems (IDS) Formal Specification of Intrusion Signatures and Detection Rules
Formal Specification of Intrusion Signatures and Detection Rules By Jean-Philippe Pouzol and Mireille Ducassé 15 th IEEE Computer Security Foundations Workshop 2002 Presented by Brian Kellogg CSE914: Formal
More informationChapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.
Chapter 6: Entity-Relationship Model The Next Step: Designing DB Schema Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common
More informationSoftware Service Engineering
Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language
More informationUnified Modeling Language (UML)
Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software
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 informationCS 115 Lecture 4. More Python; testing software. Neil Moore
CS 115 Lecture 4 More Python; testing software Neil Moore Department of Computer Science University of Kentucky Lexington, Kentucky 40506 neil@cs.uky.edu 8 September 2015 Syntax: Statements A statement
More informationMaterial: Specification and Reasoning. Book: Logic in Computer Science, M.Huth, M.Ryan, Cambridge University Press. Lectures mondays here,
Material: Specification and Reasoning Lectures mondays here, Lecturer Pasquale Malacaria CS/428 Labs thursdays with Dino DiStefano Book: Logic in Computer Science, M.Huth, M.Ryan, Cambridge University
More informationThe Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.
Chapter 6: Entity-Relationship Model Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common data organization model The Relational
More informationXIV. The Requirements Specification Document (RSD)
XIV. The Requirements Specification Document (RSD) What is a RSD? What to include/not include in a RSD? Attributes of a Well-Written RSD Organization of a RSD Sample Table of Contents An Example 2002 John
More informationUML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.
UML Modeling UML diagrams UML (Unified Modeling Language) is a general purpose visual modeling language that provides different types of diagrammatic techniques and notations to specify, visualize, analyze,
More informationSOFTWARE DESIGN COSC 4353 / Dr. Raj Singh
SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationOverview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems - Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two
More informationEfficient Synthesis of Production Schedules by Optimization of Timed Automata
Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student
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 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 informationFormal Specification of Software Systems
Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software
More informationLecture 03: Object Constraint Language
Software Design, Modelling and Analysis in UML Lecture 03: Object Constraint Language 2016-10-27 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 03 2016-10-27
More information/50 5/50 2/50 3/50 6/50. UML-Notationsübersicht. Teil 1/4. Figure Examples of navigable ends. enda. endb main
a c e g i b d f h j * * Software Design, Modelling and Analysis in UML Lecture 07: Class Diagrams II 20--30 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany UML
More informationSoftware Design, Modelling and Analysis in UML
Software Design, Modelling and Analysis in UML Lecture 1: Introduction 2011-10-25 1 2011-10-25 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationVariables and Data Representation
You will recall that a computer program is a set of instructions that tell a computer how to transform a given set of input into a specific output. Any program, procedural, event driven or object oriented
More informationTime Exceptions in Sequence Diagrams
in Sequence Diagrams Oddleif Halvorsen, Ragnhild Kobro Runde, Øystein Haugen 02-Oct-2006 MARTES 2006 at MoDELS 2006 1 Summary Introducing time exceptions improve the completeness of sequence diagram descriptions
More informationTransformational Design with
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität
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 informationRefinement and Formalization of Semi-Formal Use Case Descriptions
Refinement and Formalization of Semi-Formal Use Case Descriptions Matthias Riebisch, Michael Hübner Ilmenau Technical University Max-Planck-Ring 14; 98684 Ilmenau; Germany {matthias.riebisch michael.huebner}@tu-ilmenau.de
More information1: Specifying Requirements with Use Case Diagrams
Outline UML Design Supplement 1: Specifying Requirements with Use Case Diagrams Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases Slide adapted from Eran Toch s lecture
More informationEngineering Design w/embedded Systems
1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large
More informationLecture 6: Requirements Engineering
Lecture 6: Requirements Engineering Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte
More informationMA 1128: Lecture 02 1/22/2018
MA 1128: Lecture 02 1/22/2018 Exponents Scientific Notation 1 Exponents Exponents are used to indicate how many copies of a number are to be multiplied together. For example, I like to deal with the signs
More informationFrom Task Graphs to Petri Nets
From Task Graphs to Petri Nets Anthony Spiteri Staines Department of Computer Inf. Systems, Faculty of ICT, University of Malta Abstract This paper describes the similarities between task graphs and Petri
More informationCHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview
CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:
More informationDevelopment of Integrated Hard- and Software Systems: Tasks and Processes
TECHNISCHE UNIVERSITÄT ILMENAU Development of Integrated Hard- and Software Systems: Tasks and Processes Integrated Communication Systems http://www.tu-ilmenau.de/iks General Development Tasks Analysis
More informationFinite State Machines and Statecharts
Finite State Machines and Statecharts Hassan Gomaa Dept of Information & Software Engineering George Mason University Reference: H. Gomaa, Chapter 10 - Designing Concurrent, Distributed, and Real-Time
More informationLecture 3: Recursion; Structural Induction
15-150 Lecture 3: Recursion; Structural Induction Lecture by Dan Licata January 24, 2012 Today, we are going to talk about one of the most important ideas in functional programming, structural recursion
More informationCompiler Construction I
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Compiler Construction I Dr. Michael Petter SoSe 2015 1 / 58 Organizing Master or Bachelor in the 6th Semester with 5 ECTS Prerequisites Informatik
More informationSTEPWISE DESIGN WITH MESSAGE SEQUENCE CHARTS *
STEPWISE DESIGN WITH MESSAGE SEQUENCE CHARTS * Ferhat Khendek¹, Stephan Bourduas¹, Daniel Vincent² ¹Department of Electrical and Computer Engineering, Concordia University 1455, de Maisonnneuve W., Montréal
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 informationAdvanced Class Diagrams and Intro to Interaction Modeling
Advanced Class Diagrams and Intro to Interaction Modeling Or: Advance to Illinois Avenue. Do not pass Go. Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO
More informationLecture 6: Requirements Engineering
Softwaretechnik / Software-Engineering Lecture 6: Requirements Engineering 2016-05-12 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 6 2016-05-12 main 6 2016-05-12
More information4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271
Mel Checking LTL Property System Mel Mel Checking CS 4271 Mel Checking OR Abhik Roychoudhury http://www.comp.nus.edu.sg/~abhik Yes No, with Counter-example trace 2 Recap: Mel Checking for mel-based testing
More informationCOMP/ELEC 429/556 Introduction to Computer Networks
OMP/ELE 49/6 Introduction to omputer Networks Intra-domain routing Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu
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 informationHoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré
Hoare Logic COMP2600 Formal Methods for Software Engineering Rajeev Goré Australian National University Semester 2, 2016 (Slides courtesy of Ranald Clouston) COMP 2600 Hoare Logic 1 Australian Capital
More informationIntegrated HW/SW Systems: Requirements
TECHNISCHE UNIVERSITÄT ILMENAU Integrated HW/SW Systems: Requirements Integrated Communication Systems http://www.tu-ilmenau.de/iks Analysis process Functional requirements Performance requirements Real-time
More informationImplementation of Lexical Analysis
Written ssignments W assigned today Implementation of Lexical nalysis Lecture 4 Due in one week y 5pm Turn in In class In box outside 4 Gates Electronically Prof. iken CS 43 Lecture 4 Prof. iken CS 43
More informationImplementation of Lexical Analysis
Written ssignments W assigned today Implementation of Lexical nalysis Lecture 4 Due in one week :59pm Electronic hand-in Prof. iken CS 43 Lecture 4 Prof. iken CS 43 Lecture 4 2 Tips on uilding Large Systems
More informationA Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version
The Synchronous Language Prof. Stephen. Edwards Simple Example The specification: The output O should occur when inputs and have both arrived. The R input should restart this behavior. First Try: n FSM
More informationCompiler Construction I
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Compiler Construction I Dr. Michael Petter, Dr. Axel Simon SoSe 2014 1 / 59 Organizing Master or Bachelor in the 6th Semester with 5 ECTS Prerequisites
More informationUsing Choice and Junction Points in RSARTE vs RoseRT
Using Choice and Junction Points in RSARTE vs RoseRT CHOICE POINTS IN ROSE RT AND RSARTE...2 CHOICE POINTS VS JUNCTION POINTS...5 HOW CHOICE POINTS ARE IMPORTED FROM ROSERT...8 This document discusses
More informationUML Views of a System
UML Views of a System The architecture of a system is the fundamental organization of the system as a whole. The five UML Views: Use Case View: focuses on scenarios Design View: focuses on the vocabulary
More informationIntroduction to Software Engineering. 6. Modeling Behaviour
Introduction to Software Engineering 6. Modeling Behaviour Roadmap > Use Case Diagrams > Sequence Diagrams > Collaboration (Communication) Diagrams > Activity Diagrams > Statechart Diagrams Nested statecharts
More informationSOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.
SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented
More informationFormal Specification and Verification
Formal Specification and Verification Model Checking with Temporal Logic Bernhard Beckert Based on a lecture by Wolfgang Ahrendt and Reiner Hähnle at Chalmers University, Göteborg Formal Specification
More informationRequirements Elicitation
Requirements Elicitation Introduction into Software Engineering Lecture 4 25. April 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation: Software Lifecycle
More informationModels of computation
12 Models of computation Peter Marwedel TU Dortmund Informatik 12 Springer, 2010 2012 年 10 月 23 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models of computation What
More information