Вы находитесь на странице: 1из 24

Table of Contents

1.1 Document purpose .............................................................................................................................. 2


1.2 product scope ...................................................................................................................................... 2
1.3 Intended Audience and Document Overview ..................................................................................... 2
1.4. Definitions, Acronyms and abbreviations .............................................................................................. 4
1.5. Document convention ............................................................................................................................ 4
1.6 References and acknowledgment ............................................................................................................ 4
2. OVERALL DESCRIPTION ..................................................................................................................... 5
2.1 product overview ................................................................................................................................ 5
2.2. Product functionality .......................................................................................................................... 6
2.3. Design and Implementation Constraints ........................................................................................... 6
2.4. Assumptions and Dependencies ........................................................................................................ 6
3. SPECIFIC REQUIREMENTS.............................................................................................................. 7
3.1 External interface requirements .......................................................................................................... 7
3.2 Functional Requirements .................................................................................................................... 8
3.3 Use case model ................................................................................................................................... 9
4. OTHER NON-FUNCTIONAL REQUIREMENTS ............................................................................... 21
4.1. Performance Requirements .............................................................................................................. 21
4.2. Security Requirements ..................................................................................................................... 21
4.3. Software Quality Attributes ............................................................................................................. 21
5. Other Requirements ................................................................................................................................ 22
Appendix A: Glossary................................................................................................................................. 23

Ethiopedia free encyclopedia software requirement specification i


Revisions

Version Primary Author(s) Description of Version Date Completed

SRS Motherland team This is the SRS document of Ethiopedia 21/12/2015


version members free encyclopedia version 1.0. Since there
1.0 is no previous SRS with this system it is
the primary version.

Ethiopedia free encyclopedia software requirement specification 1


1. INTRODUCTION
1.1 Document purpose
This is a software requirement specification document for Ethiopedia free encyclopedia website.
The document includes functional and nonfunctional requirements associated with software
being described. This document is the initial version document as no previous version of the
system exists. The release number is Ethiopedia free encyclopedia SRS release 1.0. The system
covered in this SRS is web based system that provides to read, add, delete, update and retrieve
information found in Ethiopia.

1.2 product scope


Ethiopedia free encyclopedia is a web based system that is the free encyclopedia of Ethiopian
people, history, culture, religion and biography of its people that is accessed through website. Its
goal is to be the source of information and pioneer free encyclopedia in Ethiopia. Its general
objective is to let customers access, add and retrieve information found in Ethiopia. As the name
indicates it aims on information found only in Ethiopia.

It is targeted to cover the problem of information availability about the rich historical culture,
civilization, social life, history, ceremonies, famous public figures, and archeological data about
Ethiopia. Such information is scarcely and or unstructured manner dispersed here and there
currently. Ethiopedia is a promising solution for these problems for researchers, tourists,
archeologists, citizens and the world in large

1.3 Intended Audience and Document Overview


This document is the final software requirements specification document as agreed by users,
developers, and owners. The document has information for users, designers, system owners,
maintenance team, system testers and documentation team. The document provides different
information that will be vital for different groups of readers. The readers summarized as
follows:-

Ethiopedia free encyclopedia software requirement specification 2


Reader type Main concerned part purpose
System users Functional and non-functional To review if the interface, functional and non-
requirements, GUI requirements functional requirements are the one they desire,
And recommended change if necessary.
Designers Use case, functional and non- Revise the use case as necessary, check the
functional requirements achievability of requirements and the tool
assumptions and dependencies and proposed to be used
design constraints.
System owners Project cost, functional and non- Specify development tools to be used. Check if
functional requirements. all their requirements are included.
Maintenance Functional and non-functional If system fails during maintenance the team
team requirements use case. maintaining the system needs to revise the initial
functionality the system was intended to do.
Testing team Functional and non-functional During black box testing the tester checks if the
requirements system does what it was intended to do using
functional requirements.
This SRS document is organized into five parts. The part after this section, part two presents
brief description of the system and issues related to it. This part starts with stating the product
perspective that describes the current system and its relation with any other previous or working
system. It contains listing of system features, user classes and their required characteristics,
design and implementation constraints. User documentation and assumption and dependence
mad by requirements team.

