0% found this document useful (0 votes)
100 views7 pages

Software Requirement and Design Specification (SRDS)

The document contains an outline for a software requirements specification for a project. It includes sections for an introduction, overall description, specific requirements, and design description. The introduction would describe the purpose and objectives of the software. The overall description specifies the product perspective, scope, functionality, users, and operating environment. The specific requirements section includes functional requirements, behavior requirements, and external interface requirements. The design description section includes views for different aspects of the system design.

Uploaded by

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

Software Requirement and Design Specification (SRDS)

The document contains an outline for a software requirements specification for a project. It includes sections for an introduction, overall description, specific requirements, and design description. The introduction would describe the purpose and objectives of the software. The overall description specifies the product perspective, scope, functionality, users, and operating environment. The specific requirements section includes functional requirements, behavior requirements, and external interface requirements. The design description section includes views for different aspects of the system design.

Uploaded by

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

Contents

CONTENTS...................................................................................................................................................................I

1 INTRODUCTION................................................................................................................................................1
1.1 SYSTEM INTRODUCTION..............................................................................................................................1
1.2 BACKGROUND OF THE SYSTEM............................................................................................................ 1
1.3 OBJECTIVES OF THE SYSTEM.............................................................................................................. 1
1.4 SIGNIFICANCE OF THE SYSTEM............................................................................................................ 1
2 OVERALL DESCRIPTION...............................................................................................................................2
2.1 PRODUCT PERSPECTIVE...................................................................................................................... 2
2.2 PRODUCT SCOPE................................................................................................................................ 2
2.3 PRODUCT FUNCTIONALITY................................................................................................................... 2
2.4 USERS AND CHARACTERISTICS............................................................................................................ 2
2.5 OPERATING ENVIRONMENT.........................................................................................................................2
3 SPECIFIC REQUIREMENTS...........................................................................................................................3
3.1 FUNCTIONAL REQUIREMENTS............................................................................................................... 3
3.2 BEHAVIOUR REQUIREMENTS................................................................................................................ 3
3.3 EXTERNAL INTERFACE REQUIREMENTS................................................................................................ 3
4 OTHER NON-FUNCTIONAL REQUIREMENTS..........................................................................................5
4.1 PERFORMANCE REQUIREMENTS.......................................................................................................... 5
4.2 SAFETY AND SECURITY REQUIREMENTS.............................................................................................. 5
4.3 SOFTWARE QUALITY ATTRIBUTES........................................................................................................ 5
5 DESIGN DESCRIPTION...................................................................................................................................6
5.1 COMPOSITE VIEWPOINT................................................................................................................................6
5.2 LOGICAL VIEWPOINT....................................................................................................................................6
5.3 INFORMATION VIEWPOINT............................................................................................................................6
5.4 INTERACTION VIEWPOINT............................................................................................................................6
5.5 STATE DYNAMICS VIEWPOINT.....................................................................................................................6
5.6 Algorithm Viewpoint..................................................................................................................................6
Detailed SRS for < Project Name~ Type your project name here> Page 1

1 Introduction

1.1 System Introduction


Provide a short description of the software being specified and its purpose [DELETE TEXT IN BLUE]
<TO DO: 1-2 paragraphs describing the software being specified. >

1.2 Background of the System


Provide brief description of the similar software in the domain under study and specify how this
project is different from the existing software.
<TO DO: 1-2 to paragraphs>

1.3 Objectives of the System


This section should include major objective of the software being specified
<TO DO: List down all objectives in bullets form>

1.4 Significance of the System


What will be the importance of your software and different application areas where it may play
important role.
<TO DO: Provide paragraph or list>
Detailed SRS for < Project Name~ Type your project name here> Page 2

2 Overall Description

2.1 Product Perspective


Describe the context and origin of the product being specified. For example, state whether this product is a follow-on
member of a product family, a replacement for certain existing systems, or a new, self-contained product. In this part,
make sure to include a simple diagram that shows the major components of the overall system, subsystem
interconnections, and external interface. Delete the text in blue

<TO DO: Provide at least one paragraph describing product perspective. Provide a general diagram that will illustrate
how your product interacts with the environment and in what context it is being used.>

