Sie sind auf Seite 1von 66

Time Table Generator

Introduction

Time Scheduling Software makes the tedious task of creating and regenerating timetable
easy and fast. Helping you in utilizing resources optimally, this timetable management software
makes it simple for you to plan availability of human resources, physical resources and rules
applicable to each class. It even takes care of substitute teacher preferences.











Objective of the project

Are you pressed down with the tedious, time-consuming task of scheduling your school
timetable?
Do you feel wedged in regular chores like Teachers Record Management and Substitution
Management?
Is the problem of multiple shifts playing havoc in your timetabling effort?
Have you ever felt like escaping from generating varied school timetable views?
Time Table Generator
Are you hunting for a timetable software that can help you in resource optimization and
satisfy your timetabling needs flawlessly, while taking care of dynamic needs and availability
of resources?
Can you spare just half an hour to quickly see how a simple software can help you generate
timetable in minutes?

Time Table Generator
REQUIREMENT GATHERING

Requirement gathering is done in order to understand the problem the software system is to
solve. The problem could be automating an existing manual process, developing a new automated
system, or a combination of the two. For large systems that have many features, and that need to
perform many different tasks, understanding the requirements of the system is the major task. The
emphasis in requirements analysis is on identifying what is needed from the system, not how the
system will achieve its goals. The developer has to develop the system to satisfy the clients needs.

Once the problem is analyzed and the essentials understood, the requirements must be
specified in the requirement specification document. For requirement specification in the form of a
document, some specification language has to be selected. All the factors that may affect the design
and the proper functioning of the system should be specified in the requirement document. A
preliminary user manual that describes the entire major user interfaces frequently forms a part of the
requirements documents.

At this stage, youre breaking grand idea into smaller, more manageable chunks of
functionality. In my case, Im taking the CMS idea and breaking it down into functionality that I
think should be in the application. I envision what the user would try to accomplish and the steps that
may be involved in accomplishing that task.
GraphicsEditorare a key entertainment experience on Windows, but ease-of-use concerns have
caused customer frustration over the years. Traditionally, Editorare installed like applications, but
they are utilized more like entertainment media (movies or songs, for example). Innovations, such as
Editor Explorer, expose Editor in a consistent manner that is different from standard applications.
These innovations also and give Editor first-class citizen status in Windows, together with Music and
Graphs. The following requirements help ensure that Windows Vista and Windows 7 provide an
improved, more accessible, and unified editor experience. At the same time, they ensure
compatibility with Windows XP.
Time Table Generator
REQUIREMENT ANALYSIS

User Requirements
Selection for Number of working days of the week (ex. Saturday off)
Zero ( attendance ) period insertion
Periods per day selection , this selection is day wise ex. Can be made 4 periods on Saturday
etc.)
Subjects could be entered considering
1. Hard subjects in first 4 or 5 periods
2. Subject in which classroom
3. Single or double duration consecutively
4. Periods per week per subject
5. Type of subject ( Hard, easy)
6. Subjects distributed evenly for entire week

Periods could be entered with following considerations
1. Periods for which teachers not assigned and left for seminars etc.
2. Some class Saturday off
3. Different group formation for music, sports or sharing common room for different class.
4. Max. number of consecutive periods per teacher
5. Bell timings could be entered with intervals in between.


Time Table Generator
INPUT REQUIREMENT
1. Summary timetable for classes
2. Summary timetable for teachers
3. Summary timetable for rooms
4. Class wise time table
5. Teacher wise time table
6. All classes assigned to a teacher ( no. of periods per week bifurcations )
7. Class wise teachers and subject reports
8. Free teacher availability for substitution day wise , period wise
9. Room wise time table
10. Total number of periods subject wise
and the list is endless as per your requirements

11. Study Centre needs store information about student.
12. Study Centre need to maintain salary account.
13. Study Centre also needs to generate report of fee, attendance, time table. It also needs a
security to prevent data from unauthorized users.
14. system set-up
15. operational monitoring and control
16. system instrumentation, accounting, tuning
17. mechanisms for back-up and recovery
18. tools for system verification and fault diagnosis software tools for system maintenance and
development systems for change management, configuration management, release control
etc.












Time Table Generator

Time Table Generator
HARDWARE REQUIREMENT

Serial no. Hardware
Description
Minimum
Requirement
Recommended
1. Microprocessor 1.4 M. Hz. 3.2 G. Hz.
2. RAM 256 MB 2 GB
3. Hard disk 80 GB 250 GB
4. Disk drive 1.44 MB 2.8 MB
5. Monitor 15(B & W) 17(Colored )
6. VDU unit SVGA (800x600) VGA (800x600)
7. Keyboard 101 Keys 106 Keys
8. Mouse Serial USB
Support at least the following aspect ratios and associated screen resolutions:
4:3 normal (800600 or 1024768)
16:9 widescreen (1280720)
16:10 widescreen (1152720 or 16801050 or 800480)


Time Table Generator
SYSTEM SPECIFICATION


HARDWARE REQUIREMENT


PROCESSOR : INTEL PENTIUM III
RAM : 64MB
HDD : 40GB
SECONDARY STORAGE : 1.44 MB FDD,CD-R,CD+RW CDD
MONITOR : 15COLOR MONITOR.


SOFTWARE REQUIREMENT

FRONT END VB .Net
BACK END MS SQL Server 2005
OPERATING YSTEM WINDOWS XP
IDE Visual Studio 2010


Time Table Generator
FEASIBILITY STUDY

Feasibility is the determination of whether or not a project is worth. The process following in
making this determination is called a feasibility study. A feasibility study is conducted to select the
best system that meets performance requirements. Once it has been determined that a project is
feasible, the analyst can go ahead and prepare the project specification which finalizes project
requirements.

The feasibility of the system developed has been discussed in the following points:
Operational Feasibility
Technical Feasibility
Economic/Financial Feasibility

OPERATIONAL FEASIBILITY
The system being developed is using VB 2010 . The system works under Windows & Linux
environment PCs which is quite common today and the users of the system are familiar with this
environment and also the developed system is menu-driven and user friendly.
Information about any module can be obtained at any point of time whenever required.
Different level of security is provided in this system to prevent unauthorized access, malicious
destruction of data, no duplication/data loss.


Technical Feasibility
Technical analysis showed that the hardware and software requirement is sufficient and VB
2010 is suitable for the project. But in future SQL server can also be used for the back end and
different other enhanced functionalities of VB in combination with database can also be
implemented.

Economic/Financial Feasibility
Highlights of the economic feasibility are as follows:
There is no direct cost since the developed system does not require any special hardware e.g.
dedicated computer system.
Because of the nature of the system, activities do not require a machine all the time during a
normal working day.
.
Time Table Generator
Software Model

The six stages of the SDLC are designed to build on one another, taking the outputs from the
previous stage, adding additional effort, and producing results that leverage the previous effort and
are directly traceable to the previous stages. This top-down approach is intended to result in a quality
product that satisfies the original intentions of the customer.




Too many software development efforts go awry when the development team and customer
personnel get caught up in the possibilities of automation. Instead of focusing on high priority
features, the team can become mired in a sea of nice to


Time Table Generator

SDLC
Software development life cycle



























INITIATION/PLANNING
To generate a high-level view of the intended project and determine the goals of the project.
The feasibility study is sometimes used to present the project to upper management in an attempt to
gain funding. Projects are typically evaluated in three areas of feasibility: economical, operational,
and technical. Furthermore, it is also used as a reference to keep the project on track and to evaluate
Requirement
Gathering
5 days
Problem Definition
& Check Feasibility
2 days
Analysis of
Problem in
4 days
Control
flow
diagram
DFD
3 days
System flow
diagram
3 days
E R
Diagram
3 days
Class
Diagram
2 days
Coding
30 days
Unit Testing
5 days
Integration
testing
3 days
System
Testing
3 days
Post
Installation
10 days
Time Table Generator
the progress of the MIS team. The MIS is also a complement of those phases. This phase is also
called the analysis phase.

