Professional Documents
Culture Documents
Main Project
Main Project
1.ABSTRACT
2.INTRODUCTION
Time table scheduling has been in human requirements since they
thought of managing time effectively. It is widely used in schools, colleges
and other fields of teaching and working like crash courses, couching centers,
training programs etc. In the early days, time table scheduling was done
manually with a single person or some group involved in the task of
scheduling it with their hands, which takes a lot of effort and time. Scheduling
even the smallest constraints can take a lot of time and the case is even worse
when the number of constraints or the amount of data to deal with increases.
In such cases, a perfectly designed time table is reused for the whole
generation without any changes, proving to be dull in such situations. Other
cases that can cause problems is when the number of employers or workers is
weak, resulting in rescheduling of the time table or they will need to fill on
empty seats urgently.
Academic Institutions (Schools, Colleges, Universities, etc.) are the regular
users of such time tables. They need to schedule their courses to meet the need
of current duration and facilities that are available to them. However, their
schedule should meet the requirement of new course addition and newly
enrolled students to fresh batches. This may result in rescheduling the entire
time table once again for its entire batches and to be scheduled in the shortest
possible time before the batch courses start. Timetable generation is an NP-
hard problem .i.e. there is no specific algorithm which can be used for creating
timetables. As constraints for timetables vary from institute to institute, a
separate algorithm has to be defined for each one of them.
To get the best performance out of our algorithms, we allot slots to
subjects in such a way that either they get their final positions or remain
unallocated which is allotted later after other subjects are allotted. Also the
arrangement of teachers plays a major role in the methodology to be used as
most of the subject constraints as well as teachers are validated while
assigning teachers. Basically, this problem depends on the lecture-room,
lecturer-lecture relations. Solution of this problem is to schedule all lectures in
a timetable by considering the rooms/labs/lecture theatres that 2 will be used
and the lectures that will be offered.
This problem has some specific constraints. In literature they are known
as “hard‟ and “soft‟ constraints. Hard constraints are important and they have
to be satisfied in order to have a feasible solution. Soft constraints do not have
to be satisfied but they make the solution more applicable. The timetable
problem can be categorized into various types (e.g., rail timetable, examination
timetable, school timetable, course timetable etc.) by considering different
specific constraints, processes and resources. The particular instance chosen
for implementation in this project is the lecture timetable.
3
3.EXISTING SYSTEM
In the existing system, each task is carried out manually and processing is a
very tedious job. The Organization is not able to achieve its need in time and
the results too may not be accurate. Due to all the manual maintenance, there
are number of difficulties and drawbacks that exist in this system. Drawbacks
of the Existing System: Increased transaction leads to the increased source.
• document and hence maintenance becomes difficult.
5
4.PROPOSED SYSTEM
This web application provides features for Users to buy their furniture in
online. Users need to register with our site as they search and place furniture
item in our site. We are responsible for communication between User and the
admin and maintain the database. It also provides an extra module that it
accepts complaints for furniture items from the users. Admin will assign a
member to solve a complaint. In this project admin only maintain all the data’s
in database and manage the system.
ADVANTAGES:
• Furniture are supplied by admin directly.
• Provides an effective communication between customer and the vendor.
DISADVANTAGES:
• They are not providing all good quality products.
• Providing not effective communication between customer and the
vendor.
6
5.SYSTEM REQUIREMENTS:
5.1HARDWARE REQUIREMENTS:
5.2SOFTWARE REQUIREMENTS:
6.FEASIBILITY STUDY
The feasibility of the project is analyzed in this phase and business proposal is
put forth with a very general plan for the project and some cost estimates.
During system analysis the feasibility study of the proposed system is to be
carried out. This is to ensure that the proposed system is not a burden to the
company. For feasibility analysis, some understanding of the major
requirements for the system is essential.
Three key considerations involved in the feasibility analysis are
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
6.1ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into
the research and development of the system is limited. The expenditures must
be justified. Thus the developed system as well within the budget and this was
achieved because most of the technologies used are freely available. Only the
customized products had to be purchased.
6.2TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands
on the available technical resources. This will lead to high demands being
placed on the client. The developed system must have a modest requirement,
as only minimal or null changes are required for implementing this system.
6.3SOCIAL FEASIBILITY
The aspect of study is to check the level of acceptance of the system by the
user. This includes the process of training the user to use the system
efficiently. The user must not feel threatened by the system, instead must
accept it as a necessity. The level of acceptance by the users solely depends on
the methods that are employed to educate the user about the system and to
make him familiar with it. His level of confidence must be raised so that he is
also able to make some constructive criticism, which is welcomed, as he is the
final user of the system.
8
7.SYSTEM ANALYSIS
7.1PROBLEM STATEMENT
The manual solution of the timetabling problem usually requires many person-
days of work. In addition, the solution obtained may be unsatisfactory in some
respect. How can lectures be scheduled or assigned to periods and rooms over
a limited time period such that either no conflicts or a minimum number of
conflicts occur and to satisfy a number of side constraints?
The aim of this project is to develop a simple, easily understandable and
efficient program using an effective and optimal algorithm, which
automatically generates good quality time tables within seconds, while
considering all constraints and violating none of the hard constraints.
Efforts were put in place to ensure that the system developed is generic enough
to accommodate the varying constraints that come along with each specific
academic institution. With this system, there is no need to modify or redesign
the algorithm for any particular institution. Therefore, this system is expected
to work for most if not all departments at the University of Zambia and many
other universities and colleges.
Objective:
To minimize or completely avoid conflicts or clashes, which occur when
lectures involve common students, common lecturers or require the same
classrooms/labs/halls. To research on various types of timetabling problem
algorithms and determine the most efficient, effective, fastest and optimal
algorithm.
Proposed work:
The system to be developed is expected to generate conflict free timetables
(while satisfying all the hard constraints concerned) in less time (just a matter
of seconds), with less effort and with more efficiency. It will allow users to
work on and view time tables in different platforms and view different
information simultaneously. It will have a simple interface and hence will be
so easy to use.
Advantage:
• Easy to use
• Save time
9
• Allocate automatically
7.2MODULES DESCRIPTION
This Project has following modules
1. ADMIN
2. STAFF
3. STUDENT
ADMIN:
1. Login
2. Add Staff
3. View Staff
4. Update Staff
5. Generate Time Table
6. Logout
STAFF:
1. Login
2. View Details
3. Add Student
4. Add Subjects
5. Generate Time Table
6. Logout
STUDENT:
1. Login
2. View Details
3. View Time Table
4. Add Staff Feedback
10
8.SYSTEM DESIGN
8.1INPUT DESIGN
The input design is the link between the information system and the user. It
comprises the developing specification and procedures for data preparation
and those steps are necessary to put transaction data in to a usable form for
processing can be achieved by inspecting the computer to read data from a
written or printed document or it can occur by having people keying the data
directly into the system. The design of input focuses on controlling the amount
of input required, controlling the errors, avoiding delay, avoiding extra steps
and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy. Input Design
considered the following things:
➢ What data should be given as input?
➢ How the data should be arranged or coded?
➢ The dialog to guide the operating personnel in providing input.
➢ Methods for preparing input validations and steps to follow when error
occur.
OBJECTIVES
1.Input Design is the process of converting a user-oriented description of the
input into a computer-based system. This design is important to avoid errors in
the data input process and show the correct direction to the management for
getting correct information from the computerized system.
2. It is achieved by creating user-friendly screens for the data entry to handle
large volume of data. The goal of designing input is to make data entry easier
and to be free from errors. The data entry screen is designed in such a way that
all the data manipulates can be performed. It also provides record viewing
facilities.
3.When the data is entered it will check for its validity. Data can be entered
with the help of screens. Appropriate messages are provided as when needed
so that the user
will not be in maize of instant. Thus the objective of input design is to create
an input layout that is easy to follow
8.2OUTPUT DESIGN
11
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing are
communicated to the users and to other system through outputs. In output
design it is determined how the information is to be displaced for immediate
need and also the hard copy output. It is the most important and direct source
information to the user. Efficient and intelligent output design improves the
system’s relationship to help user decision-making.
1. Designing computer output should proceed in an organized, well thought
out manner; the right output must be developed while ensuring that each
output element is designed so that people will find the system can use easily
and effectively. When analysis design computer output, they should Identify
the specific output that is needed to meet the requirements.
2.Select methods for presenting information.
3.Create document, report, or other formats that contain information produced
by the system.
The output form of an information system should accomplish one or more of
the following objectives.
❖ Convey information about past activities, current status or projections of
the
❖ Future.
❖ Signal important events, opportunities, problems, or warnings.
❖ Trigger an action.
❖ Confirm an action.
12
8.3ER-DIAGRAM
13
9.SYSTEM ARCHITECTURE:
9.1TABLE STRUCTURE
Admin Table:
Course Table:
Faculty_hour:
Staff Login
10.CODING
Apply Leave
package autotimetable;
import
java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import
javax.servlet.ServletException;
import
javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class signup extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-
8"); String path="index.jsp#overlay";;
try {
DB d=new DB();
String
uname=request.getParameter("name");
String
pass1=request.getParameter("pass1");
String
pass2=request.getParameter("pass2");
String fname=request.getParameter("fn");
17
String lname=request.getParameter("ln");
String addr=request.getParameter("addr");
String
contactno=request.getParameter("cn");
String dob=request.getParameter("dob");
String doj=request.getParameter("doj");
String
qualific=request.getParameter("qu");
String
email=request.getParameter("email");
String
maddr=request.getParameter("maddr");
String
course=request.getParameter("course");
String subjectlist[]=request.getParameterValues("subjectslist");
String slist="";
for(int i=0;i<subjectlist.length;i++){
// System.err.println("subjectlist
:"+subjectlist[i]); slist=slist+subjectlist[i]+",";
}
ArrayList<String> a=new ArrayList<String>();
a.add(uname);
a.add(pass1);
a.add(pass2);
a.add(fname);
a.add(lname);
a.add(addr);
a.add(contactno
); a.add(dob);
a.add(doj);
a.add(qualific
);
a.add(email);
a.add(maddr);
a.add(course);
a.add(slist);
d.addTeacher(a);
path="index.jsp?success
";
} finally {
18
}
response.sendRedirect(path);
}
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
processRequest(request, response);
}
public String getServletInfo() {
return "Short description";
}
}
Substitute request
<%@page import="java.sql.ResultSet"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<jsp:useBean id="object" class="autotimetable.DB" />
<%
ResultSet r=object.getSubst(session.getAttribute("id")+"");
out.print("<table id='admin_menu'>");
out.print("<th>");
out.print("</th>");
out.print("<th>");
out.print("</th>");
out.print("<th>");
out.print("Requested
By</th>");
19
out.print("<th>");
out.print("Requested For</th>");
out.print("<th>");
while(r.next()){
out.print("<tr>");
out.print("<td>");
out.print("<div style='padding: 10px 10px 10px 10px; background-
color:green'><a href='user/leaveAction.jsp?id="+session.getAttribute("id")
+"&date="+r.getString(2)+"&action=approved' style='text-
decoration:none;color:white'>Approve</a></div>");
out.print("</td>");
out.print("<td>");
out.print("<div style='padding: 10px 10px 10px 10px; background-
color:Red'><a href='user/leaveAction.jsp?id="+session.getAttribute("id")
+"&date="+r.getString(2)+"&action=Rejected' style='text-
decoration:none;color:white'>Reject</a></div>");
out.print("</td>");
20
11.SCREENSHOTS
21
22
23
24
25
26
27
12.SYSTEM TESTING
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. 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.
28
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.
Integration Testing
Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires
significant participation by the end user. It also ensures that the system meets
the functional requirements.
Test Results: All the test cases mentioned above passed successfully. No
defects encountered.
30
13.LITERATURE REVIEW
A large number of variants of the timetabling problem have been
proposed in the literature, which differ from each other based on the type of
institution (university or school) involved and the type of constraints. We
classify the timetabling problems into three main classes: School timetabling:
The weekly scheduling for all the classes of a school,
avoiding teachers
meeting two classes at the same time, and vice versa; Course
timetabling: The weekly scheduling for all the lectures of a set of university
courses,
minimizing the overlaps of lectures of courses having common
students; Examination timetabling: The scheduling for the exams of a set of
university courses,
avoiding overlap of exams of courses having common students, and
spreading the exams for the students as much as possible.
Based on this classification, we develop a separate discussion for each of
the three problems and we devote a section to each of them. However, such
classification is not strict, in the sense that there are some specific problems
that can fall between two classes, and cannot be easily placed within the above
classification.
For example, the timetabling of a specific school which gives large
freedom to the student regarding the set of courses can be similar to a course
timetabling problem (A. Schaerf, 1999). In some cases, the timetabling
problem consists of finding any timetable that satisfies all the constraints. In
these cases, the problem is formulated as a search problem. In other cases, the
problem is formulated as an optimization problem. That is, what is required is
a timetable that satisfies all the hard constraints and minimizes (or maximizes)
a given objective function which embeds the soft constraints. As shown later,
in some approaches, the optimization formulation is just a means to apply
optimization techniques to a search problem. In this case, what is minimized is
the so-called distance to feasibility. Even when the problem is a true
optimization problem, the distance to feasibility may be included in the
objective function.
This is generally done to facilitate the search for the best solution. In both
cases (search and optimization), we define the underlying problem, which is
the problem of deciding if there exists a solution, in the case of a search
problem, and the 9 problem of deciding if there exists a solution with a given
31
14.CONCLUSION
This project has evolved from just a mere idea into a life changing Time
Table Generation System that will definitely have an instant impact on
academic institutions. Users (college or university administrators) will
generate timetables automatically instead of the laborious manual way of
having to brain storm on how to avoid course or room clashes by student
groups.
The system will generate time tables in a quicker and more convenient
way, thereby saving a lot of time and effort in the process. During the system
analysis and design stages, objects were identified from the functional
requirements, contextual and block designs were constructed and with the aid
of special software development tools such as Visual Paradigms, use case
diagrams, sequence diagrams, activity diagrams and class diagrams were
created which ultimately led to the implementation of the fullfledged software
system. 70 The project met the aims and objectives and thus the software
system is capable of performing the core operations it was primarily developed
for.
33
15.REFERENCES
BOOKS
Software Engineering Fifth edition by R. S.Pressman, McGraw-Hill
Publication, 1997
WEBSITES
http://en.wikipedia.org/wiki/MySQL
http://www.wpi.edu/Serlvets & JSP - Falkner Jones.pdf
http://edutechwiki.unige.ch/en/Educational_technology
http://www.wpi.edu/Images/Tutorial_JSP
http://en.wikipedia.org/wiki/JSP
34