SCS2102/ IS2002
(Group 12)
Software Requirements Specification
(SRS)
Report
Group members :
Name
Registration
No.
Index
Number
E-mail Address
Mobile
Phone
S. S.B Wijerathna
(TL)
2013IS067
13020676
sachirabw@gmail.com
0715899451
M. G. T. Piyumantha
2013CS093
13000934
tharindupiyumantha@gmail.com
0714992779
(DTL)
H. N. Anjalika
2013CS009
13000098
anjalikanishadi@gmail.com
0774240432
U. S. A. Wijesekara
2013CS138
13001388
usawijesekara@gmail.com
0717021924
G. A. I. T.
Wijewickrama
2013CS140
13001401
indusaranie1994@gmail.com
0716960944
N. M. D. Muthuweera
2013IS031
13020315
maneeshadmuthuweera@gmail.co
m
0766982506
Project Supervisors, Advisors and Clients
Project Supervisor: Dr. Chamath Keppitiyagama
Project Mentors:
Mr. H. D. S. Gunasoma
Mr. T. W. D. Lakshan
Client of the Project: Modeling & Simulation Group UCSC
Table of Contents
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, Acronyms, and Abbreviations.
1.4 References
1.5 Overview
2. The Overall Description
2.1 Product Perspective
2.2 Product Functions
2.3 User Characteristics
2.4 Constraints
2.5 Assumptions and Dependencies
3. Specific Requirements
3.1 inputs and Outputs
3.2 Functions (Functional Requirements)
3.3 Performance Requirements
3.4 Design Constraints
3.5 Software System Attributes
4.
Supporting Information
1. Introduction
1.1 Purpose
The purpose of this SRS document is to give a detailed description about the
functionalities, performances, requirements and all the core facts of this Web based IT
research project management system.
The intended audience of this document is all of the stakeholders involving in the development
of research project administration software. This includes, but is not limited to, software
developers, project managers, quality assurance personnel, and customers.
1.2 Scope
The project is to address the requirements of the research project management of Modeling
and Simulation group of UCSC. The requirements of some users are facilitated through an
open source, off-the-shelf software named Redmine.
In scope
The scope of the project is to enhance and extend Redmine software with features which are
not available within the application currently.
Mainly financial and procurement features will be added to the system in addition to the
features which are already in Redmine in order to fulfill the requirements of all the
users.
The software will be enhanced to comply with the workflow of the group and user
friendliness of the software will be increased.
The financial features will provide the capability to upload the budget, update costs and
expenses, analyze budgeted and actual costs, and generate source documents and
other reports such as monthly, quarterly and yearly financial reports.
Procurement handling procedures will be facilitated through added features in a manner
to generate procurement document and to indicate procurement progress.
And additionally a database of consultants will be developed for selection of approved
consultants and moreover the selected consultants will be given some access to the
system.
Out scope
The system will not provide the following features,
A mobile application.
Provide access to the users such as bidders, equipment purchasing companies.
Handle the software developers developing works.
1.3 Definitions, Acronyms, and Abbreviations
SRS - System Requirements Specification
admin - administrator
TOR - Terms of reference
1.4 References
IEEE Guide to Software Requirements Specifications (Std 830-1993).
1.5 Overview
The remainder of this document includes three chapters.
The second one provides an overview of the system functionality and system interaction with
other systems. This chapter also introduces different types of stakeholders and their interaction
with the system. Further, the chapter also mentions the system constraints and assumptions
about the product.
The third chapter provides the requirements specification in detailed terms and a description of
the different system interfaces. Different specification techniques are used in order to specify
the requirements more precisely for different audiences.
The final chapter of the SRS contains supplementary information required to complete the
documents breadth.
2. The Overall Description
2.1 Product Perspective
This is a system that enhance and develop new features to redmine. Basically the
intention is to implement this as a supportive tool for the research project administrator to
manage works along with the other people in the same research group.
Redmine tool is a web based tool. By enhancing this tool we are going to implement it also as a
web based tool. As users in the system it will be very helpful to do their work simply by logging
in to the system through internet.
Budgeting, procurement handling are major factors in project management and these will be
main functionalities in the developed system as they are not in the current System. Currently
the project admin is not using redmine because of that reason.
There are some products in the market with some features we have mentioned above. Apart
from them, this system includes with the functions of financial and documentation which are
specified to Modelling & Simulation Group UCSC.
2.1.1 System Interfaces
User must log in to the system first.And if the user is
The project administrator,
First go to the Home interface and it shows the latest
projects, groups and the system users of this research
group.
Then there is another interface called My page. It shows
all the notifications like news, comments, forums.
There is another interface called Projects and in that
shows all the ongoing projects. If we wants to add a new
project then there is an option for that in the same
interface.
After selecting a project, Project interface has Overview,
Activity, News, Documents, Budgeting & Finance,
Settings, Forums tabs.
The other interface is Administration interface and there
can select a category and change settings.
The project supervisor,
Same interfaces which project admin can see, without Budget &
Finance and Documents.
In a project interface there is an issue tab also.
Principal Investigators,
First goes to the Home interface and it shows the latest
projects, groups and the system users of this research
group.
Then there is another interface called My page. It shows
all the notifications like news, comments, forums.
There is another interface called Projects and in that
shows all the ongoing projects. If we wants to add a new
project then there is an option for that in the same
interface.
After selecting a project, Project interface has Overview,
Activity, News, Documents, Budgeting & Finance,
Settings, Forums tabs.
Other users,
There are Home, Projects, My Page interfaces.
In the Home interface it shows News.
My Page interface shows with notifications.
Projects interface shows working projects.
In projects interface has some features mentioned above.
2.1.2 Hardware Interfaces
The system does not access any specific hardware device so that it has no
hardware interfaces.
2.1.3 Software Interfaces
For implementation of the system there are some other software that are need be there
prior the design and development of the system.
An operating system (Linux/Mac/Windows)
RubyMine 7.0.4
Redmine 3.0.1
2.1.4 Memory Constraints
We are going to implement a web based system. So there are no memory
constraints and only need a server space to store data.
2.1.5 Operations
Operation
User
Timeframe
Sign up
All users
When they access
system for the first time
Detail
Create new project
Project administrator
When creating a new
project
Budget handling
Project administrator
when paying for the
consultants,purchasing
equipments and
holding workshops.
Each user will record
their details such as
name, username, email
address,password.
These records will store
in a database.
When creating a new
project,project
administrator will gives a
name and a description
of the project and if
needed a subprojects will
be added.
After creating a project
members will be added
and activities will
assigned to each.
After the project
superviser records
details of the deliverable
completion project
administrator will do the
payments to the
consultants.
Many projects have
assigned workshops to
be done and the money
allocation for it will be
handled
At the beginning the
project admin allocate
money for different tasks
and it will be maintained
until complete that
project.
Documentation
Project administrator
when preparing project
reports such as
monthly,interim and
final reports.
while running the project
and after complete the
project the relevant users
of the system, analyse
the progress of the
project mainly via those
reports.
Handling issues
Project supervisor
until complete the
overall project
Issues like deadline
issues which comes
while carrying the project
will be handle here.
Procurement
Handling
Project administrator
When doing purchase
order placements,
when calling bidders
procurements have to
maintain after a purchase
is done.
after calling bidders in
auctions also have to
keep procurements.
2.2 Product Functions
This system supports,
for multiple projects and subprojects
can assign tasks , allocate works and create deadlines
can manage procurements
can edit and re-plan the process according to the errors and mistakes
can monitor and update budget and financial progress of the project
provides user and user role management
have a user friendly interface and user can select a theme for their choice
does not provide code management
2.3 User Characteristics
The users of the system are project supervisor,project
administrator,investigators,consultants,software developers. All the users are assumed to have
basic knowledge of computers and how to use a web based application.
Specially the project supervisor must have more knowledge about the system as the system
will be controlled by him/her and he/she will interact with all the users and record details of the
deliverable completion.
And also the project administrator should have a good knowledge on the system as he/she will
set the process, job descriptions, initial milestones, deadlines and other relevant information of
each and every project to the system and will do the payments according to the details given
by project supervisor and handle the budget and all documentation.
All the other stakeholders, who were given access and permissions to the system by the
project supervisor will be able to view the progress of the project and record their tasks
completed in the system.If an user exceeds the deadline of the tasks assigned, the system will
inform the user and the project supervisor and project administrator about the delay and the
plan will be rescheduled by the project administrator.
2.4 Constraints
A server space.
The system has to be easy to use and not confusing.
The system has to be available for the relevant parties instantly.
Proper documentation should be there for make it easy if the system needs to
be changed.
2.5 Assumptions and Dependencies
We assume that this system shall be able to access and store data in any
Database Management System (DBMS) through the standard interface like
provided by development environment.
The system run on various platforms and be able to communicate with its
subsystems via the server. We will not discuss further the communication
protocols and Internet platforms.
We assume that the systems represents the project management data
according to the common representation standards and terminology. Under the
documentation we assume that we are using documents with common features
that useful for every project.
3. Specific Requirements
3.1 Inputs and Outputs
Inputs - Project details, Document templates, Bidders list, TOR details, Invoice copies.
Outputs - Invoices, Payment vouchers
Inputs
Name of item:
Description of purpose:
Login Name
The user should use this login name to
log every time for the system. By this
login name, in the database we identify
each user.
Source:
Computer
Valid range, accuracy,tolerance
Every character should be a letter.
Units of measure:
None
Relationship to other inputs/outputs:
Data formats:
None
Name of item:
Email address
Description of purpose:
The user should add an email address to
get the notifications.
Source:
Computer
Valid range, accuracy,tolerance
Email address should be a valid one.
Units of measure:
None
Relationship to other inputs/outputs:
Login name
Data formats:
The characters of a valid email address.
Name of item:
Password
Description of purpose:
The user should use this password to log
every time for the system.
Source:
Computer
Valid range, accuracy,tolerance
The password should be minimum 8 characters
with uppercase letter.
Units of measure:
None
Relationship to other inputs/outputs:
Login name
Data formats:
None
Name of item:
Project details
Description of purpose:
Details of every project should be added.
Source:
Computer
Valid range, accuracy,tolerance
Units of measure:
None
Relationship to other inputs/outputs:
Data formats:
None
Name of item:
Document templates
Description of purpose:
Since the similar documents use for every
project, template of every document will
be added to the system
Source:
Computer
Valid range, accuracy,tolerance
Every document can be edited.
Units of measure:
None
Relationship to other inputs/outputs:
None
Data formats:
Word document
Name of item:
Bidders list
Description of purpose:
Identified bidders of different equipment
categories will be added to the system.
Source:
Computer
Valid range, accuracy,tolerance
Every bidder should worked with a project.
Units of measure:
None
Relationship to other inputs/outputs:
None
Data formats:
None
Name of item:
Deliverable details
Description of purpose:
Deliverables of every consultant should be
added to the system with details and the
deadlines of each.
Source:
TOR
Valid range, accuracy,tolerance
Every deliverable has a deadline.
Units of measure:
None
Relationship to other inputs/outputs:
Payment vouchers
Data formats:
None
Name of item:
Description of purpose:
Invoice copies
Every equipment purchased scanned
invoices should be added to the system.
Source:
Computer
Valid range, accuracy,tolerance
Units of measure:
None
Relationship to other inputs:
None
Data formats:
Image, PDF
Outputs
Name of item:
Payment vouchers
Description of purpose:
After the completion of every deliverable
of every consultant, payment vouchers
should be generate with the date, amount
and other details.
Source:
Computer
Valid range, accuracy,tolerance
Every character should be a letter.
Units of measure:
None
Relationship to other inputs/outputs:
Deliverable details
Data formats:
PDF Document
3.2 Functions (Functional Requirements)
Use case name :
Installation
Use case ID
01
Use case Type:
Priority
High
Source :
None
Primary Business Actor:
Project Supervisor
Other participating Actor :
None
Other interested
stakeholders:
None
Description:
This use case describe how to install the software.
Preconditions
Local Server
Trigger
This use case is initiated when the system starts for the first
time.
Typical Course of Event
Actor action
System response
System Admin extract the
software package and
install to the server.
If the installation completed
the system indicate installation
succeeded.
Set the hostname and path.
Save the path to the system.
Postconditions:
None
Implementation Constraints When there is an error while installing the software must
uninstall and reinstall
and Specification:
Use case name :
Sign up
Use case Type:
Use case ID
02
Priority
High
Source :
Use case diagram
Primary Business Actor:
Project Supervisor
Other participating Actor :
None
Other interested
stakeholders:
None
Description:
Should fill all the required fields under the sign up process by
using a valid email address.
Preconditions
The software should be connect with the local server
properly
Trigger
This use case is initiated when a user log in to the system for
the first time
Typical Course of Event
Actor action
System response
Fill all the required fields
of the signup form
The details will be saved to the
database.
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Creating a new project
Use case ID
03
Priority
High
Source :
None
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Other interested
stakeholders:
Investigators
Description:
This use case describe how to Create a new project in the
system.
Preconditions
The system should installed properly to the server.
Trigger
This use case is initiated when a project starts for the first
time.
Typical Course of Event
Actor action
System response
Project Admin add the
details of the project and
submit.
The details of that project will
be saved to the database.
Postconditions:
None
Implementation Constraints None
and Specification:
Use case Type:
Use case name :
Creating a new sub project
Use case Type:
Use case ID
04
Priority
Medium
Source :
Use case creating a new
project.
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Other interested
stakeholders:
None
Description:
Select the new sub project tab under main project
Fill all the required fields
Then create the sub project
Preconditions
There must be a main project
Trigger
This is important when there are sub projects that runs under
the main project
Typical Course of Event
Actor action
System response
The system admin will add The details about the subdetails about the sub project project will be saved to the
under main project
database under main project
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Creating new Deliverable
Use case ID
05
Priority
High
Source :
Use case creating a new
project.
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Other interested
stakeholders:
None
Description:
Select the new deliverable tab
Fill the deliverable details such as deadline payments etc...
Then create the deliverable
Preconditions
There must be at least one project
Trigger
This use case is initiated when starts a deliverable of a
consultant of a project.
Typical Course of Event
Actor action
System response
Project admin will add
deliverables of the project
under deliverable tab.
Details will save to the
database and they will add to
the calendar.
Postconditions:
None
Implementation Constraints None
and Specification:
Use case Type:
Use case name :
Edit/Delete Deliverable.
Use case ID
06
Priority
Medium
Source :
Use case Create a
deliverable
Primary Business Actor:
Project Administrator
Other participating Actor :
Project Supervisor
Other interested
stakeholders:
None
Description:
This use case describe how to edit and delete a deliverable.
Preconditions
There should be a deliverable that has already created.
Trigger
This use case is initiated when the actor wanted to edit or
delete a deliverable.
Typical Course of Event
Actor action
System response
Project admin edit and
change the details of a
deliverable.
Changes will be updated to the
deliverable database.
Delete a deliverable.
All the details of the
deliverable will be deleted
from the database.
Postconditions:
None
Implementation Constraints None
and Specification:
Use case Type:
Commented [1]: use case diagram eke naa...
Use case name :
Creating a new activity
Use case ID
07
Priority
High
Source :
Use case new project.
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Other interested
stakeholders:
None
Description:
Open an activity by including the relevant person and the
activity details
Preconditions
The relevant person for the activity should be a user of the
system
Trigger
This use case is initiated when the actor wanted to create an
activity.
Typical Course of Event
Actor action
System response
Create an activity to a
relevant person
Activity details will be saved
under activity holder profile
Postconditions:
None
Implementation Constraints None
and Specification:
Use case Type:
Use case name :
Add news
Use case Type:
Use case ID
08
Priority
High
Source :
None
Primary Business Actor:
Project Administrator
Other participating Actor :
Project Supervisor
Other interested
stakeholders:
Principal investigators
Description:
Select the Add news tab under news tab
Create a news of the project by including details
Preconditions
None
Trigger
This use case is initiated when the actor wanted to add a
news that related to the project that relevant persons should
be know.
Typical Course of Event
Actor action
System response
Add a news to the project
and select to whom it
should be notify
News will be show as a
notification to the specific
users
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Add Comment
Use case Type:
Use case ID
09
Priority
Medium
Source :
Use case news.
Primary Business Actor:
Project Administrator
Other participating Actor :
Project Supervisor
Other interested
stakeholders:
Principal investigators
Description:
Select an existing news
Select add comment
Preconditions
There should be a created news
Trigger
This use case is initiated when the actor wanted to highlight
some facts about the news.
Typical Course of Event
Actor action
System response
Add a comment to the news Comments will be show at the
end of the news
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Add a new document
Use case Type:
Use case ID
10
Priority
Medium
Source :
Documentation category
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Other interested
stakeholders:
None
Description:
Attach a document relevant to the project
Preconditions
There should be an existing project.
Trigger
This use case is initiated when the actor wanted to add
documents which are related to the project.
Typical Course of Event
Postconditions:
Actor action
System response
Upload a document
Document will be saved to the
database for the relevant
project
None
Implementation Constraints None
and Specification:
Use case name :
Edit templates
Use case Type:
Use case ID
11
Priority
High
Source :
Template documents.
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Other interested
stakeholders:
None
Description:
Select a template that have already uploaded to the system.
Edit the required areas.
Save the document.
Preconditions
There should be uploaded templates
Trigger
This use case is initiated when the actor wanted to create a
document using a template document.
Typical Course of Event
Actor action
System response
Edit a template that is
already uploaded
Edited template will be saved
as a Edited template
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Delete Document
Use case ID
12
Priority
High
Source :
Template documents.
Primary Business Actor:
Project Administrator
Other participating Actor :
Project Supervisor
Other interested
stakeholders:
None
Description:
Select an existing document
Select the delete tab
Use case Type:
Preconditions
The document should exist
Trigger
This use case is initiated when there is a document that
doesnt wanted to be in the system anymore.
Typical Course of Event
Actor action
System response
Delete the existing
document
All the stuff of that relevant
document will be removed
from the database and from the
system
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Add budget
Use case ID
13
Priority
High
Source :
Budget and finance
category
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Other interested
stakeholders:
None
Use case Type:
Description:
Select create a new budget under budget
Save the budget
Preconditions
There should be an ongoing project.
Trigger
This use case is initiated when the actor wanted to add a
budget relevant to the project.
Typical Course of Event
Actor action
System response
Create a budget relevant to
the project
Budget will be saved to the
database and an overview will
be displayed
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Edit the budget
Use case ID
14
Priority
High
Source :
Budget and finance
category.
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Use case Type:
Other interested
stakeholders:
None
Description:
Select the existing budget
Edit the budget
Save the budget
Preconditions
There must be an existing budget
Trigger
This use case is initiated when the actor wanted to edit the
budget.
Typical Course of Event
Actor action
System response
Edit or update the existing
budget
Updated details will be saved
to the existing budget
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Add new message to the
forum
Use case ID
15
Priority
Medium
Source :
Forum category
Primary Business Actor:
All the users
Use case Type:
Other participating Actor :
None
Other interested
stakeholders:
None
Description:
Select add new message tab under projects
Add the news
Preconditions
None
Trigger
This use case is initiated when the user wanted to discuss
anything about the project within all the project members.
Typical Course of Event
Actor action
System response
Any user can add new
message to the project or to
a specific user
News will be notified to every
user or to specific user as a
notification
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Upload procurement
Use case ID
16
Priority
High
Source :
Procurement category
Use case Type:
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Other interested
stakeholders:
None
Description:
Select upload procurement tab
Select a procurement file from the computer
Upload the procurement
Preconditions
There should be an existing project.
Trigger
This use case is initiated when the actor wanted to keep the
procurement details in the system.
Typical Course of Event
Actor action
System response
Project administrator will
upload a copy of the
procurement
Uploaded details or file will be
saved under the relevant
project
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Add procurement details
Use case ID
17
Priority
High
Use case Type:
Source :
Procurement category
Primary Business Actor:
Project Administrator
Other participating Actor :
None
Other interested
stakeholders:
Investigators
Description:
Select add details tab under procurements
Add procurement details
Preconditions
None
Trigger
This use case is initiated when the actor wanted to add
procurement details to the system.
Typical Course of Event
Actor action
System response
Project admin add the
The details will be saved to the
details of the procurements. database and display the details
to the authorised person.
Postconditions:
None
Implementation Constraints None
and Specification:
Use case name :
Manage settings
Use case Type:
Use case ID
18
Priority
Medium
Source :
Settings category.
Primary Business Actor:
Project Administrator
Other participating Actor :
Project Supervisor
Other interested
stakeholders:
None
Description:
Manage general, email, project settings of the system.
Manage roles and the permissions of the users
Preconditions
The user should be the project administrator.
Trigger
This use case is initiated when the actor wanted to change the
settings of the system.
Typical Course of Event
Actor action
System response
The actor selects and
change the settings which
are related to every user.
According to the settings
system will act.
Postconditions:
None
Implementation Constraints None
and Specification:
3.3 Performance Requirements
Number of users are depends on the hardware requirements,database configuration
and the server requirements.
The response time depends under the condition that the host system and client system
hardware fulfill the minimal hardware requirements.
The system shall not have the limitation on the number of projects, tasks, subtasks,
users, user roles, dependencies, resources and other system objects. The data
storage, however, can limit the size of the system database and hence the number of
objects. Hence, the number of objects is the matter of database configuration.
3.4 Design Constraints
3.4.1 Standards Compliance
This is an open source software project and there are no standards compliance to
be concerned.
3.5 Software System Attributes
3.5.1 Reliability
The reliability of the system completely depends on the availability and the
functionality of the server. If the server is up and running ok, the users can
access the system from anywhere without any issue.
3.5.2 Availability
The system is available 24 hours as its hosted in a server and so that it can be
accessed from anywhere in the world.
3.5.3 Security
All the users are given access to the system by giving a user ID and a
password, therefore access by the others are restricted.
3.5.4 Maintainability
System will be well modularized in order for ease of maintenance. All codes will
be well commented so that a new development team would be able to do
maintenance easily. All documents will be there for developers to refer.
3.5.5 Portability
The system can be accessed from any web browser on any computer.
4.
Supporting Information
The supporting information makes the SRS easier to use. It includes:
Table of Contents
Index
Appendices
The Appendices are not always considered part of the actual requirements specification
and are not always necessary. They may include:
(a) Sample I/O formats, descriptions of cost analysis studies, results of user surveys
(b) Supporting or background information that can help the readers of the SRS
(c) A description of the problems to be solved by the software
(d) Special packaging instructions for the code and the media to meet security, export,
initial loading, or other requirements
When Appendices are included, the SRS should explicitly state whether or not the
Appendices are to be considered part of the requirements.