SRS Software requirement specification in software engineering

How i can understand the SRS parts?

Following are the parts of SRS. Understanding for each part is given below;

Introduction

Purpose

  • Why you think to develop this software?
  • Why are you developing the software?

Document Conventions

  • Which font is for main headings?
  • Which font is for sub heading?
  • Which font is for paragraph?
  • Which font color is used?
  • You are using numbering list of bullets?
  • Example:
    • Main Heading Titles
      • Font: Arial
      • Face: Bold
      • Size: 14
    • Sub Heading Titles
      • Font: Arial
      • Face: Bold
      • Size: 12
    • Other Text Explanations
      • Font: Times New Roman
      • Face: Normal
      • Size: 12

Intended Audience and Reading Suggestions

  • Who can read or can get benefit from this SRS? Such as developers, users, marketing staff , testers or managers or someone else.
  • Suggest the reader that how he/she can read and understand this document.
  • Suggest the reader about how you organized your document.

Product Scope

  • When your product is launched in the market, then what is the scope of this product?
  • What are the Objectives of the product being developed?
  • What are the goals of the product being developed?
  • What are the benefits of the product being developed?

References

  • You get help from which resource?
    • Resource can be a research paper, book or a website etc.
  • Complete references are mentioned or not?
    • Complete references means that you should put title, author, version number, date, and source or location.

Overall Description

Product Perspective

  • This is a new product or extension of some old once?
  • Show the major components of the overall system in a diagram.

Product Functions

  • Main functionality of the product(not in details-only bulleted list).
  • A picture of the major groups of related requirements and how they relate,
  • Draw top level data flow diagram or object class diagram.

User Classes and Characteristics

  • List all the users of the system.
    • Example:
      • Online Library management system includes three user classes: Librarian, students and administrators.

Operating Environment

  • Product can be use on what kind of environment?
    • Windows?
      • 32 bit or 64 bit
    • Hardware?
      • How much RAM required?
      • How much CPU required? etc

Design and Implementation Constraints

  • What constraints, rules and regulations should be following while developing the product?
    • corporate or regulatory policies
    • Hardware limitations
    • Time requirements
    • Memory requirements
    • Technologies
    • Tools
    • Databases
    • Language requirements
    • Security considerations
    • Programming standards

User Documentation

List the user documentation components that will be provided to the client of the product. These components can be

  • Online help
  • User manual
  • Tutorials etc

Assumptions and Dependencies

  • Explain if some requirements depends on some other requirements.

External Interface Requirements

User Interfaces

  • Provide screen shots of your product.

Hardware Interfaces

  • How software will communicate with hardware? Provide a detailed picture. Preferable through a diagram.

Software Interfaces

How your software will work with other software. For example how your software will interface with windows, IOS or android etc.

Communications Interfaces

  • Mention if the product needs helps of communication devices while working. For example;
    • E-maill
    • Web browser
    • Network server communications protocols etc.
    • What communication standards  will be used,
      • FTP or HTTP.

System Features

  • Provide the functional requirements
  • Draw the use case diagrams.

Performance Requirements

  • Which things are important for the performance of the system. Mentioned in a list.

Safety Requirements

  • How you prevent your system from
    • Damage
    • harm

Security Requirements

Define any user identity authentication requirements. 

Other Requirements

Define any other requirements that are not covered elsewhere in this SRS. This might include legal requirements, database requirements, internationalization requirements, reuse objectives for the project, and so on.

Appendix A: Glossary

Define all the terms necessary to properly understand  the SRS for other persons.

Appendix B: Analysis Models

  • Draw the
    • detailed data flow diagrams
    • class diagrams
    • state-transition diagrams
    • entity-relationship diagrams