You are on page 1of 103

TIME TABLE GENERATION FOR COLLEGE

INTRODUCTION

Page 1

TIME TABLE GENERATION FOR COLLEGE

1. INTRODUCTION 1.1 UNIVERSITY PROFILE Sri Padmavathi Mahila Visvavidyalayam was founded in the year 1983 by Sri N.T. RamaRao, the Chief Minister of Andhra Pradesh, with the fervent desire to train women students as builders of the nation and to inculcate skills of leadership in all aspects of life. The university was established under the 14 of April 1983. This is the only University in the state of Andhra Pradesh and 2 nd, in the country itself. This has been established exclusively for Womens education. In pursuance of the objectives of the university, its focus has been mainly on offering applied and vocational courses. The university is awarded four star by NAAC in 2002. The Objectives of the University are Emancipation of Women through Education Acquisition of sound updated academic knowledge Acquisition of specific vocational skills and competence for gainful occupation. Developing awareness of major issues and problems being faced by the society and by the women in particular. Developing self-confidence and creative interaction with the society. Obtaining a broad overview of the areas of employment viz job seeking, job-getting and job-holding. Acquisition of evaluation skills and training to function as better builders of the home and society. Acquisition of skills of leadership and / entrepreneurship in all aspects of life. Keeping in view of these objectives, the teaching and research works are carried out in the university. The campus of Sri Padmavathi Mahila Visvavidyalayam is spread out in a lush green area of 138.43 acres. There are separate Buildings for humanities and science, Universitys Administration, Central Library, University Auditorium, Sericulture complex and school of pharmaceutical sciences and also an independent building for computer science, computer center and Examination hall.

Page 2

TIME TABLE GENERATION FOR COLLEGE

The growth of the university since its inception has been phenomenal and the university has evolved into a premier institution of Womens education and empowerment and has given to society several illustrious, skilled and confident women, thus strengthening the pillars of our nation. 1.2Objective of the Project

This project is aimed at developing a Time Table Generator for Colleges. Colleges are supposed to make time tables for each semester which used to be a very tedious and pain staking job. Each teacher and Student is eligible for viewing his own timetable once they are finalized for a given semester but they cant edit them.
1.2 Problem Definition There are so many college system provide the facility of online time table but not the online communication for problem solving. In Time Table Generation System For A College there is facility to communicate with each other and solve their query with help of staff members 1.3 Definitions and Abbreviations
Term NET ASP.NET IIS UDL CLR CLI BCL Web-based Definition Network Enable Technology Active server Page.net Internet Information Service Universal Data Locator Common Language Runtime Common Language Infrastructure Base Class Library Refers to one of the units of the whole team that specializes in a certain aspect of HTTP Web Server the project. Its a base protocol Its a software component, which will receive request from HTTP client, process on it and gives result to the client

Page 3

TIME TABLE GENERATION FOR COLLEGE

SYSTEM ANALYSIS

Page 4

TIME TABLE GENERATION FOR COLLEGE

2. SYSTEM ANALYSIS 2.1 About Existing System Time Table Generation For A College is mainly designed to provide online time table, subject selection,results,events of college and main is the online communication for problame solving by staff member is the main aim of the system. Time Table Generation System For A College is online time table generation and communication system between management and the student. 2.2 Problem of the Current System There are so many college system provide the facility of online time table but not the online communication for problame solving. In Time Table Generation System For A College there is facility to communicate wjth each other and solve there query with help of staff memebers 2.3 About Proposed System One main feature of this system is if any one have the database access of system he can not see the user name and password of user because the login table is fully protected by encryption. Time Table Generation System For A College is online time table generation and communication system between management and the student

Page 5

TIME TABLE GENERATION FOR COLLEGE

2.4 REQUIREMENT ANALYSIS 2.4.1 Functional Requirements

Following is a list of functionalities of the system. More functionality that you find appropriate can be added to this list. And, in places w re the description of functionality is not adequate; you can make appropriate assumptions and proceed. 1. For every branch and year the following rules are applied: It can have classes each have interval of 1 Hour. Maximum of 5 lectures in a day. Time for practicals and things should be there. Subjects can be of any of the following categories: Compulsory subjects. Department Electives. College Electives. Maximum & maximum number of subjects should be specified. 2. A given Lecturer has following characteristics. Should be able to teach some of the subjects. Could be restricted to not more than certain number of classes in a day. Could choose that didnt want to teach certain classes as well. May select that willing to teach. These are set by administrators only. 3. A student can select certain subjects from the categories mentioned in the .point 1 and a confirmation mail will be send back to the student. Subjects should be chosen within the limited period of time else random subjects will be allotted.

Page 6

TIME TABLE GENERATION FOR COLLEGE