Part three is all about detailed description of the products features listed briefly in part 2.1. For
each and every system feature detail explanations added here. The features are supplied with
description and priority level. Stimulus response sequence between user and the system, Lists of
functional requirements associated with each feature are presented in detail.

In part four non-functional requirements are presented. These include performance requirements,
safety and security requirements and software quality attributes.

The last part is dedicated to explain any requirements that have not been covered in section 2, 3
and 4. Finally Appendix will be included for further explanation of some parts.

Ethiopedia free encyclopedia software requirement specification 3


1.4. Definitions, Acronyms and abbreviations
GUI Graphical user interface
SRS Software Requirement Specification
Motherland Team members name(group name)
PHP Personal home page
CSS Cascade style sheet
HTTP Hypertext transfer protocol
FTP File transfer protocol
TCP Transmission control protocol
IP Internet protocol
UC Use case

1.5. Document convention


In this document all the texts except topics and subtopics are written with Times New Roman
Font style, font size of 12 and line spacing of 1.5. The titles are written all capital letters, font
size of 14, times new roman font style and align centered. Sub titles are written in bold, times
new roman font style, small letter.

1.6 References and acknowledgment


 Software Requirements Web Publishing System by Joan Submitted in partial fulfillment
Of the requirements of CS 310 Software Engineering
 IEEE SRS Recommended Practice
 Software requirement specification of MDCA system.
 Wikipedia free encyclopedia website.

Ethiopedia free encyclopedia software requirement specification 4


2. OVERALL DESCRIPTION

2.1 product overview


Ethiopedia free encyclopedia is a new system going to develop to solve the problem of scarcity
of information in Ethiopia related to history, culture, biography, wealth. The system explained in
this document is the first version. The system will serve as the primary source of information by
dominating magazines, newspapers, and other Medias. The design and implementation of
Ethiopedia will make Wikipedia as its benchmark. Ethiopedia is different from Wikipedia in its
content, concerned only information regarding Ethiopia. The system interacts with every
customers, administrators and government organizations. The customers may be members or
other users in different category use it for different purpose. The members use the system to
access data and to upload the data and other user can use the system to access the data, without
any limitation of who they are and where they from. The system is released as a web based
system, accessed everywhere connection (internet connection) found using any browsers with pc
or mobile.

Figure 1. The system architecture of Ethiopedia free encyclopedia

Ethiopedia free encyclopedia software requirement specification 5


The Ethiopedia free encyclopedia is the system running at the data server as shown in the block
diagram in figure 1. The server database is updated by administrators. Users and members can
use computers and iOS device to view the system. The system administrators can control the
overall system.

2.2. Product functionality


 Search and view information: - the system allows users to search and view
information they needed to access without any limitation of areas.
 Register and delete members: - the system allows the users to create account to a
member and delete members account when it is necessary.
 Update, edit, add and delete data: - the system shall allow the members to add,
update, edit the data and delete unnecessary data.
 Generate members report: - the system generate the members report to the system
administrators.
 Approve data and user account: - the administrators approve the data to be
uploaded and new user accounts.

2.3. Design and Implementation Constraints


The system requires a development tool that has no operating system dependency constraint. For
the front end using PHP, CSS and Java Script is strongly recommended. For the back end
designers and or implementation team are advised to use MySQL database as a big security is
required and large unit of data is expected to reside in the database.

2.4. Assumptions and Dependencies


 Every user will have any device that support internet service should be access the system
from everywhere.
 The initial release will be launched in English language only but survey will be
conducted automatically to evaluate the users’ level of understanding to customize it to
local languages.
 If customization fails number of system users may decline by 25%, as the large number
of the user doesn’t well understand the language.

Ethiopedia free encyclopedia software requirement specification 6


3. SPECIFIC REQUIREMENTS

3.1 External interface requirements


3.1.1 User interface

 The menu should contain main and local menus with the shape of inverted L shape,
footer navigation and are all clear and attractive.
 The color contrast mainly focused with the mix of three main colors(Green, Yellow and
Red) the flag of Ethiopia, since it is Ethiopedia and arranged and done very carefully for
good attraction
 The system shall allow simple and efficient search engine for the information for the
users.
 The system should have simple and visible home page, easily back from other pages
 The system contain user name and password entrance interface for the members and a
