GP Report Template v1.3
GP Report Template v1.3
F a c u l t y o f C S I
PROJECT TITLE
Students:
Name of Student 1 11111111
Name of Student 2 22222222
Name of Student 3 3333333
Supervisor:
Dr. Name of Supervisor
Amman - Jordan
2020/2021
Table of Contents
Certificate-------------------------------------------------------------------------------vi
Dedication-------------------------------------------------------------------------------vii
Acknowledgement---------------------------------------------------------------------viii
Abstract ---------------------------------------------------------------------------------ix
Table of Contents----------------------------------------------------------------------ii
List of Figures--------------------------------------------------------------------------iv
List of Tables---------------------------------------------------------------------------v
List of Definitions, acronyms, and abbreviations
CHAPTER ONE
INTRODUCTION------------------------------------------------------------------------1
1.1 Project Background----------------------------------------------------------1
1.2 Problem Statement-----------------------------------------------------------1
1.3 Project Aim and Objectives-------------------------------------------------1
1.4 Project Motivation
1.5 Project Scope------------------------------------------------------------------1
1.6 Tools and Technologies Used----------------------------------------------1
1.7 Project Limitations and Delimitations-------------------------------------1
1.8 Project Plan and Schedule---------------------------------------------------1
1.9 Outline of the Project--------------------------------------------------------1
CHAPTER TWO
EXISTING AND PROPOSED SYSTEMS----------------------------------------2
2.1 Introduction-------------------------------------------------------------------2
2.2 Existing Systems-------------------------------------------------------------2
2.3 Proposed System-------------------------------------------------------------2
2.3.1 Product Perspective
2.3.2 Product Functions
2.3.3 User Characteristics
2.3.4 Constraints
2.3.5 Assumptions and Dependencies
2.4 Feasibility Study for the Proposed System-------------------------------2
2.4.1 Competition
2.4.2 Intended Market Environment
2.4.3 Possible Solutions
2.4.4 Evaluation Criteria
2.4.5 Identifying the Most Feasible Solution
2.4.6 Critical Risk Factors
2.4.7 Conclusion
2.5 SDLC for the Proposed System--------------------------------------------2
2.5 Others--------------------------------------------------------------------------2
ii
CHAPTER THREE
SYSTEM ANALYSIS AND DESIGN---------------------------------------------------3
3.1 System Analysis--------------------------------------------------------------3
3.1.1 Requirement Elicitation Techniques---------------------------------3
3.1.2 Specific Requirements
3.1.2.1 External Interfaces
3.1.2.2 Functional Requirements
3.1.2.3 Design Constraints
3.1.2.3 Non-Functional Requirements
3.1.3 DFDs---------------------------------------------------------------------3
3.2 System Design ---------------------------------------------------------------3
For Examples:
3.2.1 ER-Diagram------------------------------------------------------------3
3.2.2 Database Schema (Mapping) for ERD-----------------------------3
3.2.3 Class Diagram
3.2.4 Use Case Diagram ----------------------------------------------------3
3.2.5 Activity Diagram------------------------------------------------------
3.2.6 Sequence Diagram
CHAPTER FOUR:
SYSTEM IMPLEMENTATION---------------------------------------------------------4
4.1 Programming Languages----------------------------------------------------4
4.1.1 Justification for Using (for Example: ASP.net)------------------4
4.1.2 Justification for Using (for Example: SQL Server)--------------4
4.2 Implementation---------------------------------------------------------------4
4.2.1 Sample of Forms------------------------------------------------------4
4.2.2 Sample of Reports-----------------------------------------------------4
4.2.3 Pseudo Codes----------------------------------------------------------4
CHAPTER FIVE:
SYSTEM EVALUATING AND TESTING----------------------------------------------5
5.1 Testing Plans-----------------------------------------------------------------5
5.2 Types and Steps of Testing -----------------------------------------------5
For Examples: (Inspection testing, Desk checking testing, Unit testing,
Integration testing, System testing, …)
CHAPTER SIX:
THE CONCLUSIONS-------------------------------------------------------------------6
6.1 Conclusion---------------------------------------------------------------------6
iii
Appendix-------------------------------------------------------------------------------7
A: System Installation -----------------------------------------------------------7
B: if there is any-------------------------------------------------------------------7
References------------------------------------------------------------------------------9
iv
List of Figures
List of Tables
Certificate
It is certified that project report has been prepared and written under my direct
supervision and guidance. The project report is approved for submission for its
evaluation.
Dedication
Acknowledgement
I would like to thank Mr. A and Mr. B for the efforts that they provided for our
team. I would like to thank Mr. A and Mr. B for the efforts that they provided for
our team. I would like to thank Mr. A and Mr. B for the efforts that they provided
for our team. I would like to thank Mr. A and Mr. B for the efforts that they
provided for our team. I would like to thank Mr. A and Mr. B for the efforts that
they provided for our team.
Abstract
CHAPTER 1
INTRODUCTION
For example:
The purpose of the …is to ….
The system should assist ….
One of the most important goals of any problem statement is to define the
problem being addressed in a way that's clear and precise. The 5 'W's - Who,
What, Where, When and Why – Can help you in identifying and writing the
problem statement:
Who - Who does the problem affect? Specific groups, organizations, customers,
etc.
2
What - What are the boundaries of the problem, e.g. organizational, work flow,
geographic, customer, segments, etc. - What is the issue? - What is the impact of
the issue? - What impact is the issue causing? - What will happen when it is
fixed? - What would happen if we didn’t solve the problem?
When - When does the issue occur? - When does it need to be fixed?
Why - Why is it important that we fix the problem? - What impact does it have
on the business or customer? - What impact does it have on all stakeholders, e.g.
employees, suppliers, customers, shareholders, etc. Each of the answers will help
to zero in on the specific issue(s) and frame the Issue Statement. Your problem
statement should be solvable. That is, it should take a reasonable amount of time
to formulate, try and deploy a potential solution.
individuals
1.5 Project Scope
In this subsection:
(1) Identify the software product(s) to be produced by name
(2) Explain what the software product(s) will, and, if necessary, will not do
(3) Describe the application of the software being specified, including
relevant benefits, objectives, and goals
(4) Be consistent with similar statements in higher-level specifications if
they exist
For example:
This project applies only to …...
This project is not concerned with …..
This section does not state specific requirements. Instead, it describes the tools
and technologies (hardware and software) you used along with the version and
discuss them later in chapter 4.
Limitations are influences that you cannot control. They are the shortcomings,
conditions or influences that cannot be controlled by the researcher that place
restrictions on your methodology and conclusions. Any limitations that might
influence the results should be mentioned.
your analysis.
the nature of self-reporting.
the instruments you utilized.
The sample
The available technology
time constraints.
Restriction of design options
Conditions imposed on the development process
Regulations and imposed standards
4
the things that you are not doing (and why you have chosen not to
do them).
the literature you will not review (and why not).
the population you are not studying (and why not).
the methodological procedures you will not use (and why you will
not use them).
Estimate a schedule for the project. Include major activities (how long),
milestones (when), and deliverables (what).
Estimate the effort required for each deliverable. Schedule time and people for
each deliverable. Produce a task allocation and a personal schedule for each
project member for the remainder of the project. This information could be
presented using Gantt chart and network diagram.
You should write here a little description for coming chapters and their sub
sections.
This section states verbally without numbering or bullet points the contents of the
following chapters. (The rest of this report is organized as follows … chapter 1
consists of …).
5
CHAPTER TWO
2.1 Introduction
Write a brief introduction that includes the general structure of this chapter. This
chapter tells the requirements in plain English for the consumption of the
customer. Chapter 3 will contain a specification written for the developers.
You should write here the overall problems, disadvantages, and weakness of
existing systems as well as the advantages.
The proposed system should provide and overall solution approach. This section
does not state specific requirements. Instead, it provides a background for those
requirements, which are defined in Chapter 3, and makes them easier to
understand. Section 2.3 will give an overview of the whole system. You should
6
write here the Advantages, disadvantages, and weakness or the proposed system.
For example:
The system should be explained in its context to show how the system interacts
with other systems.
Put the product into perspective with other related products. If the product is
independent and totally self-contained, it should be so stated here. If you are
building a real system, compare its similarity and differences to other systems in
the marketplace. If you are doing a research-oriented project, what related
research compares to the system you are planning to build.
Provide a summary of the major functions that the system will perform.
For clarity:
(1) The functions should be organized in a way that makes the list of
functions understandable to the customer or to anyone else reading the document
for the first time.
(2) Textual or graphic methods can be used to show the different functions
and their relationships. Such a diagram is not intended to show a design of a
product but simply shows the logical relationships among variables.
Describe the functionality of the system in the language of the customer. What
specifically does the system that will be designed have to do? Drawings are
good, but remember this is a description of what the system needs to do, not how
you are going to build it. (That comes in the design chapter).
2.3.3 User Characteristics
8
This subsection describes what type of stakeholders that will use the system and
what functionality is available for each type.
What is it about your potential user base that will impact the design? Their
experience and comfort with technology will drive UI design. Other
characteristics might actually influence internal design of the system.
For Example:
The users of the system are:
Level of Users’ Computer Knowledge
Level of Users’ Business Knowledge
Frequency of Use
2.3.4 Constraints
In this subsection, the constraints and assumptions for the system should be
presented. This subsection is related to the project scope as well as limitation and
delimitation of the project.
Provide a general description of any other items that will limit the developer's
options. These can include:
For example:
The system will support ….
The system will not allow ……
List each of the factors that affect the requirements stated in your project. These
factors are not design constraints on the software but are, rather, any changes to
them that can affect the requirements in the project. For example, an assumption
might be that a specific operating system would be available on the hardware
designated for the software product. If, in fact, the operating system was not
available, the requirements in your project would then have to change
accordingly.
This section is catch-all for everything else that might influence the design of the
system and that did not fit in any of the other categories.
For example:
This system relies on ……
The system must have a satisfactory interface and ……
10
For example, read this assumption written for an application developed for
mobile:
“One assumption about the product is that it will always be used on mobile
phones that have enough performance. If the phone does not have enough
hardware resources available for the application, for example the users might
have allocated them with other applications, there may be scenarios where the
application does not work as intended or even at all.”
Based on what you know, you need to draw conclusions about the feasibility of
your project, based on the time and work force available, the level of ambition of
your project (based on project features), and the skill set available in your group.
analyze and justify the project in terms of technical feasibility, business viability
and cost-effectiveness.
2.4.1 Competition
Describe direct and indirect competition. Describe what is unique about your
product/service compared to the competition. Compare the proposed system
similarity and differences to other systems in the marketplace.
2.4.7 Conclusion
Make a conclusion by summarizing the project’s aim and stating the most
feasible solution. For example, the conclusion might be:
12
Describe the development process you followed and the reason behind the
selection of specific SDLC. To demonstrate your mastery in software
engineering and computer science, your project should follow a standard
software development process, rather than an undefined or ad hoc process.
Generally, a process framed on the agile development philosophy works well for
graduate projects in software engineering and computer science. If you choose
an agile process, then be sure to describe the process you followed for making
the multiple deliveries and demonstrations to your committee chair or research
group. Doing an iterative development and making multiple deliveries is a key
practice in any agile process; if you did not do this then the process cannot be
called agile.
Some of the selection criteria or arguments that you may use to select an SDLC
are:
Is the SDLC suitable for the size of our team and their skills?
Is the SDLC suitable for the selected technology we use for implementing the
solution?
Is the SDLC suitable for client and stakeholders concerns and priorities?
Is the SDLC suitable for the geographical situation (distributed team)?
Is the SDLC suitable for the size and complexity of our software?
Is the SDLC suitable for the type of projects we do?
Is the SDLC suitable for our software engineering capability?
CHAPTER THREE
This section describes how you did requirements elicitation, conducted the
analysis, and arrived at the specified requirements. Provide a data flow diagram
(DFD).
Explain how did you collect the requirements for your system and which
technique(s) has(have) been used. Hereunder, the most popular techniques:
Interviews (individual dialog with a stakeholder)
Questionnaires (a set of questions sent to a larger set of stakeholders)
Workshops (stakeholders gather for an intensive, focused period)
Focus Groups
Brainstorming sessions (presenting ideas during a short, intensive session)
Storyboarding (using a visual/graphical tool to demonstrate system
behavior)
Role playing (each member of the group is assigned a role, usually one of
the users)
Prototyping (developing a prototype to get feedback)
Analysis of existing documents (extracting information from Microsoft
Word documents, e-mails, and notes)
15
This section contains all the software requirements at a level of detail sufficient
to enable designers to design a system to satisfy those requirements, and testers
to test that the system satisfies those requirements. Throughout this section,
every stated requirement should be externally perceivable by users, operators, or
other external systems. These requirements should include at a minimum a
description of every input (stimulus) into the system, every output (response)
from the system and all functions performed by the system in response to an
input or in support of an output. The following principles apply:
Remember this is not design. Do not require specific software packages, etc
unless the customer specifically requires them. Avoid over-constraining your
design. Use proper terminology:
The system shall… A required, must have feature
The system should… A desired feature, but may be deferred til later
The system may… An optional, nice-to-have feature that may never make it to
implementation.
This contains a detailed description of all inputs into and outputs from the
software system.
It contains both content and format as follows:
• Name of item
• Description of purpose
• Source of input or destination of output
• Valid range, accuracy and/or tolerance
• Units of measure
• Timing
• Relationships to other inputs/outputs
• Screen formats/organization
• Window formats/organization
• Data formats
• Command formats
• End messages
List each system interface and identify the functionality of the software to
accomplish the system requirement and the interface description to match the
system. These are external systems that you have to interact with. For instance,
if you are building a business application that interfaces with the existing
employee payroll system, what is the API to that system that designer’s will need
to use?
Specify:
18
(1) The logical characteristics of each interface between the software product
and its users.
(2) All the aspects of optimizing the interface with the person who must use
the system
This is a description of how the system will interact with its users. Is there a
GUI, a command line or some other type of interface? Are there special interface
requirements? If you are designing for the general student population for
instance, what is the impact of ADA (American with Disabilities Act) on your
interface?
Specify the logical characteristics of each interface between the software product
and the hardware components of the system. This includes configuration
characteristics. It also covers such matters as what devices are to be supported,
how they are to be supported and protocols. This is not a description of hardware
requirements in the sense that “This program must run on a Mac with 64M of
RAM”. This section is for detailing the actual hardware devices your application
will interact with and control. For instance, if you are controlling X10 type home
devices, what is the interface to those devices? Designers should be able to look
at this and know what hardware they need to worry about in the design. Many
business type applications will have no hardware interfaces. If none, just state
“The system has no hardware interface requirements” If you just delete sections
19
that are not applicable, then readers do not know if: a. this does not apply or b.
you forgot to include the section in the first place.
Specify the use of other required software products and interfaces with other
application systems. For each required software product, include:
(1) Name
(2) Mnemonic
(3) Specification number
(4) Version number
(5) Source
Here we document the APIs, versions of software that we do not have to write,
but that our system has to use. For instance if your customer uses SQL Server 7
and you are required to use that, then you need to specify i.e.Microsoft SQL
Server 7. The system must use SQL Server as its database component.
Communication with the DB is through ODBC connections. The system must
provide SQL data table definintions to be provided to the company DBA for
setup.
A key point to remember is that you do NOT want to specify software here that
you think would be good to use. This is only for customer-specified systems that
you have to interact with. Choosing SQL Server 7 as a DB without a customer
requirement is a Design choice, not a requirement. This is a subtle but important
point to writing good requirements and not over-constraining the design.
20
Functional requirements define the fundamental actions that must take place in
the software in accepting and processing the inputs and in processing and
generating the outputs. These are generally listed as “shall” statements starting
with "The system shall…
These include:
These are characteristics the system must possess, but that pervade (or cross-cut)
the design. These requirements have to be testable just like the functional
requirements. Its easy to start philosophizing here, but keep it specific.
SRS-036:
Note: you do not need to specify all of them and you might need to specify other
non functional requirements.
(a) Usability
Specify the factors required to establish the required usability of the software.
Usability can include the following factors:
Accessibility
Aesthetics
23
UI Consistency
Ergonomics
Ease of Use
(b) Reliability
Specify the factors required to establish the required reliability of the software
system at time of delivery. If you have MTBF requirements, express them here.
This doesn’t refer to just having a program that does not crash. This has a
specific engineering meaning.
Reliability can include the following factors:
Availability
Robustness
Accuracy
Recoverability
Fault Tolerance
Safety
Correctness
(c) Security
Specify the factors that would protect the software from accidental or malicious
access, use, modification, destruction, or disclosure. Specific requirements in
this area could include the need to:
• Utilize certain cryptographic techniques
• Keep specific log or history data sets
• Assign certain functions to different modules
• Restrict communications between some areas of the program
• Check data integrity for critical variables
24
(d) Supportability
(e) Performance
Specify attributes of software that relate to the software performance.
Performance can include the following factors:
Throughput
Response Time
Recovery Time
Startup/Shutdown Time
25
Capacity
Utilization of Resources
Describe the architectural design model and the detailed design model. Always,
discuss the alternatives considered and the rationale for the choosing the
solutions you adopted. Describe the architectural and detailed design models in a
disciplined manner using both text and comprehensive design models, ideally
expressed in UML. Use of UML is highly recommended over using ad hoc or
older modeling notations. Suggested UML design model elements are: class
diagrams, interaction diagrams, structured classes, components, subsystems, and
deployment models. Produce the model diagrams with a modern CASE tool, not
drawing tools. Provide a comprehensive design model with sufficient design
information, not just one or two top‐ level model diagrams. Note that to describe
a design adequately you must describe both its static view and the dynamic
view. The static view includes elements such as: classes with inheritance and
aggregation, structured classes, interfaces, components, subsystems, and
deployment. The dynamic view includes: activity diagrams, sequence or
communication diagrams, and the state model, when appropriate. Remember
that, in most projects, the design model is the main aspect of your work, and it
deserves a good deal of your attention.
3.2.1 ER-Diagram
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
26
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
3.2.3 Class Diagram
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
CHAPTER FOUR
SYSTEM IMPLEMENTATION
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
29
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
4.2 Implementation
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here.
30
CHAPTER FIVE
Describe how testing and validation tasks were performed. Describe the plans
and strategies used in unit testing, integration testing and system
testing. Address regression testing. Describe the test plans and provide test
procedures for testing the critical functions. Describe the test tools you
used. Whenever possible, involve someone else, such as friends and colleagues,
in the testing and verification process, and include their comments and
observations. Provide test metrics, such as number of defects found, defect
density of the discovered defects, code and branch coverage metrics. Ideally
there should be an analysis describing the defect injection and discovery
characteristics, such as: types of defects, injection phases and discovery phases.
If your project serves an external customer then you must involve end users,
selected by the customer, in the testing process. Examples of such projects are:
community service projects, project from your place of work, or projects with an
external sponsor. For graduate projects involving the end users in the testing
serves as an acceptable validation process.
Note that you should develop test cases based on the scenarios developed from
use cases. For more information please refer to IBM Book section 9.1 and
chapter 10 (develop test cases for non-functional requirements)
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
31
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here.
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here.
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here Your text
here Your text here Your text here Your text here Your text here Your text here
Your text here Your text here Your text here Your text here Your text here Your
text here Your text here Your text here Your text here Your text here.
32
CHAPTER SIX
THE CONCLUSIONS
6.1 Conclusion
The conclusion chapter summarizes the problem you set out to solve, describe
what you have achieved, and prospect for future work.
1. Refer back to the problems you encountered and how you overcame those, or
found workarounds. Always refer back to the main body of the thesis for the
detailed descriptions; the conclusion section should not contain detailed
descriptions of the problems or the solutions.
2. Address how you have met the original objectives of the project (i.e. proposal
contents).
APPENDIX
Use Appendices to present material that will interrupt the flow if included in the
main body of the thesis. Typical contents of appendices include: Code, data
tables, detailed analysis and design models. If a user manual is called for, then
provide it in an appendix
A: System Installation:
Write here the appendix if there is any. Write here the appendix if there is any.
Write here the appendix if there is any. Write here the appendix if there is any.
Write here the appendix if there is any. Write here the appendix if there is any.
Write here the appendix if there is any. Write here the appendix if there is any.
Write here the appendix if there is any. Write here the appendix if there is any.
Write here the appendix if there is any.
34
REFERENCES
For Books:
Example:
For Papers:
[2] Author(s) name, “Paper name”, Journal name or Conference Name”, Volume,
Paper pages, Year.
Example:
[3] Author(s) name, “Tutorial name”, Year, Some web URL or PDF URL.
Example: