SlideShare a Scribd company logo
Software Projects Management System
{SPMS}
A Project Presented For Fulfillment
The Diploma in Computer Science
Submitted by
Hussein Shabaan Abu Elsaoud Mohany
Hesham Ramadan Ali Ali
Supervised by
Dr. Nesrine Abdel-Azim
Cairo, Egypt
June 2016
2
INDEX
Introduction ………………………………………………………………………. 4
Acknowledgement…………………………………………………………..……….5
Abstract…………………………………………………………………………….. 6
Chapter One : Project Planning ……………………………………….. 7
1.1 Introduction……………………………........................................... 8
1.2 Project Objective……………………………................................... 8
1.3 System stack holders definition……………………………........... 9
1.4 Project Scope definition……………………………...………………. 12
1.5 Used technologies (software solutions)………...………………. 13
1.6 Problem analysis………...………………………...…………………… 15
1.7 Definitions, Acronyms and abbreviations (Glossary) ……….. 16
1.8 Feasibility study………...………………………...…………………….. 17
1.9 The system Development life cycle………...…………………….. 19
Chapter Two : System Description …………………...………………. 21
2.1 System description……………………………………………………. 22
2.2 System functions………………………………………………………… 22
2.3 System features………………………………………………………… 23
2.4 Operating Environment……………………………………………… 24
Chapter Three : Requirements …………………………………………. 25
3.1 Requirements analysis………………………………………………… 26
3.2 Functional requirements system functions……………………. 29
3.3 Non-functional requirements……………………………………… 30
3.4 System Constraints……………………………………………………. 30
3
Chapter Four : Design ………………………………………………...... 31
4.1 System Design………………………………………………………… 32
4.2 Database logical…………………………....................................... 32
4.3 Physical Design………………………………………………………………… 33
4.4 Process design..…………………………..……………………………….. 34
4.4.1 Use case diagrams and Use Case text…………………………35
4.4.2 Domain model…………………………………………………….. 49
4.4.3 Interaction diagrams……………………………………………... 50
4.4.3.1 Activity diagrams………………………………….. 51
4.4.3.2 Sequence diagrams…………………………………52
4.4.4 Class diagram………………………………………………………..53
4.5 Interface design…………………………………………………………..54
Chapter Five : Conclusion and Future Work ………………..72
5.1 Conclusion …………………………………………………………………73
5.2 Future Work .…………………………………………………………………… 73
References……………………………………………………………………….. 74
4
Introduction
I hereby declare that the project entitled “Software Project Management System” submitted for
the Diploma Degree is my original work and the project has not formed the basis for the
award of any degree, associate ship, fellowship or any other similar titles.
Project Name: Software Project Management System
Department: Computer Science
Supervision: Dr. Nesrine Abdel-Azim
Team members:
Hussain Shabaan Abu Elsaoud Mohany
Hesham Ramadan Ali Ali
Place: Institute of Statistical Studies and Research – Cairo
University
Date: 1 July 2012
5
Acknowledgement
‫الرحيم‬ ‫الرحمن‬ ‫هللا‬ ‫بسم‬
At the beginning and at the end we all thank Allah for helping us to achieve this work and
ask Allah to benefit us with what he taught us and teach us what will benefit us.
Also the achievement of this piece of work wouldn’t be to see the light without the support,
help and contribution of:
Doctor: Dr. Nesrine Abdel-Azim supervisor of our graduation project.
Professor: Hisham Hefni the acting head of the computer science and information system
department for his support and advice.
All the faculty members who taught us during our study in the degree program specially Dr.
Tarek Elghazaly , Dr. Ahmed GadAllah, Dr. Abd El-Aziz Ahmed,
Dr. Mustafa Ezzat, Dr. Ahmed Hamza .
Finally we thank our families for supporting us and helped us to reach so far and to have the
tolerance to face difficulties and keep up.
6
Abstract
Software Project Management System {SPMS} is originally developed to maintain and
handle Software Project Management Process like Tasks and initiating the work during
software development and build in any software company.
SPMS is an automation system which is used to help Managers to keep track what is going
on every project we are working on and keep management updated by the latest status of
every project we have till we finish it in an efficient manner.
Also helps the developers to organize their tasks for every project they working in at any
time.
In Addition SPMS Manage and keep tracking of the issues enrolled during testing process
allowing any employee to discover issues and then to be assigned and keep track on who
working to fix and test.
Also helps again project management to upload diagram according to the way they choose
to manage the project (Methodologies).
Privileges should takes place where admin will gave the max privilege on the system and
project managers will be able to handle his projects…etc.
Testers and developers should have privilege only to change their own task and issue only.
7
Chapter One
Introduction
8
Chapter One
1.1 Introduction:
The basic idea of the system is to introduce an automated tool for a
management system for software projects that allows the development team to
manage and plain their projects from anywhere at any time and allows the supervisor
to monitor and approve trace their work at any time.
1.2 Project objectives:
This project aims to reduce the time and effort spent on the planning process in
a company management system. It also aims to systemize the development process
so that the least amount of errors during the building and releasing software products
in any phase. Thus the management process may be with better quality and
efficiency.
9
System Stack holders
1.3 Definition:
Stack holder is any person who has an interest in an existing or proposed information
system. Stack holders can be technical or non-technical workers. They may also
internal or external workers.
Figure 1.1: Stack Holders
System Owners
System Users
System Designers
System Builders
System Analyst and Project
Managers
System Stakeholders
10
System Owners:
An information system’s sponsor and executive advocate usually responsible
for funding the project of development, operating and maintaining the information
system.
In this system the system owners are the administration of the Software Company.
System Users:
Is the customer who will use the system or is affected by an information
system on a regular basis – capturing, validating, entering, responding to, storing, and
exchanging data and information.
The software company management system internal users can be classified according
to the following hierarchy:
Figure 1.2: Users Classification
Developement
and Testing
Project
Management
Administration Admin
Project
manager
Developer Testser
11
System Designers:
A technical specialist who translates system users’ business requirements and
constraints into technical solution. She or he designs the computer databases, inputs,
outputs, screens, networks, and software that will meet the system users’
requirements.
System Builders:
A technical specialist who constructs information systems and components
based on the design specifications generated by the system designers.
Systems Analyst:
A specialist who studies the problems and needs of an organization to
determine how people, data, processes, and information technology can best
accomplish improvements for the business.
Business analyst focuses on only the nontechnical aspects of systems analysis and
design.
12
1.4 Project Scope definition: (Phase 1)
The scope of the project includes and focuses on the following points:
 Manage The User profile of each employee (roles, privilege and personal
data)
 Manage each Project release tasks and issues
 Prepare report for how many projects tasks and issue covered and generally
productivity
 Progress tracker for release and project
The scope of the project doesn’t include and focus on the following points:
 Comments on everything.
 Customer feedback.
 Customer testing.
 The human resources system (HR).
 Financial details of the projects.
13
1.5 Used Technologies
Software development diagrams (use case diagram, domain model, sequence
diagram and activity diagram) and Enhanced entity relationship diagram (EERD)
database design to be developed using:
 Data base solution to be implemented using MySql Database Server
14
 Software solution and implementation using PHP with xampp apache server
 PHP framework have been used to implement the solution in a better way Laravel
 User interfaces designed using HTML , CSS , BOOTSTRAP framework .
15
1.6 Problem analysis (phase 2)
The existing system
There no exist system to manage the software project production Process
Instead they are using email for updating contacting each other's,
Excel sheets have been using buy manager to track and analyze progress for each
project.
Problems in the existing system
 No direct contact between dev team and testing team
 No direct contact between managers and the rest of the teams
 We can’t keep track of remote worker dev and testers and what they are
currently doing
Risks involved in existing system:
 Losing deadlines
 Forgetting issues some times
 Iterative testing wasn’t included
16
1.7 Definitions, Acronyms and Abbreviations (Glossary):
Project:
It is a whole software product which applies the whole solution based on the
requirement analysis done by system analyst
Release:
It is a version of a project that includes some features according to implementation
plane
Task:
It is the smallest part of implementation that includes a certain instruction to build a
part or a whole feature
Issue:
It is the testing problem found in a particular release of the software project
Role and access in the system:
Table 1.1: Users Privileges
Features Admin
Project
Manager
Developer Tester
Add project    
Edit/Delete Project    
View Project    
Add task  owner  
Edit/Delete Task  owner  
View task    
add Issue    
Assign Issue  owner  
Edit/Delete Issue  owner  
View Issues    
Change Task Status  owner owner 
Change Issue Status  owner owner owner
17
1.8 Feasibility study:
The objective is to determine whether or not the proposed system is feasible. The three
tests of feasibility have been carried out:
 Technical feasibility
 Economic feasibility
 Operational feasibility
1. Technical feasibility
In technical feasibility one has to test whether the proposed system can be
developed using the existing technology. It is a study of resource availability that
may affect the ability to achieve an acceptable system. This evaluation determines
whether the technology needed for the proposed system is available or not.
As the available technical resources (such as MySQL, PHP, etc.) all open source
license) are satisfactory for the scope of the proposed system, the proposed system
considered technically feasible.
2. Economical feasibility
The costs and benefits associated with the proposed system compared and the
project is economically feasible if tangible or intangible benefits out weight cost.
As the proposed system development costs are significant as estimated so the system
proposed considered feasible economically.
3. Operational feasibility
It is a standard that ensures interoperability without stifling competition and
innovation among users, to the benefit of the public both in terms of cost and
service quality.
18
It is mainly related to human organizations and political aspects. In Operational feasibility
the following points are studied:
 The impact of the changes would be made by the new system.
 The organization structure that might be disturbed by functioning the new
system.
 The gap between the skills that the staff of the organization(s) that would use the
system and the skills needed by the system to operate appropriately.
 The system is operationally feasible as it very easy for the End users to operate
it, its functioning disturbs no other organization structures, and it have no
undesired changes to be made by its functionality.
19
1.9 The system Development life cycle:
System development process: a set of activities, methods, best practices, deliverables, and
automated tools that stakeholders use to develop and maintain information systems and
software.
System Development Process Overview:
1- System initiation:
The initial planning for a project to define initial business scope, goals, schedule, and
budget.
2- System analysis:
The study of a business problem domain to recommend improvements and specify
the business requirements and priorities for the solution.
3- System design:
The specification or construction of a technical, computer-based solution for the
business requirements identified in a system analysis.
4- System implementation:
The construction, installation, testing, and delivery of a system into production.
20
The system development life cycle is the waterfall or
sequential development methodology:
Figure 1.3 : SDLC waterfall
21
Chapter Two
System Description
22
2.1 System Description:
The system is a web based application that consists of a login page that can be
accessed by different user types such as developers, testers, and administration and
project managers. Each system user has different pages or interface depending on the
different functions that he/she can use the system for. The system includes a database
system to store all relevant information and data and to produce various reports and
queries.
2.2 System functions:
Insert and modify user information.
Edit user privileges and roles.
Add and Edit projects, releases, tasks assignment and issue reporting.
Manage Projects
 Adding projects
 Removing Current projects
 Editing Current projects
 Tracking progress and deadlines for each project
23
2.3 System Features:
The following figure illustrates the features of the new system over the existing
system
Figure 2.1 : System Features
24
The proposed system introduces the following features:
 Managers will be able to manage and track the progress of any project assigned
to them and also see who is working on which task.
 Testers will be able to test a software release and record issues and test if
developers have fixed it
 Developers will be able to get their tasks and to see deadlines of the their
projects and issues assigned to them
 The proposed system produces a structure that gathers all the information
regarding the projects building process with different stages all in one place in
the database which makes the preparation of the desired reports easy and
efficient
2.4 Operating Environment:
The system typically requires one server and it may run from any other
personal or laptop computer without the need for installing any packages or any
programs on the client side.
25
Chapter Three
System Requirements
26
3.1 Requirements analysis
The requirement analysis phase is the most important phase along he phases of the
information system development process in this system and any other information
system. Inadequate attention to that phase always results in user disagreements and
dissatisfaction of the system or some functions of the system which would be so costly
to get over.
There is a 7 common fact finding techniques for gathering user requirements which are:
 Sampling of existing documentation, forms and databases.
 Research and visit sites
 Observation of work environment
 Questionnaires
 Interviews
 Prototyping
 Joint requirements planning
Each technique has its advantages and disadvantages. It is never better to consider
one of them is the best technique while the efficiency of the used technique differs from
a system to another depending on the nature of the system and the working
environment.
27
The techniques used to gather requirements for this project are:
1- Sampling of existing documentation, forms and databases:
(No Exist System)
2- Observation of work Environment:
The advantages of this technique are:
 Data gathered based on observation can be reliable.
 The system analyst is able to see exactly what is being done.
 Observation is relatively inexpensive compared with other techniques.
Because of the important advantages of this technique it has been used along with
other used techniques for fact finding techniques for this project.
3- Interviews:
The type of interview used is the unstructured open-end interview.
This method was choosing because of the nature of the interviewees (A worker and
co Interview).
The following interviews were held:
Interviewee: Ardian Mula the CO of Touch2success Company
Date: May 17,2016
Subject: Studying and explaining the requirements of a project management system
Interviewer: what is the business process for development department?
Interviewee: First we get the project, agree on a deadline, put the requirements,
choose a methodology then we add diagrams for each project according to
methodology
Interviewer: How can you tell that this project is finished?
Interviewee: when all the releases are completed (a release is a version of the
software, it is focusing on some of the requirements and if there are more
requirements we introduce it in another release)
28
Interviewer: How can you keep track of issues?
Interviewee: like any software company we should have some issues and
development team with testing team should fix these issues.
Interviewer: Who is in charge on the project management?
Interviewee: A project manager to manage the project he will be able to tell when
this release done and he should be able to manage more than one project at the
same time
Interviewer: Is there anything else that you would like to add?
Interviewee: one last thing I want to add, Admin is only person who can manage
users.
Interviewer: very well thanks for everything bye
29
3.2 Functional requirements:
Functional requirements are a description of activities and services a system must
provide.
 Inputs, outputs, processes, stored data
The functional requirement of the proposed system according to the specified scope
can be divided to data requirements, process requirements and interface
requirements.
First: data requirements as inputs and outputs
The system must handle the following inputs:
First Allow the admin to add the new project data (name, description, deadline,
requirements, project manager, and methodology) and diagrams will be added by
name and a version for this diagram.
Second we need to add the release and its description, and features, when we add
release we can add a task which require a title, description and developer.
Finally issues reporting for each release as a resulting for testing, issue will
require a description and might have a screen shot.
Second: process function all requirements
The main process the system must fulfill is to allow the admin, project manager,
developer and tester to add the data required to be added
Third: Interface requirements
The interface should be available for users all the time and they can access it from
anywhere as there are some workers working as freelancers and from different
countries as well
30
3.3 Non Functional requirements:
A description of other features, characteristics, and constraints that define a satisfactory
system.
 Performance, ease of learning and use, budgets, deadlines, documentation,
security, internal auditing controls
The non-functions requirements of the system are:
 The system should have a user friendly interface which is simple and easy to
use and understand.
 The system should be highly secured.
3.4 System Constraints:
The primary impact of project constraints is the likelihood of delaying the completion
of the project. There are three types of project constraints: technological, resource
and physical. The technological constraints relate to the sequence in which individual
project activities must be completed.
31
Chapter Four
Design
32
4.1 System Design
Figure 4.1 : Database logical EERD
33
4.2 Physical Design:
Figure 4.2 : Physical Design
34
4.3 Process design:
Figure 4.3 : Process design
35
4.4.1 System use case diagram and text:
Use Case modeling purpose is to present a graphical overview of the functionality
provided by a system in terms of actors, their goals (represented as use cases), and
any dependencies between those use cases.
Use case diagram for entire system
Figure 4.3 : use case diagram
36
Use Cases Texts
User Management:
Use Case Name Manage User Information
Actors Admin Employee
Brief Description This use case allows the registrar to maintain user
information in the management system. This includes adding,
modifying and deleting users from the system
Entry Condition The registrar need to be logged onto the system before this
use case begin
Flow of events 1. The system requests that the registrar specify the
function he/she would like to preform (add a user,
update a user, or delete a user).
2. Once the registrar provides the requested information,
one of the sub flows is executed. If the registrar
selected “Add a user”, the Add a User sub flow is
executed. If the Registrar selected “Edit a User”, then
the list of the Users will show and he will have to
choose whether he want to delete or edit from this user
list
2.1 Add a User
1. the system request that the registrar enter the user
information this include: Name, Email, Password,
Job Type, Phone
2. Once the registrar provides the requested
information, the system generates and assigns a
unique id number to the user. The user is added to
the system and assign privilege according to his
job type
2.2 Edit a User
1. the system request to select a specific user to
proceed with update form
2. once the registrar select the user he want to edit
the system will view his old data and ready to be
edited directly
3. Once the register finish the changes he save
changes and system will update the user
information.
2.3 Delete a User
1. the system request to select a specific user to
proceed with delete
37
2. once the registrar press the delete bottom
beside the selected user the system will delete
the user from the system and he will no longer
can login to the system
Alternative Flow If we try to change the job type (update) or delete a user
which job type is a developer which will have
Tasks or issues related to this user or manager which have
specific projects assigned to him or a testers which testing a
specific release of multiple projects it will set the value of the
users there by null instead of deleting the record
Special
Requirements
None
Exit Conditions If the use case was successful, the user information is added,
updated, or deleted from the system. Otherwise, the system
state is unchanged.
38
Project Management:
Use Case Name manage project Information
Actors Admin, Project Manager
Brief Description This use case allows the registrar to maintain project
information in the management system. This includes
adding, modifying and deleting projects from the system
Entry Condition The registrar need to be logged onto the system and at least
one project manager user should be registered onto the
system before this use case begin
Flow of events 1. The system requests that the registrar specify the
function he/she would like to preform (add a new
project, Edit, delete view a current project form the
list showing on the screen)
2. Once the registrar provides the requested information,
one of the sub flows is executed. If the registrar
selected “Add New Project”, the Add a Project form
is executed otherwise he will have to choose whether
he want to delete or edit from this projects list
2.1 Add New Project
1. the system request that the registrar enter the
project information this include: Name,
Description, Deadline, Requirements, Project
Manager from the list and Methodology
2. Once the registrar provides the requested
information, the system generates and assigns a
unique id number to the project. The project is
added to the system and assigned to a project
manager
2.2 Edit A Project
1. the system request to select a specific project to
proceed with edit form
2. once the registrar select the project he want to
edit the system will view his old data and ready
to be edited directly
3. Once the register finish the changes he save
changes and system will update the project
information.
2.3 Delete a Project
1. the system request to select a specific
project to proceed with delete
2. once the registrar press the delete bottom
beside the selected project the system will
delete the project from the system and its
releases, tasks, issues, diagrams
39
2.4 View a Project
1. the system request to select a specific
project to proceed with project view
2. once the registrar press the view bottom beside
the selected project the system will view the
project form the system and its releases,
diagrams and the other info
Alternative Flow If you try to add project without have a project manager
added to the system it will ask you to add a project manager
first
Special
Requirements
None
Exit Conditions If the use case was successful, the project information is
added, updated, viewed or deleted from the system.
Otherwise, the system state is unchanged.
40
Release Management:
Use Case Name manage Release Information
Actors Project Manager
Brief Description This use case allows the registrar to maintain releases of a
project information in the management system from project
view. This includes adding, modifying and deleting, viewing
release from the system
Entry Condition The registrar need to be logged onto the system and also
there should be a project assigned to this project manager
before this use case begin
Flow of events 1. The system requests that the registrar specify the
function he/she would like to preform (add a new
release, Edit, view or delete a current release form the
list showing on the screen)
2. Once the registrar provides the requested information,
one of the sub flows is executed. If the registrar
selected “Add New Release”, the Add a Release form
is executed otherwise he will have to choose whether
he want to delete or edit, view from this releases list
showing in view project page
2.1 Add New Release
1. the system request that the registrar enter the
release information this include: Features and
Description
2. Once the registrar provides the requested
information, the system generates and assigns a
unique id number to the release and release no
according to the order of the release in this
project
2.2 Edit A Release
1. the system request to select a specific project to
proceed with edit form
2. once the registrar select the release he want to
edit the system will view his old data and ready
to be edited directly
3. Once the register finish the changes he save
changes and system will update the release
information.
2.3 Delete a Release
1. the system request to select a specific
release to proceed with delete
2. once the registrar press the delete bottom
beside the selected release the system will
delete the release from the system and its tasks
and issues
41
2.4 View A Release and assign a tester
1. the system request to select a specific
release to proceed with view
2. once the registrar press the delete bottom
beside the selected release the system will
view the release from the system and its tasks
and issues will be showing in that view
3. to assign a task user will select add a tester
button inside this view
4. choose a tester from the list of exist
5. save changes and the system will assign this
tester to this release
Alternative Flow If you try to add a tester to a release and no testers have been
registered in the system it will ask you to add a tester first
Special
Requirements
None
Exit Conditions If the use case was successful, the release information is
added, updated, viewed or deleted or from the system.
Otherwise, the system state is unchanged.
42
Diagram Management:
Use Case Name manage diagram Information
Actors Project Manager
Brief Description This use case allows the registrar to maintain diagram of a project
information in the management system from project view. This
includes adding, viewing and deleting diagram from the system
Entry Condition The registrar need to be logged onto the system and also there
should be a project assigned to this project manager before this use
case begin
Flow of events 1. The system requests that the registrar specify the function
he/she would like to preform (add a new diagram, view or
delete a current diagram form the list showing on the screen)
2. Once the registrar provides the requested information, one of
the sub flows is executed. If the registrar selected “Add New
Diagram”, the Add a diagram form is executed otherwise he
will have to choose whether he want to delete or view from
this diagrams list showing in view release page
2.1 Add New diagram
1. the system request that the registrar enter the diagram
information this include: Name and place to upload a
diagram in form of an image file
2. Once the registrar provides the requested information,
the system generates and assigns a unique id number to
the diagram
2.2 Delete Diagram
1. the system request to select a specific diagram to delete
2. once the registrar press the delete bottom
beside the selected diagram the system will delete the diagram
from the system
2.4 View A Release
1. the system request to select a specific
diagram to proceed with view
2. once the registrar press the delete bottom beside the
selected diagram the system will view the diagram
from the system
Alternative Flow If no uploaded diagram image it will show no image in view
diagram
Special
Requirements
None
Exit Conditions If the use case was successful, the diagram information is added,
viewed or deleted from the system. Otherwise, the system state is
unchanged.
43
Task Management:
Use Case Name manage tasks Information
Actors Project Manager, Developer
Brief Description This use case allows the registrar to maintain diagram of a
project information in the management system from release view.
This includes adding, viewing, assign and deleting tasks from the
system
Entry Condition The project manager need to be logged onto the system and also
there should be a project assigned to this project manager also
there should be an existed release inside that project to add the
task in side it also at least one developer should be added to the
system before this use case begin
Flow of events 1. The system requests that the registrar specify the function
he/she would like to preform (add a new task, view, assign,
edit or delete a current diagram form the list showing on
the screen)
2. Once the registrar provides the requested information, one
of the sub flows is executed. If the registrar selected “Add
New Task”, the Add a task form is executed otherwise he
will have to choose whether he want to delete or view from
this task list showing in view release page
2.1 Add New Task
1. the system request that the registrar enter the task
information this include: title, description and assign
a developer to do the task
2. Once the registrar provides the requested
information, the system generates and assigns a
unique id number to the task
2.2 Edit A Task
1. the system request to select a specific task to proceed
with edit form
2. once the registrar select the task he want to edit the
system will view his old data and ready to be edited
directly
3. Once the register finish the changes he save changes
and system will update the task information.
2.4 Delete a Release
1. the system request to select a specific
task to proceed with delete
2. once the registrar press the delete bottom beside
the selected task the system will delete the release
from the system
2.4 View A task
1.the system request to select a specific
release to proceed with view
2.once the registrar press the delete bottom beside
44
the selected task the system will view the task
from the system
Alternative Flow If you try to add a task and there are no developers registered on
the system it will ask you to add a developer first
Special
Requirements
None
Exit Conditions If the use case was successful, the task information is added,
edited, viewed or deleted from the system. Otherwise, the system
state is unchanged.
45
Issues Management:
Use Case Name manage Issues Information
Actors Project Manager, Developer, Tester
Brief Description This use case allows the registrar to maintain issues found
inside a release of a project information in the management
system from release view. This includes adding, viewing, assign
and deleting issues from the system
Entry Condition A user should be logged onto the system before this use case
begin and a manager user to assign this issue to tester and
developer and at least 1 tester and 1 developer should exist
when we need to assign this issue for sure we need an exist
project and a project manager assigned to it and at exist release
to have that have an issue to be added
Flow of events 1. The system requests that the registrar specify the function
he/she would like to preform (add a new issue, view,
assign, edit or delete a current diagram form the list
showing on the screen)
2. Once the registrar provides the requested information, one
of the sub flows is executed. If the registrar selected “Add
New Issue”, the Add a issue form is executed otherwise
he will have to choose whether he want to delete or view
from this issue list showing in view release page
2.1 Add New Issue
1. the system request that the registrar enter the issue
information this include (any user): description and
a screenshot of the issue in file image format
(project manager):
description and a screenshot of the issue in file
image format, developer and tester who will work
on it
2. Once the registrar provides the requested
information, the system generates and assigns a
unique id number to the issue and generate a
number for issue number for that particular release
2.2 Edit An Issue For Project Manager Only
1. the system request to select a specific issue to
proceed with edit form
2. once the registrar select the issue he want to edit the
system will view his old data and ready to be edited
directly
3. Once the register finish the changes he save
changes and system will update the issue
information.
2.5 Delete An Issue For Project Manager Only
1. the system request to select a specific
issue to proceed with delete
46
3. once the registrar press the delete bottom beside
the selected issue the system will delete the
release from the system
2.4 View An Issue
1.the system request to select a specific
issue to proceed with view
2.once the registrar press the delete bottom beside
the selected issue the system will view the issue
Alternative Flow While adding an issue on project manager as the registrar then it
requires to have 1 developer and 1 tester to be added to the
system before you record this issue other with it will ask you to
add them first before you proceed with request
Special
Requirements
None
Exit Conditions If the use case was successful, the issue information is added,
edited or deleted from the system. Otherwise, the system state is
unchanged.
47
4.4.2 System Domain Modeling:
According to Rational Unified Process, ® or RUP, ® a domain model is a business
object model that focuses on "product, deliverables, or events that are important to
the business domain. A domain model is an "incomplete" business model, in that it
omits individual worker responsibilities. The point of domain modeling is to
provide "the big picture" of the interrelationships among business entities in a
complex organization. The domain model typically shows the major business
entities, their functional responsibilities, and the relationships among the entities. It
also provides a high-level description of the data that each entity provides.
48
The Domain Model of the system
Figure 4.4 : Domain Model
49
4.4.3 Interaction diagrams
From the name Interaction it is clear that the diagram is used to describe some type of
interactions among the different elements in the model. So this interaction is a part of
dynamic behavior of the system. This interactive behavior is represented in UML by two
diagrams known as Sequence diagram and Activity diagram. The basic purposes of both the
diagrams are similar. Sequence diagram emphasizes on time sequence of messages and
Activity diagram emphasizes on the flow of events of the system.
Purpose: The purposes of interaction diagrams are to visualize the interactive behavior of
the system. Now visualizing interaction is a difficult task. So the solution is to use different
types of models to capture the different aspects of the interaction. That is why sequence and
collaboration diagrams are used to capture dynamic nature but from a different angle. So
the purposes of interaction diagram can be describes as:
 To capture dynamic behavior of a system.
 To describe the message flow in the system.
 To describe structural organization of the objects.
 To describe interaction among objects.
