Vous êtes sur la page 1sur 56

COLLEGE PROJECT MANAGEMENT SYSTEM

1. INTRODUCTION
The vast growth of Internet over the past two decades has led to an enormous
rise in global web content. More and more web applications are being developed to
simplify human life to a great extent. Today, almost all day-to-day tasks are being
done online- be it shopping, paying bills, booking tickets or learning courses. Hence,
the world today is highly dependent on internet and the web. Web applications may be
developed to solve any desired real-world problem.
This project, College Project Management System (CPMS), is an open source,
web-based software developed to help college authorities manage the project-related
activities of a college. This software helps the office staff to maintain all student
records and their respective project records, so that the process of project management
becomes easier and less time-consuming.
The main goal of this project is to replace the existing system, and to
computerize the entire process.
The system can store information about students personal and project details,
and retrieve that information in a fast and accurate way. It has all the modules to
manage an institutes project-related transactions. It can generate automated project
receipts for the project payments made by students. It can also generate project reports
of the college, thereby facilitating the college administration to take appropriate
decisions in the future.

1.1 MOTIVATION
In todays fast-changing world, no one likes to perform calculations or
maintain data manually, when computers could do all these tasks. Everyone wants
their work to be done by the computer automatically. Hence, the motive behind this
project is to computerize all the project-related transactions of a college, and reduce
paper work to a great extent.
In the existing system used in most colleges, the records are maintained on
paper. It is very inconvenient to modify this data. Also, there is a possibility that the
same data in different registers may have different values, which means that there is a
possibility of data redundancy. This inconsistent state does not supply concrete
information, and is a serious problem. The proposed system was developed to solve
this problem of redundancy.
Dept of CSE,MITS

Page 1

COLLEGE PROJECT MANAGEMENT SYSTEM


CPMS has a database to store all the courses and branches offered by a
college, its student details, and project details of all the students. It has modules to
generate project receipts for the projects collected from a student, as well as generate
project reports from time-to-time. These reports help the college administration in
taking important decisions related to the college. Also, the office staff can get to know
the list of students who have paid the projects and who have not paid the projects at a
single glance from these reports. The main objective of using this software is for
academic institutions to simplify their administrative process involving inventory and
payments. To describe it in a nutshell, this system abates the work load of an
organization greatly.

1.2 PROBLEM DEFINITION


Today all the work related to projects management is being done using file
systems (such as Microsoft Excel) in most colleges. As the data increases, file systems
become very slow in retrieval and consume a lot of time. Also, it is very timeconsuming for the office personnel to enter data into spreadsheets. There is also a
possibility of data inconsistency. Hence, there is a need to design an automated
Student Project Management System, to speed up the process and to overcome the
drawbacks of the existing system.
The problem statement is to design a system which

is user-friendly,

is simple to use,

restricts unauthorized people from accessing the data,

increases the productivity of the office/management staff,


decreases paper work to a great extent making the process cost effective,

helps the administrator to handle all the changes.

1.3 OBJECTIVE OF PROJECT


Dept of CSE,MITS

Page 2

COLLEGE PROJECT MANAGEMENT SYSTEM

1.3.1 General objective


To develop a web application with a database at the back end in order to store,
retrieve and update data efficiently.

1.3.2 Specific objectives

The system should be fast and convenient to use.


The system should be reliable, and must not give scope for any human errors.
The system should shorten the time of retrieving the data asked by the user.
The system should generate dynamic project reports from the data stored in it.

1.4 LIMITATIONS OF PROJECT


The limitations of this project include the need for power supply and the
storage capacity needed for large number of students. The more the students, the more
the data, and hence the need for more processing power and memory of server.

2. LITERATURE SURVEY
2.1 INTRODUCTION
Dept of CSE,MITS

Page 3

COLLEGE PROJECT MANAGEMENT SYSTEM


The modern computerized system, CPMS, was developed with the aim to
overcome the drawbacks of the existing manual system. Following is a brief
description of the existing system, its drawbacks and the advantages of the proposed
system.

2.2 EXISTING SYSTEM


At present in most colleges, all records are being maintained partly on paper
and partly using a file system (such as MS Excel). Microsoft Excel is a spreadsheet
application which allows data to be entered and stored in the form of tables. The user
needs to enter all data in rows, one after the other, which is time-consuming. We
realize that there is a need for better system.

2.3 DISADVANTAGES OF EXISTING SYSTEM


Usage of file systems for maintaining project-related data has the following
drawbacks in it

Entering and storing of data is a very cumbersome and tiring process.

Retrieval of data becomes slow as the records increase in number.

There is no proper validation of data, and the system gives scope for human
errors.

There is very less provision for user interaction.

No report generation facility is present.

More paper work has to be done.

2.4 PROPOSED SYSTEM


The proposed system is the College Project Management System. The
following paragraph gives a detailed summary of how this system overcomes the
shortcomings of the existing one.
The new system takes into account the various needs and requirements of the
user. The drawbacks are overcome by designing the system carefully such that all the
requirements are met.

It is much easier for the office personnel to enter data in this system, as it
makes use of certain latest type-ahead technologies like Ajax. This way, the

Dept of CSE,MITS

Page 4

COLLEGE PROJECT MANAGEMENT SYSTEM


user need not type the entire word when entering data; a small phrase would
do the job.

Making use of a database system helps retrieve data very quickly and
accurately.

Use of HTML5 provides facility for data validation on the client side, before it
is sent to the server. Hence, there is not much scope for errors in data entry.

A high level of user-system interactivity is provided, where the system assists


the user in various tasks.

Project receipts are generated by the system itself, and this reduces the task of
writing the receipt manually by the user. Hence, a lot of time would be saved.

Dynamic project reports related to both project collections as well as project


dues are generated from the data stored in the database.The following are the
additional plus points of CPMS-

User-friendly, with an attractive GUI (Graphical User Interface).


Open-source web application, which can be accessed from anywhere over the

net.
Simple and convenient to use.
Decreases paper work to a large extent.
Increases the productivity of the office staff greatly.

3. ANALYSIS
Dept of CSE,MITS

Page 5

COLLEGE PROJECT MANAGEMENT SYSTEM

