Software Requirement Specification Template
Software Requirement Specification Template
Table of Contents
1. Introduction
1.1 Purpose
1.2 Scope of Project
1.3 Intended Audience
1.4 References
2. Overall description
2.1 Product Perspective
2.2 User Classes and Characteristics
2.3 Operating Environment
2.4 Design and Implementation Constraints
2.5 Assumptions and dependencies
3. Requirement Specification
3.1 Functional Requirements
4. Nonfunctional Requirements
4.1 Performance requirements
4.2 Safety requirements
4.3 Security Requirements
4.4 Software Quality Attributes
4.5 User Documentation
6. Other Requirements
Appendix A: Glossary
Appendix B: To-Be-Determined List
Revision History
Requirement ID Date Of Reason For Changes Version
revision
1.Introduction:
1.1 Purpose
To build a content based semantic search engine to produce accurate and specific
search results and to reduce the ambiguity involved in the search results produced by
the normal search engine.
Our project has its scope across various fields of business and technology like
accountancy, medical applications, news reports, real property systems, television
applications, video gaming applications, multimedia applications, mapping applications, etc..
The intended audience for our SRS report are we (the implementers of semantic search
engine), the intended users of our product ( day-to-day internet users, business analysts,
research people, professionals in various fields, etc.), our project guide, our project
evaluators and listeners of our project demonstration ( fellow-mates of our project lab), etc.
1.4 References
2. Overall description
Tim Berners Lee introduced the idea of semantic search in the web. We are collecting ideas
from the semantic search engine – wolfram alpha (current version). This idea is not a completely
new idea, but, it is the introduction of a semantic search engine that provides content-based,
accurate and specific search results as compared to the normal search engine (google, etc.). We
are implementing a part of the huge semantic search engine (topics like mathematics, physics,
chemistry, geography and so on).
The end users of the proposed system are the people in general who query the
search engine to obtain their required search results, the database administrators who
administer the database by adding, deleting, updating, replacing and changing the
properties related to the data, etc.
2.3 Operating Environment
For our project, we require the internet facility as one of the most essential operating
environment. Apart from that, we require hardware facility such as computer (desktop, laptop or
palmptop, etc.), modem for connecting to the internet, hard disk (160 GB), RAM (2 GB) and
speakers if necessary.
Software requirements include an operating system, specifically Windows XP and other essential
components like Visual Studio for .NET programming, mysql database, data mining tool and so
on.
2.5.1 Assumptions
The data stored in the database will be confined by us to some areas of our
interest unlike the already existing semantic search engines in the web.
2.5.2 Dependencies
3. Requirement Specification
• User shall be able to get specific and accurate output for a given input specified.
• User shall be able to easily access the required results without having to search
through a huge number of pages.
• User shall be able to access their results in a page ranked fashion according to
priority.
• User shall be able to obtain content based search instead of keyword (tag-line)
based search.
4. Nonfunctional Requirements
1. Any external person (user) should not be able to access, alter or manipulate
the database apart from the database administrator.
4.3 Software Quality Attributes
1. Low barrier to access for ordinary end users: Our semantic search should be
able to overcome the problem of knowledge overhead and ensure that ordinary end
users are able to use it without having to know the vocabulary or structure of the
ontology or having to master a special query language.
2. The ontology serves as the control vocabulary to make semantic suggestions such as
synonyms, related concepts to facilitate query and search.
In semantic search engine, end user is able to obtain precise and accurate results for
his search. This is achieved by content-based search facility provided by the semantic
search engine. As compared to the normal search engine, this is comparatively better
because it avoids the routine tag-line based searching engine that displays junk
(unnecessary) results.
As you can see in the figures above, the specifity of the search results obtained by
the semantic search engine as compared to the normal search engine.
The user interface provided by us includes a text box for the user to enter the query,
search button for the user to query his search results. The user also should be provided with
suggesion links in case of multiple occurrences of results in the database for a single query.
The user also should be provided with the textbox for sending feedback to us so that further
improvement could be done.
6. Other Requirements
Define any other requirements that are not covered elsewhere in the SRS, such as
internationalization requirements or legal requirements. You could also add sections on
operations, administration, and maintenance to cover requirements for product installation,
configuration, startup and shutdown, recovery and fault tolerance, and logging and
monitoring operations. Add any new sections to the template that are pertinent to your
project. If you don’t have to add any other requirements, omit this section.
Appendix A: Glossary
Define all the terms necessary for a reader to properly interpret the SRS, including
acronyms and abbreviations. You might wish to build a separate glossary that spans
multiple projects for the entire organization and include only terms that are specific to a
single project in each SRS.
Compile a numbered list of the TBD (to be determined) references that remain in the SRS
so that they can be tracked to closure.