4. Email should be sent to all the persons concerned with a given class (Lecturer and students that timetable is sc duled. 5. A calendar should be there shows the public and nation holidays. 6. The time table will be generated accordingly and then corresponding persons will be informed.
2.4.2 3 4 5 Non-Functional Requirements

Secure access of confidential data (users details). SSL can be used. 24 X 7 availability Better component design to get better performance at peak time Flexible service based architecture will be highly desirable for future extension 2.4.3 2.4.4 Performance Requirements Input and Output

Admin enter credentials to enter into the site. Admin can register the students and lecturers. Admin enter the new course details into the system. Lecturer enter credentails. Lecturer assigns the marks to the students. Admin assign the subject to the lecturer Student enter credentials. Admin creates the event calander. Output: Admin get his home page. Perform site controlling activity of college. Lecturers get home page.

Page 7

TIME TABLE GENERATION FOR COLLEGE

Perform Lecturers activities. Student get home page and can view their own information. Student can get time table. Student can view event calendar. Student can view his results. 2.4.5 Project Development Models The software development life cycle (SDLC) is the entire process of formal, logical steps taken to develop a software product. Within the broader context of Application Lifecycle Management (ALM), the SDLC is basically the part of process in which coding/programming is applied to the problem being solved by the existing or planned application. The phases of SDLC can vary somewhat but generally include the following: Conceptualization Requirements and cost/benefits analysis Detailed specification of the software requirements Software design Programming Testing User and technical training Maintenance There are many methodologies or models that can be used to guide the software development lifecycle either as a core model to the SDLC or as a complementary method. Prototyping Model:

Page 8

TIME TABLE GENERATION FOR COLLEGE

The goal of prototyping based development is to counter the first two limitations of the waterfall model discussed earlier. The basic idea here is that instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. This prototype is developed based on the currently known requirements. Development of the prototype obviously undergoes design, coding and testing. But each of these phases is not done very formally or thoroughly. By using this prototype, the client can get an "actual feel" of the system, since the interactions with prototype can enable the client to better understand the requirements of the desired system. Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements. In such situations letting the client "plan" with the prototype provides invaluable and intangible inputs which helps in determining the requirements for the system. It is also an effective method to demonstrate the feasibility of a certain approach. This might be needed for novel systems where it is not clear that constraint can be met or that algorithms can be developed to implement the requirements. The process model of the prototyping approach is shown in the figure below.

Prototyping Model The basic reason for little common use of prototyping is the cost involved in this built-ittwice approach. However, some argue that prototyping need not be very costly and can actually reduce the overall development cost. The prototype are usually not complete systems and many of the details are not built in the prototype. The goal is to provide a system with overall functionality. In addition, the cost of testing and writing detailed documents are reduced. These factors help to reduce the cost of developing the prototype. On the other hand, the experience

Page 9

TIME TABLE GENERATION FOR COLLEGE

10

of developing the prototype will very useful for developers when developing the final system. This experience helps to reduce the cost of development of the final system and results in a more reliable and better designed system. Advantages of Prototyping Users are actively involved in the development It provides a better system to users, as users have natural tendency to change their mind in specifying requirements and this method of developing systems supports this user tendency. Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed. Errors can be detected much earlier as the system is mode side by side. Quicker user feedback is available leading to better solutions. Project Development Architecture

2.4.6

As a developer, the .NET framework and Visual Studio present many choices for choosing the right architecture, from placing the data access code directly in the UI through datasets and data source controls, to creating a data access layer that talks to the database, all the way to creating an architecture that consists of multiple layers, and use data-transfer objects to pass data back and forth. What is a Layer? A layer is a reusable portion of code that performs a specific function. In the .NET environment, a layer is usually setup as a project that represents this specific function. This specific layer is in charge of working with other layers to perform some specific goal. In an application where the presentation layer needs to extract information from a backend database, the presentation would utilize a series of layers to retrieve the data, rather than having the database calls embedded directly within itself. Traditional Architecture

Page 10

TIME TABLE GENERATION FOR COLLEGE

11

When the .NET 2.0 framework became available to the world, there were some neat features that allowed the developer to connect the frameworks GUI controls directly to the database. This approach is very handy when rapidly developing applications. However, its not always favorable to embed all of the business logic and data access code directly in the web site, for several reasons: Putting all of the code in the web site (business logic and data access) can make the application harder to maintain and understand. Reusing database queries in the presentation layer often isnt done, because of the typical data source control setup in the ASP.NET framework.

Relying on the data source controls can make debugging more difficult, often due to vague error messages.

So in looking for an alternative, we can separate the data access code and business logic into separate layers, as shown in the fo Presentation Layer:The ASP.NET web site or windows forms application (the UI for the project) is called the presentation layer. The presentation layer is the most important layer simply because its the one that everyone sees and uses. Even with a well structured business and data layer, if the presentation layer is designed poorly, this gives the users a poor view of the system.

Page 11

TIME TABLE GENERATION FOR COLLEGE

12

Its best to remove as much business logic out of the UI and into the business layer. This usually involves more code, but in my mind, the excess time (which ranges from minimal to moderate, depending on the size of the application) pays off in the end. Business Access Layer:Though a web site could talk to the data access layer directly, it usually goes through another layer called the business layer. The business layer is vital in that it validates the input conditions before calling a method from the data layer. This ensures the data input is correct before proceeding, and can often ensure that the outputs are correct as well. This validation of input is called business rules, meaning the rules that the business layer uses to make judgments about the data. However, business rules dont only apply to data validation; these rules apply to any calculations or any other action that takes place in the business layer. Normally, its best to put as much logic as possible in the business layer, which makes this logic reusable across applications.

Data Access Layer:The key component to most applications is the data. The data has to be served to the presentation layer somehow. The data layer is a separate component, whose sole purpose is to serve up the data from the database and return it to the caller. Through this approach, data can be logically reused, meaning that a portion of an application reusing the same query can make a call to one data layer method, instead of embedding the query multiple times. This is generally more maintainable. 2.5 Feasibility of the Project:-

Page 12

TIME TABLE GENERATION FOR COLLEGE

13

A feasibility study looks at the viability of an idea with an emphasis on identifying potential problems and attempts to answer one main question: Will the idea work and should you proceed with it? Before you begin writing your business plan you need to identify how, where, and to whom you intend to sell a service or product. You also need to assess your competition and figure out how much money you need to start your business and keep it running until it is established. Feasibility studies address things like where and how the business will operate. They provide in-depth details about the business to determine if and how it can succeed, and serve as a valuable tool for developing a winning business plan. Why Are Feasibility Studies so Important? The information you gather and present in your feasibility study will help you: List in detail all the things you need to make the business work; Identify logistical and other business-related problems and solutions; Develop marketing strategies to convince a bank or investor that your business is worth considering as an investment; and Serve as a solid foundation for developing your business plan.

Even if you have a great business idea you still have to find a cost-effective way to market and sell your products and services. This is especially important for store-front retail businesses where location could make or break your business. For example, most commercial space leases place restrictions on businesses that can have a dramatic impact on income. A lease may limit business hours/days, parking spaces, restrict the product or service you can offer, and in some cases, even limit the number of customers a business can receive each day. The Components of a Feasibility Study Technology and system feasibility the assessment is based on an outline design of system requirements in terms of Input, Processes, Output, Fields, Programs, and Procedures. This can be quantified in terms of volumes of data, trends, frequency of updating, etc. in order to estimate whether the new system will perform adequately or not. Technological feasibility is carried out to determine

Page 13

TIME TABLE GENERATION FOR COLLEGE

14

whether the company has the capability, in terms of software, hardware, personnel and expertise, to handle the completion of the project. Economic feasibility : it is the most frequently used method for evaluating the effectiveness of a new system. More commonly known as cost/benefit analysis, the procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs. If benefits outweigh costs, then the decision is made to design and implement the system. An entrepreneur must accurately weigh the cost versus benefits before taking an action. Cost-based study: It is important to identify cost and benefit factors, which can be categorized as follows: 1. Development costs; and 2. Operating costs. This is an analysis of the costs to be incurred in the system and the benefits derivable out of the system. Time-based study: This is an analysis of the time required to achieve a return on investments. The future value of a project is also a factor. Operational feasibility: It is a measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development.

2.6.DEVELOPMENT ENVIRONMENT 2.6.1 Software Environment Operating System Server: Windows XP Database Server: Microsoft SQL Server-2005 Client: Microsoft Internet Explorer Tools: Microsoft Visual Studio.Net-2008 (Framework 3.5) User Interface: Asp.Net with Ajax 2.6.2 DOT NET Framework

Page 14

TIME TABLE GENERATION FOR COLLEGE

15

The Microsoft .NET Framework is a software framework that can be installed on computers running Microsoft Windows operating systems. It includes a large library of coded solutions to common programming problems and a common language infrastructure that manages the execution of programs written specifically for the framework. The .NET Framework supports multiple programming languages in a manner that allows language interoperability, whereby each language can utilize code written in other languages; in particular, the .NET library is available to all the programming languages that .NET encompasses. Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. Also part of the .NET Framework, this runtime environment is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security, memory management, and exception handling. The class library and the CLR together constitute the .NET Framework. Principal design features Interoperability Because computer systems commonly require interaction between new and older applications, the .NET Framework provides means to access functionality that is implemented in programs that execute outside the .NET environment. Access to COM components is provided in the System. Runtime. InteropServices and System.Enterprise SServices namespaces of the framework; access to other functionality is provided using the P/Invoke feature. Common Runtime Engine The Common Language Runtime (CLR) is the execution engine of the .NET Framework. All .NET programs execute under the supervision of the CLR, guaranteeing certain properties and behaviors in the areas of memory management, security, and exception handling. Language Independence

Page 15

TIME TABLE GENERATION FOR COLLEGE

16

The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible datatypes and programming constructs supported by the CLR and how they may or may not interact with each other conforming to the Common Language Infrastructure (CLI) specification. Base Class Library The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages using the .NET Framework. The BCL provides classes which encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction, XML document manipulation and so on. Memory management The .NET Framework CLR frees the developer from the burden of managing memory (allocating and freeing up when done); instead it does the memory management itself. To this end, the memory allocated to instantiations of .NET types (objects) is done contiguously from the managed heap, a pool of memory managed by the CLR. As long as there exists a reference to an object, which might be either a direct reference to an object or via a graph of objects, the object is considered to be in use by the CLR. The GC used by .NET Framework is actually generational. Objects are assigned a generation; newly created objects belong to Generation 0. The objects that survive a garbage collection are tagged as Generation 1, and the Generation 1 objects that survive another collection are Generation 2 objects. The .NET Framework uses up to Generation 2 objects. Higher generation objects are garbage collected less frequently than lower generation objects. This helps increase the efficiency of garbage collection, as older objects tend to have a larger lifetime than newer objects. Thus, by removing older (and thus more likely to survive a collection) objects from the scope of a collection run, fewer objects need to be checked and compacted. Simplified Deployment The .NET Framework includes design features and tools that help manage the installation of computer software to ensure that it does not interfere with previously installed software, and that it conforms to security requirements. Security

Page 16

TIME TABLE GENERATION FOR COLLEGE

17

The design is meant to address some of the vulnerabilities, such as buffer overflows, that have been exploited by malicious software. Additionally, .NET provides a common security model for all applications. Architecture & Versions: Microsoft started development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). By late 2000 the first beta versions of .NET 1.0 were released

Version 3.0 of the .NET Framework is included with Windows Server 2008 and Windows Vista. Version 3.5 is included with Windows 7, and can also be installed on Windows XP and the Windo ws Server 2003 family of operating systems. On April 12, 2010, .NET Framework 4 was released alongside Visual Studio 2010. A more complete listing of the releases of the .NET Framework as follows:

Page 17

TIME TABLE GENERATION FOR COLLEGE

18

2.6.3

C#.NET In June 2000, Microsoft announced both the .NET platform and a new

programming language called C#. C# is a strongly-typed object-oriented language designed to give the optimum blend of simplicity, expressiveness, and performance. The .NET platform is centered on a Common Language Runtime (similar to a JVM) and a set of libraries which can be exploited by a wide variety of languages which are able to work together by all compiling to an intermediate language (IL). C# and .NET are a little symbiotic: some features of C# are there to work well with .NET, and some features of .NET are there to work well with C# (though .NET aims to work well with many languages). C# Features 1. C# is a simple, modern, object oriented language derived from C++ and Java. 2. It aims to combine the high productivity of Visual Basic and the raw power of C++. 3. It is a part of Microsoft Visual Studio7.0. 4. Visual studio supports Vb, VC++, C++, Vbscript, Jscript. All of these languages provide access to the Microsoft .NET platform. 5. .NET includes a Common Execution engine and a rich class library. 6. Microsoft's JVM equiv. is Common language run time (CLR). 7. CLR accommodates more than one languages such as C#, VB.NET, Jscript, ASP.NET, C++.

Page 18

TIME TABLE GENERATION FOR COLLEGE

19

8. Source code --->Intermediate Language code (IL) ---> (JIT Compiler) Native code. 9.The classes and data types are common to all of the .NET languages. 10. We may develop Console application, Windows application, and Web application using C#. 11. In C# Microsoft has taken care of C++ problems such as Memory management, pointers etc. 12. It supports garbage collection, automatic memory management and a lot. Main Features of C# Simple 1. Pointers are missing in C#. 2. Unsafe operations such as direct memory manipulation are not allowed. 3. In C# there is no usage of "::" or "->" operators. 4. Since it`s on .NET, it inherits the features of automatic memory management and garbage collection. 5. Varying ranges of the primitive types like Integer, Floats etc. 6. Integer values of 0 and 1 are no longer accepted as Boolean values. Boolean values are pure true or false values in C# so no more errors of "="operator and "=="operator. "==" is used for comparison operation and "=" is used for assignment operation. Modern 1.C# has been based according to the current trend and is very powerful and simple for building interoperable, scalable, robust applications. 2. C# includes built in support to turn any component into a web service that can be invoked over the Internet from any application running on any platform.

Page 19

