Top Banner

of 103

For College Doc

Apr 05, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/31/2019 For College Doc

    1/103

  • 7/31/2019 For College Doc

    2/103

    2TIME 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.

    Page2

  • 7/31/2019 For College Doc

    3/103

    3TIME 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 Definition

    NET Network Enable Technology

    ASP.NET Active server Page.netIIS Internet Information Service

    UDL Universal Data Locator

    CLR Common Language Runtime

    CLI Common Language Infrastructure

    BCL Base Class Library

    Web-based Refers to one of the units of the whole

    team that specializes in a certain aspect of

    the project.

    HTTP Its a base protocol

    Web Server Its a software component, which will

    receive request from HTTP client, process

    on it and gives result to the client

    Page3

  • 7/31/2019 For College Doc

    4/103

    4TIME TABLE GENERATION FOR COLLEGE

    SYSTEM ANALYSIS

    Page4

  • 7/31/2019 For College Doc

    5/103

    5TIME 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

    Page5

  • 7/31/2019 For College Doc

    6/103

    6TIME 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.

    Page6

  • 7/31/2019 For College Doc

    7/103

    7TIME 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 beinformed.

    2.4.2 Non-Functional Requirements

    3 Secure access of confidential data (users details). SSL can be used.

    4 24 X 7 availability

    5 Better component design to get better performance at peak time

    Flexible service based architecture will be highly desirable for future extension

    2.4.3 Performance Requirements

    2.4.4 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.

    Page7

  • 7/31/2019 For College Doc

    8/103

    8TIME 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:

    Page8

  • 7/31/2019 For College Doc

    9/103

    9TIME 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-it-

    twice 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

    Page9

  • 7/31/2019 For College Doc

    10/103

    10TIME TABLE GENERATION FOR COLLEGE

    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.

    2.4.6 Project Development Architecture

    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

    Page10

    http://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspx
  • 7/31/2019 For College Doc

    11/103

    11TIME TABLE GENERATION FOR COLLEGE

    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. Thepresentation 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.

    Page11

    http://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspx
  • 7/31/2019 For College Doc

    12/103

    12TIME TABLE GENERATION FOR COLLEGE

    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:-

    Page12

    http://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspxhttp://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspx
  • 7/31/2019 For College Doc

    13/103

    13TIME TABLE GENERATION FOR COLLEGE

    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

    Page13

  • 7/31/2019 For College Doc

    14/103

    14TIME TABLE GENERATION FOR COLLEGE

    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:

    Itis 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

    Page14

    http://www.answers.com/topic/cost-benefit-analysishttp://www.answers.com/topic/cost-benefit-analysis
  • 7/31/2019 For College Doc

    15/103

    15TIME TABLE GENERATION FOR COLLEGE

    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

    Page15

  • 7/31/2019 For College Doc

    16/103

  • 7/31/2019 For College Doc

    17/103

    17TIME TABLE GENERATION FOR COLLEGE

    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:

    Page17

  • 7/31/2019 For College Doc

    18/103

    18TIME TABLE GENERATION FOR COLLEGE

    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++.

    Page18

  • 7/31/2019 For College Doc

    19/103

    19TIME TABLE GENERATION FOR COLLEGE

    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.

    Page19

  • 7/31/2019 For College Doc

    20/103

    20TIME TABLE GENERATION FOR COLLEGE

    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.

    Page20

  • 7/31/2019 For College Doc

    21/103

    21TIME TABLE GENERATION FOR COLLEGE

    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:

    Page21

  • 7/31/2019 For College Doc

    22/103

    22TIME TABLE GENERATION FOR COLLEGE

    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 sidescripting 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:

    Page22

    http://www.programmersheaven.com/article/102935-What+is+ASP.NET%3A%3A%3A%3A+Introduction/info.aspxhttp://www.programmersheaven.com/article/102935-What+is+ASP.NET%3A%3A%3A%3A+Introduction/info.aspxhttp://www.programmersheaven.com/article/102935-What+is+ASP.NET%3A%3A%3A%3A+Introduction/info.aspxhttp://www.programmersheaven.com/article/102935-What+is+ASP.NET%3A%3A%3A%3A+Introduction/info.aspxhttp://www.programmersheaven.com/article/102935-What+is+ASP.NET%3A%3A%3A%3A+Introduction/info.aspxhttp://www.programmersheaven.com/article/102935-What+is+ASP.NET%3A%3A%3A%3A+Introduction/info.aspxhttp://www.programmersheaven.com/article/102935-What+is+ASP.NET%3A%3A%3A%3A+Introduction/info.aspx
  • 7/31/2019 For College Doc

    23/103

    23TIME TABLE GENERATION FOR COLLEGE

    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.

    Page23

  • 7/31/2019 For College Doc

    24/103

    24TIME TABLE GENERATION FOR COLLEGE

    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:

    Page24

  • 7/31/2019 For College Doc

    25/103

    25TIME TABLE GENERATION FOR COLLEGE

    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:

    Page25

  • 7/31/2019 For College Doc

    26/103

    26TIME TABLE GENERATION FOR COLLEGE

    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 thisDataSet 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

    Page26

  • 7/31/2019 For College Doc

    27/103

    27TIME TABLE GENERATION FOR COLLEGE

    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.

    Page27

  • 7/31/2019 For College Doc

    28/103

    28TIME TABLE GENERATION FOR COLLEGE

    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.

    Page28

  • 7/31/2019 For College Doc

    29/103

    29TIME TABLE GENERATION FOR COLLEGE

    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.

    Page29

  • 7/31/2019 For College Doc

    30/103

    30TIME TABLE GENERATION FOR COLLEGE

    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

    Page30

  • 7/31/2019 For College Doc

    31/103

    31TIME TABLE GENERATION FOR COLLEGE

    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.

    Page31

  • 7/31/2019 For College Doc

    32/103

    32TIME TABLE GENERATION FOR COLLEGE

    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

    Page32

  • 7/31/2019 For College Doc

    33/103

  • 7/31/2019 For College Doc

    34/103

    34TIME TABLE GENERATION FOR COLLEGE

    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.2Hardware Environment

    Processor: Intel Pentium or More

    RAM: 512 MB Ram

    Hard Disk: PC with 20GB

    Page34

  • 7/31/2019 For College Doc

    35/103

    35TIME TABLE GENERATION FOR COLLEGE

    SYSTEM DESIGN

    Page35

  • 7/31/2019 For College Doc

    36/103

    36TIME TABLE GENERATION FOR COLLEGE

    2 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

    Page36

  • 7/31/2019 For College Doc

    37/103

    37TIME TABLE GENERATION FOR COLLEGE

    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 Data dictionary documentation

    2 The data dictionary component of a DBMS

    3 Data dictionary middleware

    4 See also

    5 References

    6 External links

    Data dictionary documentation

    Page37

  • 7/31/2019 For College Doc

    38/103

    38TIME TABLE GENERATION FOR COLLEGE

    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 standardsfor data dictionary functions are a relatively recent development.

    detailed descriptions of tables and fields

    indexing information

    Page38

  • 7/31/2019 For College Doc

    39/103

    39TIME TABLE GENERATION FOR COLLEGE

    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

    Page39

  • 7/31/2019 For College Doc

    40/103

    40TIME TABLE GENERATION FOR COLLEGE

    3.3 Process Models

    Page40

  • 7/31/2019 For College Doc

    41/103

    41TIME TABLE GENERATION FOR COLLEGE

    3.3.1 Context Analysis

    Time TableGeneration System

    For A College

    AdministratorAuthentication

    General Users

    Registration

    Lecturer 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.

    Page41

  • 7/31/2019 For College Doc

    42/103

    42TIME TABLE GENERATION FOR COLLEGE

    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?

    Page42

  • 7/31/2019 For College Doc

    43/103

    43TIME TABLE GENERATION FOR COLLEGE

    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

    Page43

  • 7/31/2019 For College Doc

    44/103

    44TIME TABLE GENERATION FOR COLLEGE

    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:

    Page44

  • 7/31/2019 For College Doc

    45/103

    45TIME TABLE GENERATION FOR COLLEGE

    System

    Page45

  • 7/31/2019 For College Doc

    46/103

    46TIME TABLE GENERATION FOR COLLEGE

    Staff Use Case Diagram:

    System

    Page46

  • 7/31/2019 For College Doc

    47/103

  • 7/31/2019 For College Doc

    48/103

    48TIME TABLE GENERATION FOR COLLEGE

    System

    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

    Page48

  • 7/31/2019 For College Doc

    49/103

    49TIME TABLE GENERATION FOR COLLEGE

    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

    Page49

  • 7/31/2019 For College Doc

    50/103

    50TIME TABLE GENERATION FOR COLLEGE

    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

    Open Login

    form

    Enter UserName andPassword

    Check User

    Verify Data

    TblLodinAccountD

    etails

    User HomePage

    Yes Yes

    No

    Admin Activities DFD

    Page50

  • 7/31/2019 For College Doc

    51/103

    51TIME TABLE GENERATION FOR COLLEGE

    1st Level

    1.0.4

    AddEvents

    Open Form()

    1.0.0

    Add Course

    1.0.2

    Enter LoginDetails

    1.0.1

    Validates

    Data

    Add Subjects

    1.0.3

    TblCourseCode

    TblSubject

    TblEvents

    Log out

    TblAdminLogin

    Page51

  • 7/31/2019 For College Doc

    52/103

  • 7/31/2019 For College Doc

    53/103

    53TIME TABLE GENERATION FOR COLLEGE

    Select Like

    1.0.2.0

    UpdateResult

    1.0.2.1

    Logout

    TblStudentSubjects

    TblStaffLike

    Students:

    1st Level

    Open Site()

    1.0.0

    Enter Login

    Detais1.0.1

    Verification Validataion

    TblLoginAccount

    Details

    Select Subjects

    1.0.2

    View Events

    1.0.3

    View Results

    1.0.4

    TblSubjects

    Log out

    TblEvents

    TblStudentSu

    bject

    Page53

  • 7/31/2019 For College Doc

    54/103

    54TIME TABLE GENERATION FOR COLLEGE

    2nd Level

    Select Subject

    2.0.5.0

    Submit Queries

    2.0.5.2

    View Results

    2.0.5.1

    Validates

    Data

    Log out

    TblStudentSubject TblStudentQueries

    5.4

    1 Sequence Diagram

    Page54

  • 7/31/2019 For College Doc

    55/103

    55TIME TABLE GENERATION FOR COLLEGE

    LoginSequenceDiagram:

    User frmlogin.aspx BAL ClsStudentLogin.cs DAL DataHelper.cs Database

    1 : Enter Credentials()

    2 : CheckStudent()

    3 : CheckUser()

    4 : ExecuteReader()

    5 : Return Result()

    6 : ShowMessage()

    Admin Add Notice Sequence Diagram:

    Page55

  • 7/31/2019 For College Doc

    56/103

    56TIME TABLE GENERATION FOR COLLEGE

    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()

    Page56

  • 7/31/2019 For College Doc

    57/103

    57TIME TABLE GENERATION FOR COLLEGE

    AdminUpdateDeptSequenceDiagram:

    Admin frmdepartment.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:

    Page57

  • 7/31/2019 For College Doc

    58/103

    58TIME TABLE GENERATION FOR COLLEGE

    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()

    Page58

  • 7/31/2019 For College Doc

    59/103

    59TIME TABLE GENERATION FOR COLLEGE

    StaffUpdateProfileSequenceDiagram:

    Staff frmstaffprofile.aspx BAL ClsStaffProf ile.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:

    Page59

  • 7/31/2019 For College Doc

    60/103

    60TIME TABLE GENERATION FOR COLLEGE

    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:

    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()

    Page60

  • 7/31/2019 For College Doc

    61/103

    61TIME TABLE GENERATION FOR COLLEGE

    User

    frmlogin.aspx

    BAL ClsStudentLogin.csDAL DataHelper.cs

    Database

    1 : Enter Credentials()

    2 : CheckStudent()

    3 : CheckUser()

    4 : ExecuteReader()5 : Return Result()

    6 : Show Message()

    Admin Add Notice Collaboration Diagram:

    Admin

    frmnotice.aspx

    BAL ClsNotices.csDAL DataHelper.cs

    Database

    1 : Enter Date and Notifiction()

    2 : PostNotice()

    3 : ExecuteProcedure()

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

    6 : ShowMessage()

    Page61

  • 7/31/2019 For College Doc

    62/103

  • 7/31/2019 For College Doc

    63/103

    63TIME TABLE GENERATION FOR COLLEGE

    Staff

    frmstaffsubject.aspx

    BAL ClsStaffSubjects.csDALDataHelper.cs

    Database

    1: Select Subjects()

    2: AddLike()

    3: ExecuteProcedure()

    4: Execute StoredProcedure()5: ReturnResult()

    6: Dispaly Result()

    Page63

  • 7/31/2019 For College Doc

    64/103

    64TIME TABLE GENERATION FOR COLLEGE

    StaffUpdateProfileCollaborationDiagram:

    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 Ask Query Collaboration diagram:

    Page64

  • 7/31/2019 For College Doc

    65/103

    65TIME TABLE GENERATION FOR COLLEGE

    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 : ShowMessage()

    Student View Result Collaboration Diagram:

    Page65

  • 7/31/2019 For College Doc

    66/103

    66TIME TABLE GENERATION FOR COLLEGE

    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()

    Page66

  • 7/31/2019 For College Doc

    67/103

  • 7/31/2019 For College Doc

    68/103

    68TIME TABLE GENERATION FOR COLLEGE

    SYSTEM IMPLEMENTATION

    No. Of Modules

    Page68

  • 7/31/2019 For College Doc

    69/103

  • 7/31/2019 For College Doc

    70/103

    70TIME TABLE GENERATION FOR COLLEGE

    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.

    Page70

  • 7/31/2019 For College Doc

    71/103

    71TIME TABLE GENERATION FOR COLLEGE

    SYSTEM TESTING

    Page71

  • 7/31/2019 For College Doc

    72/103

    72TIME TABLE GENERATION FOR COLLEGE

    3 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

    Page72

  • 7/31/2019 For College Doc

    73/103

  • 7/31/2019 For College Doc

    74/103

    74TIME TABLE GENERATION FOR COLLEGE

    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.

    Page74

  • 7/31/2019 For College Doc

    75/103

  • 7/31/2019 For College Doc

    76/103

    76TIME TABLE GENERATION FOR COLLEGE

    Frmhome:

    FrmAboutUs:

    Page76

  • 7/31/2019 For College Doc

    77/103

    77TIME TABLE GENERATION FOR COLLEGE

    FrmLogin:

    Admin:

    Page77

  • 7/31/2019 For College Doc

    78/103

    78TIME TABLE GENERATION FOR COLLEGE

    Frmadminhome:

    FrmStaffRegistation:

    FrmstaffChoice:

    Page78

  • 7/31/2019 For College Doc

    79/103

    79TIME TABLE GENERATION FOR COLLEGE

    FrmProgramme:

    Frmstafftimetable

    Page79

  • 7/31/2019 For College Doc

    80/103

    80TIME TABLE GENERATION FOR COLLEGE

    Frmstaffcalender:

    Page80

  • 7/31/2019 For College Doc

    81/103

    81TIME TABLE GENERATION FOR COLLEGE

    Students:

    Frmstudenthome:

    Frmstudentsubjects:

    Frmstudenttimetable:

    Page81

  • 7/31/2019 For College Doc

    82/103

  • 7/31/2019 For College Doc

    83/103

    83TIME TABLE GENERATION FOR COLLEGE

    Frmstudentupdate:

    Page83

  • 7/31/2019 For College Doc

    84/103

    84TIME TABLE GENERATION FOR COLLEGE

    APPENDIX-A

    Page84

  • 7/31/2019 For College Doc

    85/103

  • 7/31/2019 For College Doc

    86/103

    86TIME TABLE GENERATION FOR COLLEGE

    TblRoles:

    TblStaffDetails:

    TblProgramme:

    TblNotice:

    TblLoginAccountDetails:

    TblFinalTimeTable;

    Page86

  • 7/31/2019 For College Doc

    87/103

    87TIME TABLE GENERATION FOR COLLEGE

    TblAdminLogin:

    Coding

    TimetableGenarationSystem_Registration Form Source Code:

    .style3

    {

    font-size: medium;

    color: #CC0066;

    font-weight:bold;

    }

    .style4

    { color: #0099CC;

    font-weight:bold;

    text-align: right;

    }

    .style5

    Page87

  • 7/31/2019 For College Doc

    88/103

    88TIME TABLE GENERATION FOR COLLEGE

    {

    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;

    }

    STUDENT REGISTRATION

    Page88

  • 7/31/2019 For College Doc

    89/103

    89TIME TABLE GENERATION FOR COLLEGE

    FIRST NAME

    LAST NAME

    ADDRESS

    Page89

  • 7/31/2019 For College Doc

    90/103

    90TIME TABLE GENERATION FOR COLLEGE

    GENDER

    Male

    Female

    DATE OF BIRTH

    Page90

  • 7/31/2019 For College Doc

    91/103

    91TIME TABLE GENERATION FOR COLLEGE

    LOCATION

    PHONE

    Page91

  • 7/31/2019 For College Doc

    92/103

    92TIME TABLE GENERATION FOR COLLEGE

    MAIL ID

    LOGIN DETAILS

    USER NAME

    Page92

  • 7/31/2019 For College Doc

    93/103

  • 7/31/2019 For College Doc

    94/103

    94TIME TABLE GENERATION FOR COLLEGE

    ErrorMessage="Not Match">

    SECURITY QUESTION

    -Security Question-

    First Mail Id?

    Father's Name

    First Scool

    ANSWER

  • 7/31/2019 For College Doc

    95/103

    95TIME TABLE GENERATION FOR COLLEGE

    ControlToValidate="txtanswer"

    ErrorMessage="(*)">

    TimetableGenarationSystem_Login Form Source Code:

    Page95

  • 7/31/2019 For College Doc

    96/103

    96TIME TABLE GENERATION FOR COLLEGE

    PASSWORD TIP'S

    1) Create Your Password Strong.

    LOGIN

    &nbsp

    ;

    Welecome To

    LOGIN HERE

    SELECT ROLE

    Choose Role

    Page96

  • 7/31/2019 For College Doc

    97/103

    97TIME TABLE GENERATION FOR COLLEGE

    USER NAME

    PASSWORD

    Page97

  • 7/31/2019 For College Doc

    98/103

  • 7/31/2019 For College Doc

    99/103

    99TIME TABLE GENERATION FOR COLLEGE

    using System.Data.SqlClient;

    ///

    /// Summary decription for ClsStudentRegistration

    ///

    publicclassClsStudentRegistration

    {

    public ClsStudentRegistration()

    {

    //

    // TODO: Add constructor logic here

    //

    }

    publicbool 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 = newSqlParameter[12];

    Param[0] = newSqlParameter("@uname", SqlDbType.NVarChar);

    Param[0].Value = _uname;

    Param[1] = newSqlParameter("@pwd", SqlDbType.NVarChar);

    Param[1].Value = _pwd;

    Param[2] = newSqlParameter("@que", SqlDbType.VarChar, 200);

    Param[2].Value = _que;

    Param[3] = newSqlParameter("@ans", SqlDbType.NVarChar);

    Param[3].Value = _ans;

    Param[4] = newSqlParameter("@fname", SqlDbType.VarChar, 200);

    Param[4].Value = _fname;

    Param[5] = newSqlParameter("@lname", SqlDbType.VarChar, 200);

    Param[5].Value = _lname;

    Param[6] = newSqlParameter("@address", SqlDbType.NVarChar);

    Page99

  • 7/31/2019 For College Doc

    100/103

    100TIME TABLE GENERATION FOR COLLEGE

    Param[6].Value = _address;

    Param[7] = newSqlParameter("@gender", SqlDbType.Char, 6);

    Param[7].Value = _gender;

    Param[8] = newSqlParameter("@location", SqlDbType.VarChar, 200);

    Param[8].Value = _location;

    Param[9] = newSqlParameter("@phone", SqlDbType.VarChar, 20);

    Param[9].Value = _phone;

    Param[10] = newSqlParameter("@mailid", SqlDbType.VarChar, 50);

    Param[10].Value = _mailid;

    Param[11] = newSqlParameter("@dob", SqlDbType.DateTime);

    Param[11].Value = _dob;

    DataHelper.ExecuteProcedure(_sql, Param);

    if(DataHelper.Records > 0)

    returntrue;

    else

    returnfalse;

    }

    Page100

  • 7/31/2019 For College Doc

    101/103

    101TIME TABLE GENERATION FOR COLLEGE

    BIBLIOGRAPHY

    Page101

  • 7/31/2019 For College Doc

    102/103

    102TIME TABLE GENERATION FOR COLLEGE

    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