Srs Sample

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

[UNIVERITY LOG]

SChool of Name
Department of Software Engineering

Web based software project management system for Africom


Technologies PLC

Group Members
Name
No. ID
1
2
3
4
5

Instractor Name: _____________ Signature

February 21, 2024


Chapter One
1. Introduction
1.1. Background of the organization
AFRICOM is an IT solutions & Services Providing company. Established by young
entrepreneurs in 1996 E.C (2004 G.C), with a wealth of experience and educational background
in
the industry. It is one of the leading IT solution and service providing company for a decade in
Ethiopia and playing a big role on the successful implementation of largest IT Projects in the
country.
AFRICOM will continue delivering a high quality and affordable IT solutions to its customer in
the area of E-Governance, Enterprise Resource Planning (ERP), MIS consulting, and Mobile and
Online solution and specialized IT training.
Finally, they are committed long term to the mission of helping their customers realize their full
potential. They want also to continually evolve their company to be in the best position to
accelerate new technologies as they emerge and to better serve their customers.[1]
1.2 Statement of the problem
1.2.1 Existing system
Most of the time AFRICOM is involved in large scale government projects and this project
usually involve introducing new software system by replacing the older one. It has been found
out from the company’s development staff that projects might take up to 6 months in order to
deliver a complete system. During this time the tasks that take most of the time are the
requirement analysis and system design phases.
AFRICOM is among the few software companies that follow the standard software development
life cycle which starts from the requirement analysis and definition activity and goes all the way
to operation and maintenance. Since AFRICOM believes in maintaining good software
documentation, each document that result at the completion are made as clear and unambiguous
as possible. Each work product is approved or signed off when completed. The project managers
or the team leaders are responsible for tracking the changes and progress of these work products.
A team of experts and professionals will be formed by the project manager to complete a task.
And a team will be assigned on each phase of the project. Team management responsibility
obviously falls in to the hands of the team leader.
Usually, a time table is formed with a session that participate all the project workers. Sometimes
it could be just the project manager and team leaders who participate in this operation.
AFRICOM uses previous experiences and some effort estimation tools to estimate the project
duration. A generalized Gantt chart is produced and then given to all the project workers. The
project manager will be informed about the project status using reports submitted by team
leaders or during meetings held regularly.
If a time is to start a certain activity or tasks the team must get ago on flag from the team
working on the previous task after delivering the project.
AFRICOM is also highly concerned about post-delivery issues like maintenance and support and
the documents produced are used extensively for these purposes.
1.2.2 Major problems of the existing system
Software project management is the process of planning and leading software projects. All the
tasks and resources must be managed and utilized properly using efficient tools and techniques.
Most software projects normally don’t apply this tools and techniques required for a successful
completion of software projects. Even though AFRICOM applies the standard software
development life cycle (SDLC) during software production, the tasks and work products are not
properly managed which means the tasks are not clearly defined and usually are not given a
specific start and end time. There are no mechanisms to control and track the tasks. The work
products produced by the different activities are not properly documented and most of the time
there is no record of who contributed what and when. Thus, making changes and updates to this
work products during requirement or design change is very difficult. Sometimes software
companies prefer to leave the document as it is and proceed on making the changes on the
application software.
Effectively utilizing human resources requires knowing each individual qualities and weakness.
The projects depend on the skill set in the organization. Resources are limited in number and in
quality, so it is wise to utilize resources effectively and efficiently. Almost all software projects
are carried out using one or more teams each team containing at least two members. Team
management and effective utilization of skills and talents becomes a difficult task when it comes
to big project or a big a company with more than one projects running concurrently. This
problem gets worse when the project lacks a modern management system.
Time management is one of the most important tasks that are found in almost every project. A
project must be decomposed into tasks and these tasks are again decomposed into subtasks. The
project manager is responsible for the allocation of time for each task in the project. Tracking the
project progress based on the progress or completion of tasks is a very essential duty of a project
manager.
A project is monitored based on a given time frame. Dependency of tasks on each other must be
pre-defined. Constructing the work break down structure comes before scheduling. And tracking
the project progress at the level of subtasks is not easy unless a simplified technique or tool is
used.
Most of these project tasks are not used in most software projects. Currently AFRICOM is not
using any project management system. It is not because they are unnecessary; it is because they
are not easy to implement unless several tools and techniques are applied. The SPMS can address
this issue; not entirely but to the level where most of the existing problems are solved.
1.2.3 Proposed system
The SPMS is a web-based software application that is designed to enhance software project
processes and management so, as the software are could be better and effective. It improves
management techniques and methods by allowing project managers and stakeholder to have an
easy access to project progress and status. Monitoring is also among the features included in this
software system. This feature enables project managers and team leaders to truck and asses either
individual or team performances.
The other feature is handling and tracking work product or documents produced in the different
phases of the project. The system maintains information like history of document change and
metadata. Scheduling and WBS formation are among the most important functionalities that
make up the project time and task framework. This feature is the basis for tracking and
monitoring issues.
The team formation feature enables the user to find the most appropriate candidates for a given
task based on the work history experience and skill or qualification of the customer. The SPMS
integrates all these features in one single software system that should be a high-performance user
friendly and efficient system.
Reports and statistical data are also provided for different purposes. Among the reports generated
team performance and project progress report are few. Graphical chart based statistical
information is also included.
1.2.4 Advantages of the proposed system
The SPMS provides several advantages to software development companies who believe that a
software development process with an effective management system is crucial to produce a
software product that meets the customer’s requirements. The SPMS is expected to automate
software project management activities. The following are among the advantages obtained by
using this system.
 Plays a vital role in effectively utilizing the skills and talents of project workers by