TIME TABLE GENERATION FOR COLLEGE

20

Object Oriented 1. C# supports Data Encapsulation, inheritance, polymorphism, interfaces. 2. (int, float, double) are not objects in java but C# has introduces structures(structs) which enable the primitive types to become objects int i=1; string a=i.Tostring(); //conversion (or) Boxing Type Safe 1. In C# we cannot perform unsafe casts like convert double to a Boolean. 2. Value types (primitive types) are initialized to zeros and reference types (objects and classes are initialized to null by the compiler automatically. 3. Arrays are zero base indexed and are bound checked. 4. Overflow of types can be checked. Interoperability 1. C# includes native support for the COM and windows based applications. 2. Allowing restricted use of native pointers. 3. Users no longer have to explicitly implement the unknown and other COM interfaces, those features are built in. 4. C# allows the users to use pointers as unsafe code blocks to manipulate your old code. 5. Components from VB NET and other managed code languages and directly be used in C#. Scalable & Updateable 1. .NET has introduced assemblies, which are self-describing by means of their manifest. Manifest establishes the assembly identity, version, culture and digital signature etc. Assemblies need not to be register anywhere.

Page 20

TIME TABLE GENERATION FOR COLLEGE

21

2. To scale our application we delete the old files and updating them with new ones. No registering of dynamic linking library. 3. Updating software components is an error prone task. Revisions made to the code can affect the existing program C# support versioning in the language. Native support for interfaces and method overriding enable complex frame works to be developed and evolved over time. Microsoft Visual Studio, IDE for C# Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It can be used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework and Microsoft Silver light..

Features Microsoft Visual Studio Code editor: Visual Studio, like any other IDE, includes a code editor that supports syntax highlighting and code completion using IntelliSense for not only variables, functions and methods but also language constructs like loops and queries. IntelliSense is supported for the included languages, as well as for XML and for Cascading Style Sheets and JavaScript when developing web sites and web applications. Debugger: Visual Studio includes a debugger that works both as a source-level debugger and as a machine-level debugger. It works with both managed code as well as native code and can be used for debugging applications written in any language supported by Visual Studio. Designer: Visual Studio includes a host of visual designers to aid in the development of applications. These tools include: Windows Forms Designer:

Page 21

TIME TABLE GENERATION FOR COLLEGE

22

The Windows Forms designer is used to build GUI applications using Windows Forms. It includes a palette of UI widgets and controls (including buttons, progress bars, labels, layout containers and other controls) that can be dragged and dropped on a form surface. WPF Designer: The WPF designer, codenamed Cider, was introduced with Visual Studio 2008. Like the Windows Forms designer it supports the drag and drop metaphor. It is used to author user interfaces targeting Windows Presentation Foundation. Web designer/development: Visual Studio also includes a web-site editor and designer that allow web pages to be authored by dragging and dropping widgets. It is used for developing ASP.NET applications and supports HTML, CSS and JavaScript. It uses a code-behind model to link with ASP.NET code. Class designer: The Class Designer is used to author and edit the classes (including its members and their access) using UML modeling. The Class Designer can generate C# and VB.NET code outlines for the classes and methods. It can also generate class diagrams from hand-written classes. 2.6.4 ASP.NET

ASP.NET (Active Server Pages) is server side scripting technology that enables scripts to be executed on the web server (IIS).The IIS is component of Windows Server like windows 2000 and XP Professional. The extension for Classic ASP is ".asp" but for ASP.Net the extension is ".ASPX". An ASP.NET Page can contain HTML, XML and scripts. In simple web page transaction when a browser request a web page, the server in return the HTML file where as in ASP.NET case, the browser request for the ASP.NET page, this request goes to the web server, the web server will pass the this to the ASP.NET engine after the engine will parse the script in the ASP.NET page, convert it to the HTML page and send back to the client's browser. ASP.NET allows the developer to build applications faster. This is achieved due to the fast that ASP.NET makes use of the rich class libraries provided by Microsoft. net framework. Classic ASP:

Page 22

TIME TABLE GENERATION FOR COLLEGE

23

ASP, which is now more commonly known as Classic ASP was used extensively in 1990's. The idea of creating dynamic pages and linking them with database was the main purpose of classic ASP. Asp used html controls for user interaction. Apart from the good features available in ASP programming, it also lacks in some of the major areas. These areas include clean coding as asp pages were incline pages and all the business logic as well as the interface was coded in a single page. This produces many problem when the code had to be updated or modified. Asp pages also lacked performance and scalability which were fixed in ASP.NET. Lets see what ASP.NET technology has to offer a developer to build dynamic pages much faster. ASP.NET Web Applications: ASP.NET is based on the .NET framework for building web applications. Since ASP.NET is a part of the Microsoft. NET Framework it has the ability to take advantage of rich class libraries provided by Microsoft. The question is that why should one use ASP.NET and not use classic asp or any other web programming technology. Here are some of the features of ASP.NET that makes it the best web application technology. Use of Controls: ASP.NET provides the developer with several controls to perform basic as well as advanced operations. Controls provided in ASP.NET falls under HTML Controls, HTML Server Controls and Web Server Controls. HTML Controls: Html controls are the basic controls that are executed on the client machine. These controls include textbox, label, image etc. A simple example of html control can be given by the following code which renders an image. Version 3.0 of the .NET Framework is included with Windows Server 2008 and Windows Vista. Version 3.5 is included with Windows 7, and can also be installed on Windows XP and the Windo ws Server 2003 family of operating systems. On April 12, 2010, .NET Framework 4 was released alongside Visual Studio 2010.

Page 23

TIME TABLE GENERATION FOR COLLEGE

24

As you see HTML controls are very easy to use but they don't provide much features. Microsoft decided to introduce HTML Server controls which extends the functionality of simple HTML Controls. HTML Server Controls: HTML Server Controls looks exactly like the HTML Controls with one difference that they are executed on the server rather than the client. A simple example of HTML Server controls is given below: just add a runat server attribute with the image tag. As you can see that the image tag or control looks exactly like the one that we have previously discussed. But it has an additional attribute which is runat. The runat attribute denotes that this is a HTML Server Control and will be executed on the Server rather than the client. Web Server Controls: Web Server Controls are the most advanced controls in ASP.NET. Each control comes with tons of features that allows the developer to complete the task in less time. Web Server Controls are executed on the Server. Web Server Controls include datagrid control, datalist control, calendar control and many many more.

Language Options: ASP.NET provides lets you choose the scripting language between javascript and VbScript. This is beneficial for the java programmers as well as the VB programmers since they already have the basic background of the language. Caching features:

Page 24

TIME TABLE GENERATION FOR COLLEGE

25

ASP.NET also introduces caching features which increases the performance of the application. Caching allows the developer to save the recently used data in a cache variable so that if does not have to spend any time looking for it in the future when anyone requests it. Tools: ASP.NET pages can be made in variety of tools. The most basic editor is notepad or WordPad. To make the development faster Microsoft has introduced Visual Studio development tool which lets the developer build enterprise applications in less time. There are many free tools available to build ASP.NET application one of them is "WebMatrix" which can be downloaded from "www.asp.net" target="_blank" rel="nofollow". ASP.NET Web Services: Web Services has change the way we develop applications. Sometimes its hard to grasp the idea behind the web service so I will try to make it as simple as possible. A web service is not a whole application, its a part or a component of a larger application. The basic purpose of the web service is to create a link/bridge between two different platforms and exchange data. This data is exchanged in the form of XML. XML is nothing but text which is in structured form that is why it's recognized by all platforms. Code behind In traditional ASP, the interweaving of script with HTML can produce source control nightmares and difficult-to-maintain ASP pages. ASP.NET addresses this problem by giving programmers the ability to separate the executable code from the presentation code. You write the HTML in a page file (with a .aspx extension), and you write the C# or VB.NET code in he code-behind file (with a .cs or .vb extension, depending on its language), which is another way of saying the "code file behind the form. In the code-behind file, you create a class (which can be any class derived from the

Page class) that serves as the base class for the web page you create in the .aspx file. This relationship between your class and the web page is established by a Page directive at the top of the .aspx file:

Page 25

TIME TABLE GENERATION FOR COLLEGE

26

<%@ Page inherits="CodeBehindDemo" %> The inherits attribute identifies the class created in the code-behind file from which this .aspx file will derive. When a web form is compiled, its page is parsed and a new class is generated and compiled. This new class derives from the class identified in the inherits keyword, which in turn derives from System.Web.UI.Page. ADO.NET The new data component, introduced with .NET, presented an exciting new approach to data access. Though the techniques, and logic used to connect to databases with ADO.NET weren't startlingly different from those used with its predecessor, ADO.NET had a lot to offer. What was unique about this technology was the architecture beneath it all, its powerful approach to data management, and the flexibility in the next level of data-presenting devices. It handling of disconnected data stores, and functioning properly and concisely with XML. This is where ADO.NET stepped in - these are the two things the new technology easily manages, as XML is the core component of the entire .NET Framework.Before you connect to a database, you first have to import all the necessary namespaces that will allow you to work with the objects required. As we're going to work with SQL Server, we'll first import the namespaces SQLClient. If we were using a database other than SQL, for instance, MS Access, The AO.NET Data Architecture Data Access in ADO.NET relies on two components: DataSet and Data Provider. DataSet The dataset is a disconnected, in-memory representation of data. It can be considered as a local copy of the relevant portions of the database. The DataSet is persisted in memory and the data in it can be manipulated and updated independent of the database. When the use of this DataSet is finished, changes can be made back to the central database for updating. The data in DataSet can be loaded from any valid data source like Microsoft SQL server database, an Oracle database or from a Microsoft Access database. Data Provider

