[go: up one dir, main page]

0% found this document useful (0 votes)
58 views24 pages

Requirement Specification Week1

The document discusses software requirements engineering and outlines best practices for writing a Software Requirements Specification (SRS). Some key points: - An SRS establishes a contract between developers and customers and serves as the foundation for design and later phases. Approximately 20-25% of project time should be spent on requirements specification. - Essentials for writing good requirements include writing clearly for diverse audiences, uniquely labeling each requirement, and specifying functionality separate from implementation. - The IEEE standard provides a template for an SRS including sections for introduction, overall description, specific requirements, and appendices. Specific requirements should specify inputs, outputs, functions, and quality attributes. - Writing high-quality, unambiguous requirements

Uploaded by

Abdullah Zeeshan
Copyright
© © All Rights Reserved
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)
58 views24 pages

Requirement Specification Week1

The document discusses software requirements engineering and outlines best practices for writing a Software Requirements Specification (SRS). Some key points: - An SRS establishes a contract between developers and customers and serves as the foundation for design and later phases. Approximately 20-25% of project time should be spent on requirements specification. - Essentials for writing good requirements include writing clearly for diverse audiences, uniquely labeling each requirement, and specifying functionality separate from implementation. - The IEEE standard provides a template for an SRS including sections for introduction, overall description, specific requirements, and appendices. Specific requirements should specify inputs, outputs, functions, and quality attributes. - Writing high-quality, unambiguous requirements

Uploaded by

Abdullah Zeeshan
Copyright
© © All Rights Reserved
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/ 24

SOFTWARE REQUIREMENTS ENGINEERING

BY

KHAQAN ZAHEER
Requirement Specification
 SRS document is a contract between the
development team and the customer
 How do we communicate the Requirements to
others?
 Firm foundation and baseline for design phase and
latter phases
 Supportproject management and control evolution
of system
 Approximately 20-25% of the project time should
be allocated to requirement Specification
 SRS have different audiences(Technical and non-
technical)
Mapping Requirements to Specifications
Essentials for Writing Requirements
 Requirements are read more often than they are
written
 Readers of requirements come from diverse
backgrounds
 Writing clearly and concisely is not easy and is time
consuming and cost effective
 Different organizations write requirements at
different levels of abstraction
 Writing good requirements requires a analytic
thought
Activities of SRS
 Adopt SRS template
 Identify sources of requirements
 Uniquely label each requirement
 Record business rules
 Specify functional requirements
 Specify quality attributes
Specification Principles
 Separate functionality from implementation
 Develop model of desired behavior of the system
 Define the environment in which system operates
 Create a cognitive model
 Content & structure of a specifications should be
amenable to change
Appropriate Specification
 Consider two different projects:
 A) Tiny project, 1 programmer, 2 months work
 programmer talks to customer, then writes up
a 2-page memo
 B) Large project, 50 programmers, 2 years work
 team of analysts model the requirements, then
document them in a 500-page SRS
Project A Project B

Purpose of spec Crystallizes programmer’s Build-to document; must


understanding; feedback contain enough detail for
to customer all the programmers

Management view Spec is irrelevant; have Will use the spec to


already allocated estimate resource needs
resources and plan the
development
Benefits of SRS
 Reduce the development effort
 Forces the users to consider their specific requirements carefully
 Provide a basis for estimating costs and schedules
 Enhances communication between the Purchaser and System developers
 Provides a firm foundation for the system design phase
 Enables planning of validation, verification, and acceptance procedures
 Serve as a basis for enhancement requests
 Usable during maintenance phase
SRS Standards
 ANSI/IEEE SRS Standard 830-1984
 BS 6719: 1986
 European Space Agency Standards
 (ESA PSS-05-0, Jan 1987)
 US DoD-Std-7935A
 NASA Standard
 Canadian Standard(Z242.15.4-1979)
 Vlore Standard
 …………………
IEEE Standard
 Introduction
 General Description
 Specific Requirements
 Appendices
 Index
IEEE 830-1998 Standard –
Section 1 of SRS •Describe purpose of this SRS
•Describe intended audience

 Title
•Identify the software product
 Table of Contents •Enumerate what the system will and will not do
•Describe user classes and benefits for each
 1. Introduction
 1.1 Purpose
 1.2 Scope
 1.3 Definitions. Acronyms, and Abbreviations •Define the vocabulary of the SRS (may
 1.4 References reference appendix)

 1.5 Overview
•List all referenced documents including sources
 2. Overall Description (e.g., Use Case Model and Problem Statement; Experts in
the field)
 3. Specific Requirements
 Appendices
•Describe the content of the rest of the SRS
 Index •Describe how the SRS is organized
IEEE 830-1998 Standard –
Section 2 of SRS •Present the business case and operational concept of the system
• Describe how the proposed system fits into the business context
• Describe external interfaces: system, user, hardware, software,
 Title communication
