Ignou MCA 4th semester mini project report. College admission system. This project is based on real working system of University seat allocation to affiliate colleges. College admission system provide seat allocation process for various UG PG programs for every academic session.
1. 1
PROJECT TITLE
College Admission System
By
Hitesh Jangid
Under Guidance
Of
Mr. Sandeep Deora
Submitted to the School of Computer and information Sciences in partial
fulfillment of the requirements for the degree of
Masters
Of
Computers Application
Indira Gandhi National Open University
2. 2
This is to certify that the project report entitled College Admission System submitted to Indira
Gandhi National Open University in partial fulfilment of the requirement for the award of the
degree of MASTER OF COMPUTER APPLICATIONS (MCA) is an original work carried out
by Mr Hitesh Jangid, enrolment no. 1485650807, under my guidance. The matter embodied in
this project is authentic and is genuine work done by the student and has not been submitted
whether to this University or to any other University / Institute for the fulfilment of the
requirement of any course of study.
.......................................
...........
.................................
Signature of the Student Signature of
The Counsellor
Date Date:
Name and Address Name, Designation &
Of the Student Address of the Counsellor
Hitesh Jangid Mr. Sandeep Deora
3. 3
ABSTRACT
Abstraction is an indispensable part of the design process and is essential for problem
partitioning. Partitioning essentially is the exercise in determining the system components are
not isolated from each other but interacts with other components. Abstraction is used for exiting
components as well as components that are being designed. Using this abstraction behaviour
of the entire system can be understood.
ABSTRACT STRUCTURE:
Fig.1 System Structure
Login
Master SIS ManagementManage User SIS Reports
Admission Form
User Rights
Static ReportAdmission
Report
Graphical
Report
Session Program Group Programs Assign Programs Program Intake
College User
Admin User
4. 4
ACKNOWLEDGEMENT
At the outset, we offer our sincere thanks and deep gratitude to Mr. Sandeep Deora sir.
I had the privilege to receive great inspiration and guidance from him, which helped us to set
the objectives of this study and complete the report. I am fortunate to have constant
encouragement and practical guidance in all aspect of our study. His experience in this line has
been a boon to us in this respect.
5. 5
TABLE OF CONTENTS
Page
CHAPTER 1: INTRODUCTION 7
1.1 Background 7
1.2 Objective 7
1.3 Purpose, Scope and Applicability 8
1.3.1 Purpose 9
1.3.2 Scope 9
1.4 Achievements 9
1.5 Organization of Report 9
CHAPTER 2: SERVEY OF TECHNOLOGY 10
CHAPTER 3: REQUIREMENTS AND ANALYSIS 10
3.1 Problem Definition 10
3.2 Requirement Specification 11
3.3 Planning and Scheduling 13
3.4 Software and Hardware Requirements 18
3.4.1 Hardware Requirements 18
3.4.2 Software Requirements 18
CHAPTER 4: SYSTEM DESIGN 19
4.1 Data Flow Diagram 20
4.2 Data Dictionary & Data Model 22
4.2.1 Schema Design 23
4.2.2 Data Model 27
4.3 Analysis & Designing 27
4.3.1 System Analysis
4.3.2 System Designing
27
28
4.4 User Interface Design 28
4.5 Three Tier Architecture 30
CHAPTER 5: IMPLEMENTATION AND TESTING 74 32
5.1 Coding Details and Screen Shot 32
5.2.1 Coding 32
6. 6
5.2.2 Screen Shot 99
5.2 Testing Approach 104
5.2.1 Testing Procedure 104
5.2.2 System Testing 105
CHAPTER 6: TEST PLAN IDENTIFIER 105
6.1 Test Cases 105
6.2 User Documentation 109
CHAPTER 7: Project Evaluation 109
7.1 Salient Features 109
7.2 Limitations of the System 110
7.3 Future scope of the Project 110
7. 7
Chapter 1 INTRODUCTION
1.1 Introduction
Today, computerized processing of transaction data is an activity of almost any organization.
In this generation, everybody’s life becomes in computerized. They go ahead with the
computer. The areas of computer applications are literally too numerous to mention. Computers
have become an integral part of man’s every-day. They dominate every sphere of life be it
entertainment, education, banking, insurance, medicine, design or manufacturing. Actually this
generation is the era of rapid growth of Information Technology. IT has change the working
process in all fields of human being. So they continue grow and the open new horizons of
discovery and application. One of the primary reasons for the immense popularly of computers
is the speed with which they can accomplish specific tasks. However computer applications
are not always easy to use.
It is a simple small system illustrated by using the most common features of Visual Basic. This
project includes student admissoin and record management in the Colleges & Universities.
With this project it is tried to manage this things easily and with less time of the organization
“Tumkur University”. The problem while managing data in traditional method i.e in excel &
paperwork, they lost some of information of newly enrolled students, sometime it happen that
colleges give admission more than available seats which become issue in the time of
examination. University wants to restrict & allow colleges to fill the admission within the
allotted seat in particular that session.
The basic web language used in this project is Php and the database of the whole project is
created used MYSQL Server. The front end is designed in HTML jQuery & CSS and the back
end is mysql database. By using the front-end user can access data from database as well as
store data in the database. By using the Menu system user can use the other functioning of the
application.
1.2 Objective
Tumkur University having about 80 affiliated college & 3 constituent colleges. Which are offer
main stream UG & PG courses as well as some professional courses like BCA ,MCA & MBA.
Each academic session, University accept new admission from the affiliated & constituent
8. 8
colleges as per seat allocation. In the manual/current system these colleges provide the original
documents, the list of students & the soft copy excel sheet which has the entire information of
the student after the ending of admission season & a representative of these college appear
itself to deliver all these data.
University want to receive all these data on real time & want to apply a uniform method
to get the information from all the colleges for verification.
The student admission process is managed in all the academic institutes i.e. school &
colleges, mostly in a manual procedure. But in the manual procedure there may be so many
drawbacks. In the manual procedure it is quite lengthy to keep all the records. Sometimes
information may be recorded incorrectly. The major objective of the proposed computerized
system is to overcome the drawback of the existing manual system to provide a paperless office
environment. The other objective of this system includes providing an information sources,
increasing efficiency, productivity and build greater user satisfaction and eliminating
duplication of records. So we have found the required information quickly to improve the
various data processing. The proposed system is important for the store of data with minimum
redundancy. It is also important for further use. This will maintain the data integrity. During
the designing of the software my main objective will be make it a user friendly one.
Primary Objectives can be notified as listed below:
o Develop a model of the enterprise from an information viewpoint in order to
improve communications, both within and outside the organization.
o Monitoring student data, document and reports that create, process, store, and
disseminate information.
o Utilization of information resources effectively to achieve the overall goals and
mission of the organization.
1.3 Purpose and Scope
1.3.1 Purpose
College Admission System would have the following goals.
• Provide a user interface to add, view, modify & delete records in different courses.
• Provide a user interface to register student.
9. 9
• Provide a user interface to change user settings like password and view profiles.
• Provide a user interface for administrator to manage the user & students record &
module accessibility rights.
• Provide a master data functioning to add dynamic list of different kind of data like
session master, Program course master etc.
• System is developed in aspect to enhance the functioning area from admission
module to Student Information System where user can manage student’s
information, their promotion in the next level, attendance & marks.
1.3.2 Scope
The main scope and deliverables of the project would be to:
• Understand and prepare detailed requirement and specifications
• Prepare high level and detailed design specifications of the system
• Prepare Test Plan and Test cases
• Develop the system and coding
• Perform unit testing, integration and system testing
• Demonstrate a bug free application after suitable modification if needed.
1.4 Achievements
By successfully implementing College Admission System, a substantial knowledge has been
acquired on the implementation of a server based database system. This knowledge will be
useful in the future in creating any type of application or database systems.
The objective of College Admission System was the creation of a useful application for the
colleges which has been fulfilled. This system can be easily modified to serve the needs of any
reminder.
1.5 Organization of Report
This report is organized in seven chapters, as indicated in the Table of Contents. These chapters
deal with the important aspects of the Systems Development Cycle. Each of the chapters is
divided into Headings and Sub-Headings. Chapter 1 introduces the project, its background and
purpose. The technologies used in the project and the reason thereof are explained in Chapter
2. Chapter 3 broadly deals with the requirements, analysis and planning of the project. All the
design aspects have been dealt with in Chapter 4 including schema design, interface design,
10. 10
security and test cases. The actual implementation has been discussed in Chapter 5, which
includes coding and testing of the working of the system. Chapter 6 discusses the test reports
and project documentation and finally the conclusions have been drawn in Chapter 7. At the
end of the report, the references made and the glossary has been included.
Chapter 2. SURVEY OF TECHNOLOGY
In a web based application like FEDENA, Edu Craft, there is a scope for a large number of
platforms, languages, web servers and frameworks to choose from. Before selecting from this
large array of technologies, the following aspects, which are characteristic to web based
application like this one, have been kept in mind:
• Dynamic page generation
• Data validation
• Performance
• Reliability
• Scalability
• Security
• Portability
• Performance
• Time constraint
• Cost constraint
Chapter 3. REQUIREMENTS AND ANALYSIS
3.1. Problem Definition
The first step to the system analysis process involves the identification of need. The intent is to
understand the software objectives and to define the goals required to meet the objectives.
The existing system
Description of the existing system is explained below-
(a) Form Received From Students: University & college accept the form from the
students, thus they manage the data into files & excel sheet with the each of
information that students has provided. In other case Colleges send these excel
11. 11
sheet to university to manage record & to get enrolment no for the students in
each offered courses.
(b) University’s expect from all colleges to provide all mandatory information &
verified student’s document and information which is most important for further
student reports i.e. Marks-sheet / Reports Card, Migration certificate & Degree.
Drawbacks of the existing system:-
The main drawbacks of the existing system are:
• Maintenance of paper is very tedious process.
• Take extra time & may cause of delay in providing data form the college if they
don’t prepare it in time.
• Data inconsistency can occur due to the duplication of information.
• The data processing speed of the manual process is very slow.
• Redundant and repetitive works had to be done manually.
• Difficult to find out the information of single or as per required search criteria
• Searching process is very problematic since data are stored in files.
• Data may be lost.
• Reports are generated manually. There is also a chance of missing of the reports
when they are generated manually.
• Number of Admitted student can exceed if there is no restriction in the system
& can cause of illegal issues.
• No. seats can be changed as per UGC rule, should be maintain.
3.2 Requirement Specification
Requirements Specification involves the basic requirements that the system to be
developed should possess. These can be broadly classified into two types.
1. Performance Requirements.
2. Functional Requirements.
Understanding the requirements specification is critical for the project’s success otherwise the
system does not get developed according to the customer’s wishes.
Performance Requirements:
1. The system should be built in a way such that it is independent of the type of database used
(MYSQL, SQL Server etc).
2. Response should be fast.
3. High throughput.
12. 12
4. Security should be high such that no intruder can tamper with data.
5. The access of the system should be traceable to identify who are the users of the system and
when they last logged in to the system.
Feasibility study
Feasibility Study is one of the fundamental aspects in design of system.
The key-points are as follows:-
1) Form a project team and appoint a project leader.
2) Prepare system flow chart.
3) Enumerate potential candidate systems.
4) Describe and identify characteristics of candidate systems.
5) Determine and evaluate performance and cost effectiveness of each candidate system.
6) Weight system performance and cost data.
7) Select the best candidate system.
8) Prepare and report final project directive to management.
Three key considerations are involved in the feasibility analysis:
i. Technical
ii. Operational
iii. Economical
Technical Feasibility:
It specifies whether the proposed solution in the project is possible to be implemented
using available hardware and software.
Operational Feasibility:
Operational feasibility considers the factors that how the software will satisfy the need
of the users, how it could be changed for future requirements and the operational factors of the
computer.
Economical Feasibility :
This defines the measurement cost effectiveness of the project. It further consists of two
parts:
a. Direct cost.
b. Indirect cost.
Economical Feasibility of the Project:
a) Initial cost for development is not high since a machine with required configuration was
available in the company.
b) Necessary software for back-end and front-end use were also available there.
13. 13
3.3 Planning and Scheduling
1. Purpose
The purpose of Project Plan is to define all the techniques, procedures, and methodologies
that will be used in the project to assure timely delivery of the software that meets specified
requirements within project resources. This will be reviewing and auditing the software
products and activities to verify that they comply with the applicable procedures and
standards and providing the software project and other appropriate managers with the results
of these reviews and audits.
Giant Chart for College Admission System
Process Name
Week
1
Week
2
Week
3
Week
4
Week
5
Week
6
Week
7
Week
8
Week
9
Collect System Requirement
Prepare SRS Report
Module development
Module Testing
Test Case Resolutions
Implementation
User Training
Software Handover
Fig 5: Giant Chart for College Admission System
The table below show the Project Phases in terms of date during the project development
Phases Start Date End Date
Inception Feb 15th
2016 Feb 22th
2016
Implementation Feb 23h
2016 Apr 30th
2016
Elaboration May 1st
2016 May 10th
2016
Table.1 Project Phase Schedule
14. 14
The Table below shows the break-down of time spent in each phase for Research, Design,
Coding, Testing and Documentation.
Inception(Hours) Implementation(Hours) Elaboration(Hours) Total
Research 20 25 5 50
Design 17 20 5 42
Coding 0 210 37 247
Testing 0 15 30 45
Documentation 20 28 20 68
Total 57 298 97 452
Table.2 Phase Breakdown
The Pie chart in Fig.1 shows the hour break down for each phase.
Fig.1 Project Phase Schedule
15. 15
The pie chart in Fig.2 shows the Time allocated for various tasks during the Project
Implementation.
Fig.2 Task breakdown
UML and Software Lifecycle
As software student though I have good knowledge in UML and Software LIFE cycle I never
had any good practical experience regarding them. Through this project I have learnt how to
develop a project following the various stages in Software Life Cycle.
Documentation
I always had a feeling that I am not good at documentation .But through this project and
suggestions from my committee members I believe that I have improved my Documentation
skills.
2. Management
2.1 Organization and Responsibilities
The organization consists of supervisory committee, major professor, developer and formal
technical inspectors. The committee will be responsible for attending the presentations and
16. 16
reviews at the end of each phase. After each presentation, the committee will provide
feedback and suggestions regarding the project.
Project Manager
The project manage will be responsible for supervising and evaluating the work and progress
done by the developer on a weekly basis.
Developer
The developer should submit all the deliverables and complete the project functionalities on
time. He should keep updating his weekly progress to the Major Professor.
Formal Technical Inspectors
The formal technical inspectors will be responsible for a technical review of the architecture
design artifacts and the formal requirements specifications and will also be required to submit
a formal report based on their findings.
Formal Technical Inspection Checklist
Item to be Inspected Pass/Fail/Partial Comments
All the symbols used in the class diagrams are
according to the UML standards.
All the classes in the class diagram are clear as to what
they represent in the architecture design document.
The symbols used in the sequence diagram correspond
to UML standards.
Sequence diagram matches class diagram.
All the classes in the USE model are represented in the
class diagram.
The multiplicities in the USE model have been
Depicted in the class diagram.
All the requirements in the Software Requirements
Specification have been covered in the Architecture
Design Document.
2. 2 Tasks
All tasks to be performed are mentioned in the Project Plan1.0.After the first phase if any
changes are required the Major Professor will discuss with the developer.
17. 17
4. Documentation
The documentation will consist of all the deliverables. They are vision document, project
plan, software quality assurance plan, formal requirements specification, architecture design,
test plan, formal technical inspection, prototype, user manual, component design, source
code, assessment evaluation, project evaluation, references, and formal technical inspection
letters. The committee members will review all documentation for final approval.
All documentation will be posted on the developer’s website.
5. Reviews and Audits
All the deliverables produced in each phase of project development are reviewed by the major
professor and supervising committee. These are evaluated by the committee, at the end of
each phase and provide comments on the software prototype as well as suggestions for any
changes or addition to the requirements specification. The two formal technical inspectors
will assess the architecture design artefacts and submit a formal report based on their
findings.
6. Test and Problem Reporting
All the testing procedures used for the project would be mentioned in the test plan document
at the end of second phase. The results would be reviewed and all the unresolved problems
will be reported to the committee members.
7. Tools, Techniques and Methodologies
The following tools, techniques and methods would be used for the project for the specified
purpose:
• Coding: - CSS, HTML, PHP ,Dreamweaver IDE, MySQL server & SQLyog
• Testing:-Manual & Automation testing QTP
• Documentation:-MS Word, Rational Rose, MS Project, OCL.
8. Records collection, Maintenance, and Retention
Three sets of design documentation would be produced and distributed to the University
Library, Major Professor and developer. The source code, documentation and web pages are
submitted to the Major Professor in the form of a CD.
18. 18
9. Deliverables
The deliverables for all the three phases are listed below:
Phase I
• Vision Document 1.0
• Project Plan 1.0
• Software Quality Assurance Plan
Phase II
• Action Items –identified during phase I
• Vision Document 2.0
• Project Plan 2.0
• Formal Requirements Specification
• Architecture Design
• Test Plan
• Formal Technical Inspection
• Executable Architecture Prototype
Phase III
• Action Items - identified during phase I
• User Manual
• Component Design
• Source Code
• Assessment Evaluation
• Project Evaluation
• References
• Formal Technical Inspection
3.4 Software and Hardware Requirements
3.4.1 Software Requirement
This software is design for access over the network, so that every user
can access this from any remote place. For this purpose it will be require to upload the software
to a web host apache server like godaddy & bigrocks. The software quire for this software are
1. Apache 2.0 web server with ssl secure certificate
2. Php 5.4.x version
3. Mysql database version 5.3.x
3.4.2 Hardware Requirement
To access the software user need at least a computer system that have
internet connectivity and have updated browser. These are the following hardware requirement
for the software:
19. 19
1. Mozilla Firefox 17.0+ ,Chrome browser, opera browser
2. Internet connection having minimum 512kbps bandwidth
3. System requirement depends on browser basis
CHAPTER 4: SYSTEM DESIGN
4.1 Data flow diagram
A DFD is a graphical tool, which has the purpose of clarifying system requirement and
identifying major transaction that will become programs in the system design. It is also known
as “Bubbles Chart”, which has the purpose of defining system requirement and in functionally
decomposes of requirement specification down to the lowest level of detail. The DFD consists
of series of bubbles joined by a line. The bubbles represent data transformation and the line
represents the flow of the data in the system. The DFD provides a mechanism for function
modelling as well as information modelling. So, it is the starting phase of the design phase.
DFD symbols are: A process
The destination system data
The flow of information
The table in which information
will be started
DATABASE
Context Diagram (0 Level DFD)
Response
QueryRequest
Response
External
Source
TUMKUR
UNIVERSITY
Student Admission
& Report Sytem
22. 22
ER Diagram
Fig: ER Diagram For College Admission System
4.2 Data Dictionary & Data Model
In DFD, a data item that flows between processes is identified by unique names. Dada
Dictionary is repository of various data flows defined in a DFD. It contains the details of the
structure of data items and files used in DFD’s. A data dictionary defines each term encountered
during the analysis and design of a new system. Data elements can describe files, data flows as
usual processes.
The term may have one of several closely related meanings pertaining to databases and database
management systems (DBMS):
a document describing a database or collection of databases
an integral component of a DBMS that is required to determine its structure
a piece of middleware that extends or supplants the native data dictionary of a DBMS
23. 23
4.2.1 Schema Design :
Database Design
Usually, a collection of interrelated data is referred to as database. The database
contains information about one particular enterprise. The management of data
involves both definitions of structures of the stage of information. In addition, the
database system must
institute_master 0
Field Type Collation
Id int(3) (NULL)
Name varchar(40) latin1_swedish_ci
short_name varchar(20) latin1_swedish_ci
Code varchar(15) latin1_swedish_ci
Type enum('C','A') latin1_swedish_ci
Contact varchar(12) latin1_swedish_ci
Address varchar(100) latin1_swedish_ci
Visible enum('Y','N') latin1_swedish_ci
Email varchar(30) latin1_swedish_ci
link_master
Field Type Collation
Id int(3) (NULL)
Name varchar(20) latin1_swedish_ci
Caption varchar(20) latin1_swedish_ci
link_master int(3) (NULL)
index_value int(2) (NULL)
script_path varchar(50) latin1_swedish_ci
link_user_right int(4) (NULL)
standalone enum('Y','N') latin1_swedish_ci
menu_code_add varchar(10) latin1_swedish_ci
menu_code_edit varchar(10) latin1_swedish_ci
menu_code_view varchar(10) latin1_swedish_ci
menu_code_del varchar(10) latin1_swedish_ci
Visible enum('Y','N') latin1_swedish_ci
program_group_master
Field Type Collation
Id int(3) (NULL)
Name varchar(15) latin1_swedish_ci
short_name varchar(10) latin1_swedish_ci
Visible enum('Y','N') latin1_swedish_ci
24. 24
program_intake_trans
Field Type Collation
Id int(4) (NULL)
program_master_id int(3) (NULL)
institute_master_id int(2) (NULL)
branch_master_id int(3) (NULL)
Intake int(3) (NULL)
session_masters_id int(3) (NULL)
program_master
Field Type Collation
Id int(3) (NULL)
program_group_master_id int(3) (NULL)
Name varchar(25) latin1_swedish_ci
short_name varchar(20) latin1_swedish_ci
Duration int(2) (NULL)
Branch enum('Y','N') latin1_swedish_ci
Caption varchar(10) latin1_swedish_ci
Remarks varchar(200) latin1_swedish_ci
Visible enum('Y','N') latin1_swedish_ci
session_master
Field Type Collation
Id int(3) (NULL)
session_name varchar(10) latin1_swedish_ci
start_date date (NULL)
end_date date (NULL)
is_complete enum('Y','N') latin1_swedish_ci
Active enum('Y','N') latin1_swedish_ci
Visible enum('Y','N') latin1_swedish_ci
student_academic_trans
Field Type Collation
Id int(5) unsigned (NULL)
student_master_id int(5) (NULL)
institute_name varchar(50) latin1_swedish_ci
last_class varchar(50) latin1_swedish_ci
Percentage float (NULL)
board_name varchar(50) latin1_swedish_ci
max_marks int(3) (NULL)
obt_marks int(3) (NULL)
25. 25
student_info_masters
Field Type Collation
Id int(5) (NULL)
student_master_id int(5) (NULL)
form_no int(11) (NULL)
Name varchar(50) latin1_swedish_ci
Fname varchar(50) latin1_swedish_ci
Mname varchar(50) latin1_swedish_ci
Dob date (NULL)
Address varchar(100) latin1_swedish_ci
correspondance_address varchar(100) latin1_swedish_ci
City int(11) (NULL)
State int(11) (NULL)
Country int(11) (NULL)
Phone varchar(12) latin1_swedish_ci
Gender enum('M','F') latin1_swedish_ci
Mobile varchar(12) latin1_swedish_ci
Email varchar(50) latin1_swedish_ci
Pincode int(11) (NULL)
eligible_exam_pass_year int(5) (NULL)
eligible_exam_pass_institute varchar(50) latin1_swedish_ci
eligible_exam_pass_university varchar(100) latin1_swedish_ci
origional_name varchar(50) latin1_swedish_ci
system_name varchar(50) latin1_swedish_ci
session_master_id int(5) (NULL)
title_master_id int(1) (NULL)
student_masters
Field Type Collation
Id int(10) (NULL)
user_id int(10) (NULL)
date_of_admission date (NULL)
nationality_master_id varchar(15) latin1_swedish_ci
religion_master_id int(11) (NULL)
caste_master_id int(11) (NULL)
payment_method_master_id int(11) (NULL)
enrollment_number varchar(50) latin1_swedish_ci
roll_number varchar(5) latin1_swedish_ci
registration_date date (NULL)
registration_number varchar(15) latin1_swedish_ci
form_number varchar(15) latin1_swedish_ci
admission_test_roll_no varchar(15) latin1_swedish_ci
Height double (NULL)
Weight double (NULL)
27. 27
4.2.2 Data Model
Fig.2 Data Model
4.3 Analysis & Design
4.3.1 System Analysis
System analysis is a study of various operation performed by a system and their
relationship within and outside of the system. It is a systematic technique that defines goals and
objectives. The goal of system development is to deliver the system in line with the user’s
requirement and analysis is the heart of this process. Out of the main aspects of analysis it is
defining the boundaries of the system and determining whether or not a candidate system
should consider other related system.
System study has been conducted with the following objectives in mind:
Identify the user’s needs.
Evaluate the system concept for feasibility.
Perform economical and technical analysis.
Allocate functional to hardware, software, people, database and other system
elements and
Establish cost and schedule constraints.
Both hardware and software expertise is required to successfully attain the objectives
listed above.
28. 28
4.3.2 System Design
The most creative and challenging phase of the System Life Cycle is System Design. It
refers to the technical specifications that will be applied in implementing the candidate system.
System design specifies how the system will achieve the objective of the proposed system.
System Design goes through two phases of development. These are:
Logical Design: Logical System Design involves developing general
specification for how the basic information system activities of input, processing,
output, storage and control can meet end user requirements.
Physical Design: Physical Design involves the detail design of user interface
methods and products, database structures, processing and control procedures.
4.4 User Interface Design
The first step in System Design is the User Interface Design. The User Interface Design
activity focuses on the preparation of input and design of output reports in a form acceptable
to the users.
User Interface Design consists of two steps – Input Design and Output design.
Input Design: Input Design is the process of converting user originated inputs to a
computer based format. The goal is a make the data entry as easy, logical and free from
errors as possible.
Output Design: Computer output is the most important and direct source of
information to the user. Efficient, intelligible output design helps the user in decision
making. Provide for safely information storage in the database, system crash or
unauthorized access
30. 30
4.5 Three-tier Architecture
Three-tier (layer) is a client-server architecture in which the user interface, business
process (business rules) and data storage and data access are developed and maintained
as independent modules or most often on separate platforms.
The Architecture of College Admission Systemis based on three-tier architecture. The
three logical tiers are
Presentation tier –HTML & Javascript Web forms, Master Pages, Images.
Middle tier – PHP Script & library classes.
Data tier- MYSQL Database
Fig.4 below shows the model of 3-tier architecture.
The main reason for considering three-tier architecture for the College Admission
System is as follows:
Flexibility:
Management of data is independent from the physical storage support,
Maintenance of the business logic is easier,
Migration to new graphical environments is faster.
If there is a minor change in the business logic, we don’t have to install the entire system
in individual user’s PCs.
Reusability:
Reusability of business logic is greater for the presentation layer. As this component is
developed and tested, we can use it in any other project and would be helpful for
future use.
Security:
More secured architecture since the client cannot access the database directly.
Fig.4 3-tier Architecture
31. 31
Presentation tier
The presentation tier for the College Admission System is HTML Web Forms with Master
Pages. The presentation tier takes care of the user interaction and the visual part of the
application. The various Web forms used by clients are listed below.
HTML Web Forms Definition
Index.html This is default page, called first time when user
access the application, having login form , user
must provide credential for access the functioning
of the system
Welcome.html This web page is a blank dashboard
Session.html This page contain the list of all session created &
show the start-end date , active & completion
detail.
Program_group.hml This web page shows the detail of programme
group i.e. Diploma ,UG, or PG
Program.html This web page is use to functioning link of CRUD,
& shows the list of program offer by university
Program_intake.html This web page use to assign seats to colleges for a
particular course in the active session..
Manage_student.htmt This web form is use to enter enrolled student
detail.
Institute_master.html This web form is use to create user for the system,
user are the colleges who will access the student
form for enter their detail
User_rights.html This web page is use to assign the rights to access
the module of the system.
Static_report.html This web page is used for display the static data of
the student , college wise i.e. admission statics,
boys-girls ration etc.
Graphical_report.html This is report is same as static report but show the
data in graphical form In pie & bar chart.
Admission_report.html This report is used for show the detail of
information of the student in college wise program
wise & comibine
39. 39
{ $result.= "'".$id."',";}
$result.="'qazwsxedc'";
$result=mysql_query("update prgram_master set visible = 'N' where id
IN(".$result.")") or die(mysql_error()); }
if(isset($_POST['country']) && isset($_POST['level']))
{
if($_POST['country']!="" && $_POST['level']!="")
{
$query="SELECT `state_id`, `state`, `shortname` FROM `state_masters`
where removed='N' AND country_id=".$_POST['country'] ;
$data=mysql_query($query) or die("State Error");
$sql=mysql_fetch_array($data);
$content='<option value="-1" selected="selected">SELECT</option>';
while($sql=mysql_fetch_array($data))
{
$content.='<option value="'.$sql['state_id'].'" data-
id="'.$sql['id'].$sql['shortname'].'">'.$sql['state'].'</option>';
}
echo $content;
}
}
if(isset($_POST['city']) && isset($_POST['state']))
{
if($_POST['city']!="" && $_POST['state']!="")
{
$query="SELECT `city_id`, `statecity_id`, `city`, `shortname` FROM
`city_masters` where visible='Y' AND statecity_id=".$_POST['state']." order by city" ;
$data=mysql_query($query) or die("City Error");
$content='<option value="-1" selected="selected">SELECT</option>';
while($sql=mysql_fetch_array($data))
{
$content.='<option value="'.$sql['id'].'" data-
id="'.$sql['id'].$sql['shortname'].'">'.$sql['city'].'</option>';
}
echo $content;
}
}
/////////////////////////for branch //////////////////////////////////////
if(isset($_POST['st_programb']) && isset($_POST['COR_NAME']))
{
foreach($_POST as $key=> $value)
{$_POST[$key]=$value;}
$program=$_POST['COR_NAME'];
40. 40
$ins_id=$_POST['st_programb'];
if(isset($_SESSION['user_id']))
{
$ins_id=$_SESSION['user_id'];
}
$query="SELECT bm.id, UPPER(bm.`name`) AS NAME FROM branch_masters bm
WHERE bm.id IN(SELECT branch_master_id FROM program_branch_trans WHERE
`program_master_id`=$program) ORDER BY id ";
$_SESSION['user_code'];
}
if(isset($_POST['inst_me']) && isset($_POST['inst_ad']))
{
foreach($_POST as $key=>$value)
{$_POST[$key]=mysql_real_escape_string($value);}
$query="SELECT PM.`short_name` ,PM.`id` FROM program_intake_trans PIT LEFT
JOIN program_master PM ON PIT.`program_master_id`=PM.id WHERE
PIT.`session_masters_id`={$_SESSION['active_session_id']} AND
PIT.`institute_master_id`={$_POST['inst_me']} AND PM.`visible`='y'";
$data=mysql_query($query) or die(mysql_error());
$content=' <option value="-1" >SELECT</option>';
if(mysql_num_rows($data))
{
while($sql=mysql_fetch_array($data))
{
$content.= '<option value="'.$sql['id'].'" data-
id="'.$sql['short_name'].'"><span>'.$sql['short_name'].'</span></option>';
}
}
echo $content;
}
if(isset($_POST['get_branch'])&& isset($_POST['branch']) )
{
$content="";
foreach($_POST as $key =>$value)
{$_POST[$key]=mysql_real_escape_string($value);}
if(isset($_POST['inst_me']))
{$user_id=$_POST['inst_me'];
}
if(isset($_SESSION['user_id']))
{
$user_id=$_SESSION['user_id'];
}
41. 41
$query="SELECT DISTINCT bm.id,bm.name,pbt.`intake` FROM branch_masters bm,
program_branch_trans pbt WHERE bm.visible='Y' AND BM.`id`=PBT.`branch_master_id`
AND bm.id IN (SELECT branch_master_id FROM program_branch_trans WHERE
program_master_id={$_POST['get_branch']} AND institute_master_id='{$user_id}')";
$data=mysql_query($query);
if(@mysql_num_rows($data))
{
while($sql=mysql_fetch_array($data))
{$content.= '<option value="'.$sql['id'].'" data-
id="'.$sql['id'].'"><span>'.$sql['name'].'</span></option>';
}
echo ' <tr id="btr">
<th class="myclass" width="32%"> * SELECT BRANCH</th>
<td class="myclass md" colspan="5" ><SELECT class="selectclass"
name="BATCH" id="BATCH">
<option selected="selected">SELECT</option>
'.$content.'
</select>
</td>
</tr>';
}
}
if(isset($_POST['course']) && isset($_POST['level']))
{
if($_POST['course']!="" && $_POST['level']!="")
{
$query="SELECT `id`, `duration`, `branch`, `caption`
FROM `program_master`
where visible='Y' AND id=".$_POST['course'] ;
$data=mysql_query($query) or die(mysql_error());
$sql=mysql_fetch_array($data);
$content='<option value="-1">SELECT</option>';
for($i=1;$i<=$sql['duration'];$i++)
{
$content.='<option value="'.$i.'" data-id="'.$i.'-'.$sql['caption'].'">'.strtoupper($i.'
'.$sql['caption']).'</option>';
}
echo $content;
}
}
function get_limit($getinto,$branch,$prg_set_it,$inst_me=0)
{
$user_id=-1;
42. 42
if(isset($_SESSION['user_id']))
{
$user_id=$_SESSION['user_id'];
}
if($inst_me!=0 && $inst_me!==true)
{$user_id=$inst_me;
}
$query="SELECT intake FROM program_intake_trans WHERE
program_master_id={$prg_set_it} AND institute_master_id={$user_id} AND
branch_master_id={$branch} AND
session_masters_id={$_SESSION['active_session_id']}";
$intake= mysql_query($query);
if(mysql_num_rows($intake)==1)
{
$intake=mysql_fetch_array($intake);
$intake=$intake['intake'];
}
else
{$intake=0;
}
$query="SELECT COUNT(id) as total FROM student_masters WHERE
institute_master_id={$user_id} AND branch_master_id={$branch} AND
program_master_id={$prg_set_it} AND session_master_id =
{$_SESSION['active_session_id']}";;
$data= mysql_query($query);
if(mysql_num_rows($data)==1)
{
$data=mysql_fetch_array($data);
if($data['total']==$intake)
{return 0;}
return $data['total'].'_'.$intake;
}
else
return "0".'_'.$intake;
}
if(isset($_POST['getinto']) && isset($_POST['branch']) &&
isset($_POST['prg_set_it']))
{
foreach($_POST as $key=> $value)
{$_POST[$key]=$value;}
$user_id=-1;
if(isset($_POST['inst_me']))
43. 43
{
if($_POST['inst_me']===true)
$user_id=$_SESSION['user_id'];
else
$user_id=$_POST['inst_me'];
}
echo get_limit($_POST['getinto'] ,$_POST['branch'],$_POST['prg_set_it'],$user_id);
exit();
/*
$query="SELECT intake FROM program_intake_trans WHERE
program_master_id={$_POST['prg_set_it']} AND institute_master_id={$user_id} AND
branch_master_id={$_POST['branch']} AND
session_master_id={$_SESSION['active_session_id']}";
$intake= mysql_query($query);
if(mysql_num_rows($intake)==1)
{
$intake=mysql_fetch_array($intake);
$intake=$intake['intake'];
}
else
{
$query="SELECT intake FROM `program_branch_trans` WHERE
program_master_id={$_POST['prg_set_it']} AND institute_master_id={$user_id} AND
branch_master_id={$_POST['branch']} AND
session_master_id={$_SESSION['active_session_id']}";
$intake=mysql_query($query);
if(mysql_num_rows($intake)==1)
{$intake=mysql_fetch_array($intake);
$intake=$intake['intake'];
}else
{$intake=0;
} }
$query="SELECT COUNT(id) as total FROM student_masters WHERE
institute_master_id={$user_id} AND branch_master_id={$_POST['branch']} AND
program_master_id={$_POST['prg_set_it']}";
$data= mysql_query($query);
if(mysql_num_rows($data)==1)
{
$data=mysql_fetch_array($data);
echo $total_allocated=$data['total'].'_'.$intake;
}
else
echo "0".'_'.$intake;
*/
44. 44
}
if(isset($_POST['getpg']) && isset($_POST['assign_pg']))
{
$query="SELECT pm.id, pm.name, pm.short_name FROM program_master pm WHERE
pm.program_group_master_id={$_POST['getpg']} AND pm.visible='Y'";
$data=mysql_query($query) or die("City Error");
$content='<option value="-1">SELECT</option>';
while($sql=mysql_fetch_array($data))
{
$content.='<option value="'.$sql['id'].'" data-
id="'.$sql['id'].$sql['short_name'].'">'.$sql['short_name'].'</option>';
}
echo $content;
exit();
}
/////////////////////////////////////////Check for active session/////////////////////////////////////////////////////
if(isset($_GET['session']))
{
$id=base64_decode($_GET['session']);
$query="select * from session_master where active='Y' AND visible ='Y'";
if(mysql_num_rows(mysql_query($query)))
{
$is_active=mysql_query("select * from session_master where active='Y' AND visible ='Y'
AND id=$id");
if(mysql_num_rows($is_active))
{
mysql_query("update session_master set active='N' where visible='Y'");
$_SESSION['msg']="SESSION HAS INACTIVE NOW";
$_SESSION['active_session']="";
$_SESSION['active_session_id']=0;}
else
{
$_SESSION['msg']=" AT A TIME ONLY ONE SESSION CAN BE ACTIVE";}
}
45. 45
else
{
mysql_query("update session_master set active='N' where visible='Y'");
$query="update session_master set active='Y' where visible='Y' AND id=$id";
$success=mysql_query($query);
if($success)
{$_SESSION['active_session']="";
$_SESSION['msg']="SESSION HAS BEEN ACTIVATED";
}
}
header('Location:session_master') ;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
if( (isset($_POST['st_save']) || isset($_POST['st_n_save'])))
{
//if($_POST['stumaster']!='de54gdg758jgtyuom463sqwe243a')
{
echo $_SESSION['msg']="TOKEN KEY HAS BROKEN";
}
foreach($_POST as $key=>$value)
{
///////////////////////// for 1 dimentional array ////////////////////
if(!is_array($_POST[$key]))
{
$_POST[$key]=mysql_real_escape_string($value);
}
///////////////////////////for 2 diemntional array ////////////////////////
elseif(is_array($_POST[$key]))
{
foreach($value as $index=>$index_value)
{
$_POST[$key][$index]=mysql_real_escape_string($index_value);
}
}
}
if(isset($_SESSION['user_id']) && $_SESSION['user_type']!=='ADMIN')
{ $user_id=$_SESSION['user_id'];}
elseif(isset($_POST['inst_name']))
{$user_id=$_POST['inst_name'];}
$handicaped="";
if(isset($_POST['IS_HANDI']))
{
55. 55
if(isset($_POST['program']) and (isset($_POST['assign_pg']) || isset($_POST['branch'])))
{
$pg=$_POST['pg'];
if(isset($_POST['ci_type']))
{
$ci_type=$_POST['ci_type'];
}
$program= $_POST['program'];
$session=1;
// to retrivce user who are not assinging in selected role;
$query="SELECT
i.id,
UPPER(i.name) AS NAME
FROM
institute_master i
WHERE i.id NOT IN
(SELECT DISTINCT
i.id
FROM
institute_master i
LEFT JOIN program_intake_trans pit
ON pit.`institute_master_id` = i.id
WHERE `program_master_id` = '{$program}'
AND pit.`session_masters_id` =".$_SESSION['active_session_id']."
ORDER BY i.`id`)
AND i.visible = 'Y'
ORDER BY i.name";
if( isset($_POST['branch']))
{
//echo $query="SELECT bm.id, pit.intake, UPPER(bm.`name`) AS NAME FROM
branch_masters bm, `program_branch_trans` pit WHERE bm.`id`=pit.`branch_master_id`
AND bm.id NOT IN(SELECT branch_master_id FROM program_branch_trans WHERE
`program_master_id`=$program AND institute_master_id='{$ci_type}') ORDER BY id ";
// AND `session_masters_id`={$session})
$query="SELECT bm.id, UPPER(bm.`name`) AS NAME FROM branch_masters bm
WHERE bm.id NOT IN(SELECT DISTINCT branch_master_id FROM
program_branch_trans WHERE `program_master_id`=$program AND
institute_master_id='{$ci_type}') AND bm.visible='Y' ORDER BY id ";
}
$not_assign=@mysql_query($query);
56. 56
// to retrive user who have assinged in selected role
// $query="SELECT DISTINCT i.`id`,pit.intake, UPPER(i.`name`) AS NAME FROM
`institute_master` i,`program_branch_trans` pit WHERE i.id IN(SELECT
`institute_master_id` FROM `program_intake_trans` pit,institute_master i WHERE
i.id=pit.`institute_master_id` AND `program_master_id`='{$program}' ORDER BY
i.`name`) ";
//AND `session_masters_id`={$session}
$query="SELECT
i.id,
pit.intake,
UPPER(i.name) AS NAME
FROM
institute_master i LEFT JOIN
program_intake_trans pit
ON pit.institute_master_id =i.id
WHERE `program_master_id` = '{$program}'
AND pit.`session_masters_id` = ".$_SESSION['active_session_id']."
AND i.id IN
(SELECT DISTINCT
i.id
FROM
institute_master i
LEFT JOIN program_intake_trans pit
ON pit.`institute_master_id` = i.id
WHERE `program_master_id` = '{$program}'
AND pit.`session_masters_id` = ".$_SESSION['active_session_id']."
ORDER BY i.`id`)
ORDER BY i.name";
// same here for if user is client
if( isset($_POST['branch']))
{
$query="SELECT bm.id, pit.intake, UPPER(bm.`name`) AS NAME FROM
branch_masters bm, program_branch_trans pit WHERE bm.`id`=pit.`branch_master_id`
AND bm.id IN(SELECT branch_master_id FROM program_branch_trans WHERE
`program_master_id`=$program AND institute_master_id='{$ci_type}') ORDER BY id ";
// AND `session_masters_id`={$session})
}
$assign_content="";
$not_assing_connent="";
$assign=mysql_query($query) or die(mysql_error());
while($sql=mysql_fetch_array($assign))
{
59. 59
$query="INSERT INTO `program_intake_trans` ( `program_master_id`,
`institute_master_id`,`intake`, `branch_master_id`,`session_masters_id`)
VALUES ( {$program}, {$institute},{$intake_value},{$branch},
'{$_SESSION['active_session_id']}')";
if(isset($_POST['ci_type']))
{
$query="INSERT INTO `program_branch_trans`
(`program_master_id`,`branch_master_id`, `intake`,`institute_master_id`,session_masters_id)
VALUES ('{$program}','$branch', '{$intake_value}',
'{$institute}','{$_SESSION['active_session_id']}')"; }
}
elseif(isset($_POST['unassign']))
{
$query ="DELETE FROM `program_intake_trans` WHERE
program_master_id='{$program}' and institute_master_id=$institute";
if(isset($_POST['ci_type']))
{
$query="DELETE FROM `program_branch_trans` WHERE
program_master_id='{$program}' and institute_master_id=$institute AND
branch_master_id= $branch";
}
}
// echo $query."hitesh";
@mysql_query($query) or die("ERROR");
}
}
if(isset($_POST['delete_inst']) && isset($_POST['delete_inst_data']))
{
$data=explode('__',$_POST['delete_inst_data']);
print_r($data);
foreach($data as $value)
{
$query= "update ";
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
//-------------------fetch module function for users ---------------------------------------//
if(isset($_POST['assign_rg'])&& isset($_POST['pg_mod']['id']) &&
isset($_POST['pg_mod']['name']) && isset($_POST['user_type']['id']) &&
isset($_POST['user_type']['short']))
{
$module_filter="";
60. 60
foreach($_POST as $key=>$value)
{
///////////////////////// for 1 dimentional array ////////////////////
if(!is_array($_POST[$key]))
{
$_POST[$key]=mysql_real_escape_string($value);
}
///////////////////////////for 2 diemntional array ////////////////////////
elseif(is_array($_POST[$key]))
{
foreach($value as $index=>$index_value)
{
$_POST[$key][$index]=mysql_real_escape_string($index_value);
}
}
}
if($_POST['pg_mod']['id']==$_POST['pg_mod']['value'] &&
$_POST['pg_mod']['value']!=='true')
{ $module_filter="AND lk.`link_master`=".$_POST['pg_mod']['value'] ;}
$query="SELECT lk.`id`, lk.`name`, lk.`caption`, lk.`link_master`, lk.`index_value`,
lk.`standalone`, lk.`visible`, GROUP_CONCAT(assign_right SEPARATOR '--') AS
menu_rights FROM `link_master` lk LEFT JOIN user_rights ur ON lk.`id` =
ur.`link_master_id` WHERE `visible`='Y' AND ur.`role` = '{$_POST['user_type']['short']}'
{$module_filter} GROUP BY link_master_id
UNION
SELECT lk.`id`, lk.`name`, lk.`caption`, lk.`link_master`, lk.`index_value`,
lk.`standalone`, lk.`visible`, CONCAT('') FROM `link_master` lk WHERE `visible`='Y'
AND lk.id NOT IN (SELECT lk.`id` FROM `link_master` lk LEFT JOIN user_rights ur
ON lk.`id`=ur.`link_master_id` WHERE `visible`='Y' AND ur.`role` =
'{$_POST['user_type']['short']}'
GROUP BY lk.`id`)
{$module_filter}
ORDER BY link_master, index_value";
$query_data=mysql_query($query) or die('User Rights Query Error');;
$class="red"
?>
<form name="form" id="form" method="post">
<table style="margin:auto" width="100%" cellspacing="5px">
<tr>
<th class="<?php echo $class?>">Module Name</th>
<th class="<?php echo $class?>">ADD</th>
<th class="<?php echo $class?>">EDIT</th>
<th class="<?php echo $class?>">VIEW</th>