password area with that uses non-plain text.
 The system protects wrong entry before editing, deleting and inserting any data from and
to the database.
 There exists some menus that support actions only for authorized personnel only and not
for the unauthorized once.
 Generally the user interface should be attractive, positive first impressive and
aesthetically pleasing.
 At the time of this software development no interface design is done.

Ethiopedia free encyclopedia software requirement specification 7


3.1.2 Hardware interface

The system needs a computer or any device that supports internet service and browser that can
browse a site.

3.1.3 Software interface

The system will interact with any browser like Google chrome, Mozilla Firefox, Maxton cloud
browser, opera and others. The system works on any operating system, windows, mac, Linux,
UNIX and iOS in the client side.

In the server side the system communicate with MySQL database and use TCP/IP for client
server communication, HTTP and FTP file transfer protocol and communications.

3.2 Functional Requirements


In this section the system functional requirements are presented. This is the extension part of 2.2.
For each functional requirements of the system, we put explanation what these do with their
respective use case diagram.

3.2.1 Upload data to the database

The system allows the members to upload data to the database of the system that is uploaded to
the site back after validated. It is only for members and validated by the administrators, if it
violates the terms it will not be uploaded to the database and rejected.

3.2. 2 update and delete data

The members allowed editing, deleting and retrieving information that is exists on the site,
searching for them on the database with search engine. The edited data validated by the
administrators and allowed if valid and deleted data informed to the database and removed.

3.2.3 Delete user account and update their status

The system allows the registration of new users and remove members when necessary, and this
done by the administrators. This is to protect the system from vulnerability of unwanted

Ethiopedia free encyclopedia software requirement specification 8


information, in other side to increase users and writers of the system to make the system reach of
information.

3.2.4 Validate user and data

The administrators validates the data to be uploaded, validate the users and their limit of access
(members and any users’ priority) and checkup unauthorized users trying to enter to the system
database.

3.3 Use case model

Ethiopedia free encyclopedia software requirement specification 9


3.3.1 Use Case#1

Name Search information


Use case id UC1
Author Motherland

Purpose Allow the user search information he/she needs from the website
Requirements The users need to get information about Ethiopia
Traceability
Priority High
Preconditions the user should first browse for the website before searching to the
information
Post conditions The user gets the information he/she needs after searching completed or
“does not exist” message if the information they needed doesn’t exist.
Actors Person
Flow of Events 1. Basic flow
i. The user open the website address
ii. The system displays the website interface
iii. the user click the search engine
iv. The user put the text in the text area provided for search
purpose
v. The system accept the text, process it and display on the page
2. Alternative Flow
i. The system ask to reenter the
text, check the spelling to be searched
ii. The system search from
other sites and display the information
3. Exception
i. The system alerts the “doesn’t exist ” alert
Extends -------------------------
Includes -------------------------

Ethiopedia free encyclopedia software requirement specification 10


3.3.2 Use Case#2

Name View information


Use case id UC2
Author Motherland

Purpose Let the user view information they need


Requirements The users need to get information about Ethiopia
Traceability
Priority High
Preconditions The user should first search the information they need to view
Post conditions The user get the needed data they are searching
Actors Person
Flow of Events 1. Basic flow
I. The user select the information displayed
II. view, read the information
III. close the page
2. Alternative flow
I. The system allow to re view the data
II. The system allow to search again and view the data
3. Exceptional flow
III. The system alerts the “data doesn’t exist” alert when the
data doesn’t found
Extends -------------------------
Includes -------------------------

Ethiopedia free encyclopedia software requirement specification 11


3.3.3 Use Case#3

Name Create account


Use case id UC3
Author Motherland

Purpose Let the users be member of the system


Requirements The user need to be the member of the system to edit and upload data to
Traceability the system
Priority High
Preconditions The user need to open the site
Post conditions The user become the member of the system
Actors Person
Flow of Events 1. Basic flow

i. The signup and login button displayed


ii. the user click sign up button
iii. all the information fields displayed
iv. the user fill the necessary information
v. the system check and validate the entered details
vi. The system displays “successfully created” message to the
users.
2. Alternative Flow
i. the system allow to re-enter
the data to be filled
ii. the system display “user
name already exit” message, if the username is used
3. Exceptional flow
The system displays “ can’t create account” message if the
password and username violates the system rules or the user name
already exist
Extends -------------------------

