Professional Documents
Culture Documents
Certificate
This is to certify that Aayushi Bharti, Ambika Depale and Apoorva Phatak Working in a
Group have satisfactorily completed the minor project titled “Projectoscope” towards the
partial fulfillment of the degree in Bachelor of Engineering (Computer Science &
Engineering) Awarded by Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal for the
academic year 2017 – 2018.
Internal External
ii
Acknowledgement
Every endeavour we undertake calls for the need of some support and blessing. In the spirit
of the undying support that we have been fortunate enough to have, we would like to heartily
thank our subject teacher and guide, Mrs. Archana Choubey, for her guidance and for the
expertise that she lent us throughout the project. We would also like to thank the Head of
Department (Computer Science and Engineering), Dr. Anand Rajawat for providing us with
the help and the resources that we so direly needed. Our thanks and appreciation would also
be for our parents, friends and all those who contributed towards the fulfilment of this
project.
iii
Abstract
In today’s world, man struggles to make his life easier. As part of university curriculum, the
engineering students are supposed to execute a minor and a major project. While executing
this project it is observed that there is absolute lack of synchronization among the various
student groups and their project guides on account of their diverse primary roles and different
priorities. The need for tracking the progress of any project has assumed high importance
because of varied and diverse resources such as time. In large institutes, where the man-
power is high, people are not always in their classrooms or cabins. They have to wander from
classroom to classroom, floor to floor, lab to lab, libraries etc. to perform their work. In such
cases, it becomes extremely difficult to keep a track of people and find them and
communicate with them when it is needed.
Solution for the above problem is to deploy an effective monitoring system which can track a
project progress and raise timely alarms. A system which could provide automated reminders
to all concerned and the project guides whereby they can track each and every live project
with information that would suffice their need.
It is observed that there exists an unforced communication gap between the project guide and
the students of 3rd and 4th year regarding minor and major project work, triggering a delay in
group formation and project selection.
Our aim is to come up with a system that will eliminate the delay in finalizing groups as well
as work-areas for minor and major projects. In order to facilitate smooth communication
among the project guides and student groups and monitor individual and comparative
progress for a batch. And above all provide one stop project monitoring facilities for entire
institute demography.
iv
LIST OF TABLES
v
LIST OF FIGURES
vi
vii
INDEX
# Title Page i
# Certificate ii
# Acknowledgement iii
# Abstract iv
Tables of Content
# List of Tables v
# List of Figures vi
Contents
1. Introduction 1-3
1.1 Problem Statement 1
1.2 Scope 1
1.3 Objective 2
1.4 Platform Specifications 2
1.4.1 Hardware Requirements 2
1.4.2 Software Requirements 2
1.4.3 Implementation Language 3
6. Testing 122-124
6.1 Test Objectives 122
6.2 Testing Methods and Strategies 122
8. References 127
8.1 Reference Books 127
8.2 Other Documentation and Resources 127
1. Introduction
As per university requirements, engineering students are supposed to undertake project work in
3rd and 4th year as part fulfillment of their course. In 3 rd year students are supposed to take up
Minor Project work and in final year they have to take up Major Project work.At first, students
have to divide themselves into groups of maximum four people and inform faculty accordingly.
After that, students are supposed to present their ideas before of the faculty. Faculty may
suggest some amends in ideas. After the idea or the topic is finalized, again a presentation about
the final topic takes place. Basically, these presentations aim at informing the faculty or project
guide about the progress of the projects that are undertaken by different student groups. At the
end, students are required to submit their projects along with documentation before the
submission deadline.
All this work is carried out manually and hence prone to manual errors. Leisurely attitude of
students towards forming groups and coming up with ideas for the project often delays the
overall process. Also, communication gap between faculty, project guide and students also adds
up to delay.
System allows easy monitoring of project from the guide’s end. Manual management of project
does not allow comparative analysis of different projects. But the system developed overcomes
this limitation as well.
All the requirements were analyzed and taken care of while developing the system, thus the
developed system successfully overcomes all the problems and promises to provide required
solution.
1.2 Objectives
Our aim is to come up with a system that will eliminate the delay in finalizing groups as well as
work-areas for minor and major projects. To facilitate easy communication from the project
guides and monitor individual and comparative progress for a batch.
1
1.3 Scope
The Projectoscope addresses the management of software projects by providing the framework
for organizing and managing resources in such a way that these resources deliver all the work
required to complete a software project within defined scope, time and cost constraints.
The system applies only to the management of software projects and is a tool that facilitates
decision making; the Projectoscope does not make decisions.
2
1.4.3 Implementation Language:
PHP:
PHP is an acronym for "PHP: Hypertext Pre-processor". It is a widely use open source
scripting language. Scripts are executed on server. PHP is free to download and use.
Why PHP?
Various platforms such asWindows, Linux, Unix, Mac OS X, etc. support PHP.
PHP is compatible with almost all servers used today (Apache, IIS, etc.)
A wide range of databases is supported by PHP.
PHP is free and it can be download from the official PHP resource: www.php.net
It is easy to learn PHP. It runs efficiently on the server side.
3
2.Feasibility Study
Feasibility study is done to check that whether the new system will be operational or not.
Feasibility analysis begins once the goals are defined. It starts by generating broad possible
solutions, which are possible to give an indication of what the new system should look like.
This is where creativity and imagination are used. Analysis must think up new ways of doing
things-generate new ideas. There is no need to go into the detailed system operation yet.
The feasibility study is a major factor which contributes to the analysis and development of the
system. The decision of the system analyst whether to design a particular system or not depends
on its feasibility study.
Study of requirement analysis is done through different feasibility study. Feasibility study is
undertaken whenever a possibility of probability of improving the existing system or designing
new system. Feasibility study helps to meet user requirements.
It enables us to determine the potential of existing system and improving it. It helps to develop
a technically and economically feasible system. It helps to know what should be embedded in
the system. It also helps to develop a cost-effective system. We can make better utilization of
available resources.
In the feasibility study we have:
Economic Feasibility
Operational Feasibility
Technical Feasibility
Operational Feasibility means that the system which we are developing will be able to be used
by the users for whom the system is made. It means it should be easy to use. No special training
should be given to the users of the system. We are making this project application based, so it
will act like application software. It is easy to use them. So we can say that the software we are
making is operational feasible also.
4
The system working is quite easy to use and learn due to its simple but attractive interface. User
requires no special training for operating the system. Technical performance includes issues
such as determining whether the system can provide the right information, and whether the
system can be organized so that it always delivers this information at the right place and on
time using intranet services. Acceptance revolves around the current system and its personnel.
It satisfies all the conditions of the feasibilities; all three feasibilities are satisfied. That is why
we can say that the project is feasible.
5
3.Literature Survey
With fast evolving technology, machines have minimized human efforts and made it easy to
manage things efficiently. This has also led to reduce in time delays which are bound to take
place when all the things are handled manually. Managing and monitoring student project is a
hectic task for any project guide. This prompted the need for a system that effectively handles
maximum tasks that are to be undertaken during the course of project.
3.2Benefits
Various benefits of this project monitoring system Projectoscope are:
6
3.4 Technology Used
HTML
HTML is a language used to create hypertext documents that have hyperlinks embedded in
them .You can build web pages. It is only a formatting language and not a programming
language. Hyperlinks are underlined or emphasized words or locations in a screen that lead to
other documents. WWW is a global, interactive, graphical, hypertext information system. The
motive behind hypertext is that instead of reading text in rigid liner structure you can easily
jump from point to another point .You can navigate through the information based on your
interest and preferences.
Platform Independency:
If you can access Internet, you can access WWW, irrespective of your OperatingSystem and the
Operating System of Web Server you are accessing .All you require isto view and download the
HTML files, which are on the WWW, are browser andInternet connections.HTML is a
language for describing structured documents. HTML describes thestructure of documents -
lists, heading, and paragraph, etc. Elements of web documentare through the usage of HTML
tags. It is tags that describe documents. Anything thatis not a tab is part of a document itself.
Advantages:
An HTML document is a small and hence easy to send over the net. It is small because it does
not include format information. HTML documents are cross platform compatible and device
independent. You only need HTML readable browser to view them. Font names, locations etc.
are required.
BOOTSTRAP
Bootstrap, originally named Twitter Blueprint, is a free and open-source front-end library for
designing websites and web applications. HTML- and CSS-based design templates
for typography, forms, buttons, navigation and other interface components are used. It also has
optional JavaScript extensions.Bootstrap concerns itself with front-end development only. The
latest versions of the Google Chrome, Firefox, Internet Explorer, Opera, and Safari (except on
Windows) are supported by Bootstrap. Since its 2.0 release, Bootstrap supports responsive web
design. This means the layout of web pages adjusts dynamically according to the device on
which the web page is opened. From its version 3.0, Bootstrap adopted a mobile-first
design philosophy, emphasizing responsive design by default. Fourth version 4.0 alpha release
provides Sass and flexbox support.
7
JAVASCRIPT
JavaScript, often abbreviated as JS, is a high-level, interpreted programming language. It is
characterized as dynamic, weakly typed, prototype-based and multi-paradigm.
Along with HTML and CSS, JavaScript is one of the three core technologies of the World Wide
Web. We can make dynamic interactive web pages with JS. The majority of websites employ
itand all modern web browsers support it without the need for plug-ins by means of a built-
in JavaScript engine. JS has many engines and each of them represent a different
implementation of JavaScript, all based on the ECMA Script specification, with some engines
not supporting the spec fully, and with many engines supporting additional features beyond
ECMA.
As a multi-paradigm language, JavaScript supports event-
driven, functional,and imperative (including object-oriented and prototype-based) programming
styles. It has an API for working with text, arrays, dates, regular expressions, and basic
manipulation of the DOM, but the language itself does not include any I/O, such as networking,
storage, or graphics facilities, relying for these upon the host environment in which it is
embedded.
JQUERY
jQuery is a JavaScript library. It is a lightweight, “write less do more” library. The sole purpose
of jQuery is to make the use of JavaScript easy on website. jQuery takes a lot of common tasks
that require many lines of JavaScript code to accomplish, and wraps them into methods that you
can call with a single line of code.
HTML/DOM manipulation, CSS manipulation, HTML event methods, Effects and animations,
AJAX, utilities are some of the features of jQuery
PHP
PHP is a server side scripting language. It is a weakly typed language. The PHP software
works with the web server, which is the software that delivers web pages to the world. When
URL is typed into theaddress bar of the web browser, a message is sent to the web server at that
URL, asking it to send an HTML file. In response, the web server sends the requested file. The
HTML file is read by the browser and web page is displayed.
When a link on a web page is clicked, it also sends the request to the web server. Also, the web
server processes a file when a web page button that submits a form is clicked. Essentially, this
process is same when PHP is installed. When PHP is installed, the web server is configured to
expect certain file extensions to contain PHP language statements. These extensions are.php or
.phtml, but any extension can be used. When the web server gets a request for a file with the
8
designated extension, it sends the HTML statements as is, but PHP statements are processed by
the PHP software before they’re sent to the requester.
MySQL
A database can be defined as a separate application for the purpose of storing a collection of
data. One or more distinct APIs for creating, accessing, managing, searching and replicating
the data is available for each database.
Other kinds of data stores, such as files on the file system or large hash tables in memory can
also be used but these systems would make data fetching and writing, a difficult and slow task.
Nowadays relational database management systems (RDBMS) to store and manage huge
volume of data. It is called relational database because all the data is stored into different
tables. Relations between these tables are established using primary keys or foreign keys.
MySQL is a fast, easy-to-use RDBMS being used for many small and big businesses. It was
developed, marketed and supported by MySQL AB, Swedish company. MySQL is becoming
so popular because of many good reasons −
MySQL is an open-source relational database management system. So you have nothing to
pay and it is free to use.
MySQL is a very powerful program in its own right. It handles a large subset of the
functionality of the most expensive and powerful database packages.
MySQL uses a standard form of the well-known SQL data language.
MySQL works on many operating systems and with many languages including PHP,
PERL, C, C++, JAVA, etc.
Even with large data sets, MySQL works very quickly.
MySQL is very friendly to PHP, the most appreciated language for web development.
MySQL supports large databases, up to 50 million rows or more in a table. The default file
size limit for a table is 4GB, but you can increase this (if your operating system can handle
it) to a theoretical limit of 8 million terabytes (TB).
MySQL is customizable. The open-source GPL license allows programmers to modify the
MySQL software to fit their own specific environments.
9
4.Requirement Analysis and Design
4.1 Requirement Analysis
4.1.1 Software Requirement Specification
What is SRS?
Software Requirement Specification (SRS) is the starting point of the software developing
activity. As system grew more complex, it became evident that the goal of the entire system
cannot be easily comprehended. Hence the need for the requirement phase arose. The SRS is
the means of translating the ideas of the minds of clients (the input) into a formal document (the
output of the requirement phase.)
The SRS phase consists of two basic activities:
Problem/Requirement Analysis:
The process is order and more nebulous of the two, deals with understand the problem, the goal
and constraints.
Requirement Specification:
Here, the focus is on specifying what has been found giving analysis such as representation,
specification languages and tools, and checking the specifications are addressed during this
activity.
The requirement phase terminates with the production of the validate SRS document. Producing
the SRS document is the basic goal of this phase.
This requirement specification must have the system properties. Conceptually every SRS
should have the components:
Functionality
Performance
Design constraints imposed on an implementation and
External interfaces
Role of SRS
The purpose of the Software Requirement Specification is to reduce the communication gap
between the clients and the developers. Software Requirement Specification is the medium
through which the client and user needs are accurately specified. It forms the basis of software
development. A good SRS should satisfy all the parties involved in the system.
10
Purpose
The purpose of this document is to describe all external requirements and the interfaces for the
system.
4.1.1.1 Glossary
PHP: It is a server side scripting language. PHP stands for Pre Processor Hypertext.
USER: The term user is used to denote all end user of the system.
HTML: HTML means Hyper Text Mark-up Language.
CSS: CSS means Cascading style sheet which is used to design the web application.
JS: JS is commonly used to refer to JavaScript which can be used for front end
designing.
End user specification:To avail the functionality of the website, existing user has to login to
enter into the website. A new user will first have to register themselves.
Usability: No special training is required to run the software.
Reliability: Software will be able to run all time.
A use case is a methodology used in system analysis to identify, clarify, and organize system
requirements. The use case is made up of a set of possible sequences of interactions between
systems and users in an environment and related to a particular goal here in our case related to
the Project Monitoring comprising of monitoring and administering. It consists of a group of
elements (for example, classes and interfaces) that can be used together in a way that will have
an effect larger than the sum of the separate elements combined. All the use cases represented
in this chapter can be thought of as a collection of possible scenarios related to creation of
groups, allotment of project, monitoring progress of the project.
Every use case included here shall be guided by certain case description parameters. The
parameters shall aid the reader in understanding the use case scenario in itstotality. These
parameters include:
a. Purpose
b. Actors Involved
11
c. Pre Condition
d. Normal Scenario Description
e. Post Actions, and
f. Deviation Treatment.
1. This use case detail out the procedure proposed to be adopted when a group of students
want to intimate the formation of Project Execution Group.
1.1 Purpose: To capture details related to a proposed group. This is a simple process of
updating basic records into the Projectoscope database. This is applicable for those
students who have decided to form a group for executing the project. The record created
here shall be treated as the Group Composition proposed to the Project Guide seeking
his/her approval for the group so that they can proceed with next stage i.e.
conceptualizing and proposing the project.
1.3 Pre-condition:
a. All the class id for which the group entry is valid should have been identified in master
prior to entry of data here.
b. All the students are identified by their roll numbers and class id, the master information
of which should have been existing in the system.
12
1.4 Normal Use Case:
a. Students intending to propose their formation of group for executing any project shall
invoke this transaction.
b. They will select the class to which they belong and which is identified for project
execution
c. They shall enter their roll numbers in detail table. Once the roll number is entered it
shall be validated from student master for its existence for the class id entered.
d. Once roll number is validated then all student information like name, email id, mobile
number shall be displayed. While validating it shall be validated that the said roll number
is not part of any other group.
e. Students shall be required to select only one roll number who will be identified as the
group leader. Two leaders cannot be selected and there has to be at least one leader.
f. The group Id shall be generated as combination of 4digit Year+ class ID+3 digit running
serial
g. All the data demanded in this transaction is mandatory
h. The record shall be saved with Status = “NEW”.
i. Unless approved, the transaction can be edited i.e. the record with status = “NEW” can be
edited to amend the group participants.
13
Figure 4.1.1.3.1 : Use case for Register Group
14
Use Case: Approve Group
2. This use case detail out the procedure proposed to be adopted when the project guide
wants to approve a group of students as intimated.
2.1 Purpose: To capture approval of the faculty for group formation alongwith its
participants. This is a simple processofupdating basic records into the Projectoscope
database. The students shall approach the project guide (faculty) to approve their group. If
felt okay on all norms (not in this application), the project guide shall approve the group.
No new record shall be created here, but the record created earlier by the students shall be
displayed and approved by the project guide. Once approved the group can proceed to the
next stage i.e. conceptualizing and proposing the project.
2.3 Pre-condition:
a. All the group id intimated by the students should exist in the database with the status
as “NEW”
15
Figure 4.1.1.3.2 : Use case for Approve Group
16
Use Case: Deregister Group
3. This use case detail out the procedure proposed to be adopted when the project guide
wants to deregister a group of students.
3.1 Purpose: If the faculty has found that progress of the group is not up to date or for some
disciplinary or administrative reasons, group needs to be reconstituted.
3.3 Pre-condition:
a. The group id identified by the project guide(faculty) should exist in the database with
the status as “APPROVED”
17
Figure 4.1.1..3.3 : Use Case for Deregister Group
18
Use Case: Propose Project
4. This use case detail out the procedure proposed to be adopted when a group of students
want to propose their project idea to the faculty.
4.3 Pre-condition:
The group Id entered must have the status “APPROVED”.
Default help on project stages and deliverable shall be variable to them as default selection.
19
Use Case: Propose Project
Information
On Group
Progress
<<Propose Project>>
Propose
Project
Project
proposal for
approval
PROJECT GUIDE
Figure 4.1.1.3.4 : Use Case for Propose project
20
Use Case: Approve Projects
5. This use case detail out the procedure proposed to be adopted when the project guide
wants to approve project proposal by groups.
5.1 Purpose: To approve details related to a proposed project. This is a simple process of
approving the basic records created by students on behalf of a group, proposed into the
Projectoscope database. This is applicable for faculty (project guide) who are supposed to
approve a proposed by the group.
5.3 Pre-condition:
The group Id entered must have the status “APPROVED”
21
Use Case: Approve Project
ProgressProject
Proposal
STUDENT
Information
On Group
ReportedProject
Proposal
PROJECT
GUIDE
Project
<<Approval of Project Proposal>> Approval
Approval of
Group
Intimation
Project
Approval
STUDENT
Figure 4.1.1.3.5 : Use Case for Approve Project
22
Use Case: Report Project Progress
6. This use case detail out the procedure proposed to be adopted when a group of students
want to report their progress on the project.
6.1 Purpose: To capture details related to a proposed group. This is a simple process of
updating basic records into the Projectoscope database. This is applicable for those groups
whose project proposal has been approved by the project guide. Students The record
created here shall be treated as the Project Progress intimated to the Project Guide seeking
his/her verification so that they can proceed with next stage i.e. reporting update of next
stage as specified.
6.3 Pre-condition:
a. All the group ids for which the group entry is valid should have been identified in
master prior to entry of data here.
b. All the groups are identified by their group ids, the master information of which should
have been existing in the system.
23
Use Case: Report Progress
Information
On Group
Group id.
<<Report Progress>>
Report
Progress
Project
progress for
verification
PROJECT GUIDE
24
Use Case: Authenticate Project Progress
7. This use case detail out the procedure proposed to be adopted when project guide wants to
authenticate the progress the projects.
7.1 Purpose To authenticate project stage wise status of approved projects from approved
groups. This is a simple process of approving stage wise completion of various projects as
reported by various student groups.
7.3 Pre-condition:
The projects with status as “REPORTED” or “AUTHENTICATED” must exist.
25
Use Case: Authenticate Progress
Report
STUDENT
Information
On Group
Progress
PROJECT
GUIDE
Authenticate
<<Authentication of Project Progress>>
Authenticating
Progress
Progress
Authentication
26
Use Case: Send Intimation
8. This use case detail out the procedure proposed to be adopted when a group of students
want to intimate the formation of Project Execution Group.
8.3 Pre-condition:
a. All the class id for which the group entry is valid should have been identified in
master prior to entry of data here.
b. All the students are identified by their roll numbers and class id, the master information
of which should have been existing in the system.
27
Use Case: Send Intimation
Information
On Group
<<Send Intimation>>
Send
Intimation
Intimation
Delivered
28
Use Case: Generate Reminders
9. This use case detail out the procedure proposed to be adopted when a group of students
want to intimate the formation of Project Execution Group.
9.1 Purpose: To send any reminders to all approved groups who have overshot their project
deadlines.
This is a simple process of sending a reminder to all approved groups executing project
regarding lapse of submission date.
9.3 Pre-condition:
Approved Groups having missed deadlines must exist.
29
Use Case: Generate Reminders
Information
On Group
<<Send Reminder>>
Send
Reminder
Reminder
Delivered
30
4.1.2 Conceptual Level Class Diagram
Class diagram is a static diagram. It represents the static view of an application. Class diagram
is not only used for visualizing, describing, and documenting different aspects of a system but
also for constructing executable code of the software application.
Class diagram describes the attributes and operations of a class and also the constraints
imposed on the system. The class diagrams are widely used in the modeling of objectoriented
systems because they are the only UML diagrams, which can be mapped directly with object-
oriented languages.
31
4.2 Design
4.2.1 Design Concept
The purpose of the design phase is to plan a solution of the problem specified by the
requirement of the problem specified by the requirement document. This phase is the first step
in moving from the problem domain to the solution domain. In other words, starting with what
is needed; design takes us towards how to satisfy the needs. The design of system is the most
critical factor affecting the quality of the software and has major impact on testing and
maintenance. The output of this phase is the design document.
32
DETAILED DESIGN
PROJECTOSCOPE TRANSACTION SPECIFICATIONS:
MASTER TOP SHEET – SUBJECT MASTER
Table 4.2.2.1
System : Projectoscope
Brief Description : This master shall contain the details of all the valid
subjects that are being taught and which are eligible
as being selected for execution of any minor, major or
both types of Projects
Pre-Requisites : None
Remarks : -
33
MASTER VALIDATION SHEET – SUBJECT MASTER
Table 4.2.2.2
34
LAYOUT
35
MASTER TOP SHEET - CLASS MASTER
Table 4.2.2.3
System : Projectoscope
Brief Description : This master shall contain the details of all the classes
for which the students belonging to them need to
execute any minor/major project and the valid
subjects that are being taught and which are eligible
as being selected for execution of any minor, major or
both types of Projects
36
MASTER VALIDATION SHEET – CLASS MASTER
Table 4.2.2.4
37
LAYOUT
38
MASTER TOP SHEET – STUDENT MASTER
Table 4.2.2.5
System : Projectoscope
Brief Description : This master shall contain the details of all the students
and information on their class to which they belong.
It specifies calendar wise duration in various
semesters they shall be studying
39
MASTER VALIDATION SHEET – STUDENT MASTER
Table 4.2.2.6
40
LAYOUT
41
MASTER TOP SHEET – FACULTY MASTER
Table 4.2.2.7
System : Projectoscope
Brief Description : This master shall contain the details of all the
faculties eligible to act as Project Guide for a Class +
Subject combination.
Pre-Requisites : Class codes and subject codes should have been
defined in Class Master
42
MASTER VALIDATION SHEET - FACULTY MASTER
Table 4.2.2.8
43
LAYOUT
44
MASTER TOP SHEET – STANDARD PROJECT STAGES
Table 4.2.2.9
System : Projectoscope
Remarks : -
45
MASTER VALIDATION SHEET – STANDARD PROJECT STAGES
Table 4.2.2.10
46
LAYOUT
47
TRANSACTION TOP SHEET - REGISTER GROUP
Table 4.2.2.11
System : Projectoscope
Transaction Name : Register Group
Purpose : To capture details related to a proposed group. This is
a simple process of updating basic records into the
Projectoscope database. This is applicable for those
students who have decided to form a group for
executing the project.
Prepared By : Student
Brief Description : a. Students intending to propose their formation of
group for executing any project shall invoke this
transaction.
b. They will select the class to which they belong and
which is identified for project execution
c. They shall enter their roll numbers in detail table.
Once the roll number is entered it shall be validated
from student master for its existence for the class id
entered.
d. Once roll number is validated then all student
information like name, email id, mobile number shall
be displayed. While validating it shall be validated
that the said roll number is not part of any other
group.
e. Students shall be required to select only one roll
number who will be identified as the group leader.
Two leaders cannot be selected and there has to be at
least one leader.
f. The group Id shall be generated as combination of
4digit Year+class ID+3 digit running serial
g. All the data demanded in this transaction is
mandatory
h. The record shall be saved with Status = “NEW”.
i. Unless approved, the transaction can be edited i.e.
the record with status = “NEW” can be edited to
amend the group participants.
Pre-Requisites : All the class id for which the group entry is valid
should have been identified in master prior to entry of
48
data here.
All the students are identified by their roll numbers
and class id, the master information of which should
have been existing in the system
Remarks : The record created here shall be treated as the Group
Composition proposed to the Project Guide seeking
his/her approval for the group so that they can proceed
with next stage i.e. conceptualising and proposing the
project
49
TRANSACTION VALIDATION SHEET - REGISTER GROUP
Table 4.2.2.12
50
LAYOUT
51
TRANSACTION TOP SHEET - APPROVE GROUP
Table 4.2.2.13
System : Projectoscope
Transaction Name : Approve Group
Purpose : To approve details related to a proposed group. This is
a simple process of approving the basic records
created by students as groups proposed into the
ProjectoScope database. This is applicable for faculty
(project guide) who are supposed to approve a group
formed by the students.
52
TRANSACTION VALIDATION SHEET – APPROVE GROUP
Table 4.2.2.14
Field Name Field Field Attributes Critical Validation/ Remarks
Type Length
Group Id C 10 E/M Should be valid as per Register
Group Transaction with Status =
‘NEW’
Group VC 50 D Displayed from the Group Master
Description for the Group Displayed
Class Id C 5 D Displayed for the Valid Group Id
entered
Class VC 50 D Displayed from Class Master for
Description the Class Id Displayed
Detail Table
Sr.no. N 2 D Displayed for the Valid Group Id
entered
Roll Number C 12 D Displayed for the Valid Group Id
entered
Student Name VC 50 D Displayed for the Valid Group Id
entered
Email Id VC 50 D Displayed for the Valid Group Id
entered
Mobile No. N 10 D Displayed for the Valid Group Id
entered
Leader Y/N C 1 D Displayed for the Valid Group Id
entered
53
LAYOUT
54
TRANSACTION TOP SHEET - DEREGISTER GROUP
Table 4.2.2.15
System : Projectoscope
Transaction Name : Deregister Group
Purpose : To capture deregistration information of an active
approved group. This is a simple process of
deregistering the existing approved groups into the
Projectoscope database. This is applicable for faculty
(project guide) who are supposed to deregister a an
approved group.
55
TRANSACTION VALIDATION SHEET – DEREGISTER GROUP
Table 4.2.2.16
56
LAYOUT
57
TRANSACTION TOP SHEET – PROPOSE PROJECT
Table 4.2.2.17
System : Projectoscope
Transaction Name : Propose Project
Purpose : To capture project proposals from approved groups.
This is a simple process of capturing an intent of the
student group regarding what project they want to
execute, under whose guidance they would be
executing, and what is going to be their project
execution schedule.
58
TRANSACTION VALIDATION SHEET – PROPOSE PROJECT
Table 4.2.2.18
59
Completion semester period mentioned in
Date Student Master for Students of
Group Id Entered
Should also be greater than
Project Start Date
Duration N 3 C Calculated as completion date –
start date
Detail Table
Sr.no. N 2 D Displayed for the Valid Group Id
entered
Project Stage C 12 E/M Displayed for the Valid Group Id
entered
Can be entered, Value in the field
is Mandatory
Deliverable VC 50 E/M Displayed for the Valid Group Id
entered
Can be entered, Value in the field
is Mandatory
Start Date D Date E/M Mandatorily Entered
Should be Less than equal to end
date mentioned in header and
First row value should be equal to
the Project Start Date in Header
Completion D Date E/M Mandatorily Entered
Date Should be greater than equal to
start date
Last row value should be equal to
the Project End Date in Header
Days Proposed N 3 C Calculated and Displayed as
Completion Date – Start Date
60
LAYOUT
61
TRANSACTION TOP SHEET – APPROVE PROJECT
Table 4.2.2.19
System : Projectoscope
Transaction Name : Approve Project
Purpose : To approve details related to a proposed project. This
is a simple process of approving the basic records
created by students on behalf of a group, proposed
into the Projectoscope database. This is applicable for
faculty (project guide) who are supposed to approve a
proposed by the group.
62
TRANSACTION VALIDATION SHEET – APPROVE PROJECT
Table 4.2.2.20
63
Should be valid date between
semester period mentioned in
Student Master for Students of
Group Id Entered
Should also be greater than
Project Start Date
Duration N 3 C Calculated and Displayed as
completion date – start date
Detail Table
Sr.no. N 2 D Default value Displayed from the
Project Transaction for the group
code displayed
Project Stage C 12 E/M Displayed for the Valid Group Id
entered
Can be edited, Value in the field
is Mandatory
Deliverable VC 50 E/M Displayed for the Valid Group Id
entered
Can be edited, Value in the field
is Mandatory
Start Date D Date E/M Displayed for the Valid Group Id
entered
Mandatorily Entered
Should be Less than equal to end
date mentioned in header and
First row value should be equal to
the Project Start Date in Header
Completion D Date E/M Displayed for the Valid Group Id
Date entered
Mandatorily Entered
Should be greater than equal to
start date
Last row value should be equal to
the Project End Date in Header
Days Proposed N 3 C Calculated and Displayed as
Completion Date – Start Date
64
LAYOUT
65
TRANSACTION TOP SHEET – REPORT PROJECT PROGRESS
Table 4.2.2.21
System : Projectoscope
Transaction Name : Report Project Progress
Purpose : To capture project stage wise status of approved
projects from approved groups.
This is a simple process of capturing stage wise
completion of various projects as reported by various
student groups.
66
TRANSACTION VALIDATION SHEET – REPORT PROJECT PROGRESS
Table 4.2.2.22
67
Detail Table
Sr.no. N 2 D Displayed from the Project
transaction for the Group Id
Selected
Deliverable VC 50 E/M Displayed from the Project
transaction for the Group Id
Selected
Mark Checkbox E Only unauthenticated single
Completion (first) or successive stages can be
checked here by collection
Completion D Date D/E/M Displayed from the Project
Date transaction for the Group Id
Selected for authenticated status
Else
Mandatorily Entered
Should be greater than equal to
max(last authenticated
completion date)
68
LAYOUT
69
TRANSACTION TOP SHEET – AUTHENTICATE PROJECT PROGRESS
Table 4.2.2.23
System : Projectoscope
Transaction Name : Authenticate Project Progress
Purpose : To authenticateproject stage wise status of approved
projects from approved groups.
This is a simple process of approving stage wise
completion of various projects as reported by various
student groups.
70
TRANSACTION VALIDATION SHEET – AUTHENTICATE PROJECT PROGRESS
Table 4.2.2.24
71
Detail Table
Sr.no. N 2 D Displayed from the Project Status
transaction for the Group Id
Selected
Project Stage C 12 E/M Displayed from the Project Status
transaction for the Group Id
Selected
Deliverable VC 50 E/M Displayed from the Project Status
transaction for the Group Id
Selected
Mark Checkbox E Only unauthenticated single
Authentication (first) or successive stages can be
checked here by collection
Authentication D Date D/E/M Displayed from the Project
Date transaction for the Group Id
Selected for authenticated status
Else
Mandatorily Entered
Should be greater than equal to
max(last authenticated
completion date)
72
LAYOUT
73
TRANSACTION TOP SHEET – SEND INTIMATION
Table 4.2.2.25
System : Projectoscope
Transaction Name : Send Intimation
Purpose : To send any intimation to all approved groups.
This is a simple process of sending any
notice/circular/intimation to all approved groups,
74
TRANSACTION VALIDATION SHEET – SEND INTIMATION
Table 4.2.2.26
75
LAYOUT
76
TRANSACTION TOP SHEET - GENERATE REMINDERS
Table 4.2.2.27
System : Projectoscope
Transaction Name : GenerateReminder(s)
Purpose : To send any reminders to all approved groups who
have overshot their project deadlines.
This is a simple process of sending areminder to all
approved groups executing project regarding lapse of
submission date.
77
TRANSACTION VALIDATION SHEET – GENERATE REMINDERS
Table 4.2.2.28
78
LAYOUT
79
OUTPUT TOP SHEET
Table 4.2.2.29
80
Figure 4.2.2.15 : Subject Master List
81
OUTPUT TOP SHEET
Table 4.2.2.30
82
Figure 4.2.2.16 : Class Master List
83
OUTPUT TOP SHEET
Table 4.2.2.31
84
Figure 4.2.2.17 : Student Master List
85
OUTPUT TOP SHEET
Table 4.2.2.32
86
Figure 4.2.2.18 : Faculty Master List
87
OUTPUT TOP SHEET
Table 4.2.2.33
88
Figure 4.2.2.19 : Standard Project Stage List
89
OUTPUT TOP SHEET
Table 4.2.2.34
90
Figure 4.2.2.20 : Faculty wise Project List
91
OUTPUT TOP SHEET
Table 4.2.2.35
92
Figure 4.2.2.21 : Class wise Project List
93
OUTPUT TOP SHEET
Table 4.2.2.36
94
Figure 4.2.2.22 : Subject wise Project List
95
OUTPUT TOP SHEET
Table 4.2.2.37
96
Figure 4.2.2.23 : Status wise Project List
97
OUTPUT TOP SHEET
Table 4.2.2.38
98
Figure 4.2.2.24 : Active Project List
99
OUTPUT TOP SHEET
Table 4.2.2.39
100
Figure 4.2.2.25 : Overdue Project List
101
4.2.3. Modeling
4.2.3.1. Detailed Class Diagram
102
4.2.3.2 Interaction Diagram
4.2.3.2.1 Sequence Diagram
103
4.2.3.2.2 Collaboration Diagram
104
4.2.3.4 Activity Diagram
105
4.2.3.5 Object Diagram
106
5. Methodology and Implementation Phase
5.1 Methodology
Projectoscope is developed using Waterfall Model.
5.1.1 Description
The first process model to be introduced was Waterfall Model. It is a linear-sequential life cycle
model. It is an easy to understand model and can be used with ease. In a waterfall model, before
starting new phase, it is necessary that its preceding phase is complete. Also, there is no scope
for overlap of two phases in Waterfall model. The outcome of a phase serves as input for the
next phase that too sequentially.
This type of model is suitable forprojects which are small and do not have uncertain
requirements. End of each phase is followed by a review. This review determines if the project
is on correct path and is it okay to continue with it or should the project be discarded. Testing
takes place only after the development is complete.
Each phase of The Waterfall model is quite precise well defined because development of one
phase starts only when the previous phase is complete. Since the phase’s falls from higher level
to lower level, like a water fall, it’s named as waterfall model.
107
Following are the sequential phases of waterfall model:
Requirement Gathering and analysis: All the possible requirement of the system, that
has to be developed, are gathered in this phase and collectively form a requirement
specification document.
System Design: The requirement specifications from the previous phase are studied in
this phase and design for the system is prepared. System Design is helpful for specifying
hardware and system requirements and also helps in defining overall system architecture.
Implementation: With inputs from system design, the system is first developed in
small programs called units, which are integrated in the next phase. After this Unit Testing is
carried out where every single unit is developed and its functionality is tested.
Integration and Testing: All the units developed in the implementation phase are
integrated into a system after testing of each unit. Post integration the entire system is tested for
any faults and failures.
Disadvantage
After an application enters the testing stage, It is very difficult to go back and change
something that was not well-thought out in the concept stage.
Final working model can be seen only when we approach the end of life cycle. There is
no working software in initial or middle phases. Thus, this increases the probability of
risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
Delivery of the final product is late as there is no prototype which is demonstrated
intermediately.
108
Not suitable for the projects where requirements are changed frequently.
Since the testing is done at later stage, it does not allow identifying the challenges and
risks in the earlier phase so the risk mitigation strategy is difficult to prepare.
Not suitable for the projects where requirements are at a moderate to high risk of
changing.
109
5.2.2. Coding
The implementation of the designs involved coding and use of some tools that allow faster
development of software. The coding languages used were:
HTML: Scripting tool. It is used to develop the front interface for the project.
PHP: Used to create the logical part of the system.
Bootstrap : Used for developing responsive web pages.
JavaScript: Scripting tool for code validation.
CSS: Used for uniformity of the system pages.
MYSQL: Used to develop back end part of the system (Database).
Sample Code 1:
<?php
$uri_segment = $this->uri->segment(1).'/'.$this->uri->segment(2);
//$uri_segment = $this->uri->segment(1);
$dashboard = '';
$master = '';
$subject = '';
$class = '';
$student = '';
$faculty = '';
$standardProjectStage = '';
$reports = '';
$subjectList = '';
$classList = '';
$studentList = '';
$facultyList = '';
$standardProjectStageList = '';
switch ($uri_segment) {
case 'master/subject';
case 'master/addSubject';
case 'master/editSubject';
$subject = "class = 'active'";
break;
case 'master/class';
case 'master/addClass';
case 'master/editClass';
$class = "class = 'active'";
110
break;
case 'master/student';
case 'master/addStudent';
case 'master/editStudent';
$student = "class = 'active'";
break;
case 'master/faculty';
case 'master/addFaculty';
case 'master/editFaculty';
$faculty = "class = 'active'";
break;
case 'master/standardProjectStage';
case 'master/addProjectState';
case 'master/editProjectState';
$standardProjectStage = "class = 'active'";
break;
case 'reports/subjectList':
$reports = "class = 'active'";
$subjectList = "class = 'active'";
break;
case 'reports/classList':
$reports = "class = 'active'";
$classList = "class = 'active'";
break;
case 'reports/studentList':
$reports = "class = 'active'";
$studentList = "class = 'active'";
break;
case 'reports/facultyList':
$reports = "class = 'active'";
$facultyList = "class = 'active'";
break;
case 'reports/standardProjectStageList':
$reports = "class = 'active'";
$standardProjectStageList = "class = 'active'";
break;
default:
111
$dashboard = ' class="active"';
break;
}
?>
<aside>
<div id="sidebar" class="nav-collapse ">
<ul class="sidebar-menu" id="nav-accordion">
<li>
<a <?php echo $dashboard ?> href="<?php echo baseUrl() ?>admin">
<i class="fa fa-dashboard"></i>
<span>Dashboard</span>
</a>
</li>
<li>
<a <?php echo $subject ?> href="<?php echo baseUrl() ?>master/subject">
<i class="fa fa-dashboard"></i>
<span>Subject</span>
</a>
</li>
<li>
<a <?php echo $class ?> href="<?php echo baseUrl() ?>master/class">
<i class="fa fa-dashboard"></i>
<span>Class</span>
</a>
</li>
<li>
<a <?php echo $student ?> href="<?php echo baseUrl() ?>master/student">
<i class="fa fa-dashboard"></i>
<span>Student</span>
</a>
</li>
<li>
<a <?php echo $faculty ?> href="<?php echo baseUrl() ?>master/faculty">
<i class="fa fa-dashboard"></i>
<span>Faculty</span>
</a>
</li>
<li>
<a <?php echo $standardProjectStage ?> href="<?php echo baseUrl()
?>master/standardProjectStage">
<i class="fa fa-dashboard"></i>
112
<span>Standard Project Stage</span>
</a>
</li>
<li class="sub-menu">
<a href="javascript:;" <?php echo $reports ?>>
<i class="fa fa-file"></i>
<span>Reports</span>
</a>
<ul class="sub">
<li <?php echo $subjectList ?>><a href="<?php echo baseUrl()
?>reports/subjectList">Subject Master</a></li>
<li <?php echo $classList ?>><a href="<?php echo baseUrl()
?>reports/classList">Class Master</a></li>
<li <?php echo $studentList ?>><a href="<?php echo baseUrl()
?>reports/studentList">Student Master</a></li>
<li <?php echo $facultyList ?>><a href="<?php echo baseUrl()
?>reports/facultyList">Faculty Master</a></li>
<li <?php echo $standardProjectStageList ?>><a href="<?php echo baseUrl()
?>reports/standardProjectStageList">Standard Proj. Stage Master</a></li>
</ul>
</li>
</ul>
</div>
</aside>
Snapshot 1:
113
Sample Code 2:
<?php $this->load->view('projectGuide/sideBar') ?>
<section id="main-content">
<section class="wrapper" style="min-height: 551px;">
<div class="row">
<div class="col-lg-12">
<ul class="breadcrumb">
<li><a href="<?php echo baseUrl() ?>admin"><i class="fa fa-home"></i>
Dashboard</a></li>
<li class="active">Deregister Group</li>
</ul>
</div>
</div>
<?php alert() ?>
<input type="hidden" id="hiddenGroupId">
<div class="row">
<div class="col-lg-12">
<section class="panel">
<div class="panel-body">
<?php //echo form_open_multipart(current_url(), array('role' => 'form')); ?>
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label for="txtGroupCode">Group code</label>
<input type="text" name="txtGroupCode" id="txtGroupCode" class="form-control
input-sm" value="<?php //if(!empty($data[0]->groupId)) echo $data[0]->groupId; ?>"
disabled>
</div>
</div>
<div class="col-md-10">
<div class="form-group">
<label for="txtGroupDesc"> </label>
<input type="text" name="txtGroupDesc" id="txtGroupDesc" class="form-control
input-sm" value="<?php //if(!empty($data[0]->groupDescription)) echo $data[0]-
>groupDescription; ?>" disabled>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label for="classCode">Class code</label>
<input type="text" name="classCode" id="classCode" class="form-control input-
sm" value="<?php //if(!empty($data[0]->classCode)) echo $data[0]->classCode; ?>" disabled>
</div>
</div>
114
<div class="col-md-10">
<div class="form-group">
<label for="classDesc"> </label>
<input type="text" name="classDesc" id="classDesc" class="form-control input-
sm" value="<?php //if(!empty($data[0]->classDescription)) echo $data[0]->classDescription;
?>" disabled>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>Sr. No.</th>
<th>Roll No.</th>
<th>Student Name</th>
<th>Email Id</th>
<th>Mobile No.</th>
<th>Leader(Y/N)</th>
</tr>
</thead>
<tbody id="tbodyGrpupDetails">
</tbody>
</table>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<button type="button" class="btn btn-danger pull-right" style="margin-left: 5px;"
onclick="goBack()">Cancel</button>
<button type="button" class="btn btn-primary pull-right" id="submit"
onclick="Deregister()">Deregister</button>
</div>
</div>
<?php //echo form_close(); ?>
</div>
</section>
</div>
</div>
</section>
</section>
<!-- Modal -->
<div id="Modal" class="modal fade" role="dialog">
115
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Group Details</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>#</th>
<th>Group code</th>
<th>Group Description</th>
<th>Class code</th>
<th>Class Description</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody id="tbodyGroup">
<?php /*
if(!empty($all)){
foreach ($all as $key => $value) {
?>
<tr>
<td><?php echo ($key+1); ?></td>
<td><?php echo $value->groupId; ?></td>
<td><?php echo $value->groupDescription; ?></td>
<td><?php echo $value->classCode; ?></td>
<td><?php echo $value->classDescription; ?></td>
<td class="text-center">
<a class="btn btn-info btn-xs" href="javascript:void(0)" data-toggle="tooltip"
title="View Details" onclick="getData(<?php echo $value->id; ?>)"><i class="fa fa-
eye"></i></a>
</td>
</tr>
<?php } } */ ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="modal-footer">
116
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
getModal();
});
function getModal() {
$.ajax({
type:"POST",
cache:false,
url:"<?php echo baseUrl();?>projectGuide/deregisterGetAll",
//data:{ groupId:groupId },
beforeSend: function(){
$(".spinner").show();
},
success: function (response) {
debugger;
var jsonData = JSON.parse(response);
if(jsonData.length > 0){
$("#Modal").modal("show");
var tbody = $("#tbodyGroup");
tbody.empty();
var html = "";
$.each(jsonData, function (Index, Object) {
html += '<tr>'
html += '<td>'+(Index+1)+'</td>';
html += '<td>'+Object.groupId+'</td>';
html += '<td>'+Object.groupDescription+'</td>';
html += '<td>'+Object.classCode+'</td>';
html += '<td>'+Object.classDescription+'</td>';
html += '<td class="text-center"><a class="btn btn-info btn-xs"
href="javascript:void(0)" data-toggle="tooltip" title="View Details"
onclick="getData('+Object.id+')"><i class="fa fa-eye"></i></a></td>';
html += '</tr>'
});
tbody.append(html);
$(".spinner").hide();
}else{
//alertCustom("Data not found.");
$(".spinner").hide();
$("#Modal").modal("hide");
}
117
}
});
}
function getData(id){
$("#Modal").modal("hide");
$("#hiddenGroupId").val(id);
$.ajax({
type:"POST",
cache:false,
url:"<?php echo baseUrl();?>projectGuide/getGroupData",
data:{ id:id },
beforeSend: function(){
$(".spinner").show();
},
success: function (response) {
debugger;
//alertCustom(response);
var jsonData = JSON.parse(response);
if(response == 0){
$(".spinner").hide();
//alertCustom("Data not found.")
}else{
$(".spinner").hide();
$("#txtGroupCode").val(jsonData.result1[0].groupId);
$("#txtGroupDesc").val(jsonData.result1[0].groupDescription);
$("#classCode").val(jsonData.result1[0].classCode);
$("#classDesc").val(jsonData.result1[0].classDescription);
118
}
function Deregister(){
var groupId = $("#hiddenGroupId").val();
debugger;
$.ajax({
type:"POST",
cache:false,
url:"<?php echo baseUrl();?>projectGuide/deregister",
data:{ groupId:groupId },
beforeSend: function(){
$(".spinner").show();
},
success: function (response) {
if(response == 1){
$(".spinner").hide();
alertCustom("Deregister approved.");
$("#hiddenGroupId").val("");
clear();
}else{
$(".spinner").hide();
alertCustom("Something went wrong.");
}
}
});
}
function clear(){
$("#txtGroupCode").val("");
$("#txtGroupDesc").val("");
$("#classCode").val("");
$("#classDesc").val("");
var tbody = $("#tbodyGrpupDetails");
tbody.empty();
getModal();
}
</script>
119
Snapshot 2:
Code efficiency is a broad term used to depict the reliability, speed and programming
methodology used in developing codes for an application. Code efficiency is directly linked
with algorithmic efficiency and the speed of runtime execution for software. It is the key
element in ensuring high performance. The goal of code efficiency is to reduce resource
consumption and completion time as much as possible with minimum risk to the business or
operating environment. The software product quality can be accessed and evaluated with the
help of the efficiency of the code used.
All unnecessary code or code that goes to redundant processing was removed.
Optimal memory and non volatile storage were used
Best speed or run time was ensured for completing the algorithm
Use of reusable components was done wherever it was possible.
Error and exception were handling at all layers of software, such as the user interface, logic
and data flow
A programming code that ensures data integrity and consistency was created
A programming code that's compliant with the design logic and flow was developed
Coding practices applicable to the software were used
Use of data access and data management practices was optimized
Best possible keywords, data types and variables, and other available programming
concepts, related to the algorithm were implemented
120
5.2.4. Optimization of Code
Code optimization is any method of code modification to improve code quality and efficiency.
A program may be optimized so that it becomes a smaller size, consumes less memory,
executes more rapidly, or performs fewer input/output operations.
The basic requirements optimization methods should comply with, is that an optimized program
must have the same output and side effects as its non-optimized version. This requirement,
however, may be ignored in the case that the benefit from optimization, is estimated to be more
important than probable consequences of a change in the program behavior.
121
6.Testing
6.1. Testing Objectives
The development of Software system involves a series of production activities. There is a
chance of errors to occur at any stage. Because of human inability to perform and communicate
with perfection, a Quality Assurance Activity accompanies software development.
Software testing is a critical element of software quality assurance and represents the ultimate
review of specification, design and code generation.
The increasing visibility of software as a system element and the costs associated with software
failure are motivating forces for well planned, thorough testing.
Unit Testing
The resultant system after the integration of the modules was tested to ascertain its correctness
in terms input, processing and output. This was done by executing prepared test scenarios. The
unit testing focused on the internal processing logic and data structures within the boundaries of
a component. More than often, the developer had to keep editing a module severally until each
module was complete and correct.
Security testing
Security testing attempted to verify that protection mechanism of the system. It is protected
against unauthorized access. There was deliberate inputting of username with a password and
the reaction of the system were checked.
6.2. Testing Methods & Strategies used along with test data and the error
listed for each test case for each function provided by the system
Different types of testing are
122
For example, to check whether the work allotted among the database correctly without
exceeding the schemes which are not validated thoroughly and the internal database has to
check the reflections in the database.
Integration Test:
The objective of Integration Test is to take the tested modules and build a program structure
that has been defined in the design. We have done top down integration, which is constructing
and testing small segments where errors are easier to isolate, and correct. The integration
process was performed in three steps:
The above testing was successfully carried out for the developed system.
Validation Testing:
At the culmination of integration testing, software is completely assembled as a package,
interfacing errors have been uncovered and corrected, and a final series of software tests
namely validation tests are performed. Validation succeeds when the software functions in the
manner that can be easily accepted by the customer.
123
After validation test has been conducted, one of the possible conditions are satisfied. The
functions or performance characteristics confirmed to specifications are acceptable. The
deviation from specifications are uncovered and a note of what is lacking is made. The
developed system has been tested satisfactorily to ensure its performance is satisfactory and it is
working efficiently.
124
7.Conclusion and Future Work
The project entitled Projectoscope was completed successfully.
The system has been developed with much care and free of errors and at the same time it is
efficient and less time consuming.The purpose of this project was to develop an online system
to monitor the progress of minor and major projects and provide an easy communication
between students and project guides.This project has greatly helped us in gaining valuable
information and practical knowledge on several topics like designing web pages using html,
bootstrap, JavaScript, jQuery, usage of responsive templates,using PHP as scripting language
and management of database using MySQL. The entire system is secured. Also the project
helped us understanding about the development phases of a project and software development
life cycle. We learned how to test different features of a project. This project has given us great
satisfaction in having designed a solution which can be used by any of the engineering
departments of our college to monitor the progress of student projects of various batches. There
is a scope for further development in our project to a great extent.In future, a number of features
can be added to this system.
7.1 Achievements
Through the project:
125
7.2 Limitation of Project
There are some limitations for the current system to which solutions can be provided as a future
development:
126
8.References
8.1 Reference Books
Books:
Websites:
http://www.w3schools.com/html/defualt.asp
www.Capterra.com
www.softwareadvise.com
www.slideshare.com
127