Srs Sample
Srs Sample
Srs Sample
SChool of Name
Department of Software Engineering
Group Members
Name
No. ID
1
2
3
4
5
Tool Purpose
PHPStorm, atom Editing
Chrome Inspecting and debugging
PHP Server-side scripting
CSS3, HTML5, Bootstrap, Client-side scripting
jQuery, JavaScript
MySQL Work bench Back end or Database
CodeIgniter Framework
Chapter Two:
2. System requirement specification
2.1. Background
Software is getting more and more sophisticated. And it is becoming very difficult to develop
such advanced software without applying any standard management principles. Meeting the
deadline will obviously become a very painful process. According to the project management
system it involves planning, organizing, staffing, directing, monitoring, controlling, innovating,
representing requirements[3].Performing these activities will not make things perfect. The
activities should be handled by tools and equipment that enhance productivity and efficiency.
Based on a survey of project managers published by Thayer, the problems that exist in software
projects are the following [3].
Poor estimate and plan
Lack of quality standards and measures
Lack of guidance about making organizational decisions
Lack of techniques to make progress visible
Poor role definition: who does what?
Incorrect success criteria
The above lists of problems clearly indicate the lack of reliable tools and equipment that
facilitate and enhance the project process to deliver the desired product on time. Actually, there
might be tools being used for different purposes, but most of them work on a specific task and
don’t have any interaction with the rest of the tools or equipment’s being used for another
purpose. Even though these tools with no interaction to each other will have some positive
impact it is not 100% reliable. A software solution that integrates several dispersed features into
one is the better answer to minimize the problems discovered by the survey.
SPMS is a software application that will greatly assist software project management process by
integrating several supporting tools in project management into one centralized system. The
software will greatly help software development companies to effectively manage the
development process easily.
2.2. Functional requirement
In this section a list of services (functional requirements) the SPMS must provide will be
specified. And these functional requirements will be presented in a high-level detail.
Allow project creation and initialization
The system shall allow users to add project name description and related
information.
Allow project manager to be selected.
Client information will be added.
Scheduling
The system should allow the user to create a work breakdown schedule (WBS).
The system automatically prepares a Gantt chart based on the WBS.
Allow user to pause, resume, and terminate a project.
Extend and shorten duration of tasks and the entire project.
Following the updated duration of the entire project, the system should update the
Gant chart automatically.
Create a regular meeting schedule.
Compose project teams
Assign tasks to all team member
The system shall allow user to decompose team.
The system shall allow user to replace a team member with a new or existing
member.
The system shall allow user to switch team member between teams.
The system shall give suggestion while user composes teams.
The system shall allow user to create team required by the project.
The system shall allow user to assign team leader for each created team.
Track project progress
The system shall allow user to view the current status of project and tasks.
The system shall display tasks that are running out of schedule.
The system shall allow user to send notification to user when tasks are completed
and submitted.
The system shall allow team leader to confirm completed tasks.
The system shall allow team leader to accept and deny submitted task.
The system shall display a list of partially completed tasks.
Report generation
The system shall generate reports regularly based on given time interval.
The report shall contain summarized and detail information about the progress of
tasks in the project including activity of team members.
Report should also be generated by the system whenever needed.
Manage users
The system shall allow the user to
Create user account.
Block user.
Track user activity.
View active users.
Remove user.
Allowing users to send & receive messages
Allow user to send message to a specific user.
The system shall provide a board in which all users can write on and share their
thoughts.
Allow user to broadcast message to all users.
Allow user to send message externally to a given email accounts.
The users should upload files and documents
The system shall allow users to upload files and documents in several formats.
The system shall allow users to remove or replace uploaded file or document.
The system shall maintain metadata of the uploaded file or document.
2.3. Non-functional requirement
Non-functional requirements include performance requirements, security requirements and portability
requirements.
2.3.1 Performance Requirements
Since this software is going to be web based, it does require a powerful server machine with
medium band internet access. Another performance requirement is the storage space. Higher
storage space means more user and bigger workspace per user so higher the storage, better the
performance.
Performance requirement by the user side is, web application should be developed as a
lightweight web app so that it can work on almost any platform even with slower internet
connections.
2.3.2 Security Requirements
Since this software will be hosted on cloud server, all the user’s data will be kept on the cloud
server. Product should be able to protect privacy of user’s data. Workspace of the user should
only be accessed through user’s own credentials and any other user should not have access to the
user private data.
Since execution will also be done in the machine on the cloud, user should be restricted in terms
of user rights. User should only have access to his own workspace and should not have access to
any other workspace with the programs they run on the cloud. Also, since all the data will be
transferred on the web, system should also use an encryption and decryption mechanism and
only the intended user can decode the data and work on the data.
2.3.3 Portability Requirements
As explained in the performance requirements section, software should be lightweight so that it
can run on a machine with slow internet connection. To make the web application lightweight,
simple libraries and tools should be used at development phase. Such as using JavaScript and
HTML5 instead of Apache.
Portability also means running on most number of different platform without an additional effort.
To achieve this, web application should be developed by using the common technologies and
tools which are provided by all common web browsers and operating system such as HTML5,
jQuery.
2. 4. Feasibility study
2.4.1 Operational feasibility
It refers to the feasibility of the product to be operational. So, it is expected that once the system
is deployed, it can operate on any of the operating systems. There for, if it deployed, the system
will be designed to be operational and system will be operating in any kind of platforms without
any precondition.
2.4.2 Technical feasibility
The system is going to be developed by following the Object-Oriented System Development
technique. And the team has the ability to develop this system without any difficulty since the
team has studied the required methodologies and tools. So, the system will be technically
feasible. Since it can run on any computer & any operating system.
2.4.3 Economic feasibility
The team has done two kinds of Cost-benefit analyses with regard to the economic feasibility.
Intangible cost-benefits associated with the project
Tangible cost-benefit associated with the project.
The following work sheets specify the costs as well as benefits associated with the project.
2.4.3.1 Intangible cost-benefits Associated with the project:
The following worksheet lists the intangible benefits associated with the project.
Reduce resource consumption
Increase management flexibility
Provides more timely information
Increase employee moral
2.4.3.2 Tangible cost-benefits Associated with the project:
There are many different benefits when end user uses this product. Among these are
Cost reduction and avoidance (CRA)
o Before the deployment of the system
To calculate cost reduction and avoidance following things will be considered:
Total average number of employees for one phase in existing system=4
Average salary of each employee per month=13, 000.00 birr
Average time duration for one project= 7 month
Total Average money required for payment per project=4*13,000.00*7
=364,000.00 birr
o After the deployment of the system
Again, to calculate these following things will be considered:
Total average number of employees for one phase in existing system=4
Average salary of each employee per month=12,500.00 birr, because employee can work,
submit, and contact with his leader remotely.
Average time duration for one project= 6 month, because all tasks work properly, employers can
contact and share their ideas on online meeting, upload tasks on the system remotely. This
obviously decreases the duration of a project.
Total Average money required for payment per project=4*12,500.00*6
=300,000.00 birrs
The difference between before and after deployment money required for payment is called cost
reduction and avoidance (CRA).
Cost reduction and avoidance=before deployment-After deployment
CRA=364,000.00 birr – 300,000.00 birrs
= 64,000.00 birrs
Error Reduction (ER)
To calculate error reduction the things to be consider are following Average error occurred = 5%
Money needed for error payment per one project = (364,000*5) /100=18,200.00Birr