HaSH SPMP 06072022 V2
HaSH SPMP 06072022 V2
for the
of the
Course Name:
(MANP 1135)
Prepared by:
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
© All Copyrights Reserved, 2021 and confidential. They shall not be
Saba Zahedieh
Hoang Tran Khoi Nguyen
know them without prior written consent of RFTI-UTM.
Hu XinBin
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
Client
Manager
Verified By:
Approved By:
Project Manager
Authenticate By:
___________________
____________________
____________________
SYSTEM NAME
Name
SIGNATURE PAGE
2.0
VERSION
i
PAGE
/SPMP
This document and the information it contains are property of RFTI-UTM,
© All Copyrights Reserved, 2021 and confidential. They shall not be
Reproduced nor disclosed to any person except to those having a need to
know them without prior written consent of RFTI-UTM.
Revision
Written by
Verified by
Approved by
Authenticated by
E
B
D
C
A
REVISION
A
B
SYSTEM NAME
A4
FORMAT
D
DOCUMENT IDENTIFICATION
DESCRIPTION
2.0
VERSION
E
ii
PAGE
/SPMP
/SPMP
Table of Contents
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
List of Figure
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
List of Tables
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
1. OVERVIEW
1.1. Project Summary
1.1.1. Purpose, Scope and Objective
1.1.1.1. Purpose
The purpose of this SPMP is to produce a common understanding of the CMS project with the
development organisation and team members. This project's relationship to other projects, as well
as how it will be combined with other projects or ongoing work processes, will be stated in the
SPMP.
1.1.1.2. Scope
The scope of this SPMP covers the business or system demands that the project should meet, as
well as a brief statement of the project objectives, the products that will be produced to fulfil those
objectives, and the methodology for assessing satisfaction.
1.1.1.3. Objective
The objective of this project is to develop an effective prototype of a Mark Collection System. After
a student has completed his or her master project, calling MCS and performing an automated
computation on the filled-out grading sheet. Additionally, as soon as the presenting session is
completed, this system notifies the lecturer feature to complete the evaluation on the marking
scheme.
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
2. REFERENCES
[1] IEEE Standard for Software Project Management Plans, in IEEE Std 1058-1998.
[2] ISO/IEC/IEEE International Standard - Systems and software engineering -- System life cycle
processes, in ISO/IEC/IEEE 12207. First edition 2017-11
[3] IEEE Standard for Configuration Management in Systems and Software Engineering, in IEEE
Std 828-2012.
[4] IEEE Standard for Software Quality Assurance Processes, in IEEE Std 730-2014.
[5] IEEE Standard for Software Reviews and Audits, in IEEE Std 1028-2008.
[6] IEEE Standard Classification for Software Anomalies," in IEEE Std 1044-2009.
[7] IEEE Recommended Practice for Software Requirements, in IEEE Std 830-1998
[8] IEEE Standard for Information Technology- Systems Design- Software Design Descriptions, in
IEEE Std 1016-2009
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
© All Copyrights Reserved, 2021 and confidential. They shall not be
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
4. PROJECT ORGANIZATION
4.1. Interfaces
The Interfaces between internal and external entities in this project are illustrated in Figure 1 below.
The internal structure, which is the project organization, communicates with external entities
through the Work Package Manager. The Project Manager shall be the mediator (middle person)
between the project organization and the client.
The internal structure or the project organisation comprises of 4 members namely the Work Package
know them without prior written consent of RFTI-UTM.
Manager, Quality Manager, Configuration Manager and Developer. This team will be led by the Work
Package Manager. All roles and responsibilities of each team members will be explained in 4.3 Roles
and Responsibilities subsection.
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
The responsibilities of all relevant stakeholders (Roles) are specified in Table 2 below.
Roles Responsibilities
Software Work Package Manager Verify that tasks are scheduled, assigned, and
executed in compliance with project deadlines and
quality standards.
Quality Manager Project Manager receives reports from Quality
Manager. Ensure that each project employees
adheres to project standards in a consistent and
verifiable manner.
Configuration Manager Develop the desired functionality in conformance
and processes established by the project. It could
involve activities in any of the disciplines of
requirements, analysis and design,
implementation, and testing.
Developer Is in responsible for the entire development cycle.
They're the ones who work with the customer to
develop a theoretical design. They
might employ programmers to write the code
needed to execute the app properly.
Table 2: Roles and Responsibilities
Parameter Estimation
Total Development Time 6 weeks
Table 3: Estimation Plan of time and cost
Throughout the organization of the project, team members have been assigned main
responsibilities/roles, and have a general responsibility to follow up the progression of the other
know them without prior written consent of RFTI-UTM.
team members. This is done so that other team members can take part of and learn all the main
responsibilities assigned to other team members.
The overview of team members, assigned responsibility and experiences are summarised in Table 4
below:
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
The summary staff required by phase for this project is explained in Table 5 below:
Design 3
Development 3
Tests 3
Closure 3
All necessary hardware and software required for the project are summarized in Table 6 below.
Microsoft PowerPoint
know them without prior written consent of RFTI-UTM.
Microsoft Excel
Rational Rose
Google Chrome
Table 6: Hardware and Software Required
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
The work activities for this project are illustrated by a work breakdown structure
(WBS) as in theFigure 3 below.
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
The work activities for this project are illustrated by a Gantt Chart as in the Figure 4 below.
Week 1
Week 2
Week 3
Week 4
Week 5
Week 6
July
May June
27
31
18
19
20
23
24
10
13
14
15
20
22
24
27
29
03
16
23
25
26
30
17
21
17
4
5
6
7
2
3
8
9
1
Milestone Description
T W T F M T W T F M T WT F S S M T W T F M T WT F M T WT F M T S
Initialization
Define Project Scope
Prepare Risk Plan
Plan Resources and Timeline
Prepare SPMP
Requirement and Analysis
Get user requirement
Analyze user requirement
Prepare SRS
Conduct Software Specification Review
Update SRS based on SSR Amendments
Design
Prepare SDD
Prepare Preliminary Design
Conduct Preliminary Design Review
Update SDD based on PDR Amendments
Development
Write Code
Review Code
Execute Unit Test
Tests
Prepare Test Case
Prepare STD
Perform Software Integration Testing
Produce STR
Conduct Test Readiness Review
Update STD and STR based on TRR Amendments
Product Demonstration
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
Closure
© All Copyrights Reserved, 2021 and confidential. They shall not be
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
The team members will work on their assigned artifact individually. The software work package
manager will keep track of the other team members' daily efforts and supervise implementation. At
the conclusion of each day, the team will gather to review challenges and progress. Weekly
meetings with the project manager will be conducted. On request, formal meetings with the
customer will be arranged to report progress and assess whether any modifications are required.
Software Work Package Manager manages effort, personally oversees support tasks deemed
critical, prepares various administrative reports, responds to information requests from client, and
participates in various meetings.
Any significant modifications to the requirements that would have an impact on the milestones
must be requested using a "Change Request Form (CRF)" (Appendix A). The request is then
submitted, with the Project Manager's permission being granted or declined and documented. A
report will be written and given to the acquirer once the adjustments have been made. Every day, all
progress will be recorded. Any severe concerns that the team members encounter will be
communicated to the Software Work Package Manager right away.
Any major changes regarding the scheduling that would affect the milestones have to be approved
by the Project Manager and documented. All progresses shall be reported on daily basis. Any major
problems faced by the team members will immediately be reported to the Software Work Package
Manager.
Not applicable.
The Quality Assurance Manager responds to requests for service in the event of Critical Failures,
© All Copyrights Reserved, 2021 and confidential. They shall not be
Failures and External System Failures. Any major changes regarding quality are reported to the
SoftwareWork Package Manager.
know them without prior written consent of RFTI-UTM.
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
Each of preliminary versions of all the documents and updates and status reports will be sent and
discussed with the Project Manager for approval. Upon approval, the documents will be circulated
to the other members. At the major deliverable due dates, the deliverables will be delivered to the
client.
All progress of assigned tasks and changes made to artefacts will be reported to the Work Package
Manager.
All overall progresses and changes to deliverables will be reported to the client with the approval of
the Project Manager.
The Configuration Manager is responsible to extract the appropriate status and metrics reports, if
needed.
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
© All Copyrights Reserved, 2021 and confidential. They shall not be
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
The risk management plan for the project is explained in the Table 7 below.
© All Copyrights Reserved, 2021 and confidential. They shall not be
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
Once the entire project is terminated for whatever reason, whether the objectives were reached or
not, there are a number of closing actions that must be completed before the project is officially
concluded.
These actions are summarized as follows: Release or reassign team, communicate decision, identify
outstanding work, provide released software, obtain customer approvals, return or release vendor or
customer materials
The "Waterfall Model," which will be employed in this project, is the technique used in software
development. The whole software development process is separated into discrete process stages in
this paradigm. Requirement Specifications, Software Design, Implementation, and Testing &
Maintenance are the phases involved. Figure 5 illustrates the "Waterfall Model" in practice.
This project will employ the Waterfall Development Methodology for the following reasons:
Early in the project, requirements are accomplished, allowing the team to establish the whole
project scope, construct a detailed timetable, and design the overall application.
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
© All Copyrights Reserved, 2021 and confidential. They shall not be
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
6.2.2. Diagrams
The standard UML diagrams to represent data, relationships, and requirements will be used.
Due to the general project's web-based nature, it will be built using the Laravel
framework, which is a framework built on top of the PHP programming language, as
well as additional relevant tools that will be determined as they become necessary. The
team will use a variety of pre-built web application technologies.
The software development techniques according to its phases are explained in Table 8 below.
Phases Techniques
Software Requirements Analysis Upon a discussion with the client, the basic system requirements will be
defined. Before finalising with the customer, the team will examine the
first system requirements with the Project Manager. Meanwhile, SRS is
being produced, which will be examined and approved as a project
deliverable after a Software Specification Review meeting.
Design The software team will choose a design technique to employ in the design
process, generate preliminary designs, and create an SDD. The design
will then receive a preliminary evaluation to confirm that it satisfies the
criteria (both system and derived software requirements).
Following the evaluation, crucial designs will be produced and tested.
When the design is finished, Software Package Manager will provide the
customer the Software Design Document (SDD).
Coding and CSU Testing The modification will be developed and unit tested according to the
developer's software development methods. The developer will adhere to
the coding standards established by quality assurance. Throughout the
development process, the developer will undertake internal peer
evaluations.
CSCI Testing CSCI Test Planning includes CSCI Integration Testing and Qualification
Testing by the CSCI. Qualification by CSCI As a condition of admittance
into CSCI Integration Testing, test planning will be completed for each of
the CSCIs. Each CSCI will have its own SRS, allowing it to progress
through the life cycle phases independently until it is integrated. The
Quality Assurance Manager and the Configuration Manager are in charge
of planning and performing individual CSCI component testing.
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
Each functional component of a CSCI will have its own set of test
© All Copyrights Reserved, 2021 and confidential. They shall not be
performance standards.
Table 8: Software development techniques according to its phases
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
At least one computer is devoted to each developer for development and unit testing. Dual displays,
development tools such as Integrated Development Environments (IDEs), source control software,
database tools (SQL Developer or Toad), schema building tools (XMLSpy), and other productivity
tools are all standard on all PCs. RU management suggests that depending on the kind of code,
several IDEs be used. AccuRev (stream-based source control solution) is also used by the
contracting firm, which allows developers to effortlessly manage numerous release versions in
development and maintenance at the same time.A fully virtualized private server which has
following specifications will be used:
i. 2 GB RAM
ii. 40 GB SSD Storage
iii. 2.00 Ghz x 2 Cores CPU
iv. 100 Mbps internet connection
v. PHP 7
vi. MariaDB 5.5
vii. Apache 2.4
Software Work Package Manager will establish and maintain a detailed schedule for computer
hardware resource utilization that identifies anticipated users, purposes, and scheduled time to
support analysis, software design, coding, integration, testing, and documentation. It will address
sharing of resources by multiple users and workarounds to resolve conflicts and equipment
downtime. If computer hardware resource scheduling requires supplementing, potential sources of
computer hardware resources including other projects or commercial vendors will be identified.
The Software Work Package Manager will coordinate resource needs with development,
integration, and test groups.
All documents will be reviewed by both Project Manager and rest of the project team. All
deliverables will be reviewed and approved by the Project Manager and client. After testing at the
end ofdevelopment process, the software will be presented to the client for acceptance process.
The list of deliverables and its due date of submission is summarized in the Table 9 below.
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
The Configuration Manager makes sure that the version management of code and documents can be
done with ease and in a correct manner. Configuration Management shall ensure the precise
visibility and therefore improved control over an evolving system. It also improves the traceability
of changes inthe team’s work.
The configuration manager is responsible to manage different versions of the work products,
control the changes that are imposed and audit and report on the changes that are made. She/he will
also update the project’s web application developed on a regular basis. In our project, two people
have been identified in Table 3 Roles and Responsibilities will be responsible for this duty. The
documents and new version documents are controlled lastly and established by them. GitHub is
used for configuration management tools for this project entirely. Guideline for naming convention
for documents is as in Table 10 below:
Next, for development files, the configuration will follow the development framework used for
maintaining the code base and stored in the HaSH repository on Github. Github is used due to its
extensive usage by open source contributors around the world. This is done due to most
development frameworks which prefer convention over configuration style of naming. Overriding
the filenames will result in modifying the set of rules initially applied to the source code structures.
Configuration manager is responsible to ensure all project team members follow the rules and
regulation imposed for naming convention and configuration tools used throughout the project
timeline.
Finally, the documents and source codes need to be updated into the repository once they
are completedfor tracking and recording purposes.
All group members are responsible for verification activities. Validation is the process of making
sure that the product is being built correctly. At the completion of each milestone, a validation
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
analysis should be done. The validation will be performed by group member during internal
© All Copyrights Reserved, 2021 and confidential. They shall not be
reviews to make sure that the delivered products are right. A demonstration of the user interfaces to
the acquirer will be made for validation. All the testing activities are under the test team members’
know them without prior written consent of RFTI-UTM.
responsibilities. There will be two types of testing. One of them will be done after coding of each
part; the other will be done before publishing of the web site.
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
The configuration manager is the responsible person to publish all the deliverables via GitHub
depository and eLearning submission webpage. All the deliverables will be prepared by group
members. The demonstration of the product and final product will be done by group members.
Documentations list and their respective due date is seen at Table 9.
For quality assurance plan, review and configuration management methods will be used. The
project team will make both internal and external meetings. In internal meetings, only team
members will be in that meeting and they will make plans about their deliverables deadlines.
In external meetings, the project team will meet the client to get the requirements. In these
meetings, team members will take notes to provide that the deliverables are correct and meets the
requirements specifications in SRS report. The Project Manager will arrange these external
meetings.
Review sessions with the client will be performed after the initial plan, the SRS, and SPMP to
ensure that the client's requirements are satisfied. All the members of the team members will
participate in these reviews. Internal reviews and reviews between Software quality team and team
members will be done for verification and validation purposes. The schedule of the internal reviews
will be done during all the phases of the project and all the members of the team members will
participate in these reviews.
Before the delivery of each document, team members will have a meeting about the existing
document. Project group review the document lastly. If some corrections are necessary, these are
made during these meetings. After the document is established, the Quality Manager examines the
documents and adds some comment to correct the fault. Then group members correct the faults and
established again with second version.
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
© All Copyrights Reserved, 2021 and confidential. They shall not be
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
Problems would be resolved informally between the Project Manager and the
team members.The tasks for each role are summarized in the Table 11 below.
Roles Tasks
Software Work Package Manager Resolution review and approve
Quality Manager Problem Detection
Problem Logging
Error Record
Configuration Manager Record Changes and Update
Version Control
Developer Problem Diagnosis
Problem Workaround
Table 11: Roles and Tasks in Problem Resolution
Not applicable.
Not applicable.
8. ADDITIONAL PLANS
Not applicable.
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
© All Copyrights Reserved, 2021 and confidential. They shall not be
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE
APPENDIX A
CHANGE DETAILS
Problem Name
Problem No.
Problem Description
Corrective Action
Solution
Status
Reproduced nor disclosed to any person except to those having a need to
This document and the information it contains are property of RFTI-UTM,
Approved by Verified by
Request Completion
Remarks
know them without prior written consent of RFTI-UTM.
Date
Appendix A: Change Request Form (CRF)
DOCUMENT IDENTIFICATION
SYSTEM NAME FORMAT VERSION PAGE