REQUIREMENTS GATHERING AND ANALYSIS
The goal of systems analysis is to determine where the problem is in attempt to fix the
system. This step involves breaking down the system in different pieces and drawing diagrams to
analyze the situation. Analysts project goals, break down functions that need to be created, and
attempt to engage users so that definite requirements can be defined.

DESIGN
In systems design functions and operations are described in detail, including screen layouts,
business rules, process diagrams and other documentation. The output of this stage will describe the
new system as a collection of modules or subsystems.

BUILD OR CODING
Modular and subsystem programming code will be accomplished during this stage. Unit
testing and module testing are done in this stage by the developers. This stage is intermingled with
the next in that individual modules will need testing before integration to the main project. Planning
in software life cycle involves setting goals, defining targets, establishing schedules, and estimating
budgets for an entire software project.

TESTING
The code is tested at various levels in software testing. Unit, system and user acceptance
testing are often performed. This is a grey area as many different opinions exist as to what the stages
of testing are and how much if any iteration occurs. Iteration is not generally part of the waterfall
model, but usually some occurs at this stage.









Time Table Generator
CLASS DIAGRAM
























Main Menu


Admin Login

Select Subject

Input Teacher name

Schedule Details
Output


Generate Schedule
Details


Generate Time Table
Process
Time Table Generator

CONTROL FLOW DIAGRAM













EXIT
























Generator


ADMIN LOGIN
Teacher Details
Time table
Time Schedule
EXIT

Time Table Generator
DATA FLOW DIAGRAM


LEVEL 0 DFD




















Process

Generator
Admin
login
Output
Time Table Generator


LEVEL 1 DFD





















Process
Input

Generating Teacher
details

Admin
Login
Output
Time Table Generator

LEVEL 2 DFD
















Editing
Input
Select
Teacher
Admin
login

Subject entry
PROCESS
Exit
Select for full
details

Show complete
schedule
Generate
time table
Time Table Generator


ENTITY-RELATIONSHIP DIAGRAM














































Main Menu
Student
Teacher
Admin
Login


Select Subject
If
Correction


Input Teacher Name

Update Schedule

Show full time table
Time Table Generator
SYSTEM FLOW DIAGRAM





































Main menu

Admin Login
Select subject
Select teacher Select class
Edit

Generate Table
Time Table Generator
Software Development Environment

6.1. Introduction To .Net Framework

The .NET Framework is a new computing platform that simplifies application development in the
highly distributed environment of the Internet. The .NET Framework is designed to fulfill the
following objectives:

To provide a consistent object-oriented programming environment whether object code is stored
and executed locally, executed locally but Internet-distributed, or executed remotely.
To provide a code-execution environment that minimizes software deployment and versioning
conflicts.
To provide a code-execution environment that guarantees safe execution of code, including code
created by an unknown or semi-trusted third party.
To provide a code-execution environment that eliminates the performance problems of scripted
or interpreted environments.
To make the developer experience consistent across widely varying types of applications, such as
Windows-based applications and Web-based applications.
To build all communication on industry standards to ensure that code based on the .NET
Framework can integrate with any other code.
The .NET Framework has two main components: the common language runtime and the .NET
Framework class library. The common language runtime is the foundation of the .NET Framework.
You can think of the runtime as an agent that manages code at execution time, providing core
services such as memory management, thread management, and Remoting, while also enforcing
strict type safety and other forms of code accuracy that ensure security and robustness. In fact, the
concept of code management is a fundamental principle of the runtime. Code that targets the runtime
is known as managed code, while code that does not target the runtime is known as unmanaged code.

FEATURES OF THE COMMON LANGUAGE RUNTIME:
The common language runtime manages memory, thread execution, code execution, code
safety verification, compilation, and other system services. These features are intrinsic to the
managed code that runs on the common language runtime.
Time Table Generator
With regards to security, managed components are awarded varying degrees of trust,
depending on a number of factors that include their origin (such as the Internet, enterprise network,
or local computer). This means that a managed component might or might not be able to perform
file-access operations, registry-access operations, or other sensitive functions, even if it is being used
in the same active application.
The runtime enforces code access security. For example, users can trust that an executable
embedded in a Web page can play an animation on screen or sing a song, but cannot access their
personal data, file system, or network. The security features of the runtime thus enable legitimate
Internet-deployed software to be exceptionally featuring rich.
The runtime also enforces code robustness by implementing a strict type- and code-
verification infrastructure called the common type system (CTS). The CTS ensures that all managed
code is self-describing. The various Microsoft and third-party language compilers
Generate managed code that conforms to the CTS. This means that managed code can
consume other managed types and instances, while strictly enforcing type fidelity and type safety.
In addition, the managed environment of the runtime eliminates many common software
issues. For example, the runtime automatically handles object layout and manages references to
objects, releasing them when they are no longer being used. This automatic memory management
resolves the two most common application errors, memory leaks and invalid memory references.
The runtime also accelerates developer productivity. For example, programmers can write
applications in their development language of choice, yet take full advantage of the runtime, the class
library, and components written in other languages by other developers. Any compiler vendor who
chooses to target the runtime can do so. Language compilers that target the .NET Framework make
the features of the .NET Framework available to existing code written in that language, greatly
easing the migration process for existing applications.

.NET FRAMEWORK CLASS LIBRARY

The .NET Framework class library is a collection of reusable types that tightly integrate with
the common language runtime. The class library is object oriented, providing types from which your
own managed code can derive functionality. This not only makes the .NET Framework types easy to
use, but also reduces the time associated with learning new features of the .NET Framework. In
addition, third-party components can integrate seamlessly with classes in the .NET Framework.
Time Table Generator
For example, the .NET Framework collection classes implement a set of interfaces that you
can use to develop your own collection classes. Your collection classes will blend seamlessly with
the classes in the .NET Framework.
As you would expect from an object-oriented class library, the .NET Framework types enable
you to accomplish a range of common programming tasks, including tasks such as string
management, data collection, database connectivity, and file access. In addition to these common
tasks, the class library includes types that support a variety of specialized development scenarios. For
example, you can use the .NET Framework to develop the following types of applications and
services:
Console applications.
Scripted or hosted applications.
Windows GUI applications (Windows Forms).
ASP.NET applications.
XML Web services.
Windows services.
For example, the Windows Forms classes are a comprehensive set of reusable types that
vastly simplify Windows GUI development. If you write an ASP.NET Web Form application, you
can use the Web Forms classes.




CLIENT APPLICATION DEVELOPMENT

Client applications are the closest to a traditional style of application in Windows-based
programming. These are the types of applications that display windows or forms on the desktop,
enabling a user to perform a task. Client applications include applications such as word processors
and spreadsheets, as well as custom business applications such as data-entry tools, reporting tools,
and so on. Client applications usually employ windows, menus, buttons, and other GUI elements,
and they likely access local resources such as the file system and peripherals such as printers.
Another kind of client application is the traditional ActiveX control (now replaced by the
managed Windows Forms control) deployed over the Internet as a Web page. This application is
Time Table Generator
much like other client applications: it is executed natively, has access to local resources, and includes
graphical elements.
In the past, developers created such applications using C/C++ in conjunction with the
Microsoft Foundation Classes (MFC) or with a rapid application development (RAD) environment
such as Microsoft Visual Basic. The .NET Framework incorporates aspects of these existing
products into a single, consistent development environment that drastically simplifies the
development of client applications.
The Windows Forms classes contained in the .NET Framework are designed to be used for
GUI development. You can easily create command windows, buttons, menus, toolbars, and other
screen elements with the flexibility necessary to accommodate shifting business needs.
For example, the .NET Framework provides simple properties to adjust visual attributes
associated with forms. In some cases the underlying operating system does not support changing
these attributes directly, and in these cases the .NET Framework automatically recreates the forms.
This is one of many ways in which the .NET Framework integrates the developer interface, making
coding simpler and more consistent.



ASP.NET
Server Application Development
Server-side applications in the managed world are implemented through runtime hosts.
Unmanaged applications host the common language runtime, which allows your custom managed
code to control the behavior of the server. This model provides you with all the features of the
common language runtime and class library while gaining the performance and scalability of the host
server.
The following illustration shows a basic network schema with managed code running in
different server environments. Servers such as IIS and SQL Server can perform standard operations
while your application logic executes through the managed code.