3.1 INTRODUCTION
The analysis process is adopted when the project development personnel
decide that a particular existing system needs improvement. To know the
requirements of the system to be developed and understand its context, we need to
perform a set of activities. The first activity in this phase is to study the existing
system, and the other is to understand the requirements and domain of the new
system. Both the activities are equally important, but the first activity serves as a basis
for giving the successful design of the proposed system.
Understanding the properties and requirements of a new system is difficult and
requires creative thinking as well as understanding of the existing system also.
Improper understanding of present system can lead to diversion from the solution.
The System Development Life Cycle (SDLC) is the set of activities carried out
by the analysts, designers and developers to develop and implement a software
system. The entire process of system development is described in this life cycle
pattern. The general activities that form the life cycle of the system are given below

Requirement Analysis

System Design

Detail Design

Coding

Unit Testing

System Integration & Testing

The Waterfall Model (or the Linear Sequential model) has been used for
developing this project, as the requirements of the system were known clearly
beforehand. Also, since this system is an enhancement of the already existing system,
much of its requirements were obtained from the existing system itself. Hence,
waterfall model was the choice for this project. The following diagram depicts the
various activities of the waterfall model.

Dept of CSE,MITS

Page 6

COLLEGE PROJECT MANAGEMENT SYSTEM

Figure 1: Waterfall Process Model

3.2 SOFTWARE REQUIREMENTS SPECIFICATION (SRS)


3.2.1 User Requirements
Automate all the manual operations during the time of project payments.
Eliminate paper work.
Efficiently manage the students (personal, academic & project) details.

3.2.2 Software Requirements


Operating System

: Any contemporary Microsoft Windows OS

Language

: PHP language, Yii Framework

Servers
Supporting Tools

: Apache Web Server, MySQL Database Server


: HTML5, JavaScript, CSS, Ajax

3.2.3 Hardware Requirements


Processor

: Pentium III and above

RAM

: 512 MB

Hard disk

: 20 GB

3.3 CONTEXT DIAGRAM OF PROJECT


Dept of CSE,MITS

Page 7

COLLEGE PROJECT MANAGEMENT SYSTEM


A System Context Diagram (SCD) in software engineering is a diagram that
defines the boundary between the system, or part of a system, and its environment,
showing the entities that interact with it. This diagram is a high level view of a
system. It is similar to a block diagram.

Figure 2: Context Diagram for CPMS

4. DESIGN
Dept of CSE,MITS

Page 8

COLLEGE PROJECT MANAGEMENT SYSTEM

4.1 INTRODUCTION
In this project, we propose a web-based software system that is supposed to
replace the existing file system. To provide the desired functionalities for the new
system, we need to go for a careful design plan. Hence, design is the most crucial step
in the development of any software.
System design is a solution, a how-to approach to the creation of a new
system. It translates system requirements into ways by which they can be made
operational. It provides the understanding and procedural details necessary for
implementation of the actual system. Here we use various diagrams to describe the
working of the new system. The system thus made should be reliable, durable and
above all should have least possible maintenance cost. It should overcome all the
drawbacks of the old existing system and meet the users requirements.

4.2 UML DIAGRAMS


Unified Modeling Language (UML) is a standardized general-purpose
modeling language in the field of software engineering. The UML includes a set of
graphic notation techniques to create visual models of object-oriented softwareintensive systems.
.
The UML represents a collection of best engineering practices that have
proven successful in the modeling of large and complex systems.
The UML is a very important part of developing objects oriented software and
the software development process. The UML uses mostly graphical notations to
express the design of software projects.
GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that
they can develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core
concepts.
3. Be independent of particular programming languages and development
process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
Dept of CSE,MITS

Page 9

COLLEGE PROJECT MANAGEMENT SYSTEM


6. Support higher level development concepts such as collaborations,
frameworks, patterns and components.
7. Integrate best practices.

4.2.1.Class Diagram
cc component
get()
set()
iset()

c base controller
create widget()
begin clip()
opname()

c controller
consrtuct()
init()
filter()
actions()

student
st_name
st_num

admin
ad_name
ad_id

project guide
pg_ name
pg_ branch

action get name()


action report()

update()
delete()

view()
modify()

Figure 3: Class Diagram for CPMS

4.2.2 Use-Case Diagram


UML stands for Unified Modeling Language. UML is a standardized generalpurpose modeling language in the field of object-oriented software engineering. The
standard is managed, and was created by, the Object Management Group.
Dept of CSE,MITS

Page 10

COLLEGE PROJECT MANAGEMENT SYSTEM


The goal is for UML to become a common language for creating models of
object oriented computer software. In its current form UML is comprised of two
major components: a Meta-model and a notation. In the future, some form of method
or process may also be added to; or associated with, UML.

login/logout
user

admin

login

register

view

project details
update

view

project guide
modify

suggestions

Figure 4: Use-case diagram for CPMS

4.2.3 Activity Diagram


Activity diagrams are graphical representations of workflows of stepwise
activities and actions. They are intended to model both computational and
organisational processes (i.e. workflows). Activity diagrams show the overall flow of
control. These diagrams are constructed from a limited number of shapes, connected
with arrows. The most important shape types:
Dept of CSE,MITS

Page 11

COLLEGE PROJECT MANAGEMENT SYSTEM

rounded rectangles represent actions;

diamonds represent decisions;

bars represent the start (split) or end (join) of concurrent activities;

a black circle represents the start (initial state) of the workflow;

an encircled black circle represents the end (final state).

Activity diagram of admin

Dept of CSE,MITS

Page 12

COLLEGE PROJECT MANAGEMENT SYSTEM

user

register

profie

dataupload

datadownload

logout

Figure 5: Activity Diagram of admin

4.2.4 Sequence Diagram


A sequence diagram is a kind of interaction diagram that shows how processes
operate with one another and in what order. It shows object interactions arranged in
time sequence. It depicts the objects and classes involved in the scenario and the
sequence of messages exchanged between the objects needed to carry out the
functionality of the scenario.
A sequence diagram shows, as parallel vertical lines (lifelines), different
processes or objects that live simultaneously, and, as horizontal arrows, the messages
exchanged between them, in the order in which they occur. This allows the
specification of simple runtime scenarios in a graphical manner.
Dept of CSE,MITS

Page 13

COLLEGE PROJECT MANAGEMENT SYSTEM

student

admin

project guide

register

view deatails

provide user name

upload project

view modifications

provide suggestions

Figure 6: Sequence Diagram for CPMS

4.3 MODULE DESIGN AND ORGANIZATION


4.3.1 The Admin module
This module of CPMS allows a user to monitor all details of the system. It also
gives the user a privilege of creating and deleting new users. Hence, admin is the
person who has access to the entire system, can monitor all activities of other users
and is the key user of the system.