Activity diagram
In its basic form, an activity diagram is a simple and intuitive illustration of what happens
in a workflow, what activities can be done in parallel, and whether there are alternative
paths through the workflow.
Activity diagrams as defined in the Unified Modeling Language 1 are derived from various
techniques to visually illustrate workflows.
In the Rational Unified Process 4 , we talk about how you can use activity diagrams to
visualize the workflow of a business use case. A complete workflow description will have a
basic flow, and one or several alternative flows. This workflow has a structure that we can
define textually, using informal if, if-then-else, or do-until statements of various kinds. For
a simple workflow with a simple structure, such textual definitions may be quite sufficient,
but in the case of more complex structures, activity diagrams help to clarify and make more
apparent what the workflow is.
Historically, activity diagramming techniques have mostly been used in the business
process modeling domain.
50
4.4.3.1 Activity diagram:
Figure 4.5 : Activity diagram
51
4.4.3.2 Sequence diagram:
UML sequence diagrams model the flow of logic within your system in a visual manner,
enabling you both to document and validate your logic, and are commonly used for both
analysis and design purposes. Sequence diagrams are the most popular UML artifact for
dynamic modeling, which focuses on identifying the behavior within your system.
Sequence diagram of managing project process
Figure 4.6 : Sequence diagram
52
4.4.4 Class diagram:
The purpose of a class diagram is to depict the classes within a model. In an object oriented
application,
Classes have attributes (member variables), operations (member functions) and relation-
ships with other classes. The UML class diagram can depict all these things quite easily.
Class diagram is the most widely used diagram in modeling object-oriented system. A class
diagram shows a set of classes, interfaces, associations and generalizations. Package is
commonly used model element for organizing elements in class diagram. Class diagrams
are not just for visualizing and documenting structure models but also for constructing
executable system with forward, reverse and round-trip engineering.
System Class diagram
Figure 4.7 : Class diagram
53
4.5 Interface Design
Login page:
Figure 4.8.1 : Login page
54
Admin main page:
Figure 4.8.2 : Admin main page
55
Add new user page:
Figure 4.8.3 : Add new user
56
Edit user page:
Figure 4.8.4 : Edit user
57
Add new project page:
Figure 4.8.5 : Add new project
58
View project page:
Figure 4.8.6 : View project
59
Edit project:
Figure 4.8.7 : Edit project
60
Add diagram to project:
Figure 4.8.8 : Add diagram
61
View diagram page:
Figure 4.8.10 : View diagram
62
Add release to project:
Figure 4.8.11 : Add release
63
View release:
Figure 4.8.12 : Add release
64
Edit release page:
Figure 4.8.13: Edit release
65
Add task to release:
Figure 4.8.14: Add task
66
View task page:
Figure 4.8.15 : View task
67
Edit task page:
Figure 4.8.16 : Edit task
68
Add tester to release:
Figure 4.8.17 : Add tester to release
69
Add issue to release:
Figure 4.8.18 : Add issue
70
Edit issue page:
Figure 4.8.19: Edit issue
71
Chapter Five
Conclusion and Future
Work
72
5.1 Conclusion:
Software project management system is a web based application. It will manage software
projects, gathering the information added to the system by different users and store this
information into database. In addition it will provide useful information about projects like
time taken to get a task done. Then, the information about a project in database can be
retrieved by searching or browsing such as progress of every release. Privilege have been
done in a way that guarantee the security of the system. User information is available for
project managers so they can decide who is the right person for this job. Finally, the system
helps the company to achieve and produce more software projects.
73
5.2 Future Work:
 Notification system for tasks and issues.
 Finished projects by a user should be added to his profile.
 Issues should be recorded by instructions to be followed.
 Notes on task and issue should be recorded.
74
References:
[1] R.elmasry, and B. Navathe .“Fundamentals of Database Systems”.Addison-Wesley
publisher inc.,2011
[2] W.Bentley, “System analysis & design methods”. Pearson Education publisher ,
Inc.,2011
[3] C.Larman, “Applying UML and Patterns: An Introduction to Object-Oriented
Analysis and Design and Iterative Development”.Addison-Wesley publisher inc.,2004
[4] http://www.ibm.com/developerworks/rational
[5] http://www.tutorialspoint.com
[6] http://www.visual-paradigm.com

More Related Content

PPTX
Systems development
PPTX
Systems development cycle
DOCX
Information systems development methodologies (autosaved)
PPSX
System development methodologies
PDF
System Development Methodologies
PPT
Mba it unit 3 ppt
PDF
System Development Life Cycle & Implementation of MIS
PPT
Chapter1 Advanced Software Engineering overview
Systems development
Systems development cycle
Information systems development methodologies (autosaved)
System development methodologies
System Development Methodologies
Mba it unit 3 ppt
System Development Life Cycle & Implementation of MIS
Chapter1 Advanced Software Engineering overview

What's hot (19)

PPT
Power point presentation 1
PPTX
PPT
Week 10
PPTX
Chapter 12 information system development
PPTX
11 system development models
PDF
SE18_Lec 00_Course Outline
PPSX
System development approaches
PPTX
Spm unit iii-configuration mgmt-intro
PPT
SAD ASSIGN :)
PPT
System analysis
PPSX
System Analysis & Design - 2
PPTX
Introducing systems analysis, design & development Concepts
PPT
Information system development
PDF
SE18_Lec 05_Agile Software Development
PPTX
Software Engineering unit 4
PPTX
Management information system
PPT
The system development life cycle (SDLC)
PPT
Software Engineering
PDF
Software Engineering - Ch17
Power point presentation 1
Week 10
Chapter 12 information system development
11 system development models
SE18_Lec 00_Course Outline
System development approaches
Spm unit iii-configuration mgmt-intro
SAD ASSIGN :)
System analysis
System Analysis & Design - 2
Introducing systems analysis, design & development Concepts
Information system development
SE18_Lec 05_Agile Software Development
Software Engineering unit 4
Management information system
The system development life cycle (SDLC)
Software Engineering
Software Engineering - Ch17
Ad

Viewers also liked (15)