providing an effective way of team formation and management features.
 Provides a simplified and flexible way of work breakdown formation, which is an
essential task of a software project management.
 It provides time allocation and scheduling features based on the predefined WBS. This is
the back bone of the entire project management activities.
 Project managers will get an instant and quick update on the status of the project. This
will have a good impact on facilitating decision making processes in the project.
 Work products are easily tracked and managed.
 The entire project history is maintained which is going to be a helpful asset for future
projects.
1.3 Motivation
From our little experience and observation, we have come to know that the process and
techniques we follow to build a software play a vital role in producing a quality product that
satisfies the needs and requirements of a client. It doesn’t matter how good programmers are. Or
how beautiful and interactive the built software is, as long as it fails to include the requirements
stated by the client it is a failure. Software engineering is all about satisfying requirements of a
client by applying the most appropriate approach to develop the requested software. And as an
under graduate software engineering students we believed that it is best to look in to existing
problem and obstacles that effect the entire process of software development industry. Not just
the problem we also expect to discover new tool and techniques that are being used by software
development companies and to use them in the best way possible.
After assessing the gaps and weaknesses as well as some of the solution applied to the software
development process to AFRICOM Technologies PLC, we believe we can produce software
project management system that integrates the technique and tools used to lead a successful
project that accomplish the aims and objectives specified prior to the project initiation.
1.4. Scope and limitation of the project
The project will only contain the functionalities to manage and monitor software projects and
their work products. But it will not include team development platform features. And also, the
project will not contain functionalities related to human resource (HR) and related financial
matters. Implementation phase of the software project will not be broken down into tasks for the
reason of simplicity it will only be treated as single solid task of the project. We recommend the
implementation phase should have its own separate software system, which can be easily
integrated with the Software Project Management System (SPMS). The system we are
introducing is not only limited to AFRICOM it can be customized and used for other companies
as well.
1.5. Project Goal and Objectives
1.5.1. Goals
The goal of the Software Project Management System is to help create time and cost-effective
software production process. This will increase the competitiveness of software companies and
increase the probability that customers will get their software in the shortest time and at the
minimum cost possible.
1.5.2. General Objectives
The main objective of this system is designing a web-based software project management system
for Africom Technologies PLC.
1.5.3. Specific Objectives
The specific objectives of this project are to:
 Design interactive and easy to use User Interface.
 Design a relational database to store data.
 Develop features that will show the different models and representation of the software
project.
 Develop features that enhance team work.
 Implement MVC architecture for multiple user access.
1.6. Methodology
1.6.1. Data collection method
The requirement elicitation process was conducted via interview and questionnaire. We
conducted an interview with people that have in-depth knowledge of SPM system and collected
and reviewed documents. After gaining a better perspective of the system we organized a
questionnaire for customers about possible solutions to the current problem.
1.6.2. System design and analysis tools
TABLE1. 1: DESIGN AND ANALYSIS TOOLS
Tool Purpose
MS Visio Used for creating a grant
project
MS Word Used for report writing
Enterprise Architecture System design, analysis and
modeling

1.6.3. System development tools


TABLE1. 2:DEVELOPMENT TOOLS

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

TABLE2. 1 TABLE FOR COST REDUCTION, AVOIDANCE AND ERROR REDUCTION

Before the After the CRA ER


deployment of deployment of
the system the system
Total No of 4 4
Employers
Average salary 13,000 birrs 12,500 birrs
for each
employer per
month
Average time 7 months 6
duration for one
project
Total average 4*13,000*7 = 4*12,500*6 = 364,000 –
moneys 364,000 birrs 300,000 birrs 300,000 =
required for 64,000 birrs
payment per
project
Average error 5% = (364,000*5)
occurred (%) /100=18,200.00Birrs

 Increase speed activity (ISA)


Increased speed calculated as follows especial in allocation: -
o Before the deployment of the system
Average days required for allocation (WBS) =10 days
Project manager’s salary per day=966.00 birr because the WBS is created by the project
manager
Average days required for allocation in term of money=10*966 .00birr
=9,660.00 birr
o After the deployment of the system
Project manager salary per day=966 .00birr
Average days required for the system= 1 day, because the system automatically allocate and
schedule by its own.
Average days required for the system =966.00*1
=966 .00 birr
Difference (Speed increased) =before deployment – after deployment
=9,660.00 birr – 966.00 birr
=8,694.00 birr
TABLE2. 2 TABLE FOR INCREASE SPEED ACTIVITY (ISA)

Before the Before the Difference (speed


increased)
deployment of the deployment of the
system system
Average days 10 1
required for
allocation (WBS)
Project manager 966.00 birrs 966.00 birrs
salary per day
Average days 10*966 .00birrs 1*966 .00birrs 9,660.00 birrs –
required for =9,660.00 birrs =966.00 birrs 966.00 birr
allocation in term of
=8,694.00 birrs
money

You might also like