You are on page 1of 17

Software Requirements Specification

TABLE OF CONTENTS

TABLE OF CONTENTS..............................................................2
1. INTRODUCTION.....................................................................3
1.1 PURPOSE OF THE SYSTEM........................................................3
1.2 SCOPE OF THE DOCUMENT.......................................................3
1.3 INTENDED AUDIENCE...............................................................3
1.4 DEFINITIONS, ACRONYMS AND ABBREVIATIONS....................5
1.4 DEFINITIONS, ACRONYMS AND ABBREVIATIONS....................5
1.5 REFERENCE..............................................................................5
2. TEAM ARCHITECTURE........................................................6
3. OVERALL DESCRIPTION.....................................................8
3.1 PRODUCT FUNCTION...............................................................8
3.2 ASSUMPTIONS AND DEPENDENCIES......................................10
4. SPECIFIC REQUIREMENTS...............................................11
4.1 EXTERNAL INTERFACE REQUIREMENTS................................11
4.1.1 User Interface.................................................................11
4.1.2 Hardware Interface........................................................12
4.1.3 Software Interface..........................................................13
4.1.4 Communication Interface...............................................13
4.2 PERFORMANCE REQUIREMENTS...........................................15
4. NON-FUNCTIONAL REQUIREMENTS.........................................16
5. SOFTWARE SYSTEM ATTRIBUTES................................17
1. Introduction

1.1 Purpose of the system

The purpose of the system is to architect a simple KWIC


software system and implement it, which later will be used
for a web based search engine.

1.2 Scope of the document

The task of developing the document was distributed


amongst the team members. The team divided itself into
various worlds present in the Requirements Engineering
scenario and thus played their part.

The team was responsible for gathering the requirements


and represents them in the required format.

The main constraint placed on the process was the time


constraint. For every phase of project a specific deadline
was set which had to be met by the development team. The
team was scheduled to work in the given time frame and
produce the result.

1.3 Intended audience

The expected audience of this document is the users of the


KWIC system and the developers.
1.4 Definitions, Acronyms and Abbreviations

KWIC:
Key Word In Context

Circular Shift:
Removing the first word of a sentence and appending
it at the end of the sentence

1.5 Reference

IEEE standard 830: Software Requirements Specifications


Other information from Web sites: Yahoo and Google
2. Team Architecture

The team consists of 3 members:


XXX
YYY
ZZZ

The work is broken down as follows:


 YYY:
Responsible for the development of the user
interface. This includes all aspects of interaction
between the user and the system. He will decide the
'look' and 'feel' and overall structure of the interface.
This includes the color schemes, menu layout, fonts,
location of option boxes and text etc.

 ZZZ:
All testing of the user interface will be carried out
by him. This will entail ensuring that the user the
interface has full functionality and meets an
acceptable standard as decided by the user. A
recognized evaluation checklist will be used for this
purpose.

 XXX:
He is responsible for development of the system,
which accepts the input, processes it and produces the
output. Also, he will be responsible for interface
between the front end and the back end. This
comprises the interface between the database (if any)
and the user interface.
Further breakdown is as follows:
Role played Responsibility Team Member
System World: Design
Product Manager Development XXX
Project Manager Change control
Reusability
Traceability
Subject World: Development
Consultants Time
Customer Reliability YYY
Client Company Maintainability
Manager
User world: Response Time ZZZ
Potential End Reliability
User User Interface
3. Overall Description

A simple KWIC system has to be architected which will


later be used as a search engine. The project will use
Object-Oriented architectural style, and build a Java applet,
which will be accessible through a web page.

The KWIC index shall accept an ordered set of lines, where


each line is ordered set of words, and each word is an
ordered set of characters. Any line shall be “circularly
shifted” by repeatedly removing the first word and
appending it at the end of the line. The KWIC system shall
output a listing of all circular shifts of all lines in ascending
alphabetical order.

3.1 Product Function

This section describes the general functionality of the


system being developed which will be discussed in detail in
the coming sections.

The functionalities to be satisfied by the system can be


broadly classified in the following ways:

Accept Input

In this function, the user will be able to enter a series of


strings separated by ‘$’. The input will be through an applet
which will contain a text area for the same.
String Processing

This task is to be carried out once the user has entered


his/her input. The strings are taken, separated based on ‘$’
and then processing is performed as per the requirement.
First, all the lines are circularly shifted and then, once all
the lines are shifted, they are arranged in ascending
alphabetical order.

Output

Once the string processing is complete, the output is


displayed to the user in the same applet. The output will
show the circularly shifted lines along with the ascending
alphabetical order.
3.2 Assumptions and Dependencies

