Software Requirements Engineering and Specification: A Comprehensive Guide, Slides of Computer science

A comprehensive overview of software requirements engineering and specification, covering key concepts, methodologies, and best practices. It explores the importance of defining clear and detailed requirements, the different types of requirements, and the process of eliciting, analyzing, and validating them. The document also discusses the challenges of managing requirements, including creeping requirements, ambiguous requirements, and gold plating. It emphasizes the importance of traceability, prioritization, and feasibility in ensuring successful software development.

Typology: Slides

2021/2022

Uploaded on 11/01/2024

abdul-wahab-43
abdul-wahab-43 🇸🇬

3 documents

1 / 37

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
SOFTWARE
REQUIREMENT &
SPECIFICATION
CHAPTER 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25

Partial preview of the text

Download Software Requirements Engineering and Specification: A Comprehensive Guide and more Slides Computer science in PDF only on Docsity!

SOFTWARE

REQUIREMENT &

SPECIFICATION

C H A P T E R 1

S O F T W A R E R E Q U I R E M E N T & S P E C I F I C A T I O N

OBJECTIVES

Project Failure vs. Success

Introduction to Requirements

Introduction to Requirement

Engineering

Requirements Tracing

S O F T W A R E R E Q U I R E M E N T & S P E C I F I C A T I O N INTRODUCTION TO REQUIREMENTS 4

S O F T W A R E R E Q U I R E M E N T & S P E C I F I C A T I O N

  • (^) Creating requirements enable us to agree on and visualize the ‘right product’
  • (^) Requirements are the basis for every project, defining what the stakeholders need from the system and also what the system must do in order to satisfy that need
  • (^) Agreed requirements provide the basis for planning the development of a system and accepting it on completion
  • (^) Risks raised against requirements can be tracked, their impact assessed, and the effects of risk reduction and fall back plans understood Problems
  • (^) Expressing the requirements in natural language
  • (^) Needs of the stakeholders change 5

S O F T W A R E R E Q U I R E M E N T & S P E C I F I C A T I O N 7

why the

organization

is

implementin

g the system

goals or

tasks the

users must

be able to

perform

  • (^) behaviors the

product will

exhibit under

specific conditions

  • (^) what the

developers must

implement to

enable users to

accomplish their

tasks

  • (^) requirements for a

product that is

composed of

multiple

components or

subsystems

  • includes

hardware,

software and

human resources

corporate policies,

government

regulations, industry

standards, and

computational

Non-functional algorithms

requirements such

as performance,

safety, availability,

and portability

Non-functional

requirements about

connections to other

software systems,

hardware

components, and

users

S O F T W A R E R E Q U I R E M E N T & S P E C I F I C A T I O N 8

BR – user will be able to correct spelling errors in a document efficiently. Spell checker is included as a feature UR – finding spelling errors in the document and decide whether to replace each misspelled word with the one chosen from a list of suggested words. FR find and highlight misspelled words. Display a dialog box with suggested replacements Making global replacements NFR – It must be integrated into the existing word- processor which runs on windows platform

Kinds of requirements (Spell

Checker)

NON-FUNCTIONAL REQUIREMENTS

  • (^) Most non-functional requirements related to the system as a whole. They include constraints on timing, performance, reliability, security, maintainability, accuracy, the development process, standards, etc.
  • (^) They are often more critical than individual functional requirements
  • (^) Capture the emergent behavior of the system, that is they relate to the system as a whole
  • (^) Must be built into the framework of the software product
  • (^) Failure to meet a non-functional system requirement may make the whole system unusable

NON-FUNCTIONAL REQUIREMENTS

  • (^) For example, if an aircraft system does not meet reliability requirements, it will not be certified as ‘safe’
  • (^) If a real-time control system fails to meet its performance requirements, the control functions will not operate correctly
  • (^) Non-functional requirements arise through user needs, because of budget constraints, because of organizational policies, because of the need for interoperability with other software and hardware systems, or because of external factors such as safety regulations, privacy legislation, etc.

TYPES OF NON-FUNCTIONAL

REQUIREMENTS

Product Requirements  (^) Requirements that specify that the delivered product must behave in a particular way e.g., execution speed, reliability, etc. Organizational Requirements  (^) Requirements that are a consequence of organizational policies and procedures e.g., process standards used, implementation requirements, etc. External Requirements  (^) Requirements arise from factors external to the system and its development process, e.g., interoperability requirements, legislative requirements, etc.

PRODUCT REQUIREMENTS

Product requirements Efficiency requirements Reliability requirements Portability requirements Usability requirements Performance requirements Space requirements

ORGANIZATIONAL REQUIREMENTS

  • (^) Standards Requirements
  • (^) Implementation Requirements
  • (^) Delivery Requirements Examples  (^) The system development process and deliverable documents shall conform to the MIL-STD-2167A  (^) Any development work sub-contracted by the development organization shall be carried out in accordance with Capability Maturity Model

EXTERNAL REQUIREMENTS

S O F T W A R E R E Q U I R E M E N T & S P E C I F I C A T I O N INTRODUCTION TO REQUIREMENT ENGINEERING 19

  • S O F T W A R E R E Q U I R E M E N T & S P E C I F I C A T I O N