1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.

Slides:



Advertisements
Similar presentations
Context Diagram Yong Choi BPA CSUB.
Advertisements

GCSE ICT By the end of this session, you will be able to: Explain main features of ATM machines Identify features of credit cards, debit cards, smart cards.
Chapter 4: Requirements Engineering
Use Case Diagrams Damian Gordon.
Use Case & Use Case Diagram
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 3 - Software Systems and Requirements.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
USE CASE – ATM EXAMPLE Actors: ATM Customer ATM Operator Use Cases: The customer can withdraw funds from a checking or savings account query the balance.
SWE 214 (071) Use Case Diagrams Slide 1 Use Case Diagrams Examples.
UML and Systems Analysis MIS3502: Application Integration and Evaluation David Schuff
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Requirements and Design
Lecture 8 Electronic Commerce Modelling Techniques
ATM – requirements Team B Tom Hastjarjanto Martijn Nijenhof Ales Sturala Paul van der Ende.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
CS3773 Software Engineering Lecture 03 UML Use Cases.
1 Classes. 2 Finding classes w Choosing classes is first step in defining essence of problem w If you can recognize an abstraction, you’ve found a candidate.
Chapter 12 ATM Case Study, Part 1: Object-Oriented Design with the UML
Tutorial 2. What is a UML Use Case Diagram? Use case diagrams model the functionality of a system using actors and use cases. Use cases are services or.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
Object Oriented Analysis Process
{ How to Use An ATM A simple tutorial to teach how to use ATM Machines.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
Merijn Benjamin Christina
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyze and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 The requirements engineering process.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on 27/11/07 Automated Banking Machine for MacBank Inc. SFWR 3M04.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Faculty of Computer & Information Software Engineering Third year
Chapter 3, Section 3 ELECTRONIC BANKING.
ICT and Banks Banks use mainframe computers to maintain customer accounts. They store a record of each customer’s withdrawals and deposits. Each bank mainframe.
SFWR ENG 3KO4 Software Development Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS) for the Automated Banking Machine.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
SFWR ENG 3KO4 Software Development for Computer/Electrical Engineering Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS)
Faculty of Computer & Information
January Ron McFadyen1 January 2004 Assignment 1 Due: Friday Jan 23, Implement the ProductSpecification and Payment classes in any OO.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
ATM Adv. SW Engineering
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Week 3: Requirement Analysis & specification
Experimental Design Threats to Validity. Statistical—are results due to some systematic factor (hopefully the independent variable) or are results due.
Learning Intentions Explain what an ATM is and the facilities offered Identify the stages of withdrawing cash from an ATM List the advantages and disadvantages.
CS 160 and CMPE/SE 131 Software Engineering February 18 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
Lecture Outline Monday 23 rd February (Week 4) 3 – 3:10pm Review of Requirements Eng. and use cases 3:10 – 3:40pm Exercise on Use Case 3:40-4:40 Class.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Requirements Document for the Banking System
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
Inf 43: Introduction to Software Engineering May 7, 2016.
1 Case Study and Use Cases for Case Study Lecture # 28.
Introduction What would our society be like now if we did not have ATm’s? Not able to access money when we urgently want it. You will have to go to the.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Structured Analysis and Design Technique
ATM OO Design and Implementation Case Study
Recall The Team Skills Refining the Use cases
CompSci 280 S Introduction to Software Development
Dynamic Modeling of Banking System Case Study - I
Object-Oriented Static Modeling of the Banking System - I
Exercices & Corrections Week 3
Concepts, Specifications, and Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Real-Time Structured Analysis and Design Technique (RSTAD)
Presentation transcript:

1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde

2 Chapter 6 Requirements Evolution "You don't have to change, survival is not compulsory." -- Edward Demming

3 Requirements (Change) Management  What can change? –Objectives –Domain concepts –Functional requirements –Non-functional requirements –Assumptions about the environment…

4 Revisions vs. Variants  Revision – changes that correct or improve current version (improvement).  Variant – results from changes to adapt, restrict or extend a master version; has specific differences (intentional change).  Examples?

5 Chapter 6

6 Evolution Types and Causes  Corrective  Ameliorative  Adaptive  Contraction  Extension

7 RD Changes  Source: Requirements Engineering, Van Lamsweerde [Table 6.1] p. 222

8 Change Anticipation  At RE time –Choose more stable requirements rather than volatile –Implement traceability measures –Monitor volatile requirements  At software development time –Document likely changes –Capture traceability –Provide contextual information to development teams

9 Requirement Classifications for Change Anticipation  Stable vs. volatile  Common vs. distinct  Levels of stability and commonality  Make qualitative rather than quantitative statements (relative rather than absolute)

10

11 Change Anticipation Guidelines  Regroup within features of cohesive sets that share the same stability or commonality level and address the same objective.  To identify stable features, ask what a useful subset of features could be within each contraction, extension, variant.  Intentional and conceptual aspects are more stable than operational and factual ones.  Functional aspects related to core system objectives are more stable than non-functional constraints for improvement or technology adaptation.  Decisions among multiple options should be scrutinized.