2.2 Product Scope


This section should include a short description of the software such that boundaries (what to do? and what not to
do?) of the software can easily be identified.
<TO DO: 1-2 paragraphs describing the scope of the product.>

2.3 Product Functionality


Summarize the major functions, the product must perform or must let the user perform. Details will be provided in
Section 2.3.1, so only a high level summary is needed here. Organize the functions to make them understandable to
any reader.
<TO DO: Provide a bulleted list of all the major functions of the system. >

2.4 Users and Characteristics


Identify the various users that you anticipate will use this product. Users may be differentiated based on frequency of
use, subset of product functions used, technical expertise, security or privilege levels, educational level, or
experience.
<TO DO:
1. Describe the pertinent characteristics of each user. Certain requirements may pertain only to certain users.
3. Distinguish the most important users for this product from those who are less important to satisfy.>

2.5 Operating Environment


Describe the environment in which the software will operate, including the hardware platform, operating system and
versions, and any other software components or applications with which it must peacefully coexist.
<TO DO: Describe the environment your system will have to operate in. Make sure to include the minimum platform
requirements for your system. >
Detailed SRS for < Project Name~ Type your project name here> Page 3

3 Specific Requirements

3.1 Functional Requirements


This section is the direct continuation of section 2.2.2 where you have specified the general functional requirements.
Here, you should list in detail the different product functions with specific explanations regarding every function.
<TO DO: Break the functional requirements to several functional areas and divide this section into subsections
accordingly. Provide a detailed list of all product operations related to these functional areas. >

3.1.1 Use Case Diagram

3.1.2 Use Case Descriptions

3.1.3 System Sequence Diagram / System Collaboration Diagram [Optional for BSCS
Students ~ Mandatory for BSSE Students]

3.1.4 Class Diagram [Optional for BSCS Students ~ Mandatory for BSSE Students]

3.1.5 Data Flow Diagram

3.1.6 Database Design or ERD

3.2 External Interface Requirements

3.2.1 User Interfaces

Describe the logical characteristics of each interface between the software product and the users. This may
include sample screen images, standard buttons and functions (e.g., Cancel) that will appear on every
screen, error message display standards, and so on. Define the software components for which a user
interface is needed.
<TO DO: Describe in words the different User Interfaces and the different screens that will be available to
the user. >

Note: Include Section 3.3.2, 3.3.3, 3.3.4 in the this document if you have hardware project or
your system is interacting with other system/ APIs or any communication functions required by
your system/product, including e-mail, web browser, network server communications protocols.
[Delete Text in Red or Blue]

3.2.2 Hardware Interfaces

For hardware interfaces, Describe the logical and physical characteristics of each interface between the
Detailed SRS for < Project Name~ Type your project name here> Page 4
software product and the hardware components of the system. This may include the supported device types,
the nature of the data and control interactions between the software and the hardware. You are not
required to specify what protocols you will be using to communicate with the hardware, but it will be
usually included in this part as well.
<TO DO: Please provide a short description of the different hardware interfaces. If you will be using some
special libraries to communicate with your software mention them here. In case you have more than one
hardware interface divide this section into subsections.>

3.2.3 Software Interfaces

For software interfaces, Describe the connections between this product and other specific software
components (name and version), including databases, operating systems (Windows? Linux? Etc…), tools,
libraries, and integrated commercial components. Identify the data items or messages coming into the
system and going out and describe the purpose of each. Describe the services needed and the nature of
communications. Identify data that will be shared across software components. If the data sharing
mechanism must be implemented in a specific way (for example, use of a global data area in a multitasking
operating system), specify this as an implementation constraint.
<TO DO: To make things simpler, you are only required to describe the specific interface with the operating
system or any other software, also specify APIs to be used.>

3.2.4 Communications Interfaces

