0% found this document useful (0 votes)
46 views13 pages

Intro To SE - SP17 - 12A

Software Engineering

Uploaded by

Zeeshan Malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views13 pages

Intro To SE - SP17 - 12A

Software Engineering

Uploaded by

Zeeshan Malik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 13

INTRODUCTION TO

SOFTWARE ENGINEERING

LECTURE –12

MARCH 20, 2017


AGENDA
• Software Requirements Engineering
• Requirements
• Functional requirements
• non-functional requirements
• Examples

2
CSD201 - Introduction to Software Engineering
REQUIREMENTS
ENGINEERING
• The process of establishing the services that the
customer requires from a system and the constraints
under which it operates and is developed
• The requirements themselves are the descriptions of the
system services and constraints that are generated during
the requirements engineering process

3
CSD201 - Introduction to Software Engineering
WHAT IS A REQUIREMENT?
• It may range from a high-level abstract statement of a
service or of a system constraint to a detailed
mathematical functional specification
• This is inevitable as requirements may serve a dual
function:
• May be the basis for a bid for a contract - therefore must be
open to interpretation
• May be the basis for the contract itself - therefore must be
defined in detail

4
CSD201 - Introduction to Software Engineering
TYPES OF REQUIREMENT
• User requirements
• Statements in natural language plus diagrams of the services
the system provides and its operational constraints. Written
for customers
• System requirements
• A structured document setting out detailed descriptions of the
system’s functions, services and operational constraints.
Defines what should be implemented so may be part of a
contract between client and contractor

5
CSD201 - Introduction to Software Engineering
USER AND SYSTEM
REQUIREMENTS

6
CSD201 - Introduction to Software Engineering
USER AND SYSTEM
REQUIREMENTS
• MHC-PMS (Mental Health Care-Patient Management System)

7
CSD201 - Introduction to Software Engineering
READERS OF DIFFERENT TYPES OF
REQUIREMENTS SPECIFICATION

8
CSD201 - Introduction to Software Engineering
FUNCTIONAL AND NON-
FUNCTIONAL REQUIREMENTS
• Functional requirements
• Statements of services the system should provide, how the system
should react to particular inputs and how the system should
behave in particular situations
• May state what the system should not do
• Non-functional requirements
• Constraints on the services or functions offered by the system such
as timing constraints, constraints on the development process,
standards, etc.
• Often apply to the system as a whole rather than individual
features or services
• Domain requirements
• Constraints on the system from the domain of operation

9
CSD201 - Introduction to Software Engineering
FUNCTIONAL REQUIREMENTS
• Describe functionality or system services
• 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
• Functional system requirements should describe the
system services in detail

10
CSD201 - Introduction to Software Engineering
FUNCTIONAL REQUIREMENTS
FOR THE MHC-PMS
• MHC-PMS (Mental Health Care-Patient Management
System)
• A user shall be able to search the appointments lists for
all clinics
• The system shall generate each day, for each clinic, a list
of patients who are expected to attend appointments that
day
• Each staff member using the system shall be uniquely
identified by his or her 8-digit employee number

11
CSD201 - Introduction to Software Engineering
REQUIREMENTS IMPRECISION
• Problems arise when requirements are not precisely
stated
• Ambiguous requirements may be interpreted in different
ways by developers and users
• Consider the term ‘search’ in the requirement
• User intention – search for a patient name across all
appointments in all clinics
• Developer interpretation – search for a patient name in an
individual clinic. User chooses clinic then search

12
CSD201 - Introduction to Software Engineering
Q&A

13
CSD201 - Introduction to Software Engineering

You might also like