Lecture 2
Engineering Method
&
Requirements
What Engineers do
About the unit
EWB Project
On completion of this module, students should be able to:
Describe what the engineering method is and how it is
applied to problem solving.
Work out a problem scope from the client brief
Analyse a problem and work out the requirements,
including the impact of contextual factors.
Document requirements.
Work out a team charter, taking into account team
capabilities and expectations.
Carry out research using relevant sources and reference
them
Engineering method
◦ a structured method of problem solving
Requirements
◦ first part of any project
Engineers are often employed for their problem
solving abilities
Problems in engineering come in many forms
and sizes
Need a structured method to approach these
problems
Decide
Describes the client’s need and the performance
criteria (requirements) - ideally
Client may not be able to define requirements
clearly
◦ May just be a single line or paragraph
◦ Or long-winded with irrelevant details
or inconsistencies
May need to “extract” requirements from client
May need to be modified as the project develops
Discuss with the client to help them express clearly
the exact needs and criteria
Requirements and acceptance criteria will need to
be documented
Also research into context, relevant technologies
and techniques, etc
Only once the problem is well understood
Perhaps previously-used solutions for similar
problems uncovered during research
Or novel solutions thought up by the engineers
Each option needs to be evaluated against the
performance criteria
◦ May require testing or prototypes
◦ If it fails to satisfy the basic criteria, then reject
◦ A ‘score’ should be awarded in each category
◦ The sum of these scores indicates the relative merits of
each alternative
Criteria should be weighted to reflect how important
each one is to the client
◦ Covered in more detail in Week 6
Should check that final solution meets all
requirements
Also important to check
◦ Calculations
◦ Simulations
◦ Models, prototypes
Should also be checked by someone OTHER than
person who produced that work
May be a multi-step process:
◦ Generate a draft report
◦ Meet the clients to present and discuss
recommendations
◦ Negotiation on the final choice
Decide
Courtesy [Link]
Engineering process from requirements to operation
and maintenance
Requirements is the first step in engineering process /
system life cycle
17
To transfer and document wants/needs/expectations
Provides reference against which final solution can be
measured against (acceptance criteria)
To get all stakeholders on the same page
To avoid conflict
Before you do anything…
….need to find out what it is you are supposed to
do!
Goals of Requirements Definition:
◦ To decide what is needed
◦ To document the results of the decision-making
process
Starts with listening to what the clients
and other stakeholders want
◦ wish list may be very elaborate
◦ or client may be unsure about their
requirements
Iterative process
◦ client is guided
◦ need to remain realistic in terms of
requirements, cost and schedule
the client
potential users
Government and other regulatory bodies
financiers
Defining requirements
◦ one of the most difficult parts of any project
◦ the part with the most disastrous consequences when
done poorly
Often neglected
◦ Design engineers, clients, managers - eager to “get
going”
“Requirements errors are the greatest source of
defects and quality problems.”
(Schwaber, 2006; Weinberg, 1997; Nelson et. al, 1999)
For software development, error costing $1 to fix
during the requirements phase typically costs:
◦ $2 to fix during the concept design phase
◦ $5 to fix during the detailed design phase
◦ $10 to fix during the coding phase
◦ $20 to fix during the unit test phase
◦ $50 to fix during the system test phase
◦ $100 to fix during the deployment phase
◦ $200 to fix during the maintenance phase
Define scope
Elicit Requirements
Model and Analyse
Document
Agree
Evolve
The first step in defining requirements
Defines the boundaries (limits) of the problem
being addressed
◦ Forms the target of project
Requires ‘systems thinking’
PROJECT
Cost
Schedule
Functionality SCOPE
◦ What is the purpose of the problem / solution?
◦ Can the problem be interpreted in more than one way?
◦ Is the “real problem” hidden by a “perceived problem”?
WHY?
“A highway is congested and causes troublesome
delays for commuters.
Re-design the road so that it can take more lanes of
traffic.”
◦ Statement includes an implied solution
may not be the best solution
better options may exist
A better statement:
“A highway is congested and causes troublesome delays
for commuters.
Re-design the transportation system to move more
people quickly and efficiently.”
OR
“A highway is congested and causes troublesome delays
for commuters.
Come up with solutions to reduce or remove the
congestion.”
Problem: Freeway is always choked at peak hour
Solution: Depends on viewpoint / scope
◦ Limited road capacity – add more lanes
◦ Too many cars – improve public transport
◦ Too much commuting – move workplaces or encourage
telecommuting
Define scope
Elicit Requirements
Model and Analyse
Document
Agree
Evolve
“Our goal is to build a snibbet system that will also
accommodate our widgets when appropriate. On occasions
that snibbets and widgets intersect, we will map the resulting
snidget to its appropriate location. These locations will in turn
map to a modget. Individual modgets may activate multiple
snibbets; you must implement logic to determine if one or
multiple snibbets belong in the widget calculations or if they
must be excluded.”
The Path to Requirements Elicitation
Clarify jargon
• Snibbet: ….... • Snidget: ……..
• Widget: …….. • Modget: …….
Visual representation of requirements
Snibbet Widget
xx yy
pqr
Snidget
zz
Modget
“A method for storing and filtering rainwater. Currently,
rainwater is stored for months in ceramic/cement jars and
impurities build up.”
EWB Challenge 2012
What size storage (tank?) would be required?
Discuss with the person next to you and come up with answer
in 2 minutes.
Or….. list of questions that need to be asked.
“Design a rainwater storage system for the village.”
Analysis results
What is the required capacity of the storage?
What is it being used for? • Drinking & cooking (from client)
◦ Drinking & cooking only, including washing/bathing, toilet,
etc
• Drinking = 2.5 l (from research)
How much water per person? • Cooking = 2 l (assumed)
How many people will be using it? 100 (approximation)
How long must it last before being replenished?
•Dry season ~ 90 days (research)
Capacity required = (2.5+2)*100*90*1.2 (safety factor) = 48,600 l
Design for 50,000 litres
◦ What are the required inputs?
◦ What are the desired outputs (required results)?
◦ Are there any constraints that must be satisfied?
◦ What assumptions can be made to simplify the task?
◦ How can the validity of the assumptions be tested?
Define scope
Elicit Requirements
Model and Analyse
Document
Agree
Evolve
Only the user’s needs should be stated
◦ not any specific solution
◦ unless the user specifically wants to include or exclude certain
potential solutions (constraints)
Function of engineering process is to:
◦ translate the requirements to real technical terms
◦ identify potential solutions
◦ find the best solution for the stated requirements.
The next steps
The storage system should be able to:
1. Store a minimum of 50,000 litres of water in total
2. Maintain water quality over a period of x months.
3. ……
Define scope
Elicit Requirements
Model and Analyse
Document
Agree
Evolve
Final Report
Report 1
Decide
Report 2