Ethiopedia free encyclopedia software requirement specification 12


Includes -------------------------

3.3.4 Use Case#4

Name Login
Use case id UC4
Author Motherland

Purpose To let the members login to the system , and other intruders from
getting to the system
Requirements The users need to get information about Ethiopia
Traceability
Priority High
Preconditions The user should first sign up for the membership(create an account)
Post conditions The user can do things up to the limit(based on the account type and
limit )
Actors Person
Flow of Events 1.Basic flow
i. the user click login button
ii. username and password field displayed
iii. the user enter username and password
iv. the system validate the username and password
v. logged in to the system
2.Alternative Flow
i. The system allow the user to
reenter username and password
3. Exceptional flow

ii. The system displays “ can’t login” message for wrong


username and password

Extends -------------------------

Ethiopedia free encyclopedia software requirement specification 13


Includes -------------------------

3.3.5 Use Case#5

Name Upload data


Use case id UC5
Author Motherland
Purpose The members of the system upload data to the website
Requirements To upload readable data to the website
Traceability
Priority High
Preconditions The user should be first member of the system
Post conditions The user upload data
Actors Person
Flow of Events 1.basic flow
i. the user logged into the system
ii. click upload button
iii. write the text or browse the image to be uploaded
iv. Click upload button.
2. Alternative Flow
i. The system allows to
reenter username and password
3. Exceptional flow
i. The system displays “ can’t login ” message
Extends ------------------------
Includes UC4

Ethiopedia free encyclopedia software requirement specification 14


3.3.6 Use Case#6

Name Edit data


Use case id UC6
Author Motherland
Purpose To edit wrong data, update them and check for their violence
Requirements To edit data that is wrongly typed , violate the site rules, and update
Traceability them
Priority High, users need correct, timely updated and legal explained
information
Preconditions The user should be member of the system
Post conditions Updated the information exist
Actors Person
Flow of Events 1. Basic Flow
i. the user logged into the system
ii. search or select the information to be edited
iii. click on the edit button
iv. System displays the editable text.
v. the user edit the data needed
vi. click finish edit button
2. Alternative Flow
i. The system allows the user to re-edit the text
3. Exceptions flow
i. The system displays “Fail to Edit” message.
Extends ------------------------
Includes UC4

Ethiopedia free encyclopedia software requirement specification 15


3.3.7 Use Case#7

Name Delete data


Use case id UC7
Author Motherland
Purpose To delete unnecessary data that shouldn’t be exist on the system(violate
rule, sensitive, seductive, racial jokes and others)
Requirements The users doesn’t need to see those information on the site
Traceability
Priority High, such data affect the usability of the system
Preconditions The user should be member of the system
Post conditions Delete the data from the database
Actors Person
Flow of Events 1. Basic Flow
i. the user logged into the system
ii. search for the data or select the data if visible(exist on the page)
iii. click on the title
iv. click the delete button
v. confirm the confirmation button
vi. The system displays “successfully deleted”.
2. Alternative Flow
i. The system allows the user to re-try.
3. Exceptions flow
i. The system displays “can’t delete “message.
ii. The system asks to check their authorization.
Extends ------------------------
Includes UC4

Ethiopedia free encyclopedia software requirement specification 16


3.3.8 Use Case#8

Name Generate members data


Use case id UC8
Author Motherland
Purpose Generates the members data, time of membership, services done by
them, and type of membership
Requirements To increase number of members and know their detail and what they
Traceability do to the system
Priority medium
Preconditions The user should have first the administrator account
Post conditions The user send generated report to the system administrator
Actors Person
Flow of Events 1. Basic Flow
i. the user logged into the system
ii. click view members data button
iii. authenticate the data of members
iv. send report to the system administrator
2. Alternative Flow
i. The system allows the user to re-generate the data.
ii. The system check the generated data.
3. Exceptions
i. The system display “fail to generate” message.
Extends ------------------------
Includes UC4

Ethiopedia free encyclopedia software requirement specification 17


3.3.9 Use Case#9

Name approve data and user account


