1 Modeldrevet softwareudvikling – 7. september 2004 Design Methods for Reactive Systems, R.J. Wieringa Part II: Function Notations Jens Bæk Jørgensen,

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 1 Use Cases: an Introduction  Adriano Comai 1999.
Information System Engineering
A Linguistics-Based Approach for Use Case Driven Analysis Using Goal and Scenario Authoring Vijayan Sugumaran Oakland University Rochester, Michigan, USA.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Introduction To System Analysis and Design
Use-case Modeling.
1 Specification of IT Systems Mandatory Exercise Week 2.
Chapter 14 Requirements and Specifications. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Software Engineering The implementation.
1 Specification of IT Systems – Introduction. 2 Book and web pages zIn the course we use the following litterature: yDesign Methods for Reactive Systems.
Communication Notation Part V Chapter 15, 16, 18 and 19.
1 Design Methods for Reactive Systems, R.J. Wieringa Part IV: Behavior Notations Jens Bæk Jørgensen, University of Aarhus.
Documenting Requirements using Use Case Diagrams
Requirements Analysis Classes & Associations b510.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Object Oriented Analysis Process
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to System Requirements Lecture 2 Use-Cases.
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Systems Requirements Lecture 4 Identifying.
Software Requirements
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
1 Modeldrevet softwareudvikling – 16. november 2004 Design Methods for Reactive Systems, R.J. Wieringa Part IV: Software Specification Methods Jens Bæk.
Overview of Software Requirements
1 Design Methods for Reactive Systems, R.J. Wieringa Part V: Communication Notations Jens Bæk Jørgensen, University of Aarhus.
1 Specification of IT Systems Mandatory Exercise Week 2 – Group 7 Ebbe Oberlin Flarup Henrik Skaarup Andersen Thomas John Hørlyck Christensen.
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Use Case Analysis – continued
Functions of Management
Introduction To System Analysis and design
Documenting Software Architectures
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
The Next Stage in Analysis: Systems Use Case Diagrams 1 SYS366.
Business Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan,
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
1 Unified Modeling Language Michael K. Wildes University of California, Riverside – Extension Program Presentation 2.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Structuring Systems Requirements Use Case Description and Diagrams.
An Introduction to the Unified Modeling Language
CPSC 203. Use Case Diagram  A description of a system’s behavior as it responds to a request that originates from outside of that system. Specifies the.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
CMSC 345 Use Cases. u Describes the system’s behavior under various conditions as the system responds to a request from one of the stakeholders, called.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
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.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
1.Introduction to Rational Unified Process (RUP)
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall
Concepts, Specifications, and Diagrams
Requirements Reference: Software Engineering, by Ian Sommerville, 6th edition, Chapters 5, 6, & 8.
Object-Oriented Software Engineering
Use Case Analysis – continued
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

1 Modeldrevet softwareudvikling – 7. september 2004 Design Methods for Reactive Systems, R.J. Wieringa Part II: Function Notations Jens Bæk Jørgensen, Aarhus Universitet

2 Introduction – basic concepts and terminology zFunction: Ability to create desired effect in environment yResponsibility: Contribution to environment goal yService: Useful interaction triggered by event yTransaction: Atomic interaction

3 Introduction – software development design levels

4 Mission statement – basics zHighest level software specification zTo find software mission yAnalyze business goals yFind desired emergent properties E of composite system zJustify purpose and responsibilities by system engineering argument zUpdate mission statement during project

5 Mission statement – training information system zName: Training Information System zPurpose: To support management of monthly introductory training courses zResponsibilities yTo support course preparation, including allocation of participants to groups and printing badges yTo support course handling (unexpected, absentees) yTo support course wrap-up z Exclusions yData of unexpected participants is not checked yNo support for allocation of speakers to groups yNo support for allocation of groups to rooms

6 Mission statement – goal tree of training department

7 Mission statement – juice heating controller zName: Juice heating controller zPurpose: To control the heating process of juices in a heating tank zResponsibilities yTo initialize itself with batch data and heat the batch according to recipe yTo report on the heating process yTo maintain safe conditions in a tank zExclusions yNo support for filling storage tanks with juice yNo support for transferring pasteurized juice to canning line