12 Identifying Volatile Assumptions  Incomplete knowledge at RE time  Conflicts with another source  Risk analysis  Alternatives ways to meet system objective exist  Alternate ways to assign responsibility among system components exists

13 Traceability Management for Evolution Support  Traceability: documenting for evolution  Traceable – can fully figure out where an item comes from, why it comes from there, and where it goes to.  Forward vs. Backward Traceability (need both!)  Vertical Traceability –Business objectives to requirements, requirements elicitation documentation to RD  Horizontal Traceability –Definitions, assumptions

14

15 Traceability Links  Include info such as: –Rationale –Date –Author –Contributors, Stakeholders –Status (proposed, rejected, accepted, approved, deferred, etc.)  Can be between: –Requirements –Assumptions –Definitions –Etc.

16 Traceability Link Types  Dependency – A depends on B  Variant – B is the variant of master A  Revision – B is the next version of previous version A  Use – B uses A; A is used by B  Derivation – A is met by B; B is derived from A

17

18

19

20

21

22

23 Evolution Example  The software to be designed will control a simulated automated teller machine (ATM) having a magnetic stripe reader for reading an ATM card, a keyboard and display for interaction with the customer, a slot for depositing envelopes, a dispenser for cash (in multiples of $20), a printer for printing customer receipts, and a key-operated switch to allow an operator to start or stop the machine. The ATM will service one customer at a time. A customer will be required to insert an ATM card and enter a personal identification number (PIN) - both of which will be sent to the bank for validation as part of each transaction. The customer will then be able to perform one or more transactions. The card will be retained in the machine until the customer indicates that he/she desires no further transactions, at which point it will be returned - except as noted below.  A customer must be able to make a cash withdrawal from any suitable account linked to the card, in multiples of $ Approval must be obtained from the bank before cash is dispensed.  A customer must be able to make a deposit to any account linked to the card, consisting of cash and/or checks in an envelope. The customer will enter the amount of the deposit into the ATM, subject to manual verification when the envelope is removed from the machine by an operator. Approval must be obtained from the bank before physically accepting the envelope.  A customer must be able to make a transfer of money between any two accounts linked to the card.  A customer must be able to make a balance inquiry of any account linked to the card.  The ATM will communicate each transaction to the bank and obtain verification that it was allowed by the bank. In the case of a cash withdrawal or deposit, a second message will be sent after the transaction has been physically completed (cash dispensed or envelope accepted).  If the bank determines that the customer's PIN is invalid, the customer will be required to re-enter the PIN before a transaction can proceed. If the customer is unable to successfully enter the PIN after three tries, the card will be permanently retained by the machine, and the customer will have to contact the bank to get it back.  If a transaction fails for any reason other than an invalid PIN, the ATM will display an explanation of the problem, and will then ask the customer whether he/she wants to do another transaction.  Source:

24 Evolution Example  The software to be designed will control a simulated automated teller machine (ATM) having a magnetic stripe reader for reading an ATM card, a keyboard and display for interaction with the customer, a slot for depositing envelopes, a dispenser for cash (in multiples of $20), a printer for printing customer receipts, and a key-operated switch to allow an operator to start or stop the machine. The ATM will service one customer at a time. A customer will be required to insert an ATM card and enter a personal identification number (PIN) - both of which will be sent to the bank for validation as part of each transaction. The customer will then be able to perform one or more transactions. The card will be retained in the machine until the customer indicates that he/she desires no further transactions, at which point it will be returned - except as noted below.  A customer must be able to make a cash withdrawal from any suitable account linked to the card, in multiples of $ Approval must be obtained from the bank before cash is dispensed.  A customer must be able to make a deposit to any account linked to the card, consisting of cash and/or checks in an envelope. The customer will enter the amount of the deposit into the ATM, subject to manual verification when the envelope is removed from the machine by an operator. Approval must be obtained from the bank before physically accepting the envelope.  A customer must be able to make a transfer of money between any two accounts linked to the card.  A customer must be able to make a balance inquiry of any account linked to the card.  The ATM will communicate each transaction to the bank and obtain verification that it was allowed by the bank. In the case of a cash withdrawal or deposit, a second message will be sent after the transaction has been physically completed (cash dispensed or envelope accepted).  If the bank determines that the customer's PIN is invalid, the customer will be required to re-enter the PIN before a transaction can proceed. If the customer is unable to successfully enter the PIN after three tries, the card will be permanently retained by the machine, and the customer will have to contact the bank to get it back.  If a transaction fails for any reason other than an invalid PIN, the ATM will display an explanation of the problem, and will then ask the customer whether he/she wants to do another transaction. Source: Change: The ATM must be able to service multiple customers and be able to use any bill denominations $100 and under.

25

26

27

28

29

30

31

32