Use case id UC9
Author Motherland
Purpose Approve the data to be uploaded to the database before uploaded to
the database, give the user account upgrading
Requirements To validate data and upgrade users service level
Traceability
Priority medium
Preconditions The user should be first the administrator
Post conditions Approve or disapprove data to be posted and user accounts
Actors Person
Flow of Events 1. Basic flow
i. the user logged into the system
ii. click view new status button
iii. click for confirm or disapprove
2. Alternative flow
i. The system allows the user to check authorization
ii. The system allows the user to re-try.
3. Exception flow
i. The system display “Not authorized or Fail” message.

Extends ------------------------
Includes UC4

Ethiopedia free encyclopedia software requirement specification 18


3.3.10 Use Case#10

Name Delete account


Use case id UC10
Author Motherland
Purpose Delete users when conditions are forced to
Requirements To control the system from misused, biased and post unwanted data
Traceability to the site.
Priority High
Preconditions The member should have System administrator privilege
Post conditions Delete the unnecessary account
Actors Person
Flow of Events 1. Basic flow
i. logged into the system
ii. click view user button
iii. select from the users database
iv. Click delete button.
2. Alternative Flow
i. The system tell the user to
check his user account type
ii. The system allow to re-try
3. Exception
i. The system displays “ deletion not allowed “message
Extends ------------------------
Includes UC4

Ethiopedia free encyclopedia software requirement specification 19


3.3.11 Use Case#11

Name Control system functionality


Use case id UC11
Author Motherland

Purpose To control overall system functionality and security


Requirements To make system secure, available and trustful.
Traceability
Priority High
Preconditions Only the system administrator are allowed for this purpose
Post conditions Control all system requirements.
Actors Person
Flow of Events 1. Basic flow
i. logged into the system
ii. Check the database, comments, and generated reports.
iii. Take necessary actions.
2. Alternative Flow
i. The system display error message
ii. The system display confirmation message.
3. Exception
ii. The system displays “ you are not allowed for this action
“message
Extends ------------------------
Includes UC4

Ethiopedia free encyclopedia software requirement specification 20


4. OTHER NON-FUNCTIONAL REQUIREMENTS

4.1. Performance Requirements


The system is expected to serve large number of concurrent requests; therefore the system must
resolve locking issues and concurrent use of the system on every hour of all days. If the
connection speed of the users’ side internet is fast the system should respond for user retrieval
request and for searching quickly.

4.2. Security Requirements


The system should have user authentication to protect unauthorized users and intruders from
getting access to administrative features of the system by setting username and password. The
system must prohibit using simple combination of alphabets or simple combination of digits only
as password; minimum length of password should be 6 and also if the user name is exist or used
by someone the system should ask to use another alternatives to create a user name.

4.3. Software Quality Attributes


Correctness Requirements: - the system should produce 99% correct outputs for correct user
input. Producing “meaning not found” for meaning not exist or wrote before is a correct output.

Maintainability Requirements:-the system shall be maintained from the back up and the
system is affected by some problematic data.

Simplicity Requirements: - The system should make simple, common tasks easy,
communicating clearly and simply in the user's own language, and providing good shortcuts that
are meaningfully related to longer procedures. The system shall provide clear error message and
suggestion during unsuccessful result

Availability Requirements:-this is the main requirement of our system. The system should be
available in twenty-four hours per seven days (24hr/7 days) and everywhere.

Reliability Requirements:-the system should not display server down or and fail message to
users. And whenever any type of failure happened it must be maintained in not more than an
hour.

Ethiopedia free encyclopedia software requirement specification 21


5. Other Requirements
The database management system used must provide concurrent access of the database by
multiple users/clients simultaneously. The database management system must have query
optimization technique for retrieving data with multiple searching keys. The database is
composed of different sub-component databases which make the searching task easily accessible
and easily recover from failure.

Ethiopedia free encyclopedia software requirement specification 22


Appendix A: Glossary

Term/Acronym/Abbreviation Definition
Motherland Group name of the project team
Actor A person who perform a particular system
funtionality described by the use case.
MySQL A query language serve as a database for our
system.
CSS Cascade style sheet to design user interface.
user A group of people who use the website.
members A group of people who are members of the
system.
administrator A group of people who have higher privilege
than members.
System admin A person, control the overall system
functionality and administrators.

Ethiopedia free encyclopedia software requirement specification 23