Server-Side Managed Code:

ASP.NET is the hosting environment that enables developers to use the .NET Framework to
target Web-based applications. However, ASP.NET is more than just a runtime host; it is a complete
architecture for developing Web sites and Internet-distributed objects using managed code. Both
Time Table Generator
Web Forms and XML Web services use IIS and ASP.NET as the publishing mechanism for
applications, and both have a collection of supporting classes in the .NET Framework.
If you develop and publish your own XML Web service, the .NET Framework provides a set
of classes that conform to all the underlying communication standards, such as SOAP, WSDL, and
XML. Using those classes enables you to focus on the logic of your service, without concerning
yourself with the communications infrastructure required by distributed software development.
Finally, like Web Forms pages in the managed environment, your XML Web service will run with
the speed of native machine language using the scalable communication of IIS.

Active Server Pages.NET
ASP.NET is a programming framework built on the common language runtime that can be
used on a server to build powerful Web applications. ASP.NET offers several important advantages
over previous Web development models:
Enhanced Performance. ASP.NET is compiled common language runtime code running on the
server. Unlike its interpreted predecessors, ASP.NET can take advantage of early binding, just-
in-time compilation, native optimization, and caching services right out of the box. This amounts
to dramatically better performance before you ever write a line of code.
World-Class Tool Support. The ASP.NET framework is complemented by a rich toolbox and
designer in the Visual Studio integrated development environment. WYSIWYG editing, drag-
and-drop server controls, and automatic deployment are just a few of the features this powerful
tool provides.
Power and Flexibility. Because ASP.NET is based on the common language runtime, the power
and flexibility of that entire platform is available to Web application developers. The .NET
Framework class library, Messaging, and Data Access solutions are all seamlessly accessible
from the Web. ASP.NET is also language-independent, so you can choose the language that best
applies to your application or partition your application across many languages. Further, common
language runtime interoperability guarantees that your existing investment in COM-based
development is preserved when migrating to ASP.NET.
Simplicity. ASP.NET makes it easy to perform common tasks, from simple form submission and
client authentication to deployment and site configuration. For example, the ASP.NET page
framework allows you to build user interfaces that cleanly separate application logic from
presentation code and to handle events in a simple, Visual Basic - like forms processing model.
Additionally, the common language runtime simplifies development, with managed code services
such as automatic reference counting and garbage collection.
Time Table Generator
Manageability. ASP.NET employs a text-based, hierarchical configuration system, which
simplifies applying settings to your server environment and Web applications. Because
configuration information is stored as plain text, new settings may be applied without the aid of
local administration tools. This "zero local administration" philosophy extends to deploying
ASP.NET
Scalability and Availability. ASP.NET has been designed with scalability in mind, with features
specifically tailored to improve performance in clustered and multiprocessor environments.
Further, processes are closely monitored and managed by the ASP.NET runtime, so that if one
misbehaves (leaks, deadlocks), a new process can be created in its place, which helps keep your
application constantly available to handle requests.
Customizability and Extensibility. ASP.NET delivers a well-factored architecture that allows
developers to "plug-in" their code at the appropriate level. In fact, it is possible to extend or
replace any subcomponent of the ASP.NET runtime with your own custom-written component.
Implementing custom authentication or state services has never been easier.
Security. With built in Windows authentication and per-application configuration, you can be
assured that your applications are secure.

LANGUAGE SUPPORT
The Microsoft .NET Platform currently offers built-in support for three languages: C#, Visual Basic,
and JScript.

WHAT IS ASP.NET WEB FORMS?
The ASP.NET Web Forms page framework is a scalable common language runtime
programming model that can be used on the server to dynamically generate Web pages.
Intended as a logical evolution of ASP (ASP.NET provides syntax compatibility with
existing pages), the ASP.NET Web Forms framework has been specifically designed to address a
number of key deficiencies in the previous model. In particular, it provides:
The ability to create and use reusable UI controls that can encapsulate common functionality and
thus reduce the amount of code that a page developer has to write.
The ability for developers to cleanly structure their page logic in an orderly fashion (not
"spaghetti code").
The ability for development tools to provide strong WYSIWYG design support for pages
(existing ASP code is opaque to tools).
CODE-BEHIND WEB FORMS
Time Table Generator
ASP.NET supports two methods of authoring dynamic pages. The first is the method shown
in the preceding samples, where the page code is physically declared within the originating .aspx file.
An alternative approach--known as the code-behind method--enables the page code to be more
cleanly separated from the HTML content into an entirely separate file.



C#.NET
ADO.NET OVERVI EW

ADO.NET is an evolution of the ADO data access model that directly addresses user
requirements for developing scalable applications. It was designed specifically for the web with
scalability, statelessness, and XML in mind.
ADO.NET uses some ADO objects, such as the Connection and Command objects, and also
introduces new objects. Key new ADO.NET objects include the DataSet, DataReader, and
DataAdapter.

The important distinction between this evolved stage of ADO.NET and previous data
architectures is that there exists an object -- the DataSet -- that is separate and distinct from any data
stores. Because of that, the DataSet functions as a standalone entity. You can think of the DataSet as
an always disconnected recordset that knows nothing about the source or destination of the data it
contains. Inside a DataSet, much like in a database, there are tables, columns, relationships,
constraints, views, and so forth.

A DataAdapter is the object that connects to the database to fill the DataSet. Then, it
connects back to the database to update the data there, based on operations performed while the
DataSet held the data. In the past, data processing has been primarily connection-based. Now, in an
effort to make multi-tiered apps more efficient, data processing is turning to a message-based
approach that revolves around chunks of information. At the center of this approach is the
DataAdapter, which provides a bridge to retrieve and save data between a DataSet and its source
data store. It accomplishes this by means of requests to the appropriate SQL commands made against
the data store.

Connections. For connection to and managing transactions against a database.
Time Table Generator
Commands. For issuing SQL commands against a database.
DataReaders. For reading a forward-only stream of data records from a SQL Server data source.
DataSets. For storing, Remoting and programming against flat data, XML data and relational
data.
Data Adapters. For pushing data into a DataSet, and reconciling data against a database.
).

Connections:
Connections are used to 'talk to' databases, and are represented by provider-specific classes
such as SqlConnection. Commands travel over connections and resultsets are returned in the form of
streams which can be read by a DataReader object, or pushed into a DataSet object.
Commands:
Commands contain the information that is submitted to a database, and are represented by
provider-specific classes such as SqlCommand. A command can be a stored procedure call, an
UPDATE statement, or a statement that returns results. You can also use input and output
parameters, and return values as part of your command syntax. The example below shows how to
issue an INSERT statement against the Northwind database.
DataReaders:
The DataReader object is somewhat synonymous with a read-only/forward-only cursor over data.
The DataReader API supports flat as well as hierarchical data. A DataReader object is returned
after executing a command against a database. The format of the returned DataReader object is
different from a recordset. For example, you might use the DataReader to show the results of a
search list in a web page.
SQL SERVER
A database management, or DBMS, gives the user access to their data and helps them
transform the data into information. Such database management systems include dBase, paradox,
IMS, SQL Server and SQL Server. These systems allow users to create, update and extract
information from their database.
A database is a structured collection of data. Data refers to the characteristics of people,
things and events. SQL Server stores each data item in its own fields. In SQL Server, the fields
relating to a particular person, thing or event are bundled together to form a single complete unit of
data, called a record (it can also be referred to as raw or an occurrence). Each record is made up of a
number of fields. No two fields in a record can have the same field name.
Time Table Generator
During an SQL Server Database design project, the analysis of your business needs identifies
all the fields or attributes of interest. If your business needs change over time, you define any
additional fields or change the definition of existing fields.

SQL Server Tables
SQL Server stores records relating to each other in a table. Different tables are created for the various
groups of information. Related tables are grouped together to form a database.