1. Input:
The user enters the lines separated by ‘$’, else it
will be taken as one single statement.

2. Processing:
The sorting of the lines is dependent on the
circularly shifting module.

3. Output:
The output is displayed to the user. The user will
not be able to edit the output.
4. Specific Requirements

4.1 External Interface Requirements

The interfaces in this section are specified by


documenting: the name and description of each item,
source or input, destination or output, ranges, accuracy
and tolerances, units of measure, timing, display formats
and organization, and data formats.
4.1.1 User Interface

The user interface required to be developed for the


system should be user friendly and attractive. The
interface between the user and the system will be WIMP
(Windows, Icons, Menu, Pointers) keeping in mind that
the system is to be run through web browser. All
operations will be of point and click nature with all
navigations performed through windows of the system
specifically buttons and menus:

Buttons: The button is activated when the user will click


with the left click of the mouse within the bounds of the
button. And thus the action associated with it will be
carried out.

Menu: All the operations will be arranged.


4.1.2 Hardware Interface

Here's What You Need to Use the KWIC system:

• PC with 300 megahertz or higher processor clock speed


recommended; 233 MHz minimum required (single or
dual processor system);* Intel Pentium/Celeron family,
or AMD K6/Athlon/Duron family, or compatible
processor recommended
• 128 megabytes (MB) of RAM or higher recommended
(64 MB minimum supported; may limit performance
and some features)
• 200 megabytes (MB) of available hard disk space
• Super VGA (800 x 600) or higher-resolution video
adapter and monitor
• Keyboard and Microsoft Mouse or compatible pointing
device
Additional Items or Services Required to Use Certain
SDMS features
• For Internet access:
• Some Internet functionality may require Internet access, a
Microsoft .NET Passport account, and payment of a
separate fee to a service provider; local and/or long-distance
telephone toll charges may apply
• 14.4 kilobits per second (Kbps) or higher-speed modem

4.1.3 Software Interface

 Netscape Navigator 4.6 or 4.7 or Internet Explorer 5.5.


Must be JavaScript-enabled.
 Windows 95, 98, 2000, XP or Macintosh Windows
XP
 PDF compatible word processing software
 Microsoft Word or WordPerfect Suite
4.1.4 Communication Interface

The KWIC system is three-tier architecture. The client


is a thin client who just displays the HTML pages and
forms to the user of the system. The database tier stores all
the information (characters, lines, etc) in a table. The
middle tier does all the transactions and processing of the
system. It does the communication between the thin client
and the database.
4.2 Performance Requirements

The system will process incoming data and send


relevant feedback within a few milliseconds of receiving it.
Web users may not be able to have such a fast response as
this however, because of bandwidth limitations, especially
during peak usage times. The system will also be capable
of dealing with large number of users (approx. 1000)
simultaneously. Given that expanding nature of the World
Wide Web, the above scenario would not be uncommon.
The system will be able to maintain response times that are
within the normal expectations of a user even during
periods of heavy usage.
For these reasons, the volume of data in KWIC pages
(including graphics) will be kept as small as possible
(without compromising the quality of the interface), so that
the interface will load quickly to a remote server.
The KWIC system will maintain up time greater than 99%.
That is the period that the KWIC is running correctly as
percentage of total time, will equate to a percentage greater
than 99.
4. Non-functional Requirements

 Performance Criteria:

 Time
The elapsed time between the
submission of a search request and the processing of
string and displaying the desired output should be as
minimal as possible
Similarly, there is be a minimal gap
between the circular shifting of the strings and
sorting of all the created strings.
 User friendly:
System should be easy to use by experts
as well as non-experts. The user interface should be
kept simple and uncluttered.

 Flexibility:
It should be modular so that later
requirement changes can be accommodated.

 Extensibility:
It should be able to accommodate the
variations like:
-- Different string separator
-- User Interaction after entering input
-- Noise Elimination
 Portable:
The system should be portable on any platform. It
should run on systems having java installed.

 Reusable:
The system will be modular, so those modules
can be reused if the system requirements changes or if
these modules are to be used in some other similar
system.

5. Software System Attributes

 Reliability:
\The KWIC system will be released after
thoroughly tested. Situations in which a request and
response run unexpectedly shall be very minimal. It
will be written in a modular structure to make
modification as easy as possible.

 Availability:
The system should be available 24 hours a
day, 7 days a week. The availability can be measured
in terms of MTTR(Mean Time To Repair) and
MTBF(Mean Time Between failures). The system will
be available to the user whenever the user needs it.
 Maintainability:
The system should be easy to maintain by
administrators. After certain of time, the system
should be added new function, new features so that it
can provide user good qualities.

You might also like