You are on page 1of 48

SECJ 2253 RESM

REQUIREMENTS ENGINEERING
AND SOFTWARE MODELING

TOPIC 1:
INTRODUCTION AND FOUNDATIONS

Noraini Ibrahim, March 2021


TOPIC 1 OVERVIEW

Introduction to Requirements Engineering (RE)

• Importance of RE as initial stage in overall SDLC


• Definitions – requirements, RE, stakeholder

4 major activities/process in RE

3 basic types of requirements


PART 1
• Introduction and importance of RE
The Analogy?
Building a software vs. building a house
ü Building requirements
ü Estimate cost
ü Plans and System specification
ü Quote and time lines
ü Alteration
ü Milestones
ü Review and testing
WHAT IS A
REQUIREMENT????
What is a requirement?
• A requirement is:
– Capturing the purpose of a system

– A statement about the proposed system that all


stakeholders agree must be made true in order for the
customer’s problem to be adequately solved
• Short and concise piece of information
• Says something about the system
• All the stakeholders have agreed that it is valid
• It helps solve the customer’s problem
WHAT IS A
STAKEHOLDER????
18
PART 2
• 4 major activities in RE
Credit to: Mathias Lampe (2018)
PART 3
• 3 basic types of requirements
Functional Requirements
ü What inputs the system should accept
ü What outputs the system should produce
ü What data the system should store other systems
might use
ü What computations the system should perform
ü Depend on the type of software, expected users, and
the type of system where the software is used
ü Functional user requirements may be high-level
statements of what the system should do, but
functional system requirements should describe the
system services in detail

30
Example of non-verifiable vs. verifiable NFRs

• Non-verifiable
– The system should be easy to use by experienced
controllers and should be organized in such a way that user
errors are minimized.

• Verifiable
– Experienced controllers shall be able to use all the system
functions after a total of two hours training. After this
training, the average number of errors made by
experienced users shall not exceed two per day.

42
Measurable Non-Functional Requirements
Property Measure
Speed Processed transactions/second
User/Event response time
Screen refresh time
Size K Bytes
Number of RAM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems
Source: Gerald Kotonya and Ian Sommerville, Requirements Engineering – Processes and Techniques, Wiley, 1998
TOPIC 1 SUMMARY

Introduction to Requirements Engineering (RE)

• Importance of RE as initial stage in overall SDLC


• Definitions – requirements, RE, stakeholder

4 major activities/process in RE

3 basic types of requirements


TOPIC 1 ACTIVITY

You might also like