• Describe constraints: memory, operational, site adaptation
 Table of Contents
 1. Introduction •Summarize the major functional capabilities
•Include the Use Case Diagram and supporting narrative
 2. Overall Description (identify actors and use cases)
•Include Data Flow Diagram if appropriate
 2.1 Product Perspective
 2.2 Product Functions •Describe and justify technical skills and
capabilities of each user class
 2.3 User Characteristics
 2.4 Constraints States assumptions about availability of certain
resources that, if not satisfied, will alter system
 2.5 Assumptions and Dependencies requirements and/or effect the design.
 3. Specific Requirements
 4. Appendices
 5. Index •Describe other constraints that will limit developer’s options;
e.g., regulatory policies; target platform, database, network
software and protocols, development standards requirements
IEEE 830-1998 Standard –
Section 3 of SRS (1)
Specify software requirements in sufficient
 … detail to enable designers to design a system to satisfy those
requirements and testers to verify
 1. Introduction requirements
 2. Overall Description State requirements that are externally perceivable by users,
 3. Specific Requirements operators, or externally connected systems

 3.1 External Interfaces Requirements should include, at a minimum, a description of


every input (stimulus) into the system, every output (response)
 3.2 Functions from the system, and all functions performed by the system in
 3.3 Performance Requirements response to an input or in support of an output

 3.4 Logical Database Requirements (a) Requirements should have characteristics of


high quality requirements
 3.5 Design Constraints
(b) Requirements should be cross-referenced to
 3.6 Software System Quality Attributes their source.
(c) Requirements should be uniquely identifiable
 3.7 Object Oriented Models (d) Requirements should be organized to
maximize readability
 4. Appendices
 5. Index
IEEE 830-1998 Standard –
Section 3 of SRS (2)
•Detail all inputs and outputs
 … (complement, not duplicate, information presented in section 2)
•Examples: GUI screens, file formats
 1. Introduction
 2. Overall Description
•Include detailed specifications of each use
 3. Specific Requirements case, including collaboration and other
 3.1 External Interfaces diagrams useful for this purpose

 3.2 Functions •Include:


a) Types of information used
 3.3 Performance Requirements b) Data entities and their relationships
 3.4 Logical Database Requirements
 3.5 Design Constraints •Should include:
a) Standards compliance
 3.6 Software System Quality Attributes b) Accounting & Auditing procedures
 3.7 Object Oriented Models
 4. Appendices •The main body of requirements organized in a variety of possible ways:
 5. Index a) Architecture Specification
b) Class Diagram
c) State and Collaboration Diagrams
d) Activity Diagram (concurrent/distributed)
Specification Techniques
 Informal Specifications
 Semi-formal ( graphical, tabular)
 Formal Specifications
 Algebraic approach
 The system is specified in terms of its operations
and their relationships
 Model-based approach
 The system is specified in terms of a state model
that is constructed using mathematical constructs
such as sets and sequences.
 Operations are defined by modifications to the
system’s state
Informal Specifications
 Textual descriptions and informal diagrams are easy for understanding
 These specifications are often ambiguous, imprecise and lengthy
 They lack support of abstraction and there is minimal or no automated
tool support for such specifications
Semi-Formal Specifications
 Most of the semiformal specifications are based on UML
 The specifications based on UML are supported by different tools
 They do not provide information on high level concepts such as intent,
usability and consequences
Formal Specifications
 Formal specification is part of a more general collection of techniques that
are known as formal methods
 Formal specification forces an very details analysis of the system
requirements at an early stage. Correcting errors at this stage is cheaper.
Formal methods include
Formal specification
Specification analysis and proof
Transformational development
Program verification
Specification in the software process
Requirements Formal
specification specification

Requirements High-level
definition design

System Architectural
modelling design
Development costs with Formal Specification

Cost Validation

Design and
Implementation Validation

Design and
Implementation
Specification

Specification

Without formal With formal


specification specification
What not to include in SRS
 Project development plans
 Staffing, Methods, Tools etc.
 Product quality assurance plans
 Configuration Management, Verification & Validation
 Designs information
 Requirements and designs have different audiences
Characteristics of good requirement
specification documents
 Complete
 Description of all major requirements relating to functionality, performance etc.
 Consistent
 A software requirement specification is consistent if none of the requirements
conflict
 Traceable
 Origin and all references are available
 Unambiguous
 Having two or more meanings
 Verifiable
 All requirements are verifiable

• Modifiable
 Should be flexible for modifications
Conclusion
 SRS have several purposes (Communication, Contractual, Verification,
Basis for change control)
 SRS have several audiences
 It is hard to write good specification
 Use standard templates for writing specifications
Papers
 IEEE Recommended Practice for Software
Requirements Specifications
 Software specification and design for imaging
systems
 Software Requirements Specification

You might also like