L04 Requirements Engineering
L04 Requirements Engineering
A system has:
§ A boundary
§ An environment / context
§ Stakeholders
§ Relationships with this environment
§ Internally, it has subsystems
Example:
SOFTWARE DEVELOPMENT 3
Software Process
Systematic
Standard
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC) 4
WHAT HOW
RE – Definitions 7
When a customer arrives at a POS counter with goods to purchase, the cashier will start
a new sale transaction.
When the barcode of a good is read by the POS system, it will retrieve the name and
price of this good from the backend catalogue system and interact with inventory system
to deduce the stock amount of this good.
10
When the sale transaction is over, the customer can pay in cash or
credit card. After the payment is successful, a receipt will be
printed.
Note that for promotion, the store frequently issue gift coupons.
The customer can use the coupons for a better price when
purchasing goods.
11
§ For example:
Requirement ID Description
F1 Handle Sales
F1.1 Retrieve name and price of good
F1.2 Handle payment
F1.2.1 Handle payment cash
F1.2.2 Handle payment check
F1.3 Print receipt
F1.4 Read bar code of good
F1.5 Deduce stock amount of good Functional
F1.6 Compute total amount
F2 Handle Coupon
F2.1 Issue coupon Functional
F2.2 Make discount to coupon owner Or
F3 Manage Users Non-functional
F3.1 Handle login
F3.2 Handle logout
F3.3 Define user and user rights
… …
NF1 Each function less than ½ sec
NF2 Secure payments (F1.2 to F1.2.2) Non-functional
NF3 Warranty access to functions only to authorized users (F3)
… …
Exercise: Functional or Non-Functional? 16
Type of
Requirement Quality
The system shall be completely operational at least 99% of the time. Non-functional Reliability
The system should be able to support 100 simultaneous users. Non-functional Performance
The system shall provide shipping with accurate order data. Functional
The system shall provide password protected access to web pages that are to Non-functional Security
be viewed only by employees.
The system shall provide marketing with customer navigation information. Functional
Transaction data must be transmitted in encrypted form. Non-functional Security
A sales agent should be able to use the system in his job after 5 days of Non-functional Usability
training.
The system shall allow employees to view the owner of any product. Functional
The system shall allow a customer to directly contact the nearest sales office Functional
in his region.
Down time after a failure shall not exceed 2 hours. Non-functional Reliability
The system shall make whitepapers available from the product page. Functional
The system shall allow the user's status to be stored for the next time they Functional
return to the web site.
TYPES OF REQUIREMENTS: USER / BUSINESS / SYSTEM 17
§ often referred to as user needs, describe what the user does with the
system, such as what activities that users must be able to perform.
§ written for customers
§ often in natural language, no technical details
Business requirements
Product requirements:
Process Requirements:
§ describes the activities that must be performed and constraints that must
be followed in the organization.
CONSTRAINTS 22
3. Documentation:
Everything that refers to the functionality of
the system that we are going to build (notes,
papers, manuals, books, etc.).
REQUIREMENTS ENGINEERING PROCESS 24
§ Background reading
involves collecting information by reading existing
documents such as company reports,
organizational charts, policy manuals, job descriptions, documentation of existing
systems, etc.
§ Interviews
- Structured or Un(semi) - structured
- can collect a rich set of information (opinions and facts)
- requires special skills and experience
§ Survey
- can quickly collect information from a large number
- can be administered remotely (e.g., email, online, …)
- might miss opportunities to collect unforeseen
relevant information
Elicitation Techniques 27
§ Meetings
- for summarization of findings and collection of feedback
- it is fundamental that have clearly stated objectives
and are planned carefully.
MODELING (DOCUMENT) REQUIREMENTS 28
§ Verification
developers will study the requirements to check whether they're correct, whether
they accurately reflect the customer needs as perceived by the developer.
§ can also check whether they are consistent, unambiguous, testable, etc.
Analyzing the Requirements 30
§ Validation:
The goal of validation is to assess whether the collected requirements define the
system that the stakeholders really want.
§ Prioritization:
Sometimes, the available resources for the project are not
enough to satisfy all of them.
Limited Resources
§ For example, there's not enough time, not enough money, not
enough manpower.
§ Put all this information into a document (or database): the Requirements Specification
SOFTWARE REQUIREMENT SPECIFICATION (SRS) 33
Domain
Properties Computer
Requirements
Specification Program
§ Stakeholders are not illiterate, but often they have a background in fields
different from ICT…
§ That happens if you think that the signature under the requirements document
is all you need to get from the client, in order to build an adequate system.
37