Requirements Elicitation and Elaboration

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.
1 R&D SDM 1 Software Project Management Requirements Analysis 2010 Theo Schouten.
Chapter 5 Understanding Requirements
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Requirements Analysis Concepts & Principles
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements Engineering Process – 1
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Understanding Requirements. Requirements Engineering
S/W Project Management
Requirements Analysis
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Requirements Engineering How do we keep straight what we are supposed to be building?
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
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.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
Chapter 8 요구사항 이해 Understanding Requirements
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
By Germaine Cheung Hong Kong Computer Institute
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Requirement Engineering
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
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.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
 System Requirement Specification and System Planning.
CS 4500: Software Development Mondays and Wednesdays 2:50-4: Snell Engineering Center.
CMPE 280 Web UI Design and Development August 29 Class Meeting
EKT 421 SOFTWARE ENGINEERING
Requirement Engineering
Requirements Elicitation – 1
Chapter 8 Understanding Requirements
Software Engineering (CSI 321)
Software Requirements analysis & specifications
Chapter 9 Requirements Modeling: Scenario-Based Methods
Methodologies For Systems Analysis.
UNIT II.
Object Oriented Analysis and Design
Chapter 7 Requirements Engineering
Business Modeling - Domain Analysis
Chapter 5 Understanding Requirements
Chapter 7 Requirements Engineering
Requirements Engineering Tasks
CSC 480 Software Engineering
Requirements Engineering Process – 1
Chapter 5 Understanding Requirements
Chapter 5 Understanding Requirements.
Presentation transcript:

Requirements Elicitation and Elaboration CSC 513 Dr. M. M. Pickard

How do we accomplish a software project? Just do it! Keep the effort organized: What comes first? Determine what is needed/wanted.

Example: Selection of Software Process Activities for a specific project Implemen- tation The Hacker knows only one activitity Possible activities for a more disciplined project Requirements Elicitation Analysis System Design Object Design Implemen- tation Testing Each activity produces one or more models

Model? What’s a model? An abstraction of a system aimed at simplifying the reasoning about the system by omitting irrelevant details. Requirements elicitation may produce a use case model. With scenarios.

Requirements Engineering Requirements Elicitation Requirements Analysis Referred to as “elaboration” by Pressman.

Requirements Engineering Requirements Analysis (Wikipedia) In systems engineering and software engineering, requirements analysis encompasses all of the tasks that go into the investigation, scoping and definition of a new or altered system. Requirements analysis is an important part of the system design process, whereby requirements engineers and business analysts, along with systems engineers or software developers, identify the needs or requirements of a client. Once the client's requirements have been identified, the system designers are then in a position to design a solution. Requirements analysis is also known by other names, such as: requirements engineering requirements gathering requirements capture operational concept documenting systems analysis requirements specification

In This Presentation: Requirements Engineering consists of two activities: Requirements Elicitation “Elicitation: To draw forth or bring out.” Merriam-Webster OnLine. Requirements Analysis Determine the relationships among identified requirements, how to satisfy them, and so forth. These are often overlapping, indistinct activities.

Requirements Elicitation Focus on user view of the system Identify Actors. Scenarios. Use cases. Relationships among use cases.

Actors Roles rather than persons. External entities that interact with the system of concern. Can be an external hardware or software system. Look for initiators of use cases.

Scenarios Can describe an interaction of the actor with the system. As currently done; As could be done; Used to help users and developers come to a common understanding of what the system should do. Start abstract; refine and complete during elaboration.

Use Cases, Scenarios A use case diagram graphically depicts one way in which an actor interacts with the system. A use case (eventually) includes all possible scenarios for a particular interaction. A scenario is a verbal description of one particular interaction of the user with the system.

Requirements Elicitation Functional requirements Interactions between the system and its actors; functional behavior of the system. Nonfunctional requirements Requirements that don’t work? No, requirements that have to do with how the interactions are facilitated. Examples: reliability, performance, usability, etc. “The system must respond within 1 second to user input.” See FURPS model discussed in text.

Nonfunctional Requirements Concern aspects of the system not related to functional behavior. Quality Requirements Relating to usability, reliability, performance, supportability. Constraints Other

Desirable Qualities of Requirements Realistic Verifiable Traceable Complete Consistent Unambiguous Correct

Desirable Qualities of Requirements Realistic – Possible and practical. Verifiable – Tests can show it’s there. Traceable – An unbroken line front to back Complete – All possible scenarios are represented. Consistent – No conflicts. Unambiguous – Multiple interpretations are not possible. Correct – Represents the client’s needs and the developer’s understanding of them.

Three Kinds of Projects- Different Effects on Reqts Elicititation Greenfield engineering Brand-new; no prior system. Reqts. elicited from users and client. Reengineering Start w/existing system. Reqts. extracted from it; users may add. Interface engineering Only the interface changes.

Requirements Document This is a deliverable of the requirements elicitation activity. May have aliases, e.g., Preliminary Requirements Document (PRD), Requirements Specification, etc., but the latter implies that some analysis has been done. Possible components List of requirements High level use case diagrams

Other Possible Requirements Engineering Work Products Feasibility analysis Technical Economic Identification of stakeholders Stakeholder – “Anyone who is affected in a direct or indirect way by the product which is being developed.” Prototypes

Elaboration (a.k.a. Requirements Analysis) Refine and complete use case diagrams. Create analysis model that includes identification of candidate classes. Other possible components: Refined use case diagrams showing product use under different conditions. Activity diagrams. Glossary.

Negotiation Resolve conflicting requirements. Prioritize requirements. Iteratively review requirements with clients. Eliminate. Combine. Modify. See Negotiation presentation.

Validation Formal technical review. Include users. Prototyping.

What did we cover? Definitions Identification of reqts using use cases Functional versus nonfunctional requirements Desirable qualities of requirements Types of projects as related to requirements Work products of requirements engineering Negotiation Validation