Primary Key
Every table in SQL Server has a field or a combination of fields that uniquely identifies each
record in the table. The Unique identifier is called the Primary Key, or simply the Key. The primary
key provides the means to distinguish one record from all other in a table. It allows the user and the
database system to identify, locate and refer to one particular record in the database.

Relational Database
Sometimes all the information of interest to a business operation can be stored in one table.
SQL Server makes it very easy to link the data in multiple tables. Matching an employee to the
department in which they work is one example. This is what makes SQL Server a relational database
management system, or RDBMS. It stores data in two or more tables and enables you to define
relationships between the table and enables you to define relationships between the tables.

Foreign Key
When a field is one table matches the primary key of another field is referred to as a foreign
key. A foreign key is a field or a group of fields in one table whose values match those of the
primary key of another table.

Referential Integrity
Not only does SQL Server allow you to link multiple tables, it also maintains consistency
between them. Ensuring that the data among related tables is correctly matched is referred to as
maintaining referential integrity.

Time Table Generator
TESTING

TESTING MEDHODOLOGY

Unit Testing
Unit testing focuses verification effort on the smallest unit of software i.e. the module. Using
the detailed design and the process specifications testing is done to uncover errors within the
boundary of the module. All modules must be successful in the unit test before the start of the
integration testing begins.
When developing this module as well as finishing the development so that each module
works without any error. The inputs are validated when accepting from the user.
In this application developer tests the programs up as system. Software units in a system are
the modules and routines that are assembled and integrated to form a specific function. Unit testing is
first done on modules, independent of one another to locate errors. This enables to detect errors.
Through this errors resulting from interaction between modules initially avoided.

System Testing
Here the entire software system is tested. The reference document for this process is the
requirements document, and the goal os to see if software meets its requirements.
Here entire Graphic Editor has been tested against requirements of project and it is checked
whether all requirements of project have been satisfied or not.
Time Table Generator
TEST EXECUTION
Test execution is done to locate defect and access quality. The execution process consists
of three main stages.
1. Create test cycle.
2. Run emulation or manual tests.
3. Analyze test results.

SWOT ANALYSIS

SWOT Analysis is a strategic planning method used to evaluate the Strengths, Weaknesses,
Opportunities, and Threats involved in a project.

Strengths:
User Firendly
Efficient
Platform independent
Machine independent

Weaknesses:
Support for high-detail displays.
Problems with controlling
Need high requirement for PC.
Accessibility requirements.
Opportunities:
Some easyeditor were available.
Due to basic level it has less opportunity in real time.

Threats:
Virus attacks
Not secure
Unauthorized access.

Time Table Generator

Time Table Generator
Coding
AdminPanel
Imports System.Windows.Forms

Public Class ExaminationSeatingHallApplication

Private Sub ShowNewForm(ByVal sender As Object, ByVal e As EventArgs)
' Create a new instance of the child form.
Dim ChildForm As New System.Windows.Forms.Form
' Make it a child of this MDI form before showing it.
ChildForm.MdiParent = Me

m_ChildFormNumber += 1
ChildForm.Text = "Window " & m_ChildFormNumber

ChildForm.Show()
End Sub

Private Sub OpenFile(ByVal sender As Object, ByVal e As EventArgs)
Dim OpenFileDialog As New OpenFileDialog
OpenFileDialog.InitialDirectory =
My.Computer.FileSystem.SpecialDirectories.MyDocuments
OpenFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
Dim FileName As String = OpenFileDialog.FileName
' TODO: Add code here to open the file.
End If
End Sub

Private Sub SaveAsToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim SaveFileDialog As New SaveFileDialog
SaveFileDialog.InitialDirectory =
My.Computer.FileSystem.SpecialDirectories.MyDocuments
SaveFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"

If (SaveFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
Dim FileName As String = SaveFileDialog.FileName
' TODO: Add code here to save the current contents of the form to a file.
End If
End Sub


Private Sub ExitToolsStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs)
Handles ExitToolStripMenuItem.Click
Me.Close()
End Sub



Private Sub CopyToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs)
Handles CopyToolStripMenuItem.Click
StaffEntry.ShowDialog()
End Sub

Private Sub PasteToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs)
Handles PasteToolStripMenuItem.Click
StudentEntry.ShowDialog()
End Sub




Time Table Generator
Private Sub CascadeToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs)
Me.LayoutMdi(MdiLayout.Cascade)
End Sub

Private Sub TileVerticalToolStripMenuItem_Click(ByVal sender As Object, ByVal e As
EventArgs)
Me.LayoutMdi(MdiLayout.TileVertical)
End Sub

Private Sub TileHorizontalToolStripMenuItem_Click(ByVal sender As Object, ByVal e As
EventArgs)
Me.LayoutMdi(MdiLayout.TileHorizontal)
End Sub

Private Sub ArrangeIconsToolStripMenuItem_Click(ByVal sender As Object, ByVal e As
EventArgs)
Me.LayoutMdi(MdiLayout.ArrangeIcons)
End Sub

Private Sub CloseAllToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs)
' Close all child forms of the parent.
For Each ChildForm As Form In Me.MdiChildren
ChildForm.Close()
Next
End Sub

Private m_ChildFormNumber As Integer

Private Sub SelectAllToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles SelectAllToolStripMenuItem.Click
ClassRoomEntry.ShowDialog()
End Sub

Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles AboutToolStripMenuItem.Click
About_Us.ShowDialog()
End Sub

Private Sub UndoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles UndoToolStripMenuItem.Click
DepartmentEntry.ShowDialog()

End Sub

Private Sub RedoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles RedoToolStripMenuItem.Click
CourseEntry.ShowDialog()
End Sub

Private Sub ExitToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ExitToolStripMenuItem1.Click
Application.Exit()
End Sub

Private Sub GenerateTimeTableToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles GenerateTimeTableToolStripMenuItem.Click
GenerateTable.ShowDialog()
End Sub


Private Sub CutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles CutToolStripMenuItem.Click
SubjectEntry.ShowDialog()
End Sub
Time Table Generator

Private Sub StaffViewHourClassToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles StaffViewHourClassToolStripMenuItem.Click
StaffView.ShowDialog()
End Sub
End Class



App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="ConnectionString1"
connectionString="Provider=SQLOLEDB;Data Source=OUM-PC\SQLEXPRESS2005;Persist
Security Info=True;Password=sa;User ID=sa;Initial Catalog=TimeTableDB"
providerName="System.Data.OleDb" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
</startup>
</configuration>


DepartmentEntry
Imports System.Data.OleDb
Imports System.Data
Imports System.Data.DataTable
Public Class DepartmentEntry
Dim source1 As New BindingSource()
Dim source2 As New BindingSource()
Dim ds As DataSet = New DataSet
Dim tables As DataTableCollection = ds.Tables
Sub fill()
Dim dt As New DataTable
Dim str As String = "Select DepartmentId as [Department ID], DepartmentName as
[Department Name],DepartmentHod as [Department HOD] from Department ORDER By DepartmentID "
Dim da As New OleDb.OleDbDataAdapter(str, con)
da.Fill(dt)
da.Dispose()
source1.DataSource = dt
DataGridView1.DataSource = dt
DataGridView1.Refresh()
For Each c As DataGridViewColumn In DataGridView1.Columns
c.Width = 150
Next
End Sub
Public Sub clear()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
End Sub
Public Sub clearitems()
End Sub
Time Table Generator

Public Sub delterminated()

Try
Dim str1 As String = "Delete from Department where [DepartmentId]= '" &
DataGridView1.SelectedCells(0).Value.ToString & "'"
Dim cmd1 As New OleDbCommand(str1, con)
con.Open()
Dim c As Int32 = cmd1.ExecuteNonQuery()