8 Mission statement – goal tree of juice pasteurization plant

9 Mission statement – in general zPurpose: Role of SuD in business solution zResponsibilities; organise according to yThe business goals they contribute to yThe business process in which they are used yThe external entities that are needed to exercise the responsibilities yThe kind of added value they deliver to the environment zComposition: Description of SuD in context zExclusions: Use for expectation management

10 Function refinement tree – basics zMakes responsibilities more specific zBounds functionality of SuD yJustifies presence of services yPrevents presence of unnecessary services zThe most implementation-independent description of SuD yNot a system structure ySubjective organization yMeans of communication with customer

11 Function refinement tree – training information system

12 Function refinement tree – Guidelines for construction zDistinguish product properties from process properties zDistinguish product properties from product constraints zDistinguish between external and internal product properties zDistinguish services from quality attributes zDistinguish primary services from features zIdentify and categorise primary services zCheck that services have triggers and deliver something valuable zOrganise functions in a tree and relate them to responsibilities

13 Function refinement tree – juice heating controller exercise zP0: Initialize with batch data zP1: Heat a batch according to recipe zP2: Monitor temperature in tank zP3: Maintain a log of each heating process zP4: Watch for critical conditions zP5: Stop the system upon request from operator zP6: System should run in any plant of factory zP7: System should run on NT and Linux zP8: System should be delivered within two months zP9: System development method should be M1 zP10: Development budget is 60,000 $ zP11: Mean time between failures should be a year

14 Function refinement tree – juice heating controller

15 Service description – basics zContents of service description yTriggering event yDelivered service (of value for the environment) yAssumptions about environment (optional) zPurpose of service description yShare understanding of desired service among all stakeholders ySpecify service in an implementation-independent way yBound functionality of SuD yProduce system engineering argument

16 Service description – training information system; download joiners zTriggering event: Coordinator requests to download list of joiners from personnel information system zDelivered service: Download the list of people from personnel information system who have joined the company since previous training zAssumptions: Data in personnel information system reflects situation accurately with a time lag of not more than one working day

17 Service description – training information system; upload participant record zTriggering event: Coordinator requests to upload list of joiners to personnel information system zDelivered service: Upload the list of people who participated in the training to personnel information system zAssumptions: Personnel information systems is able to deal with data about unexpected participants, including any remaining errors in that data

18 Service description – juice heating controller; heat batch according to recipe zTriggering event: Operator command ”start heating batch b according to recipe” zDelivered service: Upon reception of this command, the controller ensures that a heating process takes place, in the heating tanks in which b is stored, according to the recipe of b zAssumptions: There is a batch in the heating tank

19 Service description – guidelines for construction zDo not be too detailed; ask yIs this an interaction that a customer is willing to pay for? yIs this an interaction after which the user feel they can go away and have a break? zDo not give details about system behaviour, nor about communication channels with SuD zJust describe valuable effect of system in environment zDescribe a service as you would explain it to the customer

20 Service descriptions – comparison with UML-style use cases zJacobson, 1987: ”A use case is a special sequence of transactions, performed by a user and a system in a dialogue” zUML, 1999: ”A use case is a description of a set of sequences of actions, including variants, that a system performs to yield an observable result to an actor” zRobertsons (Volere), 1999: ”Use cases are a unit of work that the user finds useful” zCockburn, 2001: ”The use case describes the system’s behavior under various conditions as the system responds to a request from one of the stakeholders (…) an interaction with the system to accomplish some goal” zWieringa, 2003: ”Services are similar to use cases”

21 Service descriptions – Literature on UML-style use cases zCockburn: Writing Effective Use Cases, Addison- Wesley, 2001 zBooch, Rumbaugh, Jacobson: The Unified Modeling Language User Guide, Addison-Wesley, 1999 zKruchten: The Rational Unified Process – an Introduction, Addison-Wesley, 1999 zBittner, Spence: Use Case Modeling, Addison- Wesley, 2003 zJacobson: Use Cases – Yesterday, Today, and Tomorrow, Journal on Software and Systems Modeling, July 2004

22 Summary zMission statements zGoal trees zFunction refinement trees zService descriptions