Software Requirement Specification (SRS)


Is widely know for software developer , if we build software,  we are going through 6 steps common in SDLC (Software developmet life cycle). SDLC will look like this :

at this time, we don’t describe about SDLC deeply. even there are vary definition about steps in SDLC, but the first step is always about analysis, gain user needs and find requirement.

this SRS is produce in this step of SDLC. SRS is Document of all software requirement. before we talk about what to describe in SRS and how to create it, first we must understand how to gather right requirement in software.

actually what the meaning by ‘requirement’?

Requirements are the voice of the customer. They’re hard to get right

we also can say that requirement is set of all user needs, and are the basis for later development. developer often get hard to get requirement right . why ? coz, the user doesn’t always know what they want exactly.

to make easy when we gather user requirement. there are some types of requirements :

we can start find requirement from user who use the software later, or called ‘actor’ . we define all actor  that involved in software, each actor have its interest in software. it can be conclude, there are 5 easy ways to gather requirement from the beginning , namely :

  1. define all the actor who have interest in software
  2. for each actor breakdown its need of software, for example : the actor of  e-learning software is “student”, student have interest in e-learning to see the courses offered in next semester. later on, we draw that in Use Case Diagram (in UML, Unified Modelling Language)
  3. after we got all the function from each actor, we start to maping the function to entity that’s common in use for all actor. from previous example, we can map the function ‘see the courses offered in next semester’ become entity ‘courses’.
  4. since all the entity complete, we start to make relation between entity, we called it entity relationship diagram (ERD). ERD is the raw model of database design.
  5. each entity in ERD must be detailed in component. every component has it’s type of data. for example : courses entity have component of : courses ID, courses Name, courses class, etc.

 beside that steps above, there are supporting tools to help we gain requirement.

General tools : word processors, spreadsheets..
(+) Flexible, ubiquitous
(-) Poor traceability & other support, difficult to maintain
Requirements tools : Rational rose, Power designer,..
(+) Good tracking etc. support , structured
(-) Inflexible, overkill for small projects
Graphical. UML, DFD, ERD, …
(+) Widely used?
(-) Have a loose semantics
SRS definition is  –> Complete description of the behavior of a system to be developed. The basic issues that the SRS writer(s) shall address are the following:
  • Functionality.
  • External interfaces.
  • Performance.
  • Attributes.
  • Design constraints imposed on an implementation.

You can complete SRS Documentation by it’s Content like this :





Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s