Page 26

TIME TABLE GENERATION FOR COLLEGE

27

The Data Provider is responsible for providing and maintaining the connection to the database. A DataProvider is a set of related components that work together to provide data in an efficient and performance driven manner. The .NET Framework currently comes with two DataProviders: the SQL Data Provider which is designed only to work with Microsoft's SQL Server 7.0 or later and the OleDb DataProvider which allows us to connect to other types of databases like Access and Oracle. Each DataProvider consists of the following component classes:

The Connection object which provides a connection to the database. The Command object which is used to execute a command. The DataReader object which provides a forward-only, read only, connected recordset.

The DataAdapter object which populates a disconnected DataSet with data and performs update.

Data access with ADO.NET can be summarized as follows: A connection object establishes the connection for the application with the database. The command object provides direct execution of the command to the database. If the command returns more than a single value, the command object returns a DataReader to provide the data. Alternatively, the DataAdapter can be used to fill the Dataset object. The database can be updated using the command object or the DataAdapter.

Page 27

TIME TABLE GENERATION FOR COLLEGE

28

Component classes that make up the Data Providers The Connection Object The Connection object creates the connection to the database. Microsoft Visual Studio .NET provides two types of Connection classes: the SqlConnection object, which is designed specifically to connect to Microsoft SQL Server 7.0 or later, and the OleDbConnection object, which can provide connections to a wide range of database types like Microsoft Access and Oracle. The Connection object contains all of the information required to open a connection to the database. The Command Object The Command object is represented by two corresponding classes: SqlCommand and OleDbCommand. Command objects are used to execute commands to a database across a data connection. The Command objects can be used to execute stored procedures on the database, SQL commands, or return complete tables directly. Command objects provide three methods that are used to execute commands on the database: ExecuteNonQuery: Executes commands that have no return values such as INSERT, UPDATE or DELETE ExecuteScalar: Returns a single value from a database query ExecuteReader: Returns a result set by way of a DataReader object

The DataReader Object The DataReader object provides a forward-only, read-only, connected stream recordset from a database. Unlike other components of the Data Provider, DataReader objects cannot be directly instantiated. Rather, the DataReader is returned as the result of the Command object's ExecuteReader method. The SqlCommand.ExecuteReader method returns a SqlDataReader object, and the OleDbCommand.ExecuteReader method returns an OleDbDataReader object. The DataReader can provide rows of data directly to application logic when you do not need to keep the data cached in memory. Because only one row is in memory at a time, the DataReader provides the lowest overhead in terms of system performance but requires the exclusive use of an open Connection object for the lifetime of the DataReader.

Page 28

TIME TABLE GENERATION FOR COLLEGE

29

The DataAdapter Object The DataAdapter is the class at the core of ADO .NET's disconnected data access. It is essentially the middleman facilitating all communication between the database and a DataSet. The DataAdapter is used either to fill a DataTable or DataSet with data from the database with it's Fill method. After the memory-resident data has been manipulated, the DataAdapter can commit the changes to the database by calling the Update method. The DataAdapter provides four properties that represent database commands: SelectCommand InsertCommand DeleteCommand UpdateCommand

When the Update method is called, changes in the DataSet are copied back to the database and the appropriate InsertCommand, DeleteCommand, or UpdateCommand is executed.

2.6.5

SQL Server

Microsoft SQL Server is a Relational Database Management System (RDBMS) designed to run on platforms ranging from laptops to large multiprocessor servers. SQL Server is commonly used as the backend system for websites and corporate CRMs and can support thousands of concurrent users. SQLServer is much more robust and scalable than a desktop database management system such as Microsoft Access. Anyone who has ever tried using Access as a backend to a website will probably be familiar with the errors that were generated when too many users tried to access the database! Although SQL Server can also be run as a desktop database system, it is most commonly used as a server database system.

Page 29

TIME TABLE GENERATION FOR COLLEGE

30

Server Database Systems Server based database systems are designed to run on a central server, so that multiple users can access the same data simultaneously. The users normally access the database through an application. For example, a website could store all its content in a database. Whenever a visitor views an article, they are retrieving data from the database. As you know, websites aren't normally limited to just one user. So, at any given moment, a website could be serving up hundreds, or even thousands of articles to its website visitors. At the same time, other users could be updating their personal profile in the members' area, or subscribing to a newsletter, or anything else that website users do. Generally, it's the application that provides the functionality to these visitors. It is the database that stores the data and makes it available. Having said that, SQL Server does include some useful features that can assist the application in providing its functionality. Microsoft SQL Server offers a variety of administrative tools to ease the burdens of database development, maintenance and administration. Frequently used tools: Enterprise Manager, Query Analyzer, SQL Profiler, Service Manager, Data Transformation. Let's take a brief look at each: Enterprise Manager It is the main administrative console for SQL Server installations. It provides you with a graphical "birds-eye" view of all of the SQL Server installations on your network. You can perform high-level administrative functions that affect one or more servers, schedule common maintenance tasks or create and modify the structure of individual databases. Query Analyzer It offers a quick and dirty method for performing queries against any of your SQL Server databases. It's a great way to quickly pull information out of a database in response to a user request, test queries before implementing them in other applications, create/modify stored procedures and execute administrative tasks. SQL Profiler It provides a window into the inner workings of your database. You can monitor many different event types and observe database performance in real time. SQL Profiler allows you

Page 30

TIME TABLE GENERATION FOR COLLEGE

31

to capture and replay system "traces" that log various activities. It's a great tool for optimizing databases with performance issues or troubleshooting particular problems. Service Manager it is used to control the MSSQLServer (the main SQL Server process), MSDTC (Microsoft Distributed Transaction Coordinator) and SQLServerAgent processes. An icon for this service normally resides in the system tray of machines running SQL Server. You can use Service Manager to start, stop or pause any one of these services. Data Transformation Services (DTS) it provide an extremely flexible method for importing and exporting data between a Microsoft SQL Server installation and a large variety of other formats. The most commonly used DTS application is the "Import and Export Data" wizard found in the SQL Server program group. SQL Databases What's a Database? A SQL database is nothing more than an empty shell, like a vacant warehouse. It offers no real functionality whatsoever, but does provide a virtual space to store data. Data is stored inside of database objects called tables, and tables are the containers that actually hold specific types of data, such as numbers, files, strings, and dates A single database can house hundreds of tables containing more than 1,000 table columns each and they may be jam packed with relational data ready to be retrieved by SQL. Perhaps the greatest feature SQL offers is that it doesn't take much effort to rearrange your warehouse to meet your ever-growing business needs. Creating a database inside of SQL Express has its advantages. After launching Microsoft's SQL Server Management Studio Express application, simply right-clicking on the Databases folder of the Object Explorer gives you the option to create a New Database. After selecting the New Database... option, name your database "MyDatabase" and press "OK". SQL - Tables Data is stored inside SQL tables which are contained within SQL databases. A single database can house hundreds of tables, each playing its own unique role in the database schema. While database architecture and schema are concepts far above the scope of this tutorial, we plan on diving in just past the surface to give you a glimpse of database architecture that begins with a thorough understanding of SQL Tables.

Page 31

TIME TABLE GENERATION FOR COLLEGE

32

SQL tables are comprised of table rows and columns. Table columns are responsible for storing many different types of data, like numbers, texts, dates, and even files. There are many different types of table columns and these data types vary, depending on how the SQL table has been created by the SQL developer. A table row is a horizontal record of values that fit into each different table column. Constraints The primary job of a constraint is to enforce a rule in the database. Together, the constraints in a database maintain the integrity of the database. Entity Integrity Entity integrity ensures each row in a table is a uniquely identifiable entity. You can apply entity integrity to a table by specifying a PRIMARY KEY constraint. Referential Integrity Referential integrity ensures the relationships between tables remain preserved as data is inserted, deleted, and modified. You can apply referential integrity using a FOREIGN KEY constraint. Entity and referential integrity together form key integrity. Domain Integrity Domain integrity ensures the data values inside a database follow defined rules for values, range, and format. A database can enforce these rules using a variety of techniques, including CHECK constraints, UNIQUE constraints, and DEFAULT constraints. The following list gives a sampling of domain integrity constraints. Unique Constraint A unique constraint uses an index to ensure a column (or set of columns) contains no duplicate values. By creating a unique constraint, instead of just a unique index, you are telling the database you really want to enforce a rule, and are not just providing an index for query optimization. The database will not allow someone to drop the index without first dropping the constraint. Check Constraints Check constraints contain an expression the database will evaluate when you modify or insert a row. If the expression evaluates to false, the database will not save the row. Building a check constraint is similar to building a WHERE clause. You can use many of the same

Page 32

TIME TABLE GENERATION FOR COLLEGE

33

