Requirements  Specifications  ….. Use cases, tests classes, … Requirements must be: --complete --consistent --unambiguous --correct.

Slides:



Advertisements
Similar presentations
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Advertisements

Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Objectives Detailed Object-Oriented Requirements Definitions
Information System Design IT60105
ATM User Interface Design. Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Use-case Modeling.
1 Building an Analysis Model of the System Under Development.
1 The Object-oriented Paradigm and The Unified Modeling Language (UML)
Introduction to Software Engineering Dr. Basem Alkazemi
1 Decomposing the System Requirements  Specifications (Use cases)  Design --classes **entity **boundary **control --sequence diagrams --CRC cards **responsibilites.
Chapter 4: Requirements Elicitation 4.5: Managing Requirements Elicitation Supervised by: Dr. Qutaibah Malluhi Software Engineering Done by: Sarah Al-Aqailly.
UML for Embedded Systems Development--Revisited. table_05_00 * * * * *
UML for Embedded Systems Development— Extensions; Hardware-Software CoDesign.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
1 CMPT 275 Software Engineering Requirements Analysis Phase Overview of Requirements Analysis Activity System Context Diagrams.
USE Case Model.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Object-Oriented Analysis - Instructor Notes
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
Case Study :. Introduction The ATM network will consist of a large number of ATM machines distributed over a wide geographical area. The network must.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
CMPT 275 Software Engineering
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
1 Use Case Modeling Reference: RUP Doc. Use Case Example 2.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
ANALYSIS - II REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Use Case Diagrams Use Case Actor Use case description Use case realization (Scenario) Use case relationships –Extends –Uses.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Adv. Use cases Actor generalization – general and special actors Use case generalization – general and special use cases Include and extend relationships.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
1 Building an Analysis Model of the System Under Development.
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Use Case, Component and Deployment Diagrams University of Sunderland.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
The Quality Gateway Chapter 11. The Quality Gateway.
Use Cases. 2 A use case... –Specifies the behavior of a system or some subset of a system. –Is a system-level function. –Does not indicative how the specified.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Requirements Engineering Process
Use cases, tests classes, …
Use Case Model.
Rumbaugh’s Objectmodeling Technique
The Process of Object Modeling
Concepts, Specifications, and Diagrams
Chapter 9 Use Cases.
Object Oriented Analysis and Design
Use Cases.
Building an Analysis Model of the System Under Development
Decomposing the System
Object-Oriented Software Engineering
Software Development Process Using UML Recap
Guidelines for use cases (1)
Presentation transcript:

Requirements  Specifications  ….. Use cases, tests classes, … Requirements must be: --complete --consistent --unambiguous --correct

Another way to organize requirements (text)--FURPS: Functional requirements: *F—functionality Nonfunctional requirements: “Quality”: *U—Usability *R—Reliability (Dependability—reliability, robustness, safety) *P—Performance *S—Supportability “Constraints”: *implementation requirements Operations requirements, packaging requirements, legal requirements * = important this quarter

Steps to turn requirements into specifications: --identify actors --identify scenarios (specific examples of use cases) --identify use cases --refine use cases as appropriate (extends / includes)—don’t overdo this --identify relationships among actors and use cases --can now begin to identify objects needed (  design) --also need to identify nonfunctional requirements

Use case writing guide (p. 137 of text): --each use case should be traceable to requirements --name should be a verb phrase to indicate user goal --actor names should be noun phrases --system boundary needs to be clearly defined --use active voice in describing flow of events, to make clear who does what --make sure the flow of events describes a complete user transaction ---if there is a dependence among steps, this needs to be made clear --describe exceptions separately --DO NOT describe the user interface to the system, only functions --DO NOT make the use case too long—use extends, includes instead --as you develop use cases, develop associated tests

Example—bank simulation (Horstmann) Teller 1 Teller 2 Teller 3 Teller 4 Customer 1Customer 3Customer 2 Horstmann, Mastering Object- Oriented Design in C++, Wiley, 1995

Use Cases--Bank Goal: Develop a tool to simulate the bank to decide on optimal values for number of tellers, number of customer queues, etc. Use cases?