Time Table Management
Time Table Management
Time Table Management
1. Introduction ………………………………………………………… 1
2. Abstract ………………………………………………………… 1
3. Project Definition……………………………………………………. 2
4. Need ………………………………………………………... 2
5. Project Overview……………………………………………………. 2
6. H/W, S/W Configuration…………………………………………… 4
7. Software process model…………………………………………….. 11
8. Problem Definition and Description………………………………. 13
9. System Analysis & Design………………………………………..... 15
10. System Analysis…………………………………………………….. 16
11. Data Flow Diagram………………………………………………… 18
12. E-R Diagram……………………………………………………….. 24
13. Database Design……………………………………………………. 25
14. Screen Layouts…………………………………………………….. 26
15. Testing………………………………………………………………. 36
16. Implementation…………………………………………………….. 38
17. Discussion…………………………………………………………… 40
18. Bibliography………………………………………………………. 41
1. INTRODUCTION
3.PROJECT DEFINITION
5.PROJECT OVERVIEW
Expected Benefits
On implementing this package the farm will get error free data
to analyze.
This package would limit the time and money factor involve in
“Time Table Management System”.
Maintenance is much easier and accurate than the existing
manual system.
Security features are somewhat higher than that of manual
approach.
6. Hardware and Software Configuration
The hardware and software should be chosen carefully keeping following point
in mind
Hardware configuration
Software configuration
• Separates a data resource's client interface from its data access mechanisms
• Adapts a specific data resource's access API to a generic client interface
The DAO pattern allows data access mechanisms to change independently of the
code that uses the data.
DAO FACTORY
DATA
SOURC
BUSINESS OBJECT
DATA ACCESS OBJECT E
(JSP PAGE)
The DAO design pattern is another abstraction layer over the persistence
mechanism of the application. The application deals with Data Access Objects
and Data Transfer Objects (DTO) rather than directly calling the JDBC driver.
Changing the persistence method at a later date doesn't require the application code
to change, only adding a new set of DAOs. Using DAO in the web application
allows more concentration on the data access rather than on the mechanics of how
the data is stored and retrieved.
Overview of Swing:
Swing is a widget toolkit for Java. It is part of Sun Microsystems' Java Foundation
Classes (JFC) — an API for providing a graphical user interface (GUI) for Java
programs.
Swing was developed to provide a more sophisticated set of GUI components than
the earlier Abstract Window Toolkit. Swing provides a native look and feel that
emulates the look and feel of several platforms, and also supports a pluggable look
and feel that allows applications to have a look and feel unrelated to the underlying
platform.
Architecture
Swing is a platform-independent, Model-View-Controller GUI framework for Java.
It follows a single-threaded programming model, and possesses the following
traits:
However, at its core every Swing component relies on an AWT container, since
(Swing's) JComponent extends (AWT's) Container. This allows Swing to plug into
the host OS's GUI management framework, including the crucial device/screen
mappings and user interactions, such as key presses or mouse movements. Swing
simply "transposes" its own (OS agnostic) semantics over the underlying (OS
specific) components. So, for example, every Swing component paints its rendition
on the graphic device in response to a call to component.paint(), which is defined
in (AWT) Container. But unlike AWT components, which delegated the painting
to their OS-native "heavyweight" widget, Swing components are responsible for
their own rendering.
This transposition and decoupling is not merely visual, and extends to Swing's
management and application of its own OS-independent semantics for events fired
within its component containment hierarchies. Generally speaking, the Swing
Architecture delegates the task of mapping the various flavors of OS GUI
semantics onto a simple, but generalized, pattern to the AWT container. Building
on that generalized platform, it establishes its own rich and complex GUI
semantics in the form of the JComponent model. A review of the source of
Container.java and JComponent.java classes is recommended for further insights
into the nature of the interface between Swing's lightweight components and
AWT's heavyweight widgets.
Typically, Swing component model objects are responsible for providing a concise
interface defining events fired, and accessible properties for the (conceptual) data
model for use by the associated JComponent. Given that the overall MVC pattern
is a loosely-coupled collaborative object relationship pattern, the model provides
the programmatic means for attaching event listeners to the data model object.
Typically, these events are model centric (ex: a "row inserted" event in a table
model) and are mapped by the JComponent specialization into a meaningful event
for the GUI component.
For example, the JTable has a model called TableModel that describes an interface
for how a table would access tabular data. A default implementation of this
operates on a two-dimensional array.
(However, to get a good sense of the potential that the Swing architecture makes
possible, consider the hypothetical situation where custom models for tables and
lists are wrappers over DAO and/or EJB services.)
Relationship to AWT
Since early versions of Java, a portion of the Abstract Window Toolkit (AWT) has
provided platform-independent APIs for user interface components. In AWT, each
component is rendered and controlled by a native peer component specific to the
underlying windowing system.
Much of the Swing API is generally a complementary extension of the AWT rather
than a direct replacement. In fact, every Swing lightweight interface ultimately
exists within an AWT heavyweight component because all of the top-level
components in Swing (JApplet, JDialog, JFrame, and JWindow) extend an AWT
top-level container. However, the use of both lightweight and heavyweight
components within the same window is generally discouraged due to Z-order
incompatibilities.
Relationship to SWT
The Standard Widget Toolkit (SWT) is a competing toolkit originally developed
by IBM and now maintained by the Eclipse Foundation. SWT's implementation
has more in common with the heavyweight components of AWT. This confers
benefits such as more accurate fidelity with the underlying native windowing
toolkit, at the cost of an increased exposure to the native platform in the
programming model.
The advent of SWT has given rise to a great deal of division among Java desktop
developers, with many strongly favoring either SWT or Swing. Sun's development
on Swing continues to focus on platform look and feel (PLAF) fidelity with each
platform's windowing toolkit in the approaching Java SE 7 release (as of December
2006). In the meantime, there are other sources of high-fidelity PLAFs, many of
which are collected on the javootoo site.
There has been significant debate and speculation about the performance of SWT
versus Swing; some hinted that SWT's heavy dependence on JNI would make it
slower when the GUI component and Java need to communicate data, but faster at
rendering when the data model has been loaded into the GUI[1]. However,
benchmarks show no clear winner, and the results greatly depend on the context
and the environments[2].
SWT serves the Windows platform very well but is considered by some to be less
effective as a technology for cross-platform development. By using the high-level
features of each native windowing toolkit, SWT returns to the issues seen in the
mid 90's (with toolkits like zApp, Zinc, XVT and IBM/Smalltalk) where toolkits
attempted to mask differences in focus behaviour, event triggering and graphical
layout. Failure to match behavior on each platform can cause subtle but difficult-
to-resolve bugs that impact user interaction and the appearance of the GUI.
There are special purpose diagnostic tools and utilities that facilitate the debugging
of Swing applications and address the problems mentioned above:
The six processes of the software life cycle system are as follows:
• Feasibility study
• Requirement analysis and specification
• Design
• Coding and unit testing
• Integration and system testing
• Maintenance
Feasibility Study:
During integration and system testing phase, the modules are integrated in a
planned manner. We carried out the incrementally over a number of steps. During
each integration step, the partially integrated system is tested and sets of previously
planned modules are added to it. Finally, when all the modules have been
successfully integrated and tested, system testing is carried out.
Maintenance:
Maintenance of a typical software product requires much more effort than the
effort necessary to develop the product itself.
Maintenance involves performing any one or more of the following three kinds
of activities:
Corrective Maintenance:
Correcting errors that were not discovered during the product development
phase.
Perfective Maintenance:
Improving the implementation of the system, and enhancing the functionalities
Adaptive Maintenance:
Porting the software to work in a new environment.
Time Table Management System is a system for maintaining entire time table
generation process in a college, and keeping track of information about subjects,
labs, and teachers. Most major firms should have their own Time Table
Management System.
Existing System
The existing System was manual system. The need for computerization of the
existing system arose because of many difficulties, irregularities and inaccuracy
present in the current system. The main cause of the worry includes missing mails,
information delay, lack of interaction. In previous system colleges were
maintaining time table details manually in pen and paper, which was time taking
and costly. These all were the causes of the least management strategy. So, the
farm decided to computerize this System.
Proposed System
Requirement Specification:
Analysis is the main focus of system development and is the stage where system
designers have to work at two levels of definition regarding the study of situational
issues and possible solutions in terms of “what to do” and “how to do”.
System Study
broad, so when the speed of applying the new technology accounts for many
To deal with these needs, people commonly seek new modified information to
support the decision. When that happens, then they obtain turn to a computer
system for help the information users and data processing specialist then work
together to complete a series of steps in a system study to produce output results to
satisfy information needs.
10.System analysis
System Analysis is a process by which we attribute process or goals to a human
activity, determine how well those purpose are being achieved and specify the
requirements of the various tools and techniques that are to be used within the
system if the system performances are to be achieved.
System Planning
Planning for information systems has a time horizon and a focus dimension.
The time horizon dimension specifies the time range of the plan, where as the
operational. The Project that we were assigned was required to complete within 16
The Physical Dataflow Diagrams show the actual implementation and movement
of data between people, departments, and workstations. Each component of a DFD
is labeled with a descriptive name. Process names are further numbered that will be
used for identification purposes. The number assigned to a specific process does
not correspond to the sequence of processes. It is strictly for identification
purposes. A data flow diagram allows parallel activities i.e. a number of data-flows
coming out from the source and going into the destination. A DFD concentrates on
the data moving through the system and not on the devices or equipments. A DFD
may consist of a number of levels. The top-level diagram is called the Context
Diagram, which consists of a single process and plays a very important role in
studying the system. It gives the most general and broadest view of the system.
Move over it gives the pictorial representation of the scope boundaries of the
system under study.
NOTATIONS:
Data Stores are places where data are stored such as files and tables.
Below is the top level DFD showing how the User’s request processed by the
server with database interaction and sends the response back to the user.
Feasibility Study
All projects are feasible when given unlimited resources and infinite time! But the
development of computer-based system is likely to be played by scarcity of
resources and difficulty in completion dates.
Economic Feasibility
Technical Feasibility
Functional Feasibility
Economic Feasibility
The system is very user friendly and only common terms are used in the
application and so it will not be difficult for the end-user in handling the system.
The system provides a very guidance for every step to follow while using.
Technical Feasibility
A study of function, performance and constraints that may affect the ability to
achieve an acceptable system. The analyst evaluates the technical merits of the
system, while at the same time collects additional information about performance,
reliability and maintainability end products.
From all these, we can conclude that this system is economically, technically and
functionally feasible.
Project Approval
Those projects that are both feasible and desirable should be put into a schedule.
After a project request is approved, its cost, priority, completion time and
personal requirement are estimated and used to determine where to add it to an
existing list.
Admin Admin
Master
Entry Reporting Report
1.0 2.0
Admin Admin
DataStore
DataStore
Branch Subject
Master Master
Second Level DFD 1.1 1.2
Branch Subject
Master Master
Admin Admin
Period Teacher
Master Master
1.3 1.5
Period
Teacher
Master
Admin
Lab
Master
1.4
Lab Master
E-R DIAGRAM
DATABASE DESCRIPTION
Table : - Branch
Desc :- This Table is for maintaining the available branches
Table :- Labs
DEsc :- This table keeps the information aout the branch information.
Table :- Period
In this table we are maintaining the period details.
Table :- Subject
This table is for maintaining the details record about the subjects.
Table :- Teacher
This table contains the teacher’s details
SCREEN LAYOUTS
Testing is the one step in the software engineering process that could be viewed as
destructive rather than constructive. Testing requires that the developer discard
preconceived notions of the “correctness” of the software just developed and
overcome a conflict of interest that occurs when errors are uncovered.
Testing cannot show the absence of defects, it can only show that software defects
are present.
As the developed software does not fulfill all the requirements of an organization,
so it is not possible to test with real time data.
Still then we tried our best to test each individual module and also as an integrated
modules (as a whole) with sufficient data that may an organization have, fulfilling
the objective of our “Time Table Management System”.
Testing performs a very critical role for quality assurance and ensuring the
reliability of the software. During testing, the program to be tested is executed with
a set of test cases and output of the program for the test cases and output of the
program for the test case is evaluated to determine if the program is performing as
it is expected to. Hence
.
Code Testing:
The code testing strategy examines the logic of program i.e. the analyst develops
test cases that results in executing every instruction in the program. Basically
during code testing every path through the program is tested.
Specification Testing:
To perform specification testing the analyst examines the specification starting
what the program should do and how it should perform under various conditions.
Then test cases are developed for each .In order to find which strategies to follow,
levels of testing should be followed
Levels of Testing
The basic levels are unit testing, integration testing, system testing and acceptance
testing. These different levels of testing attempt to
detect different types of faults. The different levels of testing are as follows:
Unit Testing:
In this testing different modules are tested against specification produced during
design of the modules. Unit testing is essential for verification of code produced
during the coding phase and hence its main goal is to test internal logic modules.
Integration Testing:
In this testing tested modules are combined into subsystems which are then tested.
The goal here is to see if the modules can be indicated properly and emphasis is
being on testing interfaces between modules.
System testing:
In this testing the entire software system is tested. The reference document for this
process is the requirements document and the goal is to see if the system meets its
requirements.
This is normally performing on realistic data of the client to demonstrate for the
software is working satisfactorily. Testing here focus on external behavior of the
system.
System Implementation
Implementation is the stage of the project when the theoretical design turned into a
working system. At this stage the main workload, the up heal and the major impact
on the existing practices shift to user department. If the implementation stage is not
carefully planned and controlled, it can cause chaos. Thus it can be considered to
be the most crucial stage in achieving a new successful system and in giving the
users confidence that the users confidence that the new system will work and be
effective.
Once the planning has been completed, the major effort in the computer
department is to ensure that the programs in the system are working properly. At
the same time the user department must concentrate on training user staff. What
the staffs have been trained, a full system test can be carried out, involving both the
computer and clerical procedures.
DISCUSSION
As we discussed earlier during project “time does not permit to complete the entire
project, so as a part of the whole is being carried out and being submitted as the
project in our curriculum. Total software along with extensive features will be
submitted as Major project”, here is the entire Time Table Management System
with extensive features fulfilling the requirements of any modern distribution
farms.
Although we have attempted to make the entire package full proof of errors, it may
have some inherent bugs (beyond out knowledge) as it is yet to being tested with
real time data.
Lastly, we will carry our effort in developing the software fulfilling the basic
requirements of any distributing farm, if time permits.
We do believe that the system will satisfy the basics and will prove to be user
friendly and effective software whenever it’s being implemented in the
organization.
BIBLIOGRAPHY