operators (>, <, <=, >=, <>, =) in additional to BETWEEN, IN, LIKE, and NULL. You can also build expressions around AND and OR operators. You can use check constraints to implement business rules, and tighten down the allowed values and formats allowed for a particular column. NULL Constraints Although not a constraint in the strictest definition, the decision to allow NULL values in a column or not is a type of rule enforcement for domain integrity. Using SQL you can use NULL or NOT NULL on a column definition to explicitly set the nullability of a column. In the following example table, the FirstName column will accept NULL values while LastName always requires a non NULL value. Primary key columns require a NOT NULL setting, and default to this setting if not specified. Default Constraints Default constraints apply a value to a column when an INSERT statement does not specify the value for the column. Although default constraints do not enforce a rule like the other constraints we have seen, they do provide the proper values to keep domain integrity in tact. A default can assign a constant value, the value of a system function, or NULL to a column. You can use a default on any column except IDENTITY columns and columns of type timestamp. Stored Procedures Why should you use stored procedures? Let's take a look at the key benefits of this technology: Precompiled execution. SQL Server compiles each stored procedure once and then reutilizes the execution plan. This results in tremendous performance boosts when stored procedures are called repeatedly. Reduced client/server traffic. If network bandwidth is a concern in your environment, you'll be happy to learn that stored procedures can reduce long SQL queries to a single line that is transmitted over the wire. Efficient reuse of code and programming abstraction. Stored procedures can be used by multiple users and client programs. If you utilize them in a planned manner, you'll find the development cycle takes less time.

Page 33

TIME TABLE GENERATION FOR COLLEGE

34

Enhanced security controls. You can grant users permission to execute a stored procedure independently of underlying table permissions. Stored procedures are very similar to user-defined functions, but there are subtle differences. For more information, read Comparing Stored Procedures and User-Defined Functions. Structure Stored procedures are extremely similar to the constructs seen in other programming languages. They accept data in the form of input parameters that are specified at execution time. These input parameters (if implemented) are utilized in the execution of a series of statements that produce some result. This result is returned to the calling environment through the use of a recordset, output parameters and a return code. That may sound like a mouthful, but you'll find that stored procedures are actually quite simple. 4.2 Hardware Environment Processor: Intel Pentium or More RAM: 512 MB Ram Hard Disk: PC with 20GB

Page 34

TIME TABLE GENERATION FOR COLLEGE

35

SYSTEM DESIGN

Page 35

TIME TABLE GENERATION FOR COLLEGE

36

SYSTEM DESIGN 3.1Normalization What does normalization have to do with SQL Server? The answer here is nothing. SQL Server, like any other RDBMS, couldn't care less whether your data model follows any of the normal forms. You could create one table and store all of your data in one table or you can create a lot of little, unrelated tables to store your data. SQL Server will support whatever you decide to do. The only limiting factor you might face is the maximum number of columns SQL Server supports for a table. Normalization is the process of organizing data in a database. This includes creating tables and establishing relationships between those tables according to rules designed both to protect the data and to make the database more flexible by eliminating two factors: redundancy and inconsistent dependency. Redundant data wastes disk space and creates maintenance problems. If data that exists in more than one place must be changed, the data must be changed in exactly the same way in all locations. Inconsistent dependencies can make data difficult to access; the path to find the data may be missing or broken. There are a few rules for database normalization. Each rule is called a "normal form." If the first rule is observed, the database is said to be in "first normal form." If the first three rules are observed, the database is considered to be in "third normal form." Although other levels of normalization are possible, third normal form is considered the highest level necessary for most applications. First Normal Form Eliminate repeating groups in individual tables. Do not use multiple fields in a single table to store similar data. Second Normal Form

Page 36

TIME TABLE GENERATION FOR COLLEGE

37

Relate tables with a foreign key. Records should not depend on anything other than a table's primary key (a compound key, if necessary). Third Normal Form Eliminate fields that do not depend on the key. Values in a record that are not part of that record's key do not belong in the table. In general, any time the contents of a group of fields may apply to more than a single record in the table, consider placing those fields in a separate table. 3.2 Data Models 3.2.1 Data Dictionary A data dictionary, as defined in the IBM Dictionary of Computing is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format. The term may have one of several closely related meanings pertaining to databases and database management systems (DBMS): a document describing a database or collection of databases an integral component of a DBMS that is required to determine its structure a piece of middleware that extends or supplants the native data dictionary of a DBMS

Contents 1 2 3 4 5 6 Data dictionary documentation The data dictionary component of a DBMS Data dictionary middleware See also References External links

Data dictionary documentation

Page 37

TIME TABLE GENERATION FOR COLLEGE

38

Database users and application developers can benefit from an authoritative data dictionary document that catalogs the organization, contents, and conventions of one or more databases. This typically includes the names and descriptions of various tables and fields in each database, plus additional details, like the type and length of each data element. There is no universal standard as to the level of detail in such a document, but it is primarily a distillation of metadata about database structure, not the data itself. A data dictionary document also may include further information describing how data elements are encoded. One of the advantages of well-designed data dictionary documentation is that it helps to establish consistency throughout a complex database, or across a large collection of federated databases.

The data dictionary component Every database management system has integral software for accessing the metadata that describe a database's structure. This collection of metadata and functions, the DBMS data dictionary, is needed to support symbolic query and data manipulation languages, such as SQL. In addition to using the DBMS data dictionary implicitly to process database requests, each DBMS provides explicit interfaces for passive data dictionary access, enabling programmers to generate data dictionary documentation through automated reports derived from the database. Modifications to the database structure, which are reflected as changes in the data dictionary, generally require the actions of a privileged database administrator. The DBMS data dictionary contains information that the DBMS requires to perform its functions and support its particular implementation, which varies considerably from one product to another. The programmable interfaces to data dictionaries of different DBMS products vary, because many aspects of metadata are implementation-dependent, and standards for data dictionary functions are a relatively recent development. detailed descriptions of tables and fields indexing information

Page 38

TIME TABLE GENERATION FOR COLLEGE

39

referential integrity constraints database schema definitions stored procedures and database triggers access control information, such as usernames, roles, and privileges storage allocation parameters database usage statistics

3.2.2. E-R Diagrams

Page 39

TIME TABLE GENERATION FOR COLLEGE

40

3.3 Process Models

Page 40

TIME TABLE GENERATION FOR COLLEGE

41

3.3.1 Context Analysis

Registration

Administrator Authentication

Time Table Generation System For A College

Lecturer

General Users

Student

3.3.2 Use Case Diagram UML is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. UML was created by Object Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG in January 1997. OMG is continuously putting effort to make a truly industry standard. UML stands for Unified Modeling Language. UML is different from the other common programming languages like C++, Java, COBOL etc.

Page 41

TIME TABLE GENERATION FOR COLLEGE

42

UML is a pictorial language used to make software blue prints.

So UML can be described as a general purpose visual modeling language to visualize, specify, construct and document software system. Although UML is generally used to model software systems but it is not limited within this boundary. It is also used to model non software systems as well like process flow in a manufacturing unit etc. UML is not a programming language but tools can be used to generate code in various languages using UML diagrams. UML has a direct relation with object oriented analysis and design. After some standardization UML is become an OMG (Object Management Group) standard. Goals of UML: A picture is worth a thousand words, this absolutely fits while discussing about UML. Object oriented concepts were introduced much earlier than UML. So at that time there were no standard methodologies to organize and consolidate the object oriented development. At that point of time UML came into picture. There are a number of goals for developing UML but the most important is to define some general purpose modeling language which all modelers can use and also it needs to be made simple to understand and use. UML diagrams are not only made for developers but also for business users, common people and anybody interested to understand the system. The system can be a software or non software. So it must be clear that UML is not a development method rather it accompanies with processes to make a successful system. At the conclusion the goal of UML can be defined as a simple modeling mechanism to model all possible practical systems in today.s complex environment. A conceptual model of UML: To understand conceptual model of UML first we need to clarify What is a conceptual model? and Why a conceptual model is at all required?

Page 42

TIME TABLE GENERATION FOR COLLEGE

43

A conceptual model can be defined as a model which is made of concepts and their relationships.

A conceptual model is the first step before drawing a UML diagram. It helps to understand the entities in the real world and how they interact with each other. As UML describes the real time systems it is very important to make a conceptual model and then proceed gradually. Conceptual model of UML can be mastered by learning the following three major elements:

UML building blocks Rules to connect the building blocks Common mechanisms of UML It is very important to distinguish between the UML models. Different diagrams are used for different type of UML modeling. There are three important type of UML modelings:

UML Symbols

Structural modeling: Structural modeling captures the static features of a system. They consist of the followings: Classes diagrams Objects diagrams

Page 43

TIME TABLE GENERATION FOR COLLEGE

44

Deployment diagrams Package diagrams Composite structure diagram Component diagram Structural model represents the framework for the system and this framework is the place where all other components exist. So the class diagram, component diagram and deployment diagrams are the part of structural modeling. They all represent the elements and the mechanism to assemble them..

Behavioral Modeling: Behavioral model describes the interaction in the system. It represents the interaction among the structural diagrams. Behavioral modeling shows the dynamic nature of the system. They consist of the following: Activity diagrams Interaction diagrams Use case diagrams

All the above show the dynamic sequence of flow in a syste UseCaseDiagram:

Page 44

TIME TABLE GENERATION FOR COLLEGE

45

System Log in

Re gist ring o f St a ff a nd S t ude nt s

Vie w St ude nt Que rie s A dd De pt A ssign Subje ct To St a ff

<<include>> Edit De pt <<include>>

M a na ge De pt <<include>> M a n a ge Subje ct s <<include>>

A dd Subje ct Ca t e g

A dd Subje ct

M a na ge Cours e s A dm in M a na ge Ev e n t s

<<include>> A dd Cours e <<include>> Upda t e Co urs e

A dd Not ice