PPTX
Presentation cherry r. leelin
DOC
priyanka tarale cv
DOCX
Lengua y-cultura.
PDF
Morte de chávez e a volta da autonomia petrolífera dos eua
PPTX
Проект, посвящённый празднованию Дня Победы
PDF
Physical ability
PPTX
Hejőpapi mechanikai-optikai előkezelő mű
PPTX
Painters of the golden age
PDF
20150929 Playbook Transformational IT Run IT as a Business
PPTX
Adoption process and stages
DOCX
chakrarao_resume
PPTX
Personal Learning Management Systems: Concept, Classification, Evaluation
PPTX
Vidrieras
PPT
Marketing myopia
PDF
Was dem (Informations-)System Bildung fehlt: Die Ansichten eines Technikliefe...
Presentation cherry r. leelin
priyanka tarale cv
Lengua y-cultura.
Morte de chávez e a volta da autonomia petrolífera dos eua
Проект, посвящённый празднованию Дня Победы
Physical ability
Hejőpapi mechanikai-optikai előkezelő mű
Painters of the golden age
20150929 Playbook Transformational IT Run IT as a Business
Adoption process and stages
chakrarao_resume
Personal Learning Management Systems: Concept, Classification, Evaluation
Vidrieras
Marketing myopia
Was dem (Informations-)System Bildung fehlt: Die Ansichten eines Technikliefe...
Ad

Similar to Software projects management system ( full documentation ) (20)

DOC
Project scheduler doc
PPTX
Software project management introduction
PDF
Ignou MCA 6th Semester Synopsis
PPTX
Software management system power point presentation.pptx
PPTX
Software management system power point presenttion-PPT.pptx
PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPT
PDF
Software projects management system ( presentation)
PDF
Chapter 1 - Intro to Software Project Management.pdf
PPT
Proj Mgmt.ppt
PPTX
(Fall2016)Lecture1.pptx
PPT
unit-1.ppt
PPTX
project (Salon Management).pptx
DOCX
College Management System project
PPTX
Project management personnel
PPTX
Project management personnel in Computing
 
DOCX
Mingle box - Online Job seeking System
PPT
Software Project Management lecture 8
PPTX
Week 1 Introduction Software Project Versus Other Type of Projects.pptx
PDF
Online job placement system project report.pdf
PPT
How To Do A Project?
Project scheduler doc
Software project management introduction
Ignou MCA 6th Semester Synopsis
Software management system power point presentation.pptx
Software management system power point presenttion-PPT.pptx
SOFTWARE PROJECT MANAGEMENT TOOL PPT
Software projects management system ( presentation)
Chapter 1 - Intro to Software Project Management.pdf
Proj Mgmt.ppt
(Fall2016)Lecture1.pptx
unit-1.ppt
project (Salon Management).pptx
College Management System project
Project management personnel
Project management personnel in Computing
 
Mingle box - Online Job seeking System
Software Project Management lecture 8
Week 1 Introduction Software Project Versus Other Type of Projects.pptx
Online job placement system project report.pdf
How To Do A Project?

Recently uploaded (20)

PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Understanding Forklifts - TECH EHS Solution
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
ai tools demonstartion for schools and inter college
PDF
medical staffing services at VALiNTRY
PDF
Nekopoi APK 2025 free lastest update
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Reimagine Home Health with the Power of Agentic AI​
2025 Textile ERP Trends: SAP, Odoo & Oracle
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Odoo Companies in India – Driving Business Transformation.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Upgrade and Innovation Strategies for SAP ERP Customers
Understanding Forklifts - TECH EHS Solution
wealthsignaloriginal-com-DS-text-... (1).pdf
How to Choose the Right IT Partner for Your Business in Malaysia
ai tools demonstartion for schools and inter college
medical staffing services at VALiNTRY
Nekopoi APK 2025 free lastest update
Operating system designcfffgfgggggggvggggggggg
Which alternative to Crystal Reports is best for small or large businesses.pdf
Design an Analysis of Algorithms I-SECS-1021-03
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Wondershare Filmora 15 Crack With Activation Key [2025
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025

Software projects management system ( full documentation )

  • 1. Software Projects Management System {SPMS} A Project Presented For Fulfillment The Diploma in Computer Science Submitted by Hussein Shabaan Abu Elsaoud Mohany Hesham Ramadan Ali Ali Supervised by Dr. Nesrine Abdel-Azim Cairo, Egypt June 2016
  • 2. 2 INDEX Introduction ………………………………………………………………………. 4 Acknowledgement…………………………………………………………..……….5 Abstract…………………………………………………………………………….. 6 Chapter One : Project Planning ……………………………………….. 7 1.1 Introduction……………………………........................................... 8 1.2 Project Objective……………………………................................... 8 1.3 System stack holders definition……………………………........... 9 1.4 Project Scope definition……………………………...………………. 12 1.5 Used technologies (software solutions)………...………………. 13 1.6 Problem analysis………...………………………...…………………… 15 1.7 Definitions, Acronyms and abbreviations (Glossary) ……….. 16 1.8 Feasibility study………...………………………...…………………….. 17 1.9 The system Development life cycle………...…………………….. 19 Chapter Two : System Description …………………...………………. 21 2.1 System description……………………………………………………. 22 2.2 System functions………………………………………………………… 22 2.3 System features………………………………………………………… 23 2.4 Operating Environment……………………………………………… 24 Chapter Three : Requirements …………………………………………. 25 3.1 Requirements analysis………………………………………………… 26 3.2 Functional requirements system functions……………………. 29 3.3 Non-functional requirements……………………………………… 30 3.4 System Constraints……………………………………………………. 30
  • 3. 3 Chapter Four : Design ………………………………………………...... 31 4.1 System Design………………………………………………………… 32 4.2 Database logical…………………………....................................... 32 4.3 Physical Design………………………………………………………………… 33 4.4 Process design..…………………………..……………………………….. 34 4.4.1 Use case diagrams and Use Case text…………………………35 4.4.2 Domain model…………………………………………………….. 49 4.4.3 Interaction diagrams……………………………………………... 50 4.4.3.1 Activity diagrams………………………………….. 51 4.4.3.2 Sequence diagrams…………………………………52 4.4.4 Class diagram………………………………………………………..53 4.5 Interface design…………………………………………………………..54 Chapter Five : Conclusion and Future Work ………………..72 5.1 Conclusion …………………………………………………………………73 5.2 Future Work .…………………………………………………………………… 73 References……………………………………………………………………….. 74
  • 4. 4 Introduction I hereby declare that the project entitled “Software Project Management System” submitted for the Diploma Degree is my original work and the project has not formed the basis for the award of any degree, associate ship, fellowship or any other similar titles. Project Name: Software Project Management System Department: Computer Science Supervision: Dr. Nesrine Abdel-Azim Team members: Hussain Shabaan Abu Elsaoud Mohany Hesham Ramadan Ali Ali Place: Institute of Statistical Studies and Research – Cairo University Date: 1 July 2012
  • 5. 5 Acknowledgement ‫الرحيم‬ ‫الرحمن‬ ‫هللا‬ ‫بسم‬ At the beginning and at the end we all thank Allah for helping us to achieve this work and ask Allah to benefit us with what he taught us and teach us what will benefit us. Also the achievement of this piece of work wouldn’t be to see the light without the support, help and contribution of: Doctor: Dr. Nesrine Abdel-Azim supervisor of our graduation project. Professor: Hisham Hefni the acting head of the computer science and information system department for his support and advice. All the faculty members who taught us during our study in the degree program specially Dr. Tarek Elghazaly , Dr. Ahmed GadAllah, Dr. Abd El-Aziz Ahmed, Dr. Mustafa Ezzat, Dr. Ahmed Hamza . Finally we thank our families for supporting us and helped us to reach so far and to have the tolerance to face difficulties and keep up.
  • 6. 6 Abstract Software Project Management System {SPMS} is originally developed to maintain and handle Software Project Management Process like Tasks and initiating the work during software development and build in any software company. SPMS is an automation system which is used to help Managers to keep track what is going on every project we are working on and keep management updated by the latest status of every project we have till we finish it in an efficient manner. Also helps the developers to organize their tasks for every project they working in at any time. In Addition SPMS Manage and keep tracking of the issues enrolled during testing process allowing any employee to discover issues and then to be assigned and keep track on who working to fix and test. Also helps again project management to upload diagram according to the way they choose to manage the project (Methodologies). Privileges should takes place where admin will gave the max privilege on the system and project managers will be able to handle his projects…etc. Testers and developers should have privilege only to change their own task and issue only.
  • 8. 8 Chapter One 1.1 Introduction: The basic idea of the system is to introduce an automated tool for a management system for software projects that allows the development team to manage and plain their projects from anywhere at any time and allows the supervisor to monitor and approve trace their work at any time. 1.2 Project objectives: This project aims to reduce the time and effort spent on the planning process in a company management system. It also aims to systemize the development process so that the least amount of errors during the building and releasing software products in any phase. Thus the management process may be with better quality and efficiency.
  • 9. 9 System Stack holders 1.3 Definition: Stack holder is any person who has an interest in an existing or proposed information system. Stack holders can be technical or non-technical workers. They may also internal or external workers. Figure 1.1: Stack Holders System Owners System Users System Designers System Builders System Analyst and Project Managers System Stakeholders
  • 10. 10 System Owners: An information system’s sponsor and executive advocate usually responsible for funding the project of development, operating and maintaining the information system. In this system the system owners are the administration of the Software Company. System Users: Is the customer who will use the system or is affected by an information system on a regular basis – capturing, validating, entering, responding to, storing, and exchanging data and information. The software company management system internal users can be classified according to the following hierarchy: Figure 1.2: Users Classification Developement and Testing Project Management Administration Admin Project manager Developer Testser
  • 11. 11 System Designers: A technical specialist who translates system users’ business requirements and constraints into technical solution. She or he designs the computer databases, inputs, outputs, screens, networks, and software that will meet the system users’ requirements. System Builders: A technical specialist who constructs information systems and components based on the design specifications generated by the system designers. Systems Analyst: A specialist who studies the problems and needs of an organization to determine how people, data, processes, and information technology can best accomplish improvements for the business. Business analyst focuses on only the nontechnical aspects of systems analysis and design.
  • 12. 12 1.4 Project Scope definition: (Phase 1) The scope of the project includes and focuses on the following points:  Manage The User profile of each employee (roles, privilege and personal data)  Manage each Project release tasks and issues  Prepare report for how many projects tasks and issue covered and generally productivity  Progress tracker for release and project The scope of the project doesn’t include and focus on the following points:  Comments on everything.  Customer feedback.  Customer testing.  The human resources system (HR).  Financial details of the projects.
  • 13. 13 1.5 Used Technologies Software development diagrams (use case diagram, domain model, sequence diagram and activity diagram) and Enhanced entity relationship diagram (EERD) database design to be developed using:  Data base solution to be implemented using MySql Database Server
  • 14. 14  Software solution and implementation using PHP with xampp apache server  PHP framework have been used to implement the solution in a better way Laravel  User interfaces designed using HTML , CSS , BOOTSTRAP framework .
  • 15. 15 1.6 Problem analysis (phase 2) The existing system There no exist system to manage the software project production Process Instead they are using email for updating contacting each other's, Excel sheets have been using buy manager to track and analyze progress for each project. Problems in the existing system  No direct contact between dev team and testing team  No direct contact between managers and the rest of the teams  We can’t keep track of remote worker dev and testers and what they are currently doing Risks involved in existing system:  Losing deadlines  Forgetting issues some times  Iterative testing wasn’t included
  • 16. 16 1.7 Definitions, Acronyms and Abbreviations (Glossary): Project: It is a whole software product which applies the whole solution based on the requirement analysis done by system analyst Release: It is a version of a project that includes some features according to implementation plane Task: It is the smallest part of implementation that includes a certain instruction to build a part or a whole feature Issue: It is the testing problem found in a particular release of the software project Role and access in the system: Table 1.1: Users Privileges Features Admin Project Manager Developer Tester Add project     Edit/Delete Project     View Project     Add task  owner   Edit/Delete Task  owner   View task     add Issue     Assign Issue  owner   Edit/Delete Issue  owner   View Issues     Change Task Status  owner owner  Change Issue Status  owner owner owner
  • 17. 17 1.8 Feasibility study: The objective is to determine whether or not the proposed system is feasible. The three tests of feasibility have been carried out:  Technical feasibility  Economic feasibility  Operational feasibility 1. Technical feasibility In technical feasibility one has to test whether the proposed system can be developed using the existing technology. It is a study of resource availability that may affect the ability to achieve an acceptable system. This evaluation determines whether the technology needed for the proposed system is available or not. As the available technical resources (such as MySQL, PHP, etc.) all open source license) are satisfactory for the scope of the proposed system, the proposed system considered technically feasible. 2. Economical feasibility The costs and benefits associated with the proposed system compared and the project is economically feasible if tangible or intangible benefits out weight cost. As the proposed system development costs are significant as estimated so the system proposed considered feasible economically. 3. Operational feasibility It is a standard that ensures interoperability without stifling competition and innovation among users, to the benefit of the public both in terms of cost and service quality.
  • 18. 18 It is mainly related to human organizations and political aspects. In Operational feasibility the following points are studied:  The impact of the changes would be made by the new system.  The organization structure that might be disturbed by functioning the new system.  The gap between the skills that the staff of the organization(s) that would use the system and the skills needed by the system to operate appropriately.  The system is operationally feasible as it very easy for the End users to operate it, its functioning disturbs no other organization structures, and it have no undesired changes to be made by its functionality.
  • 19. 19 1.9 The system Development life cycle: System development process: a set of activities, methods, best practices, deliverables, and automated tools that stakeholders use to develop and maintain information systems and software. System Development Process Overview: 1- System initiation: The initial planning for a project to define initial business scope, goals, schedule, and budget. 2- System analysis: The study of a business problem domain to recommend improvements and specify the business requirements and priorities for the solution. 3- System design: The specification or construction of a technical, computer-based solution for the business requirements identified in a system analysis. 4- System implementation: The construction, installation, testing, and delivery of a system into production.
  • 20. 20 The system development life cycle is the waterfall or sequential development methodology: Figure 1.3 : SDLC waterfall
  • 22. 22 2.1 System Description: The system is a web based application that consists of a login page that can be accessed by different user types such as developers, testers, and administration and project managers. Each system user has different pages or interface depending on the different functions that he/she can use the system for. The system includes a database system to store all relevant information and data and to produce various reports and queries. 2.2 System functions: Insert and modify user information. Edit user privileges and roles. Add and Edit projects, releases, tasks assignment and issue reporting. Manage Projects  Adding projects  Removing Current projects  Editing Current projects  Tracking progress and deadlines for each project
  • 23. 23 2.3 System Features: The following figure illustrates the features of the new system over the existing system Figure 2.1 : System Features
  • 24. 24 The proposed system introduces the following features:  Managers will be able to manage and track the progress of any project assigned to them and also see who is working on which task.  Testers will be able to test a software release and record issues and test if developers have fixed it  Developers will be able to get their tasks and to see deadlines of the their projects and issues assigned to them  The proposed system produces a structure that gathers all the information regarding the projects building process with different stages all in one place in the database which makes the preparation of the desired reports easy and efficient 2.4 Operating Environment: The system typically requires one server and it may run from any other personal or laptop computer without the need for installing any packages or any programs on the client side.
  • 26. 26 3.1 Requirements analysis The requirement analysis phase is the most important phase along he phases of the information system development process in this system and any other information system. Inadequate attention to that phase always results in user disagreements and dissatisfaction of the system or some functions of the system which would be so costly to get over. There is a 7 common fact finding techniques for gathering user requirements which are:  Sampling of existing documentation, forms and databases.  Research and visit sites  Observation of work environment  Questionnaires  Interviews  Prototyping  Joint requirements planning Each technique has its advantages and disadvantages. It is never better to consider one of them is the best technique while the efficiency of the used technique differs from a system to another depending on the nature of the system and the working environment.
  • 27. 27 The techniques used to gather requirements for this project are: 1- Sampling of existing documentation, forms and databases: (No Exist System) 2- Observation of work Environment: The advantages of this technique are:  Data gathered based on observation can be reliable.  The system analyst is able to see exactly what is being done.  Observation is relatively inexpensive compared with other techniques. Because of the important advantages of this technique it has been used along with other used techniques for fact finding techniques for this project. 3- Interviews: The type of interview used is the unstructured open-end interview. This method was choosing because of the nature of the interviewees (A worker and co Interview). The following interviews were held: Interviewee: Ardian Mula the CO of Touch2success Company Date: May 17,2016 Subject: Studying and explaining the requirements of a project management system Interviewer: what is the business process for development department? Interviewee: First we get the project, agree on a deadline, put the requirements, choose a methodology then we add diagrams for each project according to methodology Interviewer: How can you tell that this project is finished? Interviewee: when all the releases are completed (a release is a version of the software, it is focusing on some of the requirements and if there are more requirements we introduce it in another release)
  • 28. 28 Interviewer: How can you keep track of issues? Interviewee: like any software company we should have some issues and development team with testing team should fix these issues. Interviewer: Who is in charge on the project management? Interviewee: A project manager to manage the project he will be able to tell when this release done and he should be able to manage more than one project at the same time Interviewer: Is there anything else that you would like to add? Interviewee: one last thing I want to add, Admin is only person who can manage users. Interviewer: very well thanks for everything bye
  • 29. 29 3.2 Functional requirements: Functional requirements are a description of activities and services a system must provide.  Inputs, outputs, processes, stored data The functional requirement of the proposed system according to the specified scope can be divided to data requirements, process requirements and interface requirements. First: data requirements as inputs and outputs The system must handle the following inputs: First Allow the admin to add the new project data (name, description, deadline, requirements, project manager, and methodology) and diagrams will be added by name and a version for this diagram. Second we need to add the release and its description, and features, when we add release we can add a task which require a title, description and developer. Finally issues reporting for each release as a resulting for testing, issue will require a description and might have a screen shot. Second: process function all requirements The main process the system must fulfill is to allow the admin, project manager, developer and tester to add the data required to be added Third: Interface requirements The interface should be available for users all the time and they can access it from anywhere as there are some workers working as freelancers and from different countries as well
  • 30. 30 3.3 Non Functional requirements: A description of other features, characteristics, and constraints that define a satisfactory system.  Performance, ease of learning and use, budgets, deadlines, documentation, security, internal auditing controls The non-functions requirements of the system are:  The system should have a user friendly interface which is simple and easy to use and understand.  The system should be highly secured. 3.4 System Constraints: The primary impact of project constraints is the likelihood of delaying the completion of the project. There are three types of project constraints: technological, resource and physical. The technological constraints relate to the sequence in which individual project activities must be completed.
  • 32. 32 4.1 System Design Figure 4.1 : Database logical EERD
  • 33. 33 4.2 Physical Design: Figure 4.2 : Physical Design
  • 34. 34 4.3 Process design: Figure 4.3 : Process design
  • 35. 35 4.4.1 System use case diagram and text: Use Case modeling purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases. Use case diagram for entire system Figure 4.3 : use case diagram
  • 36. 36 Use Cases Texts User Management: Use Case Name Manage User Information Actors Admin Employee Brief Description This use case allows the registrar to maintain user information in the management system. This includes adding, modifying and deleting users from the system Entry Condition The registrar need to be logged onto the system before this use case begin Flow of events 1. The system requests that the registrar specify the function he/she would like to preform (add a user, update a user, or delete a user). 2. Once the registrar provides the requested information, one of the sub flows is executed. If the registrar selected “Add a user”, the Add a User sub flow is executed. If the Registrar selected “Edit a User”, then the list of the Users will show and he will have to choose whether he want to delete or edit from this user list 2.1 Add a User 1. the system request that the registrar enter the user information this include: Name, Email, Password, Job Type, Phone 2. Once the registrar provides the requested information, the system generates and assigns a unique id number to the user. The user is added to the system and assign privilege according to his job type 2.2 Edit a User 1. the system request to select a specific user to proceed with update form 2. once the registrar select the user he want to edit the system will view his old data and ready to be edited directly 3. Once the register finish the changes he save changes and system will update the user information. 2.3 Delete a User 1. the system request to select a specific user to proceed with delete
  • 37. 37 2. once the registrar press the delete bottom beside the selected user the system will delete the user from the system and he will no longer can login to the system Alternative Flow If we try to change the job type (update) or delete a user which job type is a developer which will have Tasks or issues related to this user or manager which have specific projects assigned to him or a testers which testing a specific release of multiple projects it will set the value of the users there by null instead of deleting the record Special Requirements None Exit Conditions If the use case was successful, the user information is added, updated, or deleted from the system. Otherwise, the system state is unchanged.
  • 38. 38 Project Management: Use Case Name manage project Information Actors Admin, Project Manager Brief Description This use case allows the registrar to maintain project information in the management system. This includes adding, modifying and deleting projects from the system Entry Condition The registrar need to be logged onto the system and at least one project manager user should be registered onto the system before this use case begin Flow of events 1. The system requests that the registrar specify the function he/she would like to preform (add a new project, Edit, delete view a current project form the list showing on the screen) 2. Once the registrar provides the requested information, one of the sub flows is executed. If the registrar selected “Add New Project”, the Add a Project form is executed otherwise he will have to choose whether he want to delete or edit from this projects list 2.1 Add New Project 1. the system request that the registrar enter the project information this include: Name, Description, Deadline, Requirements, Project Manager from the list and Methodology 2. Once the registrar provides the requested information, the system generates and assigns a unique id number to the project. The project is added to the system and assigned to a project manager 2.2 Edit A Project 1. the system request to select a specific project to proceed with edit form 2. once the registrar select the project he want to edit the system will view his old data and ready to be edited directly 3. Once the register finish the changes he save changes and system will update the project information. 2.3 Delete a Project 1. the system request to select a specific project to proceed with delete 2. once the registrar press the delete bottom beside the selected project the system will delete the project from the system and its releases, tasks, issues, diagrams
  • 39. 39 2.4 View a Project 1. the system request to select a specific project to proceed with project view 2. once the registrar press the view bottom beside the selected project the system will view the project form the system and its releases, diagrams and the other info Alternative Flow If you try to add project without have a project manager added to the system it will ask you to add a project manager first Special Requirements None Exit Conditions If the use case was successful, the project information is added, updated, viewed or deleted from the system. Otherwise, the system state is unchanged.
  • 40. 40 Release Management: Use Case Name manage Release Information Actors Project Manager Brief Description This use case allows the registrar to maintain releases of a project information in the management system from project view. This includes adding, modifying and deleting, viewing release from the system Entry Condition The registrar need to be logged onto the system and also there should be a project assigned to this project manager before this use case begin Flow of events 1. The system requests that the registrar specify the function he/she would like to preform (add a new release, Edit, view or delete a current release form the list showing on the screen) 2. Once the registrar provides the requested information, one of the sub flows is executed. If the registrar selected “Add New Release”, the Add a Release form is executed otherwise he will have to choose whether he want to delete or edit, view from this releases list showing in view project page 2.1 Add New Release 1. the system request that the registrar enter the release information this include: Features and Description 2. Once the registrar provides the requested information, the system generates and assigns a unique id number to the release and release no according to the order of the release in this project 2.2 Edit A Release 1. the system request to select a specific project to proceed with edit form 2. once the registrar select the release he want to edit the system will view his old data and ready to be edited directly 3. Once the register finish the changes he save changes and system will update the release information. 2.3 Delete a Release 1. the system request to select a specific release to proceed with delete 2. once the registrar press the delete bottom beside the selected release the system will delete the release from the system and its tasks and issues
  • 41. 41 2.4 View A Release and assign a tester 1. the system request to select a specific release to proceed with view 2. once the registrar press the delete bottom beside the selected release the system will view the release from the system and its tasks and issues will be showing in that view 3. to assign a task user will select add a tester button inside this view 4. choose a tester from the list of exist 5. save changes and the system will assign this tester to this release Alternative Flow If you try to add a tester to a release and no testers have been registered in the system it will ask you to add a tester first Special Requirements None Exit Conditions If the use case was successful, the release information is added, updated, viewed or deleted or from the system. Otherwise, the system state is unchanged.
  • 42. 42 Diagram Management: Use Case Name manage diagram Information Actors Project Manager Brief Description This use case allows the registrar to maintain diagram of a project information in the management system from project view. This includes adding, viewing and deleting diagram from the system Entry Condition The registrar need to be logged onto the system and also there should be a project assigned to this project manager before this use case begin Flow of events 1. The system requests that the registrar specify the function he/she would like to preform (add a new diagram, view or delete a current diagram form the list showing on the screen) 2. Once the registrar provides the requested information, one of the sub flows is executed. If the registrar selected “Add New Diagram”, the Add a diagram form is executed otherwise he will have to choose whether he want to delete or view from this diagrams list showing in view release page 2.1 Add New diagram 1. the system request that the registrar enter the diagram information this include: Name and place to upload a diagram in form of an image file 2. Once the registrar provides the requested information, the system generates and assigns a unique id number to the diagram 2.2 Delete Diagram 1. the system request to select a specific diagram to delete 2. once the registrar press the delete bottom beside the selected diagram the system will delete the diagram from the system 2.4 View A Release 1. the system request to select a specific diagram to proceed with view 2. once the registrar press the delete bottom beside the selected diagram the system will view the diagram from the system Alternative Flow If no uploaded diagram image it will show no image in view diagram Special Requirements None Exit Conditions If the use case was successful, the diagram information is added, viewed or deleted from the system. Otherwise, the system state is unchanged.
  • 43. 43 Task Management: Use Case Name manage tasks Information Actors Project Manager, Developer Brief Description This use case allows the registrar to maintain diagram of a project information in the management system from release view. This includes adding, viewing, assign and deleting tasks from the system Entry Condition The project manager need to be logged onto the system and also there should be a project assigned to this project manager also there should be an existed release inside that project to add the task in side it also at least one developer should be added to the system before this use case begin Flow of events 1. The system requests that the registrar specify the function he/she would like to preform (add a new task, view, assign, edit or delete a current diagram form the list showing on the screen) 2. Once the registrar provides the requested information, one of the sub flows is executed. If the registrar selected “Add New Task”, the Add a task form is executed otherwise he will have to choose whether he want to delete or view from this task list showing in view release page 2.1 Add New Task 1. the system request that the registrar enter the task information this include: title, description and assign a developer to do the task 2. Once the registrar provides the requested information, the system generates and assigns a unique id number to the task 2.2 Edit A Task 1. the system request to select a specific task to proceed with edit form 2. once the registrar select the task he want to edit the system will view his old data and ready to be edited directly 3. Once the register finish the changes he save changes and system will update the task information. 2.4 Delete a Release 1. the system request to select a specific task to proceed with delete 2. once the registrar press the delete bottom beside the selected task the system will delete the release from the system 2.4 View A task 1.the system request to select a specific release to proceed with view 2.once the registrar press the delete bottom beside
  • 44. 44 the selected task the system will view the task from the system Alternative Flow If you try to add a task and there are no developers registered on the system it will ask you to add a developer first Special Requirements None Exit Conditions If the use case was successful, the task information is added, edited, viewed or deleted from the system. Otherwise, the system state is unchanged.
  • 45. 45 Issues Management: Use Case Name manage Issues Information Actors Project Manager, Developer, Tester Brief Description This use case allows the registrar to maintain issues found inside a release of a project information in the management system from release view. This includes adding, viewing, assign and deleting issues from the system Entry Condition A user should be logged onto the system before this use case begin and a manager user to assign this issue to tester and developer and at least 1 tester and 1 developer should exist when we need to assign this issue for sure we need an exist project and a project manager assigned to it and at exist release to have that have an issue to be added Flow of events 1. The system requests that the registrar specify the function he/she would like to preform (add a new issue, view, assign, edit or delete a current diagram form the list showing on the screen) 2. Once the registrar provides the requested information, one of the sub flows is executed. If the registrar selected “Add New Issue”, the Add a issue form is executed otherwise he will have to choose whether he want to delete or view from this issue list showing in view release page 2.1 Add New Issue 1. the system request that the registrar enter the issue information this include (any user): description and a screenshot of the issue in file image format (project manager): description and a screenshot of the issue in file image format, developer and tester who will work on it 2. Once the registrar provides the requested information, the system generates and assigns a unique id number to the issue and generate a number for issue number for that particular release 2.2 Edit An Issue For Project Manager Only 1. the system request to select a specific issue to proceed with edit form 2. once the registrar select the issue he want to edit the system will view his old data and ready to be edited directly 3. Once the register finish the changes he save changes and system will update the issue information. 2.5 Delete An Issue For Project Manager Only 1. the system request to select a specific issue to proceed with delete
  • 46. 46 3. once the registrar press the delete bottom beside the selected issue the system will delete the release from the system 2.4 View An Issue 1.the system request to select a specific issue to proceed with view 2.once the registrar press the delete bottom beside the selected issue the system will view the issue Alternative Flow While adding an issue on project manager as the registrar then it requires to have 1 developer and 1 tester to be added to the system before you record this issue other with it will ask you to add them first before you proceed with request Special Requirements None Exit Conditions If the use case was successful, the issue information is added, edited or deleted from the system. Otherwise, the system state is unchanged.
  • 47. 47 4.4.2 System Domain Modeling: According to Rational Unified Process, ® or RUP, ® a domain model is a business object model that focuses on "product, deliverables, or events that are important to the business domain. A domain model is an "incomplete" business model, in that it omits individual worker responsibilities. The point of domain modeling is to provide "the big picture" of the interrelationships among business entities in a complex organization. The domain model typically shows the major business entities, their functional responsibilities, and the relationships among the entities. It also provides a high-level description of the data that each entity provides.
  • 48. 48 The Domain Model of the system Figure 4.4 : Domain Model
  • 49. 49 4.4.3 Interaction diagrams From the name Interaction it is clear that the diagram is used to describe some type of interactions among the different elements in the model. So this interaction is a part of dynamic behavior of the system. This interactive behavior is represented in UML by two diagrams known as Sequence diagram and Activity diagram. The basic purposes of both the diagrams are similar. Sequence diagram emphasizes on time sequence of messages and Activity diagram emphasizes on the flow of events of the system. Purpose: The purposes of interaction diagrams are to visualize the interactive behavior of the system. Now visualizing interaction is a difficult task. So the solution is to use different types of models to capture the different aspects of the interaction. That is why sequence and collaboration diagrams are used to capture dynamic nature but from a different angle. So the purposes of interaction diagram can be describes as:  To capture dynamic behavior of a system.  To describe the message flow in the system.  To describe structural organization of the objects.  To describe interaction among objects. Activity diagram In its basic form, an activity diagram is a simple and intuitive illustration of what happens in a workflow, what activities can be done in parallel, and whether there are alternative paths through the workflow. Activity diagrams as defined in the Unified Modeling Language 1 are derived from various techniques to visually illustrate workflows. In the Rational Unified Process 4 , we talk about how you can use activity diagrams to visualize the workflow of a business use case. A complete workflow description will have a basic flow, and one or several alternative flows. This workflow has a structure that we can define textually, using informal if, if-then-else, or do-until statements of various kinds. For a simple workflow with a simple structure, such textual definitions may be quite sufficient, but in the case of more complex structures, activity diagrams help to clarify and make more apparent what the workflow is. Historically, activity diagramming techniques have mostly been used in the business process modeling domain.
  • 50. 50 4.4.3.1 Activity diagram: Figure 4.5 : Activity diagram
  • 51. 51 4.4.3.2 Sequence diagram: UML sequence diagrams model the flow of logic within your system in a visual manner, enabling you both to document and validate your logic, and are commonly used for both analysis and design purposes. Sequence diagrams are the most popular UML artifact for dynamic modeling, which focuses on identifying the behavior within your system. Sequence diagram of managing project process Figure 4.6 : Sequence diagram
  • 52. 52 4.4.4 Class diagram: The purpose of a class diagram is to depict the classes within a model. In an object oriented application, Classes have attributes (member variables), operations (member functions) and relation- ships with other classes. The UML class diagram can depict all these things quite easily. Class diagram is the most widely used diagram in modeling object-oriented system. A class diagram shows a set of classes, interfaces, associations and generalizations. Package is commonly used model element for organizing elements in class diagram. Class diagrams are not just for visualizing and documenting structure models but also for constructing executable system with forward, reverse and round-trip engineering. System Class diagram Figure 4.7 : Class diagram
  • 53. 53 4.5 Interface Design Login page: Figure 4.8.1 : Login page
  • 54. 54 Admin main page: Figure 4.8.2 : Admin main page
  • 55. 55 Add new user page: Figure 4.8.3 : Add new user
  • 56. 56 Edit user page: Figure 4.8.4 : Edit user
  • 57. 57 Add new project page: Figure 4.8.5 : Add new project
  • 58. 58 View project page: Figure 4.8.6 : View project
  • 60. 60 Add diagram to project: Figure 4.8.8 : Add diagram
  • 61. 61 View diagram page: Figure 4.8.10 : View diagram
  • 62. 62 Add release to project: Figure 4.8.11 : Add release
  • 64. 64 Edit release page: Figure 4.8.13: Edit release
  • 65. 65 Add task to release: Figure 4.8.14: Add task
  • 66. 66 View task page: Figure 4.8.15 : View task
  • 67. 67 Edit task page: Figure 4.8.16 : Edit task
  • 68. 68 Add tester to release: Figure 4.8.17 : Add tester to release
  • 69. 69 Add issue to release: Figure 4.8.18 : Add issue
  • 70. 70 Edit issue page: Figure 4.8.19: Edit issue
  • 72. 72 5.1 Conclusion: Software project management system is a web based application. It will manage software projects, gathering the information added to the system by different users and store this information into database. In addition it will provide useful information about projects like time taken to get a task done. Then, the information about a project in database can be retrieved by searching or browsing such as progress of every release. Privilege have been done in a way that guarantee the security of the system. User information is available for project managers so they can decide who is the right person for this job. Finally, the system helps the company to achieve and produce more software projects.
  • 73. 73 5.2 Future Work:  Notification system for tasks and issues.  Finished projects by a user should be added to his profile.  Issues should be recorded by instructions to be followed.  Notes on task and issue should be recorded.
  • 74. 74 References: [1] R.elmasry, and B. Navathe .“Fundamentals of Database Systems”.Addison-Wesley publisher inc.,2011 [2] W.Bentley, “System analysis & design methods”. Pearson Education publisher , Inc.,2011 [3] C.Larman, “Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development”.Addison-Wesley publisher inc.,2004 [4] http://www.ibm.com/developerworks/rational [5] http://www.tutorialspoint.com [6] http://www.visual-paradigm.com