4.3.2 The User module


Dept of CSE,MITS

Page 14

COLLEGE PROJECT MANAGEMENT SYSTEM


With the help of this module an authorized user can create, delete, update and
retrieve information related to various aspects of the system.

4.3.3 The Report Generation module


This module in the project management system generates various reports
dynamically from the data stored in it. It facilitates the administrative staff to take
timely decisions related to the college in future.

4.3.4 The Project status module


This module in the project management system generates receipt dynamically
for the all project payments made by a student. This receipt is generated as soon as a
project collection is added to the database. At the bottom of the receipt, when the
print option is clicked, two copies of the receipt are rendered- one, the office copy,
and the other, the student copy. This particular module in the system converts the
manual activity of writing a receipt into an automated one. Thus, time can be saved to
a great extent during project collection process, and more project collections can be
made on a single day.

4.4 CONCLUSION
There is a need for the division of system into modules, as this increases the
efficiency of the system design greatly. Each module can be carefully designed and
implemented according to the customers needs.
After the system has been designed properly, it is now time for its actual
implementation. This stage involves writing the code, and verifying the results
obtained.

5. IMPLEMENTATION AND RESULTS


Dept of CSE,MITS

Page 15

COLLEGE PROJECT MANAGEMENT SYSTEM

5.1 INTRODUCTION
5.1.1 PHP
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open
source general-purpose scripting language that is especially suited for web
development and can be embedded into HTML.
Example 1: An introductory example
<html>
<head>
<title>Example</title>
</head>
<body>
<? php
echo "Hi, I'm a PHP script!";
?>
</body>
</html>

There are three main areas where PHP scripts are used.

Server-side scripting. This is the most traditional and the main target field for PHP.
You need three things to make this work- the PHP parser (CGI or server module), a
web server and a web browser. You need to run the web server, with a connected
PHP installation. You can access the PHP program output with a web browser,
viewing the PHP page through the server. All these can run on your home machine
if you are just experimenting with PHP programming.

Command line scripting. You can make a PHP script to run it without any server or
browser. You only need the PHP parser to use it this way. This type of usage is
ideal for scripts regularly executed using Cron (on *nix or Linux) or Task
Scheduler (on Windows). These scripts can also be used for simple text processing
task.

Dept of CSE,MITS

Page 16

COLLEGE PROJECT MANAGEMENT SYSTEM

Writing desktop applications. PHP is probably not the very best language to
create a desktop application with a GUI, but if you know PHP very well, and
would like to use some advanced PHP features in your client-side applications, you
can also use PHP-GTK to write such programs. You also have the ability to write
cross-platform applications this way. PHP-GTK is an extension to PHP, not
available in the main distribution.
PHP can be used on all major operating systems, including Linux, many

UNIX variants (including HP-UX, Solaris and Open BSD), Microsoft Windows, Mac
OS X, RISC OS, and probably others. PHP also has support for most of the web
servers today. This includes Apache, IIS, and many others. PHP works as either a
module, or as a CGI processor.
So with PHP, you have the freedom of choosing an operating system and a
web server. Furthermore, you also have the choice of using procedural programming
(POP) or object-oriented programming (OOP), or a mixture of them both.

5.1.2 MySQL Database Server


A database is a structured collection of data. It may be anything from a simple
shopping list to a picture gallery or the vast amounts of information in a corporate
network. To add, access, and process data stored in a computer database, you need a
database management system such as MySQL Server. Since computers are very good
at handling large amounts of data, database management systems play a central role in
computing, either as standalone utilities, or as parts of other applications.
MySQL Server is the world's most widely-used relational database management
system (RDBMS) that runs as a server providing multi-user access to a number of databases.
MySQL is a popular choice of database for use in most web applications, and is a central
component of the widely used AMP (Apache web server, MySQL database, PHP/Perl) opensource web application software stack.

5.1.3 HTML5
Dept of CSE,MITS

Page 17

COLLEGE PROJECT MANAGEMENT SYSTEM


HTML stands for Hypertext Markup Language, and it is the most widely-used
language to write layout information for web pages. As its name suggests, HTML is a
markup language.

Hypertext refers to the way in which web pages are linked together. When you
click a link in a web page, you are using hypertext.

Markup language describes how HTML works. With a markup language, you
simply "mark up" a text document with tags that tell a web browser how to
structure it to display.

Originally, HTML was developed with the intent of defining the structure of
documents like headings, paragraphs, lists, and so forth, to facilitate the sharing of
scientific information between researchers.
All you need to do to use HTML is to learn what type of markup to use to get the
results you want.

Creating HTML Document

Open Notepad or another text editor (like EditPlus, Notepad++ etc.).


At the top of the page type <html>.
On the next line, indent five spaces and now add the opening header tag:

<head>.
On the next line, indent ten spaces and type <title></title>.
Go to the next line, indent five spaces from the margin and insert the closing

header tag: </head>.


Five spaces in from the margin on the next line, type<body>.
Now drop down another line and type the closing tag right below its mate:

</body>.
Finally, go to the next line and type </html>.
In the File menu, choose Save As. In the Save as Type option box, choose All

Files.
Name the file template.htm or template.html.
Click Save.

Dept of CSE,MITS

Page 18

COLLEGE PROJECT MANAGEMENT SYSTEM


<html>
<head>
<title>This is the document
title
</title>
</head>
<body>
<h1>This is a heading</h1>
<p>Document description goes
here.....
</p>
</body>
</html>

HTML Document Structure


An HTML document starts and ends with <html> and </html> tags. These tags
tell the browser that the entire document is composed in HTML. Inside these two tags,
the document is split into two sections:

The <head>...</head> elements, which contain information about the


document such as title of the document, author of the document etc.
Information inside this tag does not display outside.

The <body>...</body> elements, which contain the real content of the


document that you see on your screen.
HTML5 is the fifth revision of the HTML standard and is now a candidate

recommendation of the World Wide Web Consortium (W3C). Its core aims have been
to improve the language with support for the latest multimedia, while keeping it easily
readable by humans and consistently understood by computers and devices (web
browsers, parsers, etc.). When making use of HTML5, there is no need for validating
the client data using JavaScript. This is automatically done by the HTML5 parser.

Dept of CSE,MITS

Page 19

COLLEGE PROJECT MANAGEMENT SYSTEM

5.1.4 Model-View-Controller (MVC)