<<include>> A dd Ev e nt

Lo g out

Page 45

TIME TABLE GENERATION FOR COLLEGE

46

Staff Use Case Diagram:


System

Log in

Se le ct Sub je ct s Lik e t o Te a ch

Vie w Ev e nt s

Upda t e Pro file St a ff

Cha t t ing

Log o ut

Page 46

TIME TABLE GENERATION FOR COLLEGE

47

StudentUseCaseDiagram:

Page 47

TIME TABLE GENERATION FOR COLLEGE

48

System Log in

Se le ct Subje ct s

Vie w Ev e nt s

Vie w Not ice s

Upda t e Pr ofile St ud e nt A s k Que st ions

Vie w R e s ult s

Log out

3.3.3 Data Flow Diagram A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. DFDs can also be used for the visualization of data processing (structured design). On a DFD, data items flow from an external data source or an internal data store to an internal data store or an external data sink, via an internal process. A DFD provides no information about the timing of processes, or about whether processes will operate in sequence or in parallel. It is therefore quite different from a flowchart, which

Page 48

TIME TABLE GENERATION FOR COLLEGE

49

shows the flow of control through an algorithm, allowing a reader to determine what operations will be performed, in what order, and under what circumstances, but not what kinds of data will be input to and output from the system, nor where the data will come from and go to, nor where the data will be stored (all of which are shown on a DFD). It is common practice to draw a context-level data flow diagram first, which shows the interaction between the system and external agents which act as data sources and data sinks. On the context diagram (also known as the 'Level 0 DFD') the system's interactions with the outside world are modeled purely in terms of data flows across the system boundary. The context diagram shows the entire system as a single process, and gives no clues as to its internal organization. DFD Symbols

This context-level DFD is next "exploded", to produce a Level 1 DFD that shows some of the detail of the system being modeled. The Level 1 DFD shows how the system is divided into sub-systems (processes), each of which deals with one or more of the data flows to or from an external agent, and which together provide all of the functionality of the system as a whole. It also identifies internal data stores that must be present in order for the system to do its job, and shows the flow of data between the various parts of the system.Data flow diagrams were

Page 49

TIME TABLE GENERATION FOR COLLEGE

50

proposed by Larry Constantine, the original developer of structured design, based on Martin and Estrin's "data flow graph" model of computation. 3.4 Functional Models Login DFD
Tb o Accou lL din ntD eta ils

O pen Login form

Enter U ser N e and am Passw ord

Yes

C heck U ser

Yes

U H e ser om Page

N o

Ve Da rify ta

Admin Activities DFD

Page 50

TIME TABLE GENERATION FOR COLLEGE

51

1st

Level

TblAdminLogin
Open Form() 1.0.0 1.0.2

TblCourseCode

TblEvents

Add Course

AddEvents
1.0.4

Enter Login Details 1.0.1

Add Subjects

1.0.3

Validates Data

TblSubject

Log out

Page 51

TIME TABLE GENERATION FOR COLLEGE

52

TblStuden tsDetails
Student Registration 1.0.3.0

Add Subjects 1.0.3.1

Log out TblSubject

Staff: 1st Level

Tb o in cco tDe lL g A un t a ils


O pen F orm 1.0.0 () S elect Like

TblStaffLike

TblStudent

Add Results 1.0.3

1.0.2 Enter Login Details 1.0.1 Update P rofile 1.0.4

TblStaffDeta

Va ates lid D ta a

L o og ut

2nd Level

Page 52

TIME TABLE GENERATION FOR COLLEGE

53

Tltf Lk bSafie TltdnSbet bSue tujcs

Sle tL e e c ik

Ud t Rs lt p a eu e

Lgot o u

1.0.2.0

1.0.2.1

Students: 1st Level

TblEvents TblLoginAccount Details


Open Site() 1.0.0

TblSubjects
View Events 1.0.3

TblStudentSu bject

Select Subjects Enter Login Detais 1.0.1 1.0.2 View Results 1.0.4

Verification

Validataion

Log out

Page 53

TIME TABLE GENERATION FOR COLLEGE

54

2nd Level

TblStudentSubject
Select Subject 2.0.5.0

TblStudentQueries

View Results 2.0.5.1

Submit Queries 2.0.5.2

Log out

Validates Data

5.4 1 Sequence Diagram

Page 54

TIME TABLE GENERATION FOR COLLEGE

55

LoginSequenceDiagram:

Ue sr

frm g .a p lo in s x

B L C S d n o in s A ls tu e tL g .c

D LD ta e e s A a H lp r.c

D ta a e a bs

1: E te C e e tia ( n r r d n ls )

