0% found this document useful (0 votes)
8 views

Software Requirement Engineering - 04m

The document discusses requirements engineering for software projects. It provides guidance on analyzing problems, understanding stakeholder needs, defining system requirements, and managing project scope and changes. Key steps include thoroughly understanding the problem by exploring root causes, gaining agreement on the problem definition, identifying stakeholders, and defining the system boundary. Problem analysis is emphasized as crucial to developing the right requirements and solution.

Uploaded by

Rashid Mehmood
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Software Requirement Engineering - 04m

The document discusses requirements engineering for software projects. It provides guidance on analyzing problems, understanding stakeholder needs, defining system requirements, and managing project scope and changes. Key steps include thoroughly understanding the problem by exploring root causes, gaining agreement on the problem definition, identifying stakeholders, and defining the system boundary. Problem analysis is emphasized as crucial to developing the right requirements and solution.

Uploaded by

Rashid Mehmood
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Words of Wisdom

• Our ability to think and make


Software Requirements Engineering choices differentiates us from
other creatures. We can choose
good over bad, right over wrong.
Week 3
• For the worst of beasts in the sight of Allah
are those who reject Him. They will not
believe. Al-Quran (8:55)

Main Goals Requirements Skills


• Analyze the problem
• List candidate requirements – Taking nothing for granted, pursue stakeholders to understand the problem
behind the problem.
– Feature list (vision) • Elicit/Understand stakeholder needs
– Adopt various elicitation tech­niques to obtain a detailed understanding of the
• Understand system context needs to be met by the system.
• Define the system
– Business or Domain Model – Establish the boundaries of what the sys­tem should do and set the right
expectations among the stakeholders.
• Capture functional requirements • Manage the scope of the project/system
– Along the way, continuously monitor the scope and progress of the project to
– Use Case model ensure that schedules are met in a controlled and expected fashion.
• Detail the system (refine the system definition)
• Capture non-functional requirements – Use effective techniques to define the details of what the system is to be
capable of.
– Supplementary requirements • Manage changing requirements
– Be prepared for and capa­ble of handling changes in requirements that will
occur as the project unfolds.

1
RUP Workflow Details Definition of a Problem

“A problem can be defined as the difference


between

{Problem}

things as things as
and
perceived desired”

Gause & Weinberg, 1989

Why Is Analyzing the Problem


Five steps
Important?
• To avoid the “Yes, …, but ….” • Gain agreement on the problem definition
“Yes, {it meets the requirements},
but {it doesn’t solve my problem}.” • Understanding the root causes
• Problem analysis time is on top of the pyramid • Identify the stakeholders and the users
– It pays big dividends if you do it up front
– Problem understood is half solved
• Define the solution system boundary
• Analysis work is transferable • Identify the constraints to be imposed on the
 Problem Statement solution
 Subject is customer
“I need to …”
 Requirement Statement
 Subject is system
“The system provides …”

2
Gain Agreement Problem Definition
• What is the problem? • Writing down in standard format
– We technologists tend to rush headlong into
solution providing - rather than taking time to truly
understand the problem Elements Description
– Suggestion: Write it down, see if you can get
The Problem of Describe the problem
everyone to agree on it
• What is the problem, really? affects Identify stakeholders affect by the problem

– Searching for root causes - or the “problem behind the result of which Describe the impact of this problem on stakeholders
and business activities
the problem” - often leads to a clearer
understanding of the real problem Benefits of Indicate the proposed solution and list a few key
benefits

Example Root Causes


• Problem behind the problem
Elements Description
• How to find?
The Problem of Inaccuracies in sales orders – Ask, and Ask
– Gather data
affects Sales order personnel, customer, manufacturing,
• Fishbone diagram
shipping, and customer services
– Be sure everyone agrees on the effect or problem statement before
the result of which Is increased scrap, excessive handling costs, beginning.
customer dissatisfaction, and decreased profitability – Be to the point.
– For each node, think what could be its causes. Add them to the tree.
Benefits of A new system to address the problem include – Pursue each line of causality back to its root cause.
 Increased accuracy of sales orders at point of – Consider grafting relatively empty branches onto others.