If c >= 0 Then
MessageBox.Show("Delete Process successful!", "Save", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Else
MessageBox.Show("Delete Process Failed !", "Save", MessageBoxButtons.OK,
MessageBoxIcon.Information)
End If

con.Close()
Me.fill()
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
fill()
Disable_All()
End Sub
Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label7.Click

If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "INSERT INTO
[department](DepartmentId,DepartmentName,DepartmentHod) VALUES ('" & TextBox1.Text & "','" &
TextBox2.Text & "','" & TextBox3.Text & "' )"
MessageBox.Show("Process successful!", "Save", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Dim cmdd As New OleDbCommand(st, con)
cmdd.ExecuteNonQuery()
con.Close()
Me.fill()
Clear_All()
End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = DataGridView1.SelectedCells(0).Value.ToString Then
MsgBox("ID No. is already Exist!")
TextBox1.Clear()
End If
End Sub
Private Sub Label9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label9.Click
DepartmentUpdate.TextBox1.Text = Me.DataGridView1.SelectedCells(0).Value.ToString
DepartmentUpdate.TextBox2.Text = Me.DataGridView1.SelectedCells(1).Value.ToString
DepartmentUpdate.TextBox3.Text = Me.DataGridView1.SelectedCells(2).Value.ToString
DepartmentUpdate.Show()
End Sub

Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label10.Click
Dim dr As New DialogResult
Time Table Generator
dr = MessageBox.Show("Are you sure you want to permanently delete " &
DataGridView1.SelectedCells(0).Value & "?", "Confirm", MessageBoxButtons.OKCancel,
MessageBoxIcon.Warning)
If dr = Windows.Forms.DialogResult.Cancel Then
MessageBox.Show("Action aborted!", "Abort", MessageBoxButtons.OK,
MessageBoxIcon.Information)
DataGridView1.ClearSelection()
Exit Sub
Else
delterminated()
fill()
End If
End Sub
Private Sub Label8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label8.Click
Me.Close()
End Sub

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

End Sub

Private Sub Label6_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseEnter
Label6.ForeColor = Color.Black
End Sub

Private Sub Label6_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseLeave
Label6.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label9_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label9.MouseEnter
Label9.ForeColor = Color.Black
End Sub

Private Sub Label9_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label9.MouseLeave
Label9.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label10_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label10.MouseEnter
Label10.ForeColor = Color.Black

End Sub

Private Sub Label10_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label10.MouseLeave
Label10.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label7_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label7.MouseEnter
Label7.ForeColor = Color.Black
End Sub

Private Sub Label7_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label7.MouseLeave
Label7.ForeColor = Color.WhiteSmoke
End Sub

Time Table Generator
Private Sub Label8_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseEnter
Label8.ForeColor = Color.Black
End Sub

Private Sub Label8_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseLeave
Label8.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label6.Click
Enable_All()
End Sub
Public Sub Enable_All()
TextBox1.Enabled = True
TextBox2.Enabled = True
TextBox3.Enabled = True
End Sub
Public Sub Disable_All()
TextBox1.Enabled = False
TextBox2.Enabled = False
TextBox3.Enabled = False
End Sub
Public Sub Clear_All()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
End Sub
End Class


Time Table Generator
DepartmentUpdate
Imports System.Data.OleDb
Public Class DepartmentUpdate
Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label6.Click
Dim dr As New DialogResult
dr = MessageBox.Show("Are you sure you want to Update?", "Change Details",
MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If dr = Windows.Forms.DialogResult.OK Then
If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "UPDATE [Department] SET DepartmentName = '" & TextBox2.Text &
"', DepartmentHod = '" & TextBox3.Text & "' where DepartmentId='" & TextBox1.Text & "'"

MessageBox.Show("Update Process Successful!", "Edit", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Dim cmd As New OleDbCommand(st, con)
cmd.ExecuteNonQuery()
con.Close()
DepartmentEntry.fill()
Me.Close()
End If
End Sub

Private Sub Label6_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseEnter
Label6.ForeColor = Color.Black
End Sub

Private Sub Label6_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseLeave
Label6.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label8_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseEnter
Label8.ForeColor = Color.Black
End Sub

Private Sub Label8_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseLeave
Label8.ForeColor = Color.WhiteSmoke
End Sub

Private Function st() As Object
Throw New NotImplementedException
End Function

Private Sub Label8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label8.Click
Me.Dispose()
End Sub
End Class



Time Table Generator
Course
Imports System.Data.OleDb
Imports System.Data
Imports System.Data.DataTable
Public Class CourseEntry
Dim source1 As New BindingSource()
Dim source2 As New BindingSource()
Dim ds As DataSet = New DataSet
Dim tables As DataTableCollection = ds.Tables
Sub fill()
Dim dt As New DataTable
Dim str As String = "SELECT [CourseId] as [Course Id] ,[CourseName] as [Course
Name],NoOfYear as [No Of Year] ,[NoOfSemester] as [No Of Semester] ,[DepartmentId] as
[Department ID] from Course ORDER By CourseID "
Dim da As New OleDb.OleDbDataAdapter(str, con)
da.Fill(dt)
da.Dispose()
source1.DataSource = dt
DataGridView1.DataSource = dt
DataGridView1.Refresh()
For Each c As DataGridViewColumn In DataGridView1.Columns
c.Width = 150
Next
End Sub
Public Sub clear()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()

End Sub
Public Sub clearitems()


End Sub

Public Sub delterminated()
Try
Dim str1 As String = "Delete from Course where [CourseId]= '" &
DataGridView1.SelectedCells(0).Value.ToString & "'"
Dim cmd1 As New OleDbCommand(str1, con)
con.Open()
cmd1.ExecuteNonQuery()
con.Close()
fill()
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load

fill()
If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "select departmentid from department"

Dim cmdd As New OleDbCommand(st, con)
Dim reader As OleDbDataReader = cmdd.ExecuteReader()
If reader.HasRows = True Then
While reader.Read = True
ComboBox1.Items.Add(reader.GetString(0))
End While
End If
con.Close()
Time Table Generator
Disable_All()
End Sub



Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label7.Click

If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "INSERT INTO
[course](CourseId,CourseName,NoOfYear,NoOfSemester,DepartmentId) VALUES ('" & TextBox1.Text &
"','" & TextBox2.Text & "'," & Convert.ToInt32(TextBox3.Text.Trim()) & "," &
Convert.ToInt32(TextBox4.Text.Trim()) & ",'" & ComboBox1.SelectedItem.ToString().Trim() &
"')"
MessageBox.Show("Process successful!", "Save", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Dim cmdd As New OleDbCommand(st, con)
cmdd.ExecuteNonQuery()
con.Close()
Me.fill()
ClearAll()

End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = DataGridView1.SelectedCells(0).Value.ToString Then
MsgBox("ID No. is already Exist!")
TextBox1.Clear()
End If
End Sub

Private Sub Label9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label9.Click
CourseUpdate.TextBox1.Text = Me.DataGridView1.SelectedCells(0).Value.ToString
CourseUpdate.TextBox2.Text = Me.DataGridView1.SelectedCells(1).Value.ToString
CourseUpdate.TextBox3.Text = Me.DataGridView1.SelectedCells(2).Value.ToString
CourseUpdate.TextBox4.Text = Me.DataGridView1.SelectedCells(3).Value.ToString
CourseUpdate.TextBox5.Text = Me.DataGridView1.SelectedCells(4).Value.ToString
CourseUpdate.Show()
End Sub

Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label10.Click
Dim dr As New DialogResult
dr = MessageBox.Show("Are you sure you want to permanently delete " &
DataGridView1.SelectedCells(0).Value & "?", "Confirm", MessageBoxButtons.OKCancel,
MessageBoxIcon.Warning)
If dr = Windows.Forms.DialogResult.Cancel Then
MessageBox.Show("Action aborted!", "Abort", MessageBoxButtons.OK,
MessageBoxIcon.Information)
DataGridView1.ClearSelection()
Exit Sub
Else
delterminated()
fill()
End If

End Sub
Private Sub Label8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label8.Click
Me.Close()
End Sub

Time Table Generator
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

End Sub

Private Sub Label6_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseEnter
Label6.ForeColor = Color.Black
End Sub

Private Sub Label6_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseLeave
Label6.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label9_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label9.MouseEnter
Label9.ForeColor = Color.Black
End Sub

Private Sub Label9_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label9.MouseLeave
Label9.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label10_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label10.MouseEnter
Label10.ForeColor = Color.Black
End Sub
Private Sub Label10_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label10.MouseLeave
Label10.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label7_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label7.MouseEnter
Label7.ForeColor = Color.Black
End Sub

Private Sub Label7_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label7.MouseLeave
Label7.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label8_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseEnter
Label8.ForeColor = Color.Black
End Sub

Private Sub Label8_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseLeave
Label8.ForeColor = Color.WhiteSmoke
End Sub
Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox6.TextChanged
If TextBox6.Text = "" Then
source1.Filter = ""
Me.DataGridView1.Refresh()
Else
source1.Filter = "[ID No] like '%' + '" & TextBox6.Text & "' + '%' "
Me.DataGridView1.Refresh()
End If
End Sub
Time Table Generator
Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label6.Click
Enable_All()
End Sub
Public Sub Enable_All()
TextBox1.Enabled = True
TextBox2.Enabled = True
TextBox3.Enabled = True
TextBox4.Enabled = True
End Sub
Public Sub Disable_All()
TextBox1.Enabled = False
TextBox2.Enabled = False
TextBox3.Enabled = False
TextBox4.Enabled = False
End Sub
Public Sub ClearAll()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
End Sub
End Class



CourseUpdate
Imports System.Data.OleDb
Public Class CourseUpdate
Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label6.Click
Try
Dim dr As New DialogResult
dr = MessageBox.Show("Are you sure you want to Update?", "Change Details",
MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If dr = Windows.Forms.DialogResult.OK Then
If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "UPDATE [Course] SET CourseName = '" & TextBox2.Text & "',
Noofyear = " & Convert.ToInt32(TextBox3.Text) & ", Noofsemester = " &
Convert.ToInt32(TextBox4.Text) & ",DepartmentId='" & TextBox1.Text & "' where courseId='" &
TextBox1.Text.Trim() & "'"

MessageBox.Show("Update Process Successful!", "Edit", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Dim cmd As New OleDbCommand(st, con)
cmd.ExecuteNonQuery()
con.Close()
CourseEntry.fill()
Me.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Private Sub Label6_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseEnter
Label6.ForeColor = Color.Black
End Sub

Time Table Generator
Private Sub Label6_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseLeave
Label6.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label8_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseEnter
Label8.ForeColor = Color.Black
End Sub

Private Sub Label8_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseLeave
Label8.ForeColor = Color.WhiteSmoke
End Sub

Private Function st() As Object
Throw New NotImplementedException
End Function

Private Sub Label8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label8.Click
Me.Dispose()
End Sub

Private Sub CourseUpdate_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "select departmentid from department"
Dim col As New AutoCompleteStringCollection()

Dim cmdd As New OleDbCommand(st, con)
Dim reader As OleDbDataReader = cmdd.ExecuteReader()
If reader.HasRows = True Then
While reader.Read = True
col.Add(reader.GetString(0))
End While
End If
With TextBox5
.AutoCompleteCustomSource = col
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoCompleteSource = AutoCompleteSource.CustomSource

End With
End Sub
End Class


Staff Entry
Imports System.Data.OleDb
Imports System.Data
Imports System.Data.DataTable
Public Class StaffEntry
Dim source1 As New BindingSource()
Dim source2 As New BindingSource()
Dim ds As DataSet = New DataSet
Dim tables As DataTableCollection = ds.Tables
Sub fill()
Dim dt As New DataTable
Time Table Generator
Dim str As String = "SELECT [StaffId] as [Staff Id] ,[StaffName] as [Staff Name]
,[Qualification] as [Qualification] ,[Expereince] as [Expereince] ,[DepartmentId] as
[Department Id] ,[Rolename] as [Role Name] FROM [Staff]"
Dim da As New OleDb.OleDbDataAdapter(str, con)
da.Fill(dt)
da.Dispose()
source1.DataSource = dt
DataGridView1.DataSource = dt
DataGridView1.Refresh()
DataGridView1.Columns(4).Width = 150
End Sub
Public Sub clear()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
End Sub
Public Sub clearitems()


End Sub

Public Sub delterminated()
Try
Dim str1 As String = "Delete from staff where [staffId]= '" &
DataGridView1.SelectedCells(0).Value.ToString & "'"
Dim cmd1 As New OleDbCommand(str1, con)
con.Open()
cmd1.ExecuteNonQuery()
con.Close()
fill()
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load

fill()
End Sub



Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label7.Click

If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "INSERT INTO
[staff](staffid,staffName,qualification,expereince,departmentid,rolename) VALUES ('" &
TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "'," &
Convert.ToInt32(TextBox4.Text.Trim()) & ",'" & TextBox5.Text.Trim() & "','" &
TextBox7.Text.Trim() & "' )"
MessageBox.Show("Process successful!", "Save", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Dim cmdd As New OleDbCommand(st, con)
cmdd.ExecuteNonQuery()
con.Close()
Me.fill()
clearitems()

End Sub

Time Table Generator
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = DataGridView1.SelectedCells(0).Value.ToString Then
MsgBox("ID No. is already Exist!")
TextBox1.Clear()
End If
End Sub

Private Sub Label9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label9.Click
frmUpdate.TextBox1.Text = Me.DataGridView1.SelectedCells(0).Value.ToString
frmUpdate.TextBox2.Text = Me.DataGridView1.SelectedCells(1).Value.ToString
frmUpdate.TextBox3.Text = Me.DataGridView1.SelectedCells(3).Value.ToString
frmUpdate.TextBox4.Text = Me.DataGridView1.SelectedCells(2).Value.ToString
frmUpdate.TextBox5.Text = Me.DataGridView1.SelectedCells(4).Value.ToString
frmUpdate.Show()
End Sub

Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label10.Click
Dim dr As New DialogResult
dr = MessageBox.Show("Are you sure you want to permanently delete " &
DataGridView1.SelectedCells(0).Value & "?", "Confirm", MessageBoxButtons.OKCancel,
MessageBoxIcon.Warning)
If dr = Windows.Forms.DialogResult.Cancel Then
MessageBox.Show("Action aborted!", "Abort", MessageBoxButtons.OK,
MessageBoxIcon.Information)
DataGridView1.ClearSelection()
Exit Sub
Else
delterminated()
fill()
End If

End Sub



Private Sub Label8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label8.Click
Me.Close()
End Sub

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

End Sub

Private Sub Label6_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseEnter
Label6.ForeColor = Color.Black
End Sub

Private Sub Label6_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label6.MouseLeave
Label6.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label9_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label9.MouseEnter
Label9.ForeColor = Color.Black
End Sub

Time Table Generator
Private Sub Label9_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label9.MouseLeave
Label9.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label10_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label10.MouseEnter
Label10.ForeColor = Color.Black

End Sub

Private Sub Label10_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label10.MouseLeave
Label10.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label7_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label7.MouseEnter
Label7.ForeColor = Color.Black
End Sub

Private Sub Label7_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label7.MouseLeave
Label7.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label8_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseEnter
Label8.ForeColor = Color.Black
End Sub

Private Sub Label8_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseLeave
Label8.ForeColor = Color.WhiteSmoke
End Sub

Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox6.TextChanged
If TextBox6.Text = "" Then
source1.Filter = ""
Me.DataGridView1.Refresh()
Else
source1.Filter = "[ID No] like '%' + '" & TextBox6.Text & "' + '%' "
Me.DataGridView1.Refresh()
End If
End Sub

Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label6.Click
Enable_All()
End Sub
Public Sub Enable_All()

TextBox1.Enabled = True
TextBox2.Enabled = True
TextBox3.Enabled = True
TextBox4.Enabled = True
TextBox5.Enabled = True


End Sub
Public Sub Disable_All()

TextBox1.Enabled = False
Time Table Generator
TextBox2.Enabled = False
TextBox3.Enabled = False
TextBox4.Enabled = False
TextBox5.Enabled = False


End Sub
End Class


Student
Imports System.Data.OleDb
Imports System.Data
Imports System.Data.DataTable
Public Class StudentEntry
Dim source1 As New BindingSource()
Dim source2 As New BindingSource()
Dim ds As DataSet = New DataSet
Dim tables As DataTableCollection = ds.Tables
Sub fill()

Dim dt As New DataTable
Dim str As String = "SELECT [StudentId] as [Student Id],[StudentName] as [Student
Name] ,[gender] as [Gender] ,[DataOfBirth] as [Data Of Birth] ,[Address] as [Address],[City]
as [City] ,[State] as [State] ,[Country] as [Country] ,[pincode] as [pincode] ,[MobileNo] as
[MobileNo] ,[EmailId] as [EmailId], [CourseId] as [Course Id] FROM [Student] ORDER By
StudentId "
Dim da As New OleDb.OleDbDataAdapter(str, con)
da.Fill(dt)
da.Dispose()
source1.DataSource = dt
DataGridView1.DataSource = dt
DataGridView1.Refresh()
DataGridView1.Columns(4).Width = 150
End Sub
Public Sub clear()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
End Sub
Public Sub clearitems()


End Sub

Public Sub delterminated()
Try
Dim str1 As String = "Delete * from perinfo where [perinfo.IDno]= '" &
DataGridView1.SelectedCells(0).Value.ToString & "'"
Dim cmd1 As New OleDbCommand(str1, con)
con.Open()
cmd1.ExecuteNonQuery()
con.Close()
fill()
Catch ex As Exception
ex.ToString()
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Time Table Generator

fill()
If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "select courseid from course"

Dim cmdd As New OleDbCommand(st, con)
Dim reader As OleDbDataReader = cmdd.ExecuteReader()
If reader.HasRows = True Then
While reader.Read = True
ComboBox2.Items.Add(reader.GetString(0))
End While
End If
con.Close()
End Sub



Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label7.Click

If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "INSERT INTO [Student]
([StudentId],[StudentName],[gender],[DataOfBirth],[Address],[City],[State],[Country],[pincode
],[MobileNo],[EmailId],[CourseId]) VALUES('" & TextBox1.Text.Trim() & "','" &
TextBox2.Text.Trim() & "','" & ComboBox1.SelectedItem.ToString().Trim() & "','" &
Label17.Text & "','" & TextBox3.Text.Trim() & "','" & TextBox4.Text.Trim() & "','" &
TextBox5.Text.Trim() & "','" & TextBox6.Text.Trim() & "','" & TextBox7.Text.Trim() & "','" &
TextBox8.Text.Trim() & "','" & TextBox9.Text.Trim() & "','" &
ComboBox2.SelectedItem.ToString() & "')"


MessageBox.Show("Process successful!", "Save", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Dim cmdd As New OleDbCommand(st, con)
cmdd.ExecuteNonQuery()
con.Close()
Me.fill()


End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged
If DataGridView1.RowCount > 0 Then


If TextBox1.Text = DataGridView1.SelectedCells(0).Value.ToString Then
MsgBox("ID No. is already Exist!")
TextBox1.Clear()
End If
End If
End Sub

Private Sub Label9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label9.Click
frmUpdate.TextBox1.Text = Me.DataGridView1.SelectedCells(0).Value.ToString
frmUpdate.TextBox2.Text = Me.DataGridView1.SelectedCells(1).Value.ToString
frmUpdate.TextBox3.Text = Me.DataGridView1.SelectedCells(3).Value.ToString
frmUpdate.TextBox4.Text = Me.DataGridView1.SelectedCells(2).Value.ToString
frmUpdate.TextBox5.Text = Me.DataGridView1.SelectedCells(4).Value.ToString
frmUpdate.Show()
End Sub

Time Table Generator
Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label10.Click
Dim dr As New DialogResult
dr = MessageBox.Show("Are you sure you want to permanently delete " &
DataGridView1.SelectedCells(0).Value & "?", "Confirm", MessageBoxButtons.OKCancel,
MessageBoxIcon.Warning)
If dr = Windows.Forms.DialogResult.Cancel Then
MessageBox.Show("Action aborted!", "Abort", MessageBoxButtons.OK,
MessageBoxIcon.Information)
DataGridView1.ClearSelection()
Exit Sub
Else
delterminated()
fill()
End If

End Sub



Private Sub Label8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Label8.Click
Me.Close()
End Sub

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

End Sub





Private Sub Label9_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label9.MouseEnter
Label9.ForeColor = Color.Black
End Sub

Private Sub Label9_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label9.MouseLeave
Label9.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label10_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label10.MouseEnter
Label10.ForeColor = Color.Black

End Sub

Private Sub Label10_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label10.MouseLeave
Label10.ForeColor = Color.WhiteSmoke
End Sub

Private Sub Label7_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label7.MouseEnter
Label7.ForeColor = Color.Black
End Sub

Private Sub Label7_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label7.MouseLeave
Label7.ForeColor = Color.WhiteSmoke
End Sub
Time Table Generator

Private Sub Label8_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseEnter
Label8.ForeColor = Color.Black
End Sub

Private Sub Label8_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Label8.MouseLeave
Label8.ForeColor = Color.WhiteSmoke
End Sub




Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox9.TextChanged

End Sub

Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DateTimePicker1.ValueChanged
Label17.Text = DateTimePicker1.MinDate.ToShortDateString

End Sub
End Class

Generate Table
Imports System.Data
Imports System.Data.OleDb
Public Class GenerateTable

Dim source1 As New BindingSource()
Dim source2 As New BindingSource()
Dim ds As DataSet = New DataSet
Dim tables As DataTableCollection = ds.Tables
Dim adapter As New OleDbDataAdapter()
Dim dt As New DataTable()

Public Sub fillCourseList()
Try
If con.State = ConnectionState.Closed Then con.Open()
Dim dt As New DataTable
Dim str As String = "SELECT [SubjectId] as [Subject Id] ,[SubjectCode] as
[Subject Code] ,[SubjectName] as [Subject Name] ,[SemesterNo] as [Semester No] ,[YearNo]
as [Year No] ,[CourseId] as [Course Id],[assignedstaff] as [Assigned Staff] FROM [Subject]
where courseid like '" & ComboBox1.SelectedItem.ToString().Trim() & "' and subjectid like '"
& ComboBox2.SelectedItem.ToString().Trim() & ComboBox3.SelectedItem.ToString().Trim() & "_'"
Dim da As New OleDb.OleDbDataAdapter(str, con)
da.Fill(dt)
da.Dispose()
source1.DataSource = dt
DataGridView1.DataSource = dt
DataGridView1.Refresh()
For Each c As DataGridViewColumn In DataGridView1.Columns
c.Width = 150
Next
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Public Sub LoadCourseName()
Try
Time Table Generator

If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "SELECT distinct [CourseId] as [Course Id] FROM [course]"

Dim cmdd As New OleDbCommand(st, con)
Dim reader As OleDbDataReader = cmdd.ExecuteReader()
If reader.HasRows = True Then
While reader.Read = True
ComboBox1.Items.Add(reader.GetString(0))
End While
End If
con.Close()

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
dt.Columns.Add(New DataColumn("CourseID", GetType(String)))
dt.Columns.Add(New DataColumn("Year", GetType(Int32)))
dt.Columns.Add(New DataColumn("Semester", GetType(Int32)))

dt.Columns.Add(New DataColumn("DayOrder", GetType(String)))
dt.Columns.Add(New DataColumn("H1", GetType(String)))
dt.Columns.Add(New DataColumn("H2", GetType(String)))
dt.Columns.Add(New DataColumn("H3", GetType(String)))
dt.Columns.Add(New DataColumn("H4", GetType(String)))
dt.Columns.Add(New DataColumn("H5", GetType(String)))
dt.Columns.Add(New DataColumn("H6", GetType(String)))
dt.Columns.Add(New DataColumn("H7", GetType(String)))
End Sub

Private Sub GenerateTable_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Try
If con.State = ConnectionState.Closed Then con.Open()

adapter.SelectCommand = New OleDbCommand("SELECT * FROM TIMETABLE", con)
Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(adapter)


LoadCourseName()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try



End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Try


Dim dr As DataRow = Nothing


Dim subnamelist_normal As New List(Of String)()
Dim subnamelist_asc As New List(Of String)()
Dim subnamelist_desc As New List(Of String)()



Dim i As Integer = 0
If con.State = ConnectionState.Closed Then con.Open()
Time Table Generator

Dim str As String = "SELECT [SubjectId] as [Subject Id] ,[SubjectCode] as
[Subject Code] ,[SubjectName] as [Subject Name] ,[SemesterNo] as [Semester No] ,[YearNo]
as [Year No] ,[CourseId] as [Course Id],[assignedstaff] as [Assigned Staff] FROM [Subject]
where courseid like '" & ComboBox1.SelectedItem.ToString().Trim() & "' and subjectid like '"
& ComboBox2.SelectedItem.ToString().Trim() & ComboBox3.SelectedItem.ToString().Trim() & "_'"
Dim cmdd As New OleDbCommand(str, con)
Dim reader As OleDbDataReader = cmdd.ExecuteReader()
If reader.HasRows = True Then
While reader.Read = True
subnamelist_normal.Add(reader.GetString(5) & "$" & reader.GetString(0) &
"-" & reader.GetString(2) & "-" & reader.GetString(6))
subnamelist_asc.Add(reader.GetString(5) & "$" & reader.GetString(0) & "-"
& reader.GetString(2) & "-" & reader.GetString(6))
subnamelist_desc.Add(reader.GetString(5) & "$" & reader.GetString(0) & "-
" & reader.GetString(2) & "-" & reader.GetString(6))
i = i + 1
End While
End If
con.Close()




Dim subname_nromal As String() = subnamelist_normal.ToArray()
Dim subname_asc As String() = subnamelist_asc.ToArray()
Dim subname_desc As String() = subnamelist_desc.ToArray()

Dim index As Integer = 1
Array.Reverse(subname_desc)
Array.Sort(subname_asc)

For days As Integer = 1 To 5
dr = dt.NewRow()
dr("DayOrder") = "Day-" & days
dr("CourseID") = ComboBox1.SelectedItem.ToString().Trim()
dr("year") = ComboBox2.SelectedItem.ToString().Trim()
dr("Semester") = ComboBox3.SelectedItem.ToString().Trim()
For period As Integer = 0 To 6
' If subname.Length >= (days * period) Then
If days = 5 Then
dr("H" & period + 1) = subname_nromal(period)
Else
If days = 1 Or days = 3 Then
dr("H" & period + 1) = subname_asc(period)
Else
dr("H" & period + 1) = subname_desc(period)
End If

End If
' Else

' End If

Next
dt.Rows.Add(dr)
Next
DataGridView2.DataSource = dt
adapter.Update(dt)
MessageBox.Show("Record saved successfully ")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Time Table Generator

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ComboBox1.SelectedIndexChanged

ComboBox2.Items.Clear()
Try
If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "SELECT NoOfYear FROM [Course] where courseid='" &
ComboBox1.SelectedItem.ToString().Trim() & "'"

Dim cmdd As New OleDbCommand(st, con)
Dim reader As OleDbDataReader = cmdd.ExecuteReader()
If reader.HasRows = True Then
reader.Read()
Dim val As Int32 = reader.GetInt32(0)
For index As Int32 = 1 To val
ComboBox2.Items.Add(index)
Next
End If
con.Close()

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ComboBox2.SelectedIndexChanged
ComboBox3.Items.Clear()
Try

If ComboBox2.SelectedItem.ToString() = "1" Then

ComboBox3.Items.Clear()
For index As Int32 = 1 To 2
ComboBox3.Items.Add(index)
Next
Else
If ComboBox2.SelectedItem.ToString() = "2" Then
ComboBox3.Items.Clear()
For index As Int32 = 3 To 4
ComboBox3.Items.Add(index)
Next
Else
ComboBox3.Items.Clear()
For index As Int32 = 5 To 6
ComboBox3.Items.Add(index)
Next
End If

End If


Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ComboBox3.SelectedIndexChanged
fillCourseList()
End Sub


Time Table Generator
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
If DataGridView2.RowCount > 0 Then
dt.Clear()
DataGridView2.DataSource = adapter
DataGridView2.DataSource = Nothing
DataGridView2.Rows.Clear()
End If

End Sub

Private Sub GenerateTable_FormClosed(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
Me.Dispose()
End Sub
End Class


Staff View
Imports System.Data
Imports System.Data.OleDb
Public Class StaffView
Dim source1 As New BindingSource()
Private Sub StaffView_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
ComboBox1.Items.Clear()
Try

If con.State = ConnectionState.Closed Then con.Open()
Dim st As String = "select staffName from Staff"

Dim cmdd As New OleDbCommand(st, con)
Dim reader As OleDbDataReader = cmdd.ExecuteReader()
If reader.HasRows = True Then
While reader.Read = True
ComboBox1.Items.Add(reader.GetString(0))
End While
End If
con.Close()

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Try

If con.State = ConnectionState.Closed Then con.Open()
Dim str As String = "SELECT courseid, year, semester, CASE WHEN H1 like '%" &
ComboBox1.SelectedItem.ToString().Trim() & "' THEN H1 end as H1 " &
",case WHEN H2 like '%" &
ComboBox1.SelectedItem.ToString().Trim() & "' THEN H2 end as H2 " &
",case WHEN H3 like '%" &
ComboBox1.SelectedItem.ToString().Trim() & "' THEN H3 end as H3 " &
",case WHEN H4 like '%" &
ComboBox1.SelectedItem.ToString().Trim() & "' THEN H4 end as H4 " &
",case WHEN H5 like '%" &
ComboBox1.SelectedItem.ToString().Trim() & "' THEN H5 end as H5 " &
Time Table Generator
",case WHEN H6 like '%" &
ComboBox1.SelectedItem.ToString().Trim() & "' THEN H6 end as H6 " &
",case WHEN H7 like '%" &
ComboBox1.SelectedItem.ToString().Trim() & "' THEN H7 end as H7 " &
"FROM timetable"


Dim dt As New DataTable
Dim da As New OleDb.OleDbDataAdapter(str, con)
da.Fill(dt)
da.Dispose()
source1.DataSource = dt
DataGridView1.DataSource = dt
DataGridView1.Refresh()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class

Time Table Generator

Screen Shots
Admin Panel














Time Table Generator

Department



Time Table Generator
Course





Time Table Generator
Class






Time Table Generator
Student






Time Table Generator
Staff







Time Table Generator


Generate Time Table hours




Time Table Generator
View Staff +class _subject









CONCLUSION

In the end, we each must find a project which works for us - a system which enables us to
face, evaluate and make the hard choices now and down the road. Ideally, practicing on situations
which mimic life will provide a level of comfort and make the real dilemmas less anxiety provoking.
We need to feel what our limits are, accept that others may be guided by different values and
perspectives, and respect that most people already have their own internal standards for ethical
behavior.

Time Table Generator


FUTURE ENHANCEMENTS

Most of the courses you take have multiple lecture, tutorial, and perhaps practical sections.
This means that for the same set of courses, you can have many different timetables.
How did you pick the timetable that you have right now? Chances are you didn't go through
every single possibility and pick the best one, because there were just too many possibilities. As a
result, you can't be sure that the timetable you've chosen is the best you could have.
Enter Timetable Generator. This handy little program that I've written will generate all the
possible timetables (that don't have conflicts) for your course load. More importantly, you can sort
the generated timetables by various criteria, such as number of days off, number of evening classes,
number of long gaps between classes, and so on. You can choose which criteria are the most
important to you, and instantly see the best possible timetable you can have.
This program is a work in progress. Stay tuned for many cool new features!

Time Table Generator

REFERENCES

www.wikipedia.com
msdn.microsoft.com
www.codeplex.com
www.dreamincode.net
Software Engineering by Roger Pressman

Books

The black book Visual Basic 2010




Time Table Generator

INDEX

Introduction
Analysis
o Objective of Project
o Requirement Gathering
o Hardware Requirement
o Software Requirement
o Feasibility Study
o Software Development Life cycle
o Cost Estimation
Design
o Input Requirement
o Class Diagram
o Data Flow Diagram
o Control Flow Diagram
Tool Used
Coding
Output
Testing
SWOT Analysis
Conclusion
References