2: C e k tu e t( hcS d n ) 3: C e k s r ) h c Ue( 4: E e u R a e ( x c te e d r )

5: R tu R s lt( e rn e u )

6: S o M s a e ) hw es g(

Admin Add Notice Sequence Diagram:

Page 55

TIME TABLE GENERATION FOR COLLEGE

56

Admin

frmnotice.aspx

BAL ClsNotices.cs

DAL DataHelper.cs

Database

1 : Enter Date and Notifiction()

2 : PostNotice() 3 : ExecuteProcedure() 4 : Execute Stored Procedure()

5 : Return Result()

6 : Show Message()

Page 56

TIME TABLE GENERATION FOR COLLEGE

57

AdminUpdateDeptSequenceDiagram:

Adm in

frm departm ent.aspx

BAL ClsDepartMent.cs

DAL DataHelper.cs

Database

1 : Enter Details()

2 : UpdateDept() 3 : ExecuteProcedure() 4 : Execute Stored Procedure()

5 : Return Result()

6 : Dispaly Result()

Staff Choose Subjects Sequence Diagram:

Page 57

TIME TABLE GENERATION FOR COLLEGE

58

Staff

frmstaffsubject.aspx

BAL ClsStaffSubjects.cs

DAL DataHelper.cs

Database

1 : Select Subjects()

2 : AddLike() 3 : ExecuteProcedure() 4 : Execute Stored Procedure()

5 : Return Result()

6 : Dispaly Result()

Page 58

TIME TABLE GENERATION FOR COLLEGE

59

StaffUpdateProfileSequenceDiagram:

Staff

frmstaffprofile.aspx

BAL ClsStaffProfile.cs

DAL DataHelper.cs

Database

1 : Enter Details()

2 : UpdateProfile() 3 : ExecuteProcedure() 4 : Execute Stored Procedure()

5 : Return Result()

6 : Show Message()

Student View Result Sequence diagram:

Page 59

TIME TABLE GENERATION FOR COLLEGE

60

Student

frmstudentresults.aspx

BAL ClsGetResults.cs

DAL DataHelper.cs

Database

1 : View()

2 : GetResult() 3 : GetData() 4 : Execute Stored Procedure()

5 : Return Result()

6 : Show Message()

Student Ask Query Sequence Diagram:


Student frmstudenthelp.aspx BAL ClsHelp.cs DAL DataHelper.cs Database

1 : Enter Details()

2 : AddQuery() 3 : ExecuteProcedure() 4 : Execute Stored Procedure()

5 : Return Result()

6 : Show Message()

3.4.2 Collaboration Diagram:Login Collaboration Diagram:

Page 60

TIME TABLE GENERATION FOR COLLEGE

61

D atabase

4 : ExecuteReader()

5 : Return Result()

D D AL ataH elper.cs

3 : CheckUser()

B ClsStudentLogin.cs AL

2 : CheckStudent() frm login.aspx

6 : Show M essage()

1 : Enter Credentials() U ser

Admin Add Notice Collaboration Diagram:


D ta a e a bs

4: E e u S r dP o e ue ) x c te to e r c d r (

5: R tunR s lt( e r eu )

D LD ta e e .c A a H lp r s

3: E e u P o e ue ) x c te r c d r (

B L C N tic s s A ls o e .c

2: P s o e ) o tN tic ( 6: S o M s a e ) h w es g ( fr n tic .a p mo e s x

1: E te D tea dN tific n) n r a n o tio (

Am d in

Page 61

TIME TABLE GENERATION FOR COLLEGE

62

AdminUpdateDeptCollaborationD

Database

4 : Execute Stored Procedure()

5 : Return Result()

DAL DataHelper.cs

3 : ExecuteProcedure() BAL ClsDepartM ent.cs

2 : UpdateDept() 6 : Dispaly Result()

frm departm ent.aspx

1 : Enter Details() Adm in

Staff Choose Subjects Collaboration Diagram:

Page 62

TIME TABLE GENERATION FOR COLLEGE

63

Dt b s aa ae

4 EeueSoe Poe ue) : x c t t r d r c dr (

5 Rt r Rs l ( : eun eu ) t

DL aa e e. s A Dt Hl r c p

3 Eeue r c d r ( : x c t Poe ue)

B L C Saf uj csc A l t f Sb t . s s e

2 Adi e) : dL ( k 6 Dp l Rs l ( : i a eu ) s y t

f maf uj c. s x r s f s b t ap t e

1 Sl c Sb cs) : e t uj t ( e e Saf tf

Page 63

TIME TABLE GENERATION FOR COLLEGE

64

StaffUpdateProfileCollaborationDiagram:

D atabase

4 : Execute Stored Procedure() 5 : Return Result()

D D AL ataH elper.cs 3 : ExecuteProcedure()

B ClsStaffProfile.cs AL

2 : UpdateProfile()

6 : Show M essage()

frm staffprofile.aspx

1 : Enter D etails()

Staff

Student Ask Query Collaboration diagram:

Page 64

TIME TABLE GENERATION FOR COLLEGE

65

Dt b s aa a e

4: E e ueSoe Po e ue) x ct t r d r cdr (

D LD t H l e.c A aa ep r s

5: R t r R s l ( eun e u ) t

3: E e ue r c d r ( x c t Po e ue)

B L Cs ep s A l H l .c

6: S o Ms a e) hw es g (

2: A d u r ( d Q ey )

fr s u e t ep s x m d nh l .a p t

1: E t rD t is ) ne eal ( Su e t t dn

Student View Result Collaboration Diagram:

Page 65

TIME TABLE GENERATION FOR COLLEGE

66

Database

4 : Execute Stored Procedure()

5 : Return Result() DAL DataHelper.cs 3 : GetData()

BAL ClsGetResults.cs 6 : Show Message()

2 : GetResult()

frmstudentresults.aspx

1 : View() Student

Page 66

TIME TABLE GENERATION FOR COLLEGE

67

5.4.3 Class Diagrams

Page 67

TIME TABLE GENERATION FOR COLLEGE

68

SYSTEM IMPLEMENTATION

No. Of Modules

Page 68

TIME TABLE GENERATION FOR COLLEGE

69

Admin Lecturers Student General Users Authentication Registration

Modules Description Admin: This is the controlling module of the website. The admin of website can perform all the controlling activities of the college system. He can add various subjects according to department and can update and remove also department and subjects. Only admin will create the event calender which shows the national and public holidays for college. Admin only will make student as well as staff registration. Only admin will add the courses of study as well as program of study. Only admin assign the subject to staff as well as assign custom subject to student. Admin will publish the notices on time. And the last thing is admin can generate the time-table for college system. Lecturers This is the second most important module of website. Lecturer can chat with student and can view the event calendar. Only Lecturers can assign the marks to student. Lecturer can change their profile also. As well as they can choose the subject which they like to teach means they can select their own subject choice. Student: This is the main user of the system for whom this website is made. Student is most important part of this website. Student can edit, update their profile. They can view their own time table as well as can view the event calender.

Page 69

TIME TABLE GENERATION FOR COLLEGE

70

The main focus in this module is student can online chat with the staff member and can get instant help from the staff members. Student can view their own result also.

General User: This are the unauthenticated user of the website. Any one can surf the website and get the information about the college system how it is working,what kind of subject it will provide etc.. information is available to general user. Authentication: Authentication is nothing but providing security to the system. Here every must enter into the system through login page. The login page will restrict the UN authorized users. A user must provide his credential like user Id and password for log into the system. For that the system maintains data for all users. Whenever a user enters his user id and password, it checks in the database for user existence. If the user is exists he can be treated as a valid user. Otherwise the request will throw back. Registration: The system has a process of registration. Every user need to submit their complete details including user name and password in the form of registration. Whenever a user registration completed then only a user can get log in into the system by using his user id and password.

Page 70

TIME TABLE GENERATION FOR COLLEGE

71

SYSTEM TESTING

Page 71

TIME TABLE GENERATION FOR COLLEGE

72

SYSTEM TESTING Testing: In any endeavor, testing is always important before the actual implementation. SDLC is no different, in fact testing in SDLC is so important these days that developers have to work in testing longer that most stages in SDLC. Types of Testing: Testing by developers Developers will have to test the software themselves extensively. Even though they are also the one who have developed the software, they still have to run it extensively. These are the usual steps developers follow in testing their software: 1. Checking of Syntax The software is checked as it is. Developers just run software and look for possible errors. A very basic checking to know if there are major functions and errors that will occur.
2. Code inspection

After the execution, developers review their codes to look for possible bugs or errors in coding technique. Even though it has worked in initial checking, the language has to be checked extensively to predict possible problems in some executions. 3. Desk Checking In this part of the testing, developers check the code and the software at the same time. Each line of command is tested if the desired output is met. This is done manually as each

Page 72

TIME TABLE GENERATION FOR COLLEGE

73

line is expected to work and one way of making sure it will work is to manually check each line so that developers will know what output the line has created. 4. Walkthrough After checking the software themselves, its time to present the software to the experts. Not the upper management but possibly experts on the coding language or other developers of this type of software. The developer will present their work to the pool of professionals who will scrutinize their work. It is also important for the developer to present not only the coding technique but also program itself. 5. Module Testing After the walk through, developers will again check the software in terms of individual modules. Each module will be tested extensively for possible errors. 6. Integration Testing Once the module has been tested, it is time to test them as being integrated to other modules. 7. System Testing After the integration, the whole program will again be tested. Case studies will again be applied with integrated software. Testing by Users Once the developers have finished their own testing with the help of other professional developers, the software is ready for release to the public or to the intended users. The stages usually followed are: Alpha Testing Developers usually choose the users who will try out the program. For the general public, it is often tested on known users or even technology bloggers who can honestly give their opinion of the software. It is also the time where developers try to create scenarios for their software such as: Recovery

Page 73

TIME TABLE GENERATION FOR COLLEGE

74

Developers will try recovering the software or the program in case it crashes. Security Like all software, developers have to test the program for possible hacks and virus infections.

Performance Use it extensively by getting more than one users to exhaust all possible options and see if the software will hold up to expectations.

Beta Testing This type of testing is more open to the public. Developers or software companies can accept users sometimes by invitation or openly accepting users. Beta testing will no longer be limited to the data set by developers; instead it will now be tested in a real environment where there is a bigger possibility of hacks, lack of performance or bugs. The main reason the software is given to the public for testing is to open it for possible hacks. If something wrong is found, developers can just go back to the software easily.

Page 74

TIME TABLE GENERATION FOR COLLEGE

75

RESULTS

SCREENS Student registration form

Page 75

TIME TABLE GENERATION FOR COLLEGE

76

Frmhome:

FrmAboutUs:

Page 76

TIME TABLE GENERATION FOR COLLEGE

77

FrmLogin:

Admin:

Page 77

TIME TABLE GENERATION FOR COLLEGE

78

Frmadminhome:

FrmStaffRegistation:

FrmstaffChoice:

Page 78

TIME TABLE GENERATION FOR COLLEGE

79

FrmProgramme:

Frmstafftimetable

Page 79

TIME TABLE GENERATION FOR COLLEGE

80

Frmstaffcalender:

Page 80

TIME TABLE GENERATION FOR COLLEGE

81

Students: Frmstudenthome:

Frmstudentsubjects:

Frmstudenttimetable:

Page 81

TIME TABLE GENERATION FOR COLLEGE

82

Frmstudentcalender:

Frmstudentresults:

Page 82

TIME TABLE GENERATION FOR COLLEGE

83

Frmstudentupdate:

Page 83

TIME TABLE GENERATION FOR COLLEGE

84

APPENDIX-A

Page 84

TIME TABLE GENERATION FOR COLLEGE

85

Tables:
TblSubjects:

TblStudentSubjects:

TblStudents:

TblStudentQueries:

Page 85

TIME TABLE GENERATION FOR COLLEGE

86

TblRoles:

TblStaffDetails:

TblProgramme:

TblNotice:

TblLoginAccountDetails:

TblFinalTimeTable;

Page 86

TIME TABLE GENERATION FOR COLLEGE

87

TblAdminLogin:

Coding
TimetableGenarationSystem_Registration Form Source Code: <%@PageLanguage="C#"MasterPageFile="~/Admin/AdminMaster.master" AutoEventWireup="true"CodeFile="frmstudentregistration.aspx.cs" Inherits="Admin_frmstudentregistration" Title="Untitled Page" %> <%@RegisterTagPrefix="cc1"Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <style type="text/css"> .style3 { font-size: medium; color: #CC0066; font-weight: bold; } .style4 { color: #0099CC; font-weight: bold; text-align: right; } .style5

Page 87

TIME TABLE GENERATION FOR COLLEGE

88

{ color: #0099CC; text-align: right; } .style6 { color: #0099CC; text-align: right; width: 209px; } .style7 { color: #0099CC; font-weight: bold; text-align: right; width: 209px; } .style8 { width: 209px; } </style> </asp:Content> <asp:Content Runat="Server"> <asp:Panel ID="Panel1" runat="server" Height="502px"> <div style="border: thin groove #008080; height: 293px; background-color: #C0C0C0;"> <table class="style1"> <caption class="style3"> STUDENT REGISTRATION</caption> ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"

Page 88

TIME TABLE GENERATION FOR COLLEGE

89

<tr> <td class="style4"> FIRST NAME</td> <td> <asp:TextBox ID="txtfname" runat="server" Width="200px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtfname" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="style4"> LAST NAME</td> <td> <asp:TextBox ID="txtlname" runat="server" Width="200px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtlname" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="style5" valign="top"> <b>ADDRESS</b></td> <td> <asp:TextBox ID="txtaddress" runat="server" TextMode="MultiLine" Width="200px"></asp:TextBox> </td>

Page 89

TIME TABLE GENERATION FOR COLLEGE

90

<td> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtaddress" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="style5"> <b>GENDER</b></td> <td> <asp:RadioButtonList ID="rblgender" runat="server" Font-Bold="True" ForeColor="#0099CC" RepeatDirection="Horizontal"> <asp:ListItem>Male</asp:ListItem> <asp:ListItem>Female</asp:ListItem> </asp:RadioButtonList> </td> <td> &nbsp;</td> </tr> <tr> <td class="style5"> <b>DATE OF BIRTH</b> </td> <td> <asp:TextBox ID="txtdob" runat="server" Width="200px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtdob" ErrorMessage="(*)"></asp:RequiredFieldValidator>

Page 90

TIME TABLE GENERATION FOR COLLEGE

91

</td> </tr> <tr> <td class="style5"> <b>LOCATION</b></td> <td> <asp:TextBox ID="txtlocation" runat="server" Width="200px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtlocation" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="style5"> <b>PHONE</b></td> <td> <asp:TextBox ID="txtphone" runat="server" Width="200px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="txtphone" Display="Dynamic" ErrorMessage="(*)"></asp:RequiredFieldValidator> <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtphone" Display="Dynamic" ErrorMessage="No Only" Operator="DataTypeCheck" Type="Integer"></asp:CompareValidator> </td> </tr> <tr> <td class="style5">

Page 91

TIME TABLE GENERATION FOR COLLEGE

92

<b>MAIL ID</b></td> <td> <asp:TextBox ID="txtmail" runat="server" Width="200px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ControlToValidate="txtmail" Display="Dynamic" ErrorMessage="(*)"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtmail" Display="Dynamic" ErrorMessage="Not Valid" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+ ([-.]\w+)*"></asp:RegularExpressionValidator> </td> </tr> <tr> <td class="style5"> </tr> </table> </div> <div style="height: 275px"> <table class="style1" style="border: thin groove #00FFFF"> <caption class="style3"> LOGIN DETAILS</caption> <tr> <td class="style6"> <b>USER NAME</b></td> <td> <asp:TextBox ID="txtuname" runat="server" Width="200px"></asp:TextBox>

Page 92

TIME TABLE GENERATION FOR COLLEGE

93

</td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ControlToValidate="txtuname" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="style6"> <b>PASSWORD</b></td> <td> <asp:TextBox ID="txtpwd" runat="server" TextMode="Password" Width="200px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" ControlToValidate="txtpwd" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="style7"> CONFIRM PASSWORD</td> <td> <asp:TextBox ID="txtconfirm" runat="server" TextMode="Password" Width="200px"></asp:TextBox> </td> <td> <asp:CompareValidator ID="CompareValidator2" runat="server" ControlToCompare="txtpwd" ControlToValidate="txtconfirm" Display="Dynamic"

Page 93

TIME TABLE GENERATION FOR COLLEGE

94

ErrorMessage="Not Match"></asp:CompareValidator> <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" ControlToValidate="txtconfirm" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="style7"> SECURITY QUESTION</td> <td> <asp:DropDownList ID="ddlsecuirity" runat="server" Height="16px" Width="200px"> <asp:ListItem>-Security Question-</asp:ListItem> <asp:ListItem>First Mail Id?</asp:ListItem> <asp:ListItem>Father&#39;s Name</asp:ListItem> <asp:ListItem>First Scool</asp:ListItem> </asp:DropDownList> </td> <td> &nbsp;</td> </tr> <tr> <td class="style7" valign="top"> ANSWER</td> <td> <asp:TextBox ID="txtanswer" runat="server" TextMode="MultiLine" Width="200px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server"

Page 94

TIME TABLE GENERATION FOR COLLEGE

95

ControlToValidate="txtanswer" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td class="style8"> &nbsp;</td> <td valign="top"> &nbsp;<asp:Button ID="btnsubmit" runat="server" Font-Bold="True" ForeColor="#006666" Text="SUBMIT" onclick="btnsubmit_Click" /> &nbsp;&nbsp;&nbsp; <asp:Button ID="btncancel" runat="server" Font-Bold="True" ForeColor="#006666" Text="CANCEL" CausesValidation="False" onclick="btncancel_Click" /> </td> <td> &nbsp;</td> </tr> </table> </div> </div> </asp:Content> TimetableGenarationSystem_Login Form Source Code: <%@Page Language="C#" MasterPageFile="~/GeneralPages/GeneralMAster.master" Inherits="GeneralPages_frmlogin" AutoEventWireup="true"CodeFile="frmlogin.aspx.cs" Title="Untitled Page" %> <asp:Content Runat="Server"> ID="Content1" ContentPlaceHolderID="ContentPlaceHolder2"

Page 95

TIME TABLE GENERATION FOR COLLEGE

96

<div style="border: thin groove #00FF00; height: 236px; visibility: collapse; overflow: auto; color: #996633;"> <b>PASSWORD TIP&#39;S<br /> &nbsp;</b><span style="color: #666633">1) Create Your Password Strong.<br /> </span></div> </asp:Content> <asp:Content Runat="Server"> <b>LOGIN<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ; </b> <span style="color: #669999">Welecome To </span> <div> <table style="width: 100%"> <caption style="font-size: medium; color: #808080"> <b>LOGIN HERE</b></caption> <tr> <td style="text-align: right"> SELECT ROLE</td> <td> <asp:DropDownList ID="ddlrole" runat="server" Height="16px" Width="165px"> <asp:ListItem>Choose Role</asp:ListItem> </asp:DropDownList> </td> <td> &nbsp;</td> </tr> <td style="text-align: right"> ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"

Page 96

TIME TABLE GENERATION FOR COLLEGE

97

USER NAME</td> <td> <asp:TextBox ID="txtuname" runat="server" Width="164px"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtuname" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td style="text-align: right"> PASSWORD</td> <td> <asp:TextBox ID="txtpwd" runat="server" Width="166px" TextMode="Password"></asp:TextBox> </td> <td> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtpwd" ErrorMessage="(*)"></asp:RequiredFieldValidator> </td> </tr> <tr> <td style="text-align: right"> &nbsp;</td> <td> <asp:CheckBox ID="chkremember" runat="server" Font-Bold="True" Text="Stay Sign In" /> </td>

Page 97

TIME TABLE GENERATION FOR COLLEGE

98

<td> &nbsp;</td> </tr> </table> </div> </asp:Panel> </asp:Content> TimetableGenarationSystem_ Login Procedure: ForStaff: string _sql = "Select UserName From TblLoginAccountDetails Where UserName='" + _uname + "' and Password='" + _pwd + "'and RoleId=110"; ForAdmin: string _sql = "Select UserName From TblAdminLogin Where UserName='" + _uname + "' and password='" + _pwd + "'"; ForStudent: string _sql = "Select UserName From TblLoginAccountDetails Where UserName='" + _uname + "' and Password='" + _pwd + "' And RoleId=120"; TimetableGenarationSystem_Registration Business logic: using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; </div>

Page 98

TIME TABLE GENERATION FOR COLLEGE

99

using System.Data.SqlClient; /// <summary> /// Summary decription for ClsStudentRegistration /// </summary> public class ClsStudentRegistration { public ClsStudentRegistration() { // // TODO: Add constructor logic here // } public bool StudentRegistration(string _uname,string _pwd,string _que,string _ans,string _fname,string _lname,string _address,string _gender,string _location,string _phone,string _mailid,DateTime _dob) { string _sql = "Sp_StudentRegistration"; SqlParameter[] Param = new SqlParameter[12]; Param[0] = new SqlParameter("@uname", SqlDbType.NVarChar); Param[0].Value = _uname; Param[1] = new SqlParameter("@pwd", SqlDbType.NVarChar); Param[1].Value = _pwd; Param[2] = new SqlParameter("@que", SqlDbType.VarChar, 200); Param[2].Value = _que; Param[3] = new SqlParameter("@ans", SqlDbType.NVarChar); Param[3].Value = _ans; Param[4] = new SqlParameter("@fname", SqlDbType.VarChar, 200); Param[4].Value = _fname; Param[5] = new SqlParameter("@lname", SqlDbType.VarChar, 200); Param[5].Value = _lname; Param[6] = new SqlParameter("@address", SqlDbType.NVarChar);

Page 99

TIME TABLE GENERATION FOR COLLEGE

100

Param[6].Value = _address; Param[7] = new SqlParameter("@gender", SqlDbType.Char, 6); Param[7].Value = _gender; Param[8] = new SqlParameter("@location", SqlDbType.VarChar, 200); Param[8].Value = _location; Param[9] = new SqlParameter("@phone", SqlDbType.VarChar, 20); Param[9].Value = _phone; Param[10] = new SqlParameter("@mailid", SqlDbType.VarChar, 50); Param[10].Value = _mailid; Param[11] = new SqlParameter("@dob", SqlDbType.DateTime); Param[11].Value = _dob; DataHelper.ExecuteProcedure(_sql, Param); if (DataHelper.Records > 0) return true; else return false; }

Page 100

TIME TABLE GENERATION FOR COLLEGE

101

BIBLIOGRAPHY

Page 101

TIME TABLE GENERATION FOR COLLEGE

102

BIBLIOGRAPHY
FOR .NET INSTALLATION www.support.mircosoft.com FOR DEPLOYMENT AND PACKING ON SERVER www.developer.com www.15seconds.com FOR SQL www.msdn.microsoft.com FOR ASP.NET www.msdn.microsoft.com/net/quickstart/aspplus/default.com www.asp.net www.fmexpense.com/quickstart/aspplus/default.com www.asptoday.com www.aspfree.com www.4guysfromrolla.com/index.aspx

System Analysis and Design Senn

Database System Design Elmasree Korth

Software Engineering Concepts Robert Pressman

Page 102

TIME TABLE GENERATION FOR COLLEGE

103

Page 103

You might also like