entry – Consider splitting up overcrowded branches.
 Improved reporting of sales data to management – Consider which root causes are most likely to merit further
 And ultimately, higher profitability investigation.

3
Fishbone diagram 5 Whys
• Problem Statement: You are on your way home from work and
your car stops in the middle of the road.
• 1. Why did your car stop?
- Because it ran out of gas.
• 2. Why did it run out of gas?
- Because I didn't buy any gas on my way to work.
• 3. Why didn't you buy any gas this morning?
- Because I didn't have any money.
• 4. Why didn't you have any money?
- Because I lost it all last night in a poker game.
• 5. Why did you lose your money in last night's poker game?
- Because I'm not very good at "bluffing" when I don't have a
good hand.

Stakeholders and users System Boundary


• Anyone who could be materially affected by the • The System boundary defines the border between the
implementation of a new system or application solution and the real world that surround the solution
• May ask following questions – Our system
– Who are the users of the system? – Things that interact with our system
– Who is the customer (economic buyer) for the system?
– Who else will be affected by the outputs that the system? System
– Who will evaluate and bless the system when it is deployed? boundary
– Are there any other internal or external users of the system
whose needs must be addressed?
I/O
– Who will maintain the new system? Our Solution
– Is there anyone else? Other
I/O Systems

4
Use Actors to Help Define
Define the System Boundaries
Boundaries
Which of these An Actor
Users Other
OtherSystems
Systems will be actors in • Is not part of the system
our system?
• Is a role a user of the system can play
• Can represent a human, a machine, or another
Legacy system
System • Can actively interchange information with the
New System
Actor system
• Can be a giver of information
• Can be a passive recipient of information

Maintenance Communications Reports

Who Is the Actor? To Help Simplify Instances of Actors


Who is pressing the keys (interacting with the system)?

Receipt
Start

Passenger Travel Agent Airline Booking system Cans


Bottles
Sam
The passenger never touches this system; the travel agent operates it. Acts as an Operator Crates
Jody
Or perhaps you are building an Internet application ...
Acts as an Operator

Use-Case model

Internet Booking system Operator Print Daily Report


Passenger (airline www page)

5
Actors Help Determine System
A User Can Act as Several Actors
Boundaries
System
boundary?
Charlie as PC PC
Warehouse Manager
Server

Depot Manager Server


PC PC
Charlie
Charlie as
Warehouse Staff Depot Staff

Is the client software part of the


system or is the client an actor? PC

User

Actors Help Define System Useful Questions in Identifying


Boundaries Is the Answering Actors
System boundary?
Machine an actor • Who will supply, use, or remove
or part of the information?
system? • Who will use this functionality?
• Who is interested in a certain requirement?
• Where in the organization is the system
Answering
used?
Caller Callee Actor
Simple Phone
System
Machine
(voice mail)
• Who will support and maintain the system?
• What are the system’s external resources?
• What other systems will need to interact
with this one?

6
Identify Constraints Problem Analysis - ISVs
• Identify all the marketing opportunities and market
segments
• Identify classes of potential users and their particular
Political needs
Economic
Environmental • Studying the demographics of the potential user base
• Understanding potential demand, pricing, and pricing
elasticity
• Understanding sales strategies and distribution
channels
Technical
Feasibility

System

A restriction on the degree of freedom we have in providing a solution

Capturing the Vocabulary: A


Developing a Glossary
Domain Model?
• The Glossary • Class diagram for the requirements domain
– Defines terms used in the project • Benefits:
Glossary – Promotes common understanding of the – Formalizes the vocabulary for the project
terminology in the project – Simplifies reasoning about different terms
– Helps prevent misunderstandings – Describes relationships between terms
• Start the glossary as soon as possible – Provides visual representation of terms
• Continue developing throughout the Recycle Item
project
Can Bottle

You might also like