Software Requirements Specification - Project Guideline
Software Requirements Specification - Project Guideline
Software Requirements Specification - Project Guideline
1) Preface: This defines the expected readership of the document and describe its version history,
including a rationale for the creation of a new version and a summary of the changes made in
each version.
2) Introduction: This describes the need for the system. It should briefly describe the system's
functions and explain how it will work with other systems. It should also describe how the
system fits into the overall business or strategic objectives of the organization commissioning
the software.
3) Glossary: This defines the technical terms used in the document. You should not make
assumptions about the experience or expertise of the reader.
4) User Requirements Definition: Here, you describe the services provided for the user. The
nonfunctional system requirements should also be described in this section. This description
may use natural language, diagrams, or other notations that are understandable to customers.
Product and process standards that must be followed should be specified.
5) System Architecture: This chapter presents a high-level overview of the anticipated system
architecture, showing the distribution of functions across system modules. Architectural
components that are reused should be highlighted.
6) System Requirements Specification: This describes the functional and nonfunctional
requirements in more detail. If necessary, further detail may also be added to the nonfunctional
requirements. Interfaces to other systems may be defined.\
6.1. User Requirements: User requirements are statements, in a natural language and the
statements are also described in diagrams, of what services the system is expected to
provide to system users and the constraints under which it must operate. User
requirements therefore describe what the user will be able to do with the system. User
requirements are categorized in to three parts:-
Job seeker: - a person who want to apply in a particular job, there are two types of
job seekers in our system which is classified as registered job seeker and non-
registered job seeker. Registered job seeker means a job seeker which have its own
account in the system, and it have more access of the system than that of non-
registered. He/she gets job alert message in his/her email and/or phone.
Employer: - a person or accompany who use the system to post a job.
System administrator: - Is the one which controls the overall activity of the
system.
We are using our own requirement writing style (template) to write user requirements of the system;
which have requirement ID (JSFREQ, ADFREQ, and EMFREQ), Description (describes in detail
about the requirement), requirement Source (which describes the source of the requirement), and
priority (which describes priority of requirements as high, medium and low).
Employee
Id: - EMFREQ-1
Name: - The system shall allow employers to log in.
Description:-Employers have their own account in the system, for security purpose
the system must verify the user is authorized or not.
Source:-real fact.
Priority: - High.
Bekretsyon B. Page 1
Software Requirements Specification _ Project Guideline
6.2. System Requirements: Detail the requirements in section a using fully dressed use cases.
This section should include a use case diagram and detailed use case descriptions. In order to
describe system requirements in detail we use usecase diagram. System requirements are
expanded versions of the user requirements that are used by software engineers as the starting
point for the system design. They add detail and explain how the user requirements should be
provided by the system. This part is covered on chapter 4(System Analysis)
7) System Models (you can leave this one): This chapter includes graphical system models
showing the relationships between the system components and the system and its environment.
Examples of possible models are object models, data-ow models, or semantic data models.
8) System Evolution: This describes the fundamental assumptions on which the system is based,
and any anticipated changes due to hardware evolution, changing user needs, and so on. This
section is useful for system designers as it may help them avoid design decisions that would
constrain likely future changes to the system.
9) Appendices: These provide detailed, specific information that is related to the application being
developed for example, hardware and database descriptions. Hardware requirements define the
minimal and optimal configurations for the system. Database requirements define the logical
organization of the data used by the system and the relationships between data.
10) Index: Several indexes to the document may be included. As well as a normal alphabetic index,
there may be an index of diagrams, an index of functions, and so on.
Bekretsyon B. Page 2