0% found this document useful (0 votes)
40 views12 pages

SE Lecture2

The document discusses software requirements and specification. It describes: 1) The different levels of requirements - user requirements provide high-level abstract needs while system requirements give detailed descriptions and software design specifications provide abstract design details. 2) Classifying requirements into functional, which define system services/behaviors, and non-functional, which constrain qualities like reliability. 3) The requirements engineering process which includes feasibility studies, eliciting/analyzing requirements, specifying them, and validating the requirements document meets stakeholder needs.

Uploaded by

Atif Khan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views12 pages

SE Lecture2

The document discusses software requirements and specification. It describes: 1) The different levels of requirements - user requirements provide high-level abstract needs while system requirements give detailed descriptions and software design specifications provide abstract design details. 2) Classifying requirements into functional, which define system services/behaviors, and non-functional, which constrain qualities like reliability. 3) The requirements engineering process which includes feasibility studies, eliciting/analyzing requirements, specifying them, and validating the requirements document meets stakeholder needs.

Uploaded by

Atif Khan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Software Requirement / Specification

LECTURE 2
Software Engineering
Software Specification or Requirements
 The Descriptions of the services and
constraints are the requirements for
the system and the process of
finding out, analyzing, documenting
and checking these services and
constraints is called requirements
engineering.
Ambiguous requirements
Levels of Requirements
Some of the problems that arise during the requirement
engineering process are a result of failing to make a clear
separation between the different levels of description.
 User Requirements
 High level abstract requirements
 System Requirements
 Detailed description of what the system should do
 A software design specification
 Is an abstract description of design specification
Advantage of Requirement Levels
Client mangers
 Communicate User requirement
System end-users
Client engineers

information Contractor managers


System architects

about the System end-users


System
system to requirements
Client engineers
System architects
Software developers
different types
of readers Software design System architects
specification Software developers
Classification of Requirements
Software System requirements are often classified as following
 Functional requirements
 It describe the functionality/services which system should provide.
 How the system should react to particular input.
 What type of output system should produce.
 How the system behave in particular situation or exception.
 Use cases are used to captured functional requirements
 Non-functional requirements
 It describe the constraints on the service/functions offered by system.
 They relate to system properties such as reliability, response time, storage
occupancy, security etc.
User Requirements
 Should simply focus on the key facilities to be provided.
 Should describe the functional and non-functional requirements.
 User don’t have detailed technical knowledge.
 Should specify the external behavior of the system.
 Avoid as far as possible, system design characteristics.
 Must be written using natural language forms and simple
intuitive diagrams.
System Requirements
 More detailed descriptions of the user requirements.
 Serve as contract between contractor and client.
 Should be complete and consistent specification of the whole
system.
 Requirement specification may include data-flow model.
 They are the starting point of system design for software engineer
 Should state what the system should do and not how it should be
implemented.
REA(Requirement Engineering activity)
RE is a process that involves all of the activities required to create and maintain a
system requirements document. There are four generic high level RE process
activities.
Requirements
Feasibility
elicitation and
study
analysis
Requirements
specification
Requirements
Feasibility validation
report

System
Model
User and system
requirements Requirements
document
Feasibility Studies
10

Is a focused study which aims to answer a number of questions


 Does the system contribute to the overall
objectives of the organization?
 Can the system be implemented using
current technology and within given cost
and schedule constraints?
 Can the system be integrated with other
systems which are already in place?
Requirements elicitation and analysis
11

In this activity, technical Requirements


software development staff Requirements
specification
checking
work with stakeholders to find
out about the application Domain
understanding
Prioritisation

domain, what services the


system should provide, the Requirements Conflict
required performance of the collection resolution

system, hardware constraints, Requirements


Classification
and so on. document
Next Lecture
 Requirement Specification
 Requirement Validation

You might also like