Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Understanding Software Requirements Specifications (SRS) in Software Engineering, Slides of Computer Science

Software DevelopmentSoftware Project ManagementRequirements EngineeringSystem Analysis and Design

An introduction to Software Requirements Specifications (SRS) in the context of software engineering. It covers the definition of SRS, its importance, attributes of good SRS documents, and the differences between SRS and System Requirements Specifications (SyRS). The document also outlines the steps to write an SRS, including creating an outline, defining the purpose, intended audience, and intended use, giving an overview of what will be built, detailing user needs and assumptions, and specifying functional and external interface requirements.

What you will learn

  • How does a Software Requirements Specification (SRS) differ from a System Requirements Specification (SyRS)?
  • What are the attributes of a good Software Requirements Specification (SRS) document?
  • What is a Software Requirements Specification (SRS) in software engineering?
  • What are the steps to write a Software Requirements Specification (SRS) document?
  • Why is it important to use a Software Requirements Specification (SRS) document in software engineering?

Typology: Slides

2020/2021

Uploaded on 02/09/2022

basit-baloch
basit-baloch 🇵🇰

9 documents

1 / 15

Toggle sidebar

Related documents


Partial preview of the text

Download Understanding Software Requirements Specifications (SRS) in Software Engineering and more Slides Computer Science in PDF only on Docsity!

Subject: Software Engineering

&

Introduction to software Engineering

Delivered by

Abdul Basit

After this presentation students will be able

to:

Understand software requirements specifications (SRS).

Understand why we use SRS documents.

Understand attributes of good SRS.

Understand software requirements specifications versus system

requirements specifications.

Understand how to write SRS.

What Is a Software Requirements

Specification (SRS)?

A software requirements specification (SRS) is a document that

describes what the software will do and how it will be expected to

perform.

It also describes the functionality the product needs to fulfill all

stakeholders (business, users) needs.

A typical SRS includes:

A purpose

An overall description

Specific requirements

The best SRS documents define how the software will interact when

embedded in hardware OR when connected to other software.

Good SRS documents also account for real-life users.

Why Use a SRS Document?

A software requirements specification is the basis for your entire project. It
lays the framework that every team involved in development will follow.
It’s used to provide critical information to multiple teams — development,
quality assurance, operations, and maintenance. This keeps everyone on
the same page.
Using the SRS helps to ensure requirements are fulfilled. And it can also
help you make decisions about your product’s lifecycle — for instance,
when to retire a feature.
Writing an SRS can also minimize overall development time and costs.
Embedded development teams especially benefit from using an SRS.

Attributes of good SRS document

Software Requirements Specification

versus

System Requirements Specification

A software requirements specification (SRS) includes in-depth descriptions of the software
that will be developed.
A system requirements specification (SyRS) collects information on the requirements for a
system.
“Software” and “system” are sometimes used interchangeably as SRS. But, a software
requirement specification provides greater detail than a system

Writing an SRS Document (The Outline)

A simple outline will look like this:
1. Introduction
1.1 Purpose
1.2 Intended Audience
1.3 Intended Use
1.4 Scope
1.5 Definitions and Acronyms
2. Overall Description
2.1 User Needs
2.2 Assumptions and Dependencies
3. System Features and Requirements
3.1 Functional Requirements
3.2 External Interface Requirements
3.3 System Features
3.4 Nonfunctional Requirements

Note:

Your first step is to

create an outline for

your software

requirements

specification. This

may be something

you create yourself.

Or you may use an

existing SRS

template.

Start your SRS with a purpose

  • The introduction to your SRS is very important. It sets the expectation for the product you’re building.
  • So, start by defining the purpose of your product.

 Intended Audience and Intended Use

Define who in your organization will have access to the SRS — and how they should use it. This may

include developers, testers, and project managers. It could also include stakeholders in other departments,

including leadership teams, sales, and marketing.

 Product Scope

Describe the software being specified. And include benefits, objectives, and goals. This should relate to

overall business goals, especially if teams outside of development will have access to the SRS.

 Definitions

  • It’s smart to include a risk definition. Avoiding risk is top-of-mind for many developers — especially

those working on safety-critical development teams.

  • Here’s an example. If you’re creating a medical device, the risk might be the device fails and causes a

fatality.

  • By defining that risk up front, it’s easier to determine the specific requirements you’ll need to mitigate

it.

Give an Overview of What You will Build

  • Your next step is to give a description of what you’re going to build. Is it an update to an existing product? Is it a new product?

Is it an add-on to a product you have already created?

  • These are important to describe upfront, so everyone knows what you’re building.
  • You should also describe why you’re building it and who it’s for.

 User Needs

  • User needs — or user classes and characteristics — are critical. You’ll need to define who is going to use the product and how.
  • You’ll have primary and secondary users who will use the product on a regular basis. You may also need to define the needs of

a separate buyer of the product (who may not be a primary/secondary user). And, for example, if you’re building a medical

device, you’ll need to describe the patient’s needs.

 Assumptions and Dependencies

  • There might be factors that impact your ability to fulfill the requirements outlined in your SRS. What are those factors?
  • Are there any assumptions you’re making with the SRS that could turn out to be false? You should include those here, as well.
  • Finally, you should note if your project is dependent on any external factors. This might include software components you’re

reusing from another project.

Detail Your Specific Requirements

  • The next section is key for your development team. This is

where you detail the specific requirements for building your

product.

Functional Requirements

  • Functional requirements are essential to building your

product.

  • If you’re developing a medical device, these requirements

may include infusion and battery. And within these

functional requirements, you may have a subset of risks and

requirements.

External Interface Requirements

  • External interface requirements are types of functional requirements.

They’re important for embedded systems. And they outline how your

product will interface with other components.

  • There are several types of interfaces you may have requirements for,

including:

  • User
  • Hardware
  • Software
  • Communications

 Other Nonfunctional Requirements

Nonfunctional requirements can be just as important as functional ones.
These include:
Performance
Safety
Security
Quality
The importance of this type of requirement may vary depending on your
industry. Safety requirements, for example, will be critical in the medical
device industry.

Writing a SRS in Microsoft Word

OR

Microsoft Power Point

  • You can write your software requirement specification in

Microsoft Word. A smart way to do this is to create an SRS

template that you can use as a starting point for every project.

Summary

  • Software requirements specifications (SRS) in detail

discussed with having good attributes.

  • Why we use SRS documents , how to write SRS and

start your SRS with a purpose are briefly discussed.

  • Microsoft tools are better options for designing the

SRS document.