Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION
Technology makes lifestyle easier by providing better support to
different systems, better accuracy, better security options, easier
maintenance, etc.
Now a days technology eventually means computers which is
the greatest achievements of last century. Day by day computers are being
more and more popular because of its features like ease of work, ease of
learning, greater accuracy with the least time consumption and the last
but not the least i.e. ease of maintenance with cost effectiveness.
So as a part of these ongoing evolutionary approach traditional
systems are being computerized to make them more fruitful than ever.
2.ABSTRACT
Time Table Management system is an automated system which
genets time table according to the data given by the user. The main
requirement of the application is to provide the details about the branch,
subjects, no. of labs, total no. of period and details about the lab
assistance. Then the application generates the time table according to
your need.
3.PROJECT DEFINITION
The basic project is to create a Time Table Management System.
To create Databases of different entities involved in this process.
Maintaining database-containing information about the various
semesters, subjects, Labs, teachers etc.
Hardware Requirements
Processor
: Pentium-iv
RAM
: 1GB
Hard Disk
: 40 GB
Printer
: HP Laser Zet
Monitor
: LG Monitor
Software Requirements
Back end
:
MS access
Front End
Windows XP
Tool
M. S. Office
4.NEED
As we discussed earlier that manual maintenance of a Time Table
Management System is a tedious job. So to enhance the ease of
working we go for this package.
Manual maintenance of databases of items, time table processing is
a time taking process and somehow erroneous.
To give more accuracy to the system i.e. rather going manual
modification we involve computer for accuracy.
The least but most important it saves time.
5.PROJECT OVERVIEW
Objectives of the package
Create a Time Table Management System to be used by any
College.
To perform the basic requirements of the firm.
Maintaining databases of subject, Class, semesters details.
Scopes and boundaries of the package
As it is a computer-based package so maintenance and working is
somewhat difficult from manual mode of approach.
As it is not possible to associate each and every requirement of the
system so in some way or other it will going to create problem at
some stage of execution (like report generation).
As a computer based System it is easier to fetch data from the
database for unsocial activities. Also easier to destroy the existing
ones.
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
The System must be user friendly
The System must be able to handle large number of data.
Processing speed of the system must be fast
Hardware configuration
Main processor
: Pentium IV
: 80 GB
Software configuration
Operating system
Programming specification
JDBC
Integrated Development
Environment
DATA
BUSINESS OBJECT
(JSP PAGE)
SOURC
E
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.
The standardization provided by this new layer also makes it easier to
automatically generate the Visul Basis 6.0 code necessary to access the
database. Most JDBC calls are very repetitive and time consuming. Using a
DAO Generator is a good way to eliminate that work and make the application
development faster.
Overview of Swing:
Swing is a widget toolkit for Visul Basis 6.0. It is part of Sun Microsystems'
Visul Basis 6.0 Foundation Classes (JFC) an API for providing a graphical
user interface (GUI) for Visul Basis 6.0 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
Visul Basis 6.0. 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.Visul Basis 6.0 and JComponent.Visul Basis 6.0 classes is
recommended for further insights into the nature of the interface between
Swing's lightweight components and AWT's heavyweight widgets.
source of complications when mixing AWT controls, which use native controls,
with Swing controls in a GUI.)
It must be noted that the typical use of the Swing framework does not require
the creation of custom models, as the framework provides a set of default
implementations that are transparently, by default, associated with the
corresponding JComponent child class in the Swing library. In general, only
complex components, such as tables, trees and sometimes lists, may require the
custom model implementations around the application-specific data structures.
(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.)
Finally, in terms of visual composition and management, Swing favors relative
layouts (which specify the positional relationships between components) as
opposed to absolute layouts (which specify the exact location and size of
components). This bias towards "fluid"' visual ordering is due to its origins in
the applet operating environment that framed the design and development of the
original Visul Basis 6.0 GUI toolkit. (Conceptually, this view of the layout
management is quite similar to that which informs the rendering of HTML
content in browsers, and addresses the same set of concerns that motivated the
former.)
Relationship to AWT
Since early versions of Visul Basis 6.0, 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.
By contrast, Swing components are often described as lightweight because they
do not require allocation of native resources in the operating system's
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 Visul Basis
6.0 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
Visul Basis 6.0 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 Visul Basis 6.0 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.
Maintenance
Feasibility Study:
The main aim of the feasibility study is to determine whether it would be
financially and technically feasible to develop the product.
In this phase we have analyzed the collected data and arrive at the following:
An abstract problem definition. It is the rough description of the project
which considers only the important requirements and ignores the rest.
Formulation of the different solution strategies.
Analysis of alternative solution strategies to compare their benefits and
shortcomings. In this phase we estimates the resources required, cost of
development, and development time for each of the options.
Requirement Analysis And Specification:
The aim of the requirements analysis and specification phase is to
understand the exact requirements of the customer and to document them
properly.
This phase consists of two distinct activities, namely requirements gathering
and analysis, and requirement specification.
Design:
The goal of the design phase is to transform the requirements specified in
the SRS document into a structure that is suitable for implementing in some
programming language.
In this phase we followed Object-oriented design (OOD) approach. In this
technique, various objects that occur in the problem domain and solution
domain are first identified and then the different relationships exists among
those objects are identified.
Coding And Unit Testing:
The purpose of the coding and unit testing phase of software development is
to translate the software design into source code and test each module in
isolation as this is the best way to debug the errors identified at this stage.
Integration And System Testing:
The basic goal of the integration and system testing is to ensure that the
developed system conforms to its requirement specification.
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 of the system according to the customers requirements.
Adaptive Maintenance:
Porting the software to work in a new environment.
8. Problem Definition and Description
Time Table Management System:
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
The proposed System is completely computer-based application. In the
proposed system administrator should not to worry about their late and
improper management of sales details. All the information will be available by
just clicking on a single button. Thousands of records can searched and
displayed without taking any significant time.
Advantages of the proposed system:
A wave of social and economic changes often follows in the wake of the
new technology. New opportunities may arise to improve on a production
process or to do something that was not previously possible. Changes in
the ways individuals are organized into groups may then be necessary,
and the new groups may complete for economic resources with
established units.
Technological factor:
People have never before in a time when the scope of scientific inquiry was
so broad, so when the speed of applying the new technology accounts for
many changes in the organization.
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
weeks.
Preliminary Investigation
The initial investigation has the objective of determining the validity of
the users request for a candidate system and whether a feasibility study should
be conducted.
The objectives of the problem posed by the user must be understood within
the framework of the organizations MIS plan. We had investigated from the
concerned authority about the project
Information Gathering
A key part of feasibility analysis is gathering information about the
present system. The analyst must know what information to gather, where to
find it, how to collect it, and what to make of it. The proper use of tools for
gathering information is the key to successful analysis. The tools are the
traditional interview, questionnaires, and on-site observation.
Structured Analysis
Sources and Destinations of data are the external sources and destinations
of data, which may be people, programs, organizations or other entities
interacting with the system, but are outside its boundary.
Data Stores are places where data are stored such as files and tables.
Below is the top level DFD showing how the Users 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.
The feasibility of a computer-based system can be studied in three major areas:
Economic Feasibility
Technical Feasibility
Functional Feasibility
Economic Feasibility
An evaluation of development cost weighed against the ultimate income of
benefit derived from the developed system. Very important information
contained in the feasibility study is that it takes care of the cost benefit analysis,
which is the assessment of the economic justification for a computer based
system project.
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.
TESTING
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.
If testing is conducted successfully, it uncovers errors in the software. As a
secondary benefit, testing demonstrates that software functions appear to be
working according to the specification. Testing provides a good indication of
software reliability and some indication of software quality as a whole.
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
Testing is the process of executing a program with the intention of
finding errors.
A good test case is the one that has a high probability of finding as yet
undiscovered error.
A successful test is one yet uncovers as yet undiscovered errors.
Testing is performed according to two different strategies:
.
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.
The implementation view of software requirements presents the real worlds
manifestation of processing functions and information structures. In some cases
a physical representation is developed as the first step in software design.
However most computer-based systems are specified in a manner that dictates
accommodation of certain implementation details.
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 its being implemented in the
organization.