Yii framework implements the model-view-controller (MVC) design pattern,
which is widely adopted in Web programming. MVC aims to separate business logic
from user interface considerations, so that developers can easily change each part
without affecting the other.
In MVC, the model represents the information and the business rules; the view
contains elements of the user interface such as text, form inputs; and the controller
manages the communication between the model and the view. Besides implementing
the MVC, Yii also introduces a front-controller called Application, which
encapsulates the execution context for the processing of a request. Application
collects some information about a user request and then dispatches it to an appropriate
controller for further handling. The following diagram shows the static structure of a
Yii application:

Figure 7: Static structure of a Yii application


The following figure shows the typical work of a Yii application when handling a
request:

Figure 8: Typical workflow of a Yii application


Dept of CSE,MITS

Page 20

COLLEGE PROJECT MANAGEMENT SYSTEM


1. A user makes a request with the URL http://www.example.com/index.php?r=post/
show&id=1 and the Web server handles the request by executing the bootstrap script
index.php.
2. The bootstrap script creates an Application instance and runs it.
3. The Application obtains detailed user request information from an application
component named request.
4. The application determines the requested controller and action with the help of an
application component named urlManager. For this example, the controller is
Post, which refers to the Post Controller class; and the action is show, whose actual
meaning is determined by the controller.
5. The application creates an instance of the requested controller to further handle the
user request. The controller determines that the action show refers to a method.
6. The action reads a Post model whose ID is 1 from the database.
7. The action renders a view named show with the Post model.
8. The view reads and displays the attributes of the Post model.
9. The view executes some widgets.
10. The view rendering result is embedded in a layout.
11. The action completes the view rendering and displays the result to the user.

Model
A model is an instance of CModel or a class that extends CModel. Models are
used to keep data and their relevant business rules.
A model represents a single data object. It could be a row in a database table
or a HTML form with user input fields. Each field of the data object is represented by
an attribute of the model. The attribute has a label and can be validated against a set of
rules. Yii implements two kinds of models: form models and active records. They
both extend from the same base class, CModel.

Views
A view is a PHP script consisting mainly of user interface elements. It can
contain PHP statements, but it is recommended that these statements should not alter
the data models and should remain relatively simple. In the spirit of separating logic
and presentation, large chunks of logic should be placed in controllers or models
rather than in views.
Dept of CSE,MITS

Page 21

COLLEGE PROJECT MANAGEMENT SYSTEM


A view has a name which is used to identify the view script file when
rendering. The name of a view is the same as the name of its view script. For
example, the view name edit refers to a view script named edit.php. To render a view,
call CController::render()with the name of the view. The method will look for the
corresponding view file under the directory protected/views/ControllerID. Inside the
view script, we can access the controller instance using $this. We can thus pull in any
property of the controller by evaluating $this->property Name in the view.
We can also use the following push approach to pass data to the view:
$this->render('edit',array('var1'=>$value1,
'var2'=>$value2));

Controller
A controller is an instance of CController or of a class that extends
CController. It is created by the application object when the user requests it. When a
controller runs, it performs the requested action, which usually brings in the needed
models and renders an appropriate view. An action, in its simplest form, is just a
controller class method whose name starts with action. The controller has a default
action. When the user request does not specify which action to execute, the default
action will be executed. By default, the default action is named as index. It can be
changed by setting the public instance variable, CController::default Action. The
following code calls a site controller, an index action (the default action), and a
contact action:
class SiteController extends CController
public function actionIndex()
/ ...
public function actionContact()
// ...

5.2 EXPLANATION OF KEY FUNCTIONS


Some of the key functions used in the project are explained below. They form
the most important part of the code.

5.2.1 Customizing rules() method


Dept of CSE,MITS

Page 22

COLLEGE PROJECT MANAGEMENT SYSTEM


