Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.

Slides:



Advertisements
Similar presentations
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Advertisements

Information System Engineering
Ch 12: Object-Oriented Analysis
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Requirements  Specifications  ….. Use cases, tests classes, … Requirements must be: --complete --consistent --unambiguous --correct.
Documenting Requirements using Use Case Diagrams
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
SE 555 – Software Requirements & Specifications Introduction
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Use Case Analysis – continued
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
USE Case Model.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
RUP Requirements RUP Artifacts and Deliverables
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Project Analysis Course ( ) Week 2 Activities.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
ITEC224 Database Programming
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan,
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Chapter 6 A Use-Case-Driven Process. 2 Definitions The choice of models and the choice of techniques used to express them have a significant impact on.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
1 Use Case Diagrams Use Case Actor Use case description Use case realization (Scenario) Use case relationships –Extends –Uses.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
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.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
The Software Development Process
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
Systems Development Life Cycle
Requirements and Use Cases
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due today, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Today: –Continue.
Understanding Requirements
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
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.
Software Design and Development Development Methodoligies Computing Science.
 System Requirement Specification and System Planning.
Classifications of Software Requirements
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use cases, tests classes, …
Fundamentals of Information Systems, Sixth Edition
Use Case Model Use case diagram.
Object Oriented Analysis and Design
CISC/CMPE320 - Prof. McLeod
Object-Oriented Software Engineering
Design Yaodong Bi.
Software Development Process Using UML Recap
Presentation transcript:

Requirements Elicitation

Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that the clients can understand – Focus on describing the purpose of the system – Errors in the elicitation phase are expensive to fix Requirements Analysis: analysis model that the developers can understand 3

Requirements Elicitation Developers observe users in their environment and interview them They use Scenarios and Use cases, easy to understand by clients They also use prototypes for validation They produce Requirements Specification, it will be used as a contract 4

Part of requirements System functionality Interaction between users and system Environmental conditions Errors the system can detect and handle 5

Functional requirements Describes the interaction between the system and users The user could be anyone or anything that interacts with our future system Remember, nothing is left over, every aspect should be well defined. We are defining what the system should do, not how the system will do it. Both, the actor and system behaviour should be well defined 6

Non-functional requirements Describes the system overall attributes – Usability – Reliability – Performance – Supportability and maintainability – Implementation requirements – Interface requirements-legacy system – Operational requirements-administration – Legal requirements-licensing 7

Requirements Elicitation Activities 1.Identify Actors 2.Identify Scenarios 3.Identify Use cases 4.Identify Relationships between actors and use cases 5.Identify initial analysis objects (conceptual class diagram) 6.Identify non-functional requirements 8

Requirements Elicitation activities Identifying Actors They are external to the system Anyone or anything that interacts with our system We can ask the following questions: – Which user groups are supported by the system to perform their work? – Which user groups execute system main functions? – Which user groups perform secondary functions? – With what external hardware or software will the system interact? 9

Identify Scenarios and Use Cases High level piece of functionality that the system will provide Scenarios are instances of use cases. Real events, real actors. We can ask the following questions: – What are the tasks that the actor wants the system to perform? – What information does the actor access? Who creates that data? Can it be modified and removed? by whom? – Which external changes does the actor need to inform the system? – Which events does the system need to inform the actor? 10

FRIEND System Case Study

Refine Use cases The focus of this activity is on completeness and correctness – Elements manipulated by the system are detailed – Low-level sequence of interaction are specified – Alternative scenarios Many use case are rewritten many times Others are refined Others are dropped U may use GUI mokups 12

Identify relationships among actors and use cases Actors and use cases – Initiate – Participate Between Use case: – Include – Extend 13

How do we represent the include relationship? In the base use case – If the included use case can be invoked at any point of the flow of event, we indicate the inclusion in the quality requirements – If it is invoked during an event, we specify which event in the flow of event How do we represent the extend relationship? – In the extending use case’s entry requirement 14

Use case writing guidelines Use cases should be named with verb phrases Actors should be named with noun phrases The boundary of the system should be clear The casual relationships between successive steps should be clear A use case should be a complete user transaction Exceptions should be described separately Do not get into technical stuff, such as design Should not exceed 2-3 pages. 15

Identify initial analysis objects Use cases are main source Look for noun and noun phrases to identify entities Look for verbs and verb phrases to identify relationships between entities

Use Case Example 17 Use Case Name: Check Campaign Budget Brief Intro: Checks whether the budget for a campaign is likely to be exceeded by the total cost of all the adverts that make it up. Actors: Campaign Manager Main Flow: 1. The campaign manager enters the client name. [Exception: Known campaign name] 2. The system lists all campaigns for that client (include Use Case: Find Campaign) 3. The campaign manager selects the relevant campaign 4. The system calculates the total cost of all adverts in the campaign, deducts this from the campaign budget and displays the balance. (Extension Points: Print Campaign Summary, Print Campaign Invoice) Alternative Flow: Known campaign name -The campaign manager knows the campaign name and enters it directly. The use case continues from step 4.

Use Case ( with nouns identified) 18 Use Case Name: Check Campaign Budget Summary: Checks whether the budget for a campaign is likely to be exceeded by the total cost of all the adverts that make it up. Actors: Campaign Manager Description: 1. The campaign manager enters the client name. 2. The system lists all campaigns for that client (Include Use Case: Find Campaign) 3. The campaign manager selects the relevant campaign 4. The system calculates the total cost of all adverts in the campaign, deducts this from the campaign budget and displays the balance. Alternative Flow: Known campaign name -The campaign manager knows the campaign name and enters it directly. The use case continues from step 4. Underline nouns and noun-phrases to identify possible objects

Candidate Classes (1) 19 Categorise on basis of confidence, but don’t lose objects

Candidate Classes (2) 20

Candidate Classes (3) 21 Candidates may move from one list to another as knowledge gained

Candidate Classes (4) 22 Candidate classes and attributes begin the Class Diagram

Candidate Classes (5) 23 What about ‘total advert cost’? total advert cost Probably a derived attribute of Campaign

Identify non-functional requirements - Usability What is the level of experience for the user? What user interface standards are familiar to the user? What documentation should be provided to the user? 24

Reliability: robustness, safety and security How reliable, robust, and available the system should be? How much data the system can loose? How much time the system can remain offline? How the system should handle exceptions? Are there any safety or security requirements for the system?

Performance How responsive should the system be? Are any user tasks time critical? How many concurrent users there will be? How large is the data store? What is the worst latency acceptable?

Supportability: maintainability and portability What are the foreseen extensions to the system? Who maintains the system ? Are there plans to port the system to different software or hardware environments?

Implementation Are there constraints on hardware platform? Are there constraints imposed by maintenance team?

Interface Should the system interact with existing systems? How are the data imported/exported to the system?

Packaging How installs the system? How it will be installed?

Legal Should the system be licensed? Are any liability issues associated with system failure? Should other used components/software be licensed?