for communication interfaces, Describe the requirements associated with any communications functions
required by this product, including e-mail, web browser, network server communications protocols,
electronic forms, and so on. Define any pertinent message formatting. Identify any communication
standards that will be used, such as FTP or HTTP. Specify any communication security or encryption
issues, data transfer rates, and synchronization mechanisms.
<TO DO: Do not go into too much detail, but provide 1-2 paragraphs were you will outline the major
communication standards. For example, if you decide to use encryption there is no need to specify the exact
encryption standards, but rather, specify the fact that the data will be encrypted and name what standards you
consider using. >
Detailed SRS for < Project Name~ Type your project name here> Page 5

4 NON Functional Requirements

4.1 Performance Requirements


If there are performance requirements for the product under various circumstances, state them here and
explain their rationale, to help the developers understand the intent and make suitable design choices.
Specify the timing relationships for real time systems. Make such requirements as specific as possible. You
may need to state performance requirements for individual functional requirements or features.
<TO DO: Provide different performance requirements based on the information you collected from the
client. For example you can say “1. Any transaction will not take more than 10 seconds, etc…>

4.2 Safety and Security Requirements


Specify those requirements that are concerned with possible loss, damage, or harm that could result from
the use of the product. Define any safeguards or actions that must be taken, as well as actions that must be
prevented. Refer to any external policies or regulations that state safety issues that affect the product’s
design or use. Define any safety certifications that must be satisfied. Specify any requirements regarding
security or privacy issues surrounding use of the product or protection of the data used or created by the
product. Define any user identity authentication requirements.
TODO:
Provide at least different safety requirements based on your interview with the client Describe briefly what
level of security is expected from this product by your client and provide a bulleted (or numbered) list of the
major security requirements.>

4.3 Software Quality Attributes


Specify any additional quality characteristics for the product that will be important to either the customers
or the developers. Some to consider are: adaptability, availability, correctness, flexibility, interoperability,
maintainability, portability, reliability, reusability, robustness, testability, and usability. Write these to be
specific, quantitative, and verifiable when possible. At the least, clarify the relative preferences for various
attributes, such as ease of use over ease of learning.
<TODO: Use subsections (e.g., 4.3.1 Reliability, 4.3.2 Portability, etc…) provide requirements related to the
different software quality attributes. Make sure, that you do not just write “This software shall be
maintainable…” Indicate how you plan to achieve it, & etc…Do not forget to include such attributes as the
design for change. Please note that you need to include quality attributes.>
Detailed SRS for < Project Name~ Type your project name here> Page 6

5 Design Description

5.1 Composite Viewpoint


It identifies the major design constituents of system under study, for instance, composition and modular
assembly of systems in terms of subsystems. The UML diagrams used to serve the purpose are “Package
Diagram (Logical)”, and “Deployment Diagram (Physical)”.
<TO DO: Package Diagram or Deployment Diagram of the complete system>

5.2 Logical Viewpoint


The purpose of the Logical Viewpoint is to elaborate existing and designed types and their implementations
as classes and interfaces with their structural static relationships, for instance, static structure (Classes,
Interfaces and their relationships). The UML diagram used to serve the purpose is class diagram.
<TO DO: a complete class diagram of software>

5.3 Information Viewpoint


<The Information Viewpoint is applicable when there is a substantial persistent data content expected in
system under study. The UML diagram used to serve the purpose is Entity Relationship Diagram (ERD).
TO DO: Entity Relationship Diagram (ERD) in case of software having database for information storage>

5.4 Interaction Viewpoint


The Interaction Viewpoint defines strategies for interaction among objects. This could include designing
with concurrent tasks and/or asynchronous messaging, messaging among objects, etc. The UML diagram
used to serve the purpose is Sequence Diagram.
<TO DO: Provide sequence diagrams for every use-case>

5.5 State Dynamics Viewpoint


<The State Dynamic Viewpoint expresses the Dynamic state transformations of the system under study. The
UML diagrams used to serve the purpose are UML State Machine Diagram, State Transition Table
(Matrix).
TO DO: UML State Machine Diagram/ State Transition Table (Matrix) for the software>

5.6 Algorithm Viewpoint


The detailed design description of operations (methods, functions), this applies to components, classes, and
individual methods as design entities. The UML diagrams used to serve the purpose are Decision Table,
Pseudo Code.
<TO DO: Provide Decision Table or Pseudo Code for the complete software>

You might also like