We have to specify validation rules which ensure that the attribute values
entered by the user are correct before they are saved to the database.
public function rules()
{
return array(
array('admission_no, roll_no, stud_name, fname,
batch_start,

course_id,

branch_id,

stud_cat,

reimb_appl, caste_cat', 'length', 'max'=>40),


array('admission_no, roll_no, stud_name, fname,
batch_start,

course_id,

branch_id,

stud_cat,

reimb_appl, caste_cat','required'),
array('created_on,updated_on','default','value'
=>new

CDbExpression('NOW()'),

'setOnEmpty'=>false,

'on'=>'insert'),
array('created_by,updated_by','default','value'
=>Yii::app()->user->name,

'setOnEmpty'=>false,

'on'=>'insert'),
array('updated_by',

'default',

'value'=>Yii::app()->user->name,
'setOnEmpty'=>false,
array('updated_on',

'on'=>'update'),
'default'

,'value'=>new

CDbExpression('NOW()'),
'setOnEmpty'=>false, 'on'=>'update'),
array('ip_addr','default','value'=>Yii::app()>request->getUserHostAddress(),

'setOnEmpty'=>false,

'on'=>'insert'),
);
}
Based on the requirement analysis, we modify the rules() method as shown
above. In the above, we specify that the username and password attributes are
required to be entered by the user and the length of each one of them should not
exceed 40 characters. The default values for the other attributes- created_on,
created_by, updated_on, updated_by & ip_addr are also specified. These
attributes are used for the purpose of maintaining activity logs, which are useful for
Dept of CSE,MITS

Page 23

COLLEGE PROJECT MANAGEMENT SYSTEM


security purposes. The values for these attributes are stored in the database
automatically by the system itself.
The rules declared in the rules() method are executed one-by-one when we call
the validate() or save() method of the model instance.

5.2.2 Customizing relations() Method


Next, we customize the relations() method to specify the related objects of a
post. By declaring these related objects in relations() function, we can make use of the
powerful Relational Active Record (RAR) feature to access the related object
information of a post, such as its author and comments, without the need to write
complex SQL JOIN statements. We customize the relations() method as follows:
public function relations()
{
return array('course'=>array(
self::BELONGS_TO,'Course','course_id'),
'branch'=>array(
self::BELONGS_TO,'Branch','branch_id'),
);
}
The relations declared above state that course_id & branch_id attributes
present in the Student_master table belong to classes Course and Branch
respectively.

relationship

is

established

between

the

tables

(models)

Student_master and Course, Student_master and Branch.

5.2.3 accessRules()
The detailed authorization rules to perform various actions are specified by
overriding the accessRules() function in the Controller class.
public function accessRules() {
return array(
array('allow',
'actions'=>array('create','update','delete'),
'users'=>array("@")),
array('deny',
'actions'=>array('create','update','delete'),
Dept of CSE,MITS

Page 24

COLLEGE PROJECT MANAGEMENT SYSTEM


'users'=>array("?"),),
array('allow', 'actions'=>array('display'),
'users'=>array("@")),
array('deny', 'actions'=>array('display'),
'users'=>array("?")),
);
}
The above code specifies four rules, each represented as an array. The first
element of the array is either 'allow' or 'deny' and the second element specifies the
actions for which access rules have to be applied. The third parameter specifies what
types of users have access to perform these actions. The first rule defined above is
interpreted as follows- the create update and delete actions can be performed by
all authenticated users. The second rule specifies that the create, update and
delete actions cannot be performed by anonymous users. In Yii, three special
characters can be used for defining user types:
* : any user, including both anonymous and authenticated users
? : anonymous users
@ : authenticated users
The access rules are evaluated one-by-one in the order they are specified. The
first rule that matches the current pattern (e.g. username, roles, client IP, address)
determines the authorization result. If this rule is an allow rule, the action can be
executed; if it is a deny rule, the action cannot be executed; if none of the rules match
the context, the action can still be executed.

5.2.4 actionCreate()
The actionCreate() function is used to create new values for a particular table.
To illustrate how this works, let's understand the following codepublic function actionCreate() {
$model = new Student_master;
if(isset($_POST['Student_master'])) {
$model>attributes=$_POST['Student_master'];
if($model->save()) {

Dept of CSE,MITS

Page 25

COLLEGE PROJECT MANAGEMENT SYSTEM


$this>render("student_masterform",array("model"=>$model))
;
}
else {
print_r($model->errors);
}
} else {
$this>render("student_masterform",array("model"=>$model))
;
}
}
In the first line, we have first created an instance, $model, of the
Student_master model class. Then, we use the PHP pre-defined variable $_POST to
collect attributes from the form student_master. We check if the newly created
values are saved in the model or not. If saved, the same form is being displayed for
the addition of new students. If not, errors are displayed.

5.2.5 actionIndex()
A console command action is a method in a console Command class. The
method name must be of the format actionXyz, where Xyz refers to the name of the
action with the first letter in upper-case. For example, a method actionIndex defines
an action named index. To execute a specific action, we use the following console
command format:
yiic<command-name><action-name>--option1=value-option2=value2 ...
The additional option-value pairs will be passed as named parameters to the
action method. The value of a xyz option will be passed as the $xyz parameter of the
action method. For example, if we define the following command class:
class SitemapCommand extends CConsoleCommand {
public function actionIndex($type, $limit=5) ..
public function actionInit()}

Dept of CSE,MITS

Page 26

COLLEGE PROJECT MANAGEMENT SYSTEM


Then, the following console commands will all result in calling actionIndex('News',
5):
yiic sitemap index --type=News --limit=5
// $limit takes default value
yiic sitemap index --type=News
// $limit takes default value
// because &#039;index&#039; is a default action, we
can omit the action name
yiic sitemap --type=News
// the order of options does not matter
yiic sitemap index --limit=5 --type=News
If an option is given without value (e.g. --type instead of --type=News), the
corresponding action parameter value will be assumed to be boolean true.

5.2.6 loadModel()
In Yii, the view operation is implemented by the actionView() method in the
PostController. Its display is generated by the view with the view
file /wwwroot/blog/protected/views/post/view.php.
In the loadModel() method, we query the Post table according to the id GET
parameter. If the model is not found or if it is not published, we will throw a 404
HTTP error saying that the required page does not exist. Otherwise, the object is
returned to actionView() which in turn passes the post object to the viewScript for
further display.
public function loadModel($id) {
$model=Student_master::model()->findByPk($id);
if($model===null)
throw

new

CHttpExeception(404,"The

required page doesnt exist");


return $model; }

5.3 METHOD OF IMPLEMENTATION


We first have to install the required software for the project. This includes
XAMPP (X-any OS, A-Apache, M-MySQL, P-PHP, P-Perl). XAMPP is a software
Dept of CSE,MITS

Page 27

COLLEGE PROJECT MANAGEMENT SYSTEM


package that comes with a database server- MySQL, a web server- Apache, and
intermediate languages PHP and Perl. After installation, we need to follow the
instructions specified to deploy these applications in order to make them ready-to-use.
For this project, the first step of implementation is to design the database
tables. Then, the next step is to write a model, a view and a controller for each (or
most) of these tables in the database. The necessary constraints required must be
specified separately for each of these.

5.3.1 Forms
A form is used to collect user-given input. It is a front-end user interface
element. The following are some of the forms used in the project.
5.3.1.1 Login Form
Below, we create a LoginForm model class used to collect user input on a
login page. Because the login information is only used to authenticate the user and
does not need to be saved, we create LoginForm as a form model.
<style type="text/css">
body,td,th {
font-family: Verdana, Geneva, sans-serif;
color: #000;
font-weight: bold;
}
body {
background-color: #FFC;
}
</style>
<?php

Dept of CSE,MITS

Page 28

COLLEGE PROJECT MANAGEMENT SYSTEM


include("connect.php");
include("functions.php");
echo '<title>Login</title></head><body>';

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$name = clean($_POST['username']);
$pass = clean($_POST['password']);
$ip = $_SERVER['REMOTE_ADDR'];

if (empty($name))
err('name');
if(empty($pass))
err('password');
$pass = $pass;
//$pass = md5($pass);

$link = "SELECT * FROM users WHERE name='$name' AND


password='$pass'";
$res = mysql_query($link) or die(mysql_error());
$total = mysql_num_rows($res);

Dept of CSE,MITS

Page 29

COLLEGE PROJECT MANAGEMENT SYSTEM

if($total == 0)
die("<br />username/password could not be verfied
please try again.");
else
{
$row = mysql_fetch_assoc($res);
$id = $row['id'];
$ip = $_SERVER['REMOTE_ADDR'];
$_SESSION['admin'] = $row['admin'];
$_SESSION['user'] = $name;
$link = "UPDATE users
SET`date`=NOW(),`ip`='$ip' WHERE id='$id'";
$res = mysql_query($link) or
die(mysql_error());
die("<p class='heading'>succesfully logged
in</p><p>choose a menu item from above</p>");
}
}
else
{
echo '<br />
Dept of CSE,MITS

Page 30

COLLEGE PROJECT MANAGEMENT SYSTEM


<form action="table1.php" method="POST">
<table align="center">
<tr><td colspan="5" align="center"
class="heading">login</td></tr>
<tr><td>Username</td><td><input type="text"
name="username"></td></tr>
<tr><td>Password</td><td><input type="text"
name="password"></td></tr>
<tr><td colspan="2"><input type="submit" align="center"
value="login"></td></tr></form>
</table >';
}
?>

5.3.1.2 Add students form


<div class="form" >
<?php
$form=$this>beginWidget( 'bootstrap.widgets.TbActiveForm',
array(
'id'=>'student_master-form',
'enableAjaxValidation'=>false,
'enableClientValidation'=>true,
'type'=>'horizontal',
'htmlOptions'=>array('class'=>'well'),
'clientOptions'=>array(
Dept of CSE,MITS

Page 31

COLLEGE PROJECT MANAGEMENT SYSTEM


'validateOnSubmit'=>true,
)
));
?>
<h1 style="color:maroon;font-family:calibri">Add
Students</h1><br/>
<p class="note">Fields with <span
class="required">*</span> are required.</p>
<div class="error">
<?php echo $form->errorSummary($model); ?>
</div>
<?php echo $form>textFieldRow($model,'admission_no'); ?>
<?php echo $form->textFieldRow($model,'roll_no'); ?>
<?php echo $form>textFieldRow($model,'stud_name'); ?>
<?php echo $form->textFieldRow($model,'fname'); ?>
<?php echo $form>textFieldRow($model,'batch_start'); ?>
<div class="control-group">
<?php echo $form->labelEx($model,'course_id',array(
'class'=>'control-label')); ?>
<?php echo $form->hiddenField($model,'course_id'); ?
>
<?php $this>widget( 'zii.widgets.jui.CJuiAutoComplete',array(
'name'=>'course_id',
'source'=>'?r=course/getCourses',
'options'=>array(
'minLength'=>'2',
'select'=>'js:function(event, ui) {
$
("#'.CHtml::activeId($model,'course_id').'").val(ui.item.
course_id);
Dept of CSE,MITS

Page 32

COLLEGE PROJECT MANAGEMENT SYSTEM


}'
),
'htmlOptions'=>array(
'id'=>'course_id',
'placeholder'=>'Search by part of course
name',
),
));
?>
</div>
<div class="control-group">
<?php echo $form>labelEx($model,'branch_id',array('class'
=>'control-label')); ?>
<?php echo $form->hiddenField($model,'branch_id'); ?
>
<?php
$this>widget('zii.widgets.jui.CJuiAutoComplete', array(
'name'=>'branch_id',
'source'=>'?r=branch/getBranches'
'options'=>array(
'minLength'=>'2',//min chars to start
search
'select'=>'js:function(event, ui) {
$
("#'.CHtml::activeId($model,'branch_id').'").val(ui.item.
branch_id);
}'),
'htmlOptions'=>array(
'id'=>'branch_id',
'placeholder'=>'Search by part of
branch name',
),
Dept of CSE,MITS

Page 33

COLLEGE PROJECT MANAGEMENT SYSTEM


));
?>
</div>
<?php echo $form->dropDownListRow($model,'stud_cat',
array('select'=>'Select an option', 'A'=>'Convenor(A)',
'B'=>'Management(B)')); ?>
<?php echo $form>dropDownListRow($model,'reimb_appl',
array('select'=>'Select an
option','Y'=>'Yes','N'=>'No')); ?>
<?php echo $form>dropDownListRow($model,'caste_cat',
array('select'=>'Select an option','OC'=>'OC', 'BCA'=>'BC-A', 'BC-B'=>'BC-B', 'BC-C'=>'BC-C','BC-D'=>'BCD','BC-E'=>'BC-E','SC'=>'SC','ST'=>'ST')); ?>
<div class="form-actions">
<?php $this->widget('bootstrap.widgets.TbButton',
array(
'buttonType'=>'submit',
'type'=>'success',
'label'=>($model->isNewRecord ? 'Create' :
'Save'),
));

?>

</div>
<?php $this->endWidget(); ?></div>

5.3.1.3 Registration form


<div class="form" >
<?php $form=$this>beginWidget( 'bootstrap.widgets.TbActiveForm',array(
'id'=>'users-form',
'enableAjaxValidation'=>false,
'enableClientValidation'=>true,
Dept of CSE,MITS

Page 34

COLLEGE PROJECT MANAGEMENT SYSTEM


'type'=>'horizontal',
'htmlOptions'=>array('class'=>'well'),
'clientOptions'=>array(
'validateOnSubmit'=>true,
))); ?>
<h1 style="color:maroon;font-family:calibri">Create
Users</h1><br/>
<p class="note">Fields with <span
class="required">*</span> are required.</p>
<div class="error">
<?php echo $form->errorSummary($model); ?>
</div>
<?php echo $form->textFieldRow($model, 'username',
array('size'=>15, 'maxlength'=>15)); ?>
<?php echo $form->passwordFieldRow($model, 'password',
array('size'=>15, 'maxlength'=>15)); ?>
<div class="form-actions">
<?php $this->widget('bootstrap.widgets.TbButton',
array(
'buttonType'=>'submit',
'type'=>'success',
'label'=>($model->isNewRecord ? 'Create' :
'Save'),
));

?>

</div> <?php $this->endWidget(); ?> </div>


5.3.1.4 Edit Projects
<style type="text/css">
body,td,th {
font-family: Verdana, Geneva, sans-serif;
color: #900;
font-weight: bold;

Dept of CSE,MITS

Page 35

COLLEGE PROJECT MANAGEMENT SYSTEM


}
body {
background-color: #FF9;
}
</style>
<?php
include("connect.php");

include("functions.php");
echo '<title>Edit Project</title></head><body>';

if (isset($_GET['id']) && $_SERVER['REQUEST_METHOD'] !=


'POST')
{
$id = clean($_GET['id']);
if (empty($id) || !is_numeric($id))
die("Please only follow the links on the page.");

$link = "SELECT * FROM projects WHERE id='$id'";


$res = mysql_query($link) or die(mysql_error());
$total = mysql_num_rows($res);
$row = mysql_fetch_assoc($res);
$priv = $row['private'];
//print_r(array_values($row)); die;
//ho $_SESSOIN['admin'];
if ($priv == 1 && $_SESSION['admin'] != 1)
Dept of CSE,MITS

Page 36

COLLEGE PROJECT MANAGEMENT SYSTEM


die("An admin has marked this project uneditable.");

if ($total == 0)
die("<p>No project exists with this id.</p>");

echo '<br />


<form action="" method="POST">'
. $tablehead . '
<tr>
<td colspan="2" class="heading">
edit project
</td>
</tr>
<tr>
<td>name</td>
<td><input type="text" name="name" value="' .
$row['name'] . '">
</td>
</tr>
<tr>
<td>date</td>
<td><input type="text" name="date" value="' .
$row['date'] . '">
</td>
Dept of CSE,MITS

Page 37

COLLEGE PROJECT MANAGEMENT SYSTEM


</tr>
<tr>
<td valign="top">description</td>
<td><textarea name="des" rows="10" cols="40">' .
$row['des'] . '</textarea>' . '
</td>
</tr>
<tr>
<td>category</td>
<td><select name="cat">';
$link1 = "SELECT * FROM category";
$res1 = mysql_query($link1);
$cur = $row['cat'];
$x = 0;
while ($row1 = mysql_fetch_row($res1))
{
$cat = $row1[0];
if ($cat == $cur && $x != 1)
{
echo '<option value="' . $cat . '" selected>' .
$cat;
$x = 1;
}
else
echo '<option value="' . $cat . '">' . $cat;
}
echo '</select></td></tr>
Dept of CSE,MITS

Page 38

COLLEGE PROJECT MANAGEMENT SYSTEM


<tr><td>status</td>
<td><select name="status">';

$link2 = "SELECT * FROM status";


$res2 = mysql_query($link2);
$stat = $row['status'];
$x = 0;
while ($row2 = mysql_fetch_row($res2))
{
$status = $row2[0];
if ($stat == $status && $x != 1)
{
echo '<option value="' . $status . '"
selected>' . $status;
$x = 1;
}
else
echo '<option value="' . $status . '">' .
$status;
}
echo '</select><br />
<tr><td>sort</td>
<td><input type="text" name="sort" value="' .
$row['sort'] . '"></td></tr>
<tr><td>private</td>';
if ($priv == 1)

Dept of CSE,MITS

Page 39

COLLEGE PROJECT MANAGEMENT SYSTEM


echo '<td><input type="checkbox" name="private"
checked></td></tr>';
else
echo '<td><input type="checkbox"
name="private"></td></tr>';
echo '
<tr><td>last changed</td>
<td>' . $row['last_changed'] . '</td></tr>
<tr><td>last user</td>
<td>' . $row['last_user'] . '</td></tr>
<tr>
<td>Delete</td>
<td><input type="checkbox" name="delete"></td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="id" value="' . $id . '">
<input type="submit" value="Update"></td></tr>
<input type="Submit"
value="Upload"></td></tr></form></table>';

}
elseif ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$id = clean($_POST['id']);
$status = clean($_POST['status']);
$name = clean($_POST['name']);
Dept of CSE,MITS

Page 40

COLLEGE PROJECT MANAGEMENT SYSTEM


$date = $_POST['date'];
$des = clean($_POST['des']);
$cat = clean($_POST['cat']);
@$delete = $_POST['delete'];
$sort = clean($_POST['sort']);
@$priv = clean($_POST['private']);
$time = date("h:i:s A");
$d = date("n/j/Y");
$change = $d . " " . $time;
$n = $_SESSION['user'];

$need = array($status,$name,$date,$des,$cat,$sort);
foreach ($need as $val)
{
if (empty($val))
die("You did not fill out all required
fields.");
}
if (!is_numeric($sort))
die("The sort value must be a whole number.");

if ($priv == 'on')
$priv = 1;
else
$priv = 0;

Dept of CSE,MITS

Page 41

COLLEGE PROJECT MANAGEMENT SYSTEM


//echo "priv is " . $priv; die;

$set =
"name='$name',`date`='$date',des='$des',cat='$cat',sort='
$sort',last_changed='$change',private='$priv',last_user='
$n',status='$status'";

$link = "SELECT * FROM projects WHERE id='$id'";


$res = mysql_query($link) or die(mysql_error());
$total = mysql_num_rows($res);
if ($total == 0)
die("No Projects exist by this id.");

if ($delete == 'on')
{
admin();
$link = "DELETE FROM projects WHERE id='$id'";
$res = mysql_query($link) or
die(mysql_error());
if ($res)
die('<br /><br />Project Succesfully
Deleted.<br />Click <a href="index.php">here</a> to go
back.');
}

$link = "UPDATE projects SET $set WHERE id='$id'";


$res = mysql_query($link) or die(mysql_error());
Dept of CSE,MITS

Page 42

COLLEGE PROJECT MANAGEMENT SYSTEM


if ($res)
die('<p>succesfully updated.<br />click <a
href="projects.php">here</a> to continue.</p>');
}
else
die('You should not be seeing this.<br />Click <a
href="index.php">here</a> to go back.');
?>

5.3.2 Output Screens


5.3.2.1 Login Page

Dept of CSE,MITS

Page 43

COLLEGE PROJECT MANAGEMENT SYSTEM


5.3.2.2 Add Students Page

Dept of CSE,MITS

Page 44

COLLEGE PROJECT MANAGEMENT SYSTEM


5.3.2.3 Add Project Collections Page

Dept of CSE,MITS

Page 45

COLLEGE PROJECT MANAGEMENT SYSTEM


5.3.2.4 Status

Dept of CSE,MITS

Page 46

COLLEGE PROJECT MANAGEMENT SYSTEM


5.3.2.5 Category

Dept of CSE,MITS

Page 47

COLLEGE PROJECT MANAGEMENT SYSTEM


5.3.2.6 References

Dept of CSE,MITS

Page 48

COLLEGE PROJECT MANAGEMENT SYSTEM

6. TESTING AND VALIDATION

The purpose of testing is to discover errors. Testing is the process of trying to


discover every conceivable fault or weakness in a work product. It provides a way to
check the functionality of components, sub assemblies, assemblies and/or a finished
product It is the process of exercising software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a
specific testing requirement.

TYPES OF TESTS

Unit testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid outputs.
All decision branches and internal code flow should be validated. It is the testing of
individual software units of the application .it is done after the completion of an
individual unit before integration. This is a structural testing, that relies on knowledge
of its construction and is invasive. Unit tests perform basic tests at component level
and test a specific business process, application, and/or system configuration. Unit
tests ensure that each unique path of a business process performs accurately to the
documented specifications and contains clearly defined inputs and expected results.
Integration testing
Integration tests are designed to test integrated software
components to determine if they actually run as one program. Testing
is event driven and is more concerned with the basic outcome of
screens or fields. Integration tests demonstrate that although the
components were individually satisfaction, as shown by successfully
unit testing, the combination of components is correct and consistent.

Dept of CSE,MITS

Page 49

COLLEGE PROJECT MANAGEMENT SYSTEM


Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.

Functional test

Functional tests provide systematic demonstrations that functions tested are


available as specified by the business and technical requirements, system
documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input

: identified classes of valid input must be accepted.

Invalid Input

: identified classes of invalid input must be rejected.

Functions

: identified functions must be exercised.

Output

: identified classes of application outputs must be exercised.

Systems/Procedures: interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on requirements, key


functions, or special test cases. In addition, systematic coverage pertaining to identify
Business process flows; data fields, predefined processes, and successive processes
must be considered for testing. Before functional testing is complete, additional tests
are identified and the effective value of current tests is determined.

System Test
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An
example of system testing is the configuration oriented system integration test.
System testing is based on process descriptions and flows, emphasizing pre-driven
process links and integration points.

Dept of CSE,MITS

Page 50

COLLEGE PROJECT MANAGEMENT SYSTEM

White Box Testing


White Box Testing is a testing in which in which the software tester has
knowledge of the inner workings, structure and language of the software, or at least its
purpose. It is purpose. It is used to test areas that cannot be reached from a black box
level.

Black Box Testing


Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most
other kinds of tests, must be written from a definitive source document, such as
specification or requirements document, such as specification or requirements
document. It is a testing in which the software under test is treated, as a black box
.you cannot see into it. The test provides inputs and responds to outputs without
considering how the software works.

6.1 Unit Testing:

Unit testing is usually conducted as part of a combined code and unit test
phase of the software lifecycle, although it is not uncommon for coding and unit
testing to be conducted as two distinct phases.

Test strategy and approach


Field testing will be performed manually and functional tests will be written in
detail.
Test objectives

All field entries must work properly.

Pages must be activated from the identified link.

The entry screen, messages and responses must not be delayed.

Dept of CSE,MITS

Page 51

COLLEGE PROJECT MANAGEMENT SYSTEM

Features to be tested

Verify that the entries are of the correct format

No duplicate entries should be allowed

All links should take the user to the correct page.

6.2 DESIGN OF TEST CASES & SCENARIOS


The objective is to design tests that systematically uncover different classes of
errors and do so with a minimum amount of time and effort.

Test cases for CPMS:


Test Case ID

Description

Input required

Expected value

Test Result

CPMS_1

Enter a valid username


and
password
in
registration page.
Enter
the
correct
username and matching
password in login page.
Enter valid student
details.
Enter correct project
commitments of student.
Enter correct project
collection of student.
Enter a correct pay date.

Valid username &


password.

Registration
successful.

Pass

Valid username &


password.

Login successful.

Pass

Valid
student
details.
Valid
project
commitments.
Valid
project
collection.
Valid pay date.

Store in database.

Pass

Store in database.

Pass
Pass

Enter a pay date in the


future.

Valid pay date.

Store details in
database.
Accept and store
date in database.
Do not accept the
date.

CPMS_2
CPMS_3
CPMS_4
CPMS_5
CPMS_6
CPMS_7

Pass
Fail

6.2.1 Unit Testing


Unit testing is carried out screen-wise, each screen being identified as an
object. Attention has been paid to every individual module, treating it independent of
other modules, in order to locate errors. This has enabled the detection of errors in
coding and logic. This is called the first level of testing.

Dept of CSE,MITS

Page 52

COLLEGE PROJECT MANAGEMENT SYSTEM

6.2.2 Integration Testing


This testing strategy combines all the modules involved in the system. After
the independent modules are tested, dependent modules that use independent modules
are tested. This sequence of testing layers of dependent modules continues until the
entire system is constructed.
Though each module is tested individually, they should work after linking
them together. Data maybe lost across interface and one module can have adverse
effect on another. Subroutines, after linking, may not do the desired function expected
by the main routine. Hence, the entire system, after integration, has to be tested again.
Integration testing is a systematic technique for constructing program structure
while at the same time, conducting test to uncover errors associated with the interface.

6.2.3 Validation Testing


Validation testing is aims to demonstrate that the software
functions in a manner that can be reasonably expected by the
customer. This tests the conformance of the software to the
Software Requirements Specification (SRS).
6.2.3.1 Validation Test Criteria
A set of black box tests is done to demonstrate conformance with
requirements. Its main purpose is to check that all functional requirements are
satisfied, all performance requirements are achieved, documentation is correct and
other requirements are also met (e.g. compatibility, error recovery, and
maintainability).
6.2.3.2 Configuration Review
An audit review is done to ensure that all elements of the software
configuration are properly developed and catalogued. This review helps greatly in
correcting the faults present in the system.
6.2.3.3 System Testing
Software is only one component of a system. Software will be
incorporated with other system components and system integration
and validation test performance.
Dept of CSE,MITS

Page 53

COLLEGE PROJECT MANAGEMENT SYSTEM

6.3 VALIDATION
0Validation aims to demonstrate that the software functions in
a manner that can be reasonably expected by the customer. This
tests the conformance of the software to the Software Requirements
Specification.

6.4 CONCLUSION
This software College Project Management System was designed and
developed for the college Vidya Jyothi Institute of Technology. The system has been
tested properly and ensured that it is ready to go live.

Dept of CSE,MITS

Page 54

COLLEGE PROJECT MANAGEMENT SYSTEM

7. CONCLUSION
College Project Management System is an efficient software that reduces
the work load of the college staff in managing all project-activities. It is much faster
and more efficient than the existing system, and is very user-friendly. It automates all
activities during the time of project payments and eliminates paper work to a great
extent.
In future, we can extend this project by adding other modules like admission,
transport and so on. Also, it is only a stand-alone application right now. It can be
deployed as a web application and incorporated into the website of the college.

Dept of CSE,MITS

Page 55

COLLEGE PROJECT MANAGEMENT SYSTEM

8. REFERENCES
1.
2.
3.
4.
5.
6.
7.
8.

MySQL 5.5 Reference Manual


PHP manual
www.yiiframework.com
HTML5 & CSS3 by Brian P. Hogan
The Definitive Guide to Yii 1.1 by QiangXue and Xiang Wei Zhou
Yii-Booster (http://yiibooster.clevertech.biz)
Wikipedia (en.wikipedia.org)
www.w3schools.com

Dept of CSE,MITS

Page 56

Vous aimerez peut-être aussi