53
Introduction Our Project is Automatic Paper Generation System which will enable college authorities to automatically Generate Question Papers out of existing Question Bank in the Database. The system will have capability to process different unique sets of papers very automatically.

Automatic Question Paper

Embed Size (px)

Citation preview

Page 1: Automatic Question Paper

Introduction

Our Project is Automatic Paper Generation System which will enable college authorities to automatically Generate Question Papers out of existing Question Bank in the Database.The system will have capability to process different unique sets of papers very automatically.

Page 2: Automatic Question Paper

CHAPTER 1

SYSTEM DEVELOPMENT

LIFE CYCLE

Page 3: Automatic Question Paper

1. System Development Life Cycle

The basic idea of software development life cycle (SDLC) is that there is a well

defined process by which an application is conceived, developed and implemented.

The phases in the SDLC provide a basis for the management and control because

they define segments of the flow of work, which can be identified for the managerial

purpose and specifies the documents or other deliveries to be produced in each

phase.

System Development revolves around a life cycle that begins with the recognition

of user needs. In order to develop good software, it has to go through different

phases. There are various phases of the System Development Life Cycle for the

project and different models for software development, which depict these phases.

We decided to use waterfall model, the oldest and the most widely used paradigm

for software engineering. The Various relevant stages of the System Life Cycle of

this Application Tool are depicted in the following flow diagram.

SYSTEM ANAYLSIS

SYSTEM DESIGN

CODINGSYSTEM TESTING

Page 4: Automatic Question Paper

Let us have a look on each of the above activities:

1. System Analysis

System Analysis is the process of diagnosing situations, done with a defiant aim,

with the boundaries of the system kept in mind to produce a report based on the

findings. Analysis is fact-finding techniques where problem definition, objective,

system requirement specifications, feasibility analysis and cost benefit analysis are

carried out. The requirement of both the system and the software are document

and reviewed with the user.

2. System Design

System Design is actually a multistep process that focuses on four distinct attributes of

a program: data structures, software architecture, interface representations, and

procedural (algorithmic) detail. System design is concerned with identifying the software

components (Functions, data streams, and data stores), specifying relationships among

components, specifying software structure, maintaining a record of design decisions

and providing a blueprint for the implementation phase.

SYSTEM

SYSTEM MAINTENANCE

Page 5: Automatic Question Paper

3. Coding

Coding step performs the translations of the design representations into an artificial

language resulting in instructions that can be executed by the computer. It thus involves

developing computer programs that meet the system specifications of design stage.

4. System Testing

System testing process focuses on the logical internals of the software, ensuring that all

statements have been tested on the functional externals, that is conducting tests using

various tests data to uncover errors that defined input will produce actual results that

agree with required results.

5. System Implementation

System Implementation is a process that includes all those activities that take place

to convert an old system to a new system. The new system may be totally new

system replacing the existing system or it may be major modification to the existing

system. Coding performs the translations of the design representations into an

artificial language resulting in instructions that can be executed by the computer. It

thus involves developing computer programs that meet the system design

specifications. System implementation involves the translation of the design

specifications into source code and debugging, documentation and unit testing of

the source code.

6. System Maintenance

Maintenance is modification of a software product after delivery to correct faults to

improve performance or to adopt the product to a new operating environment. Software

maintenance canot be avoided due to ware & tear caused by users. Some of the

reasons for maintaining the software are

1. Over a period of time, software original requirements may change.

Page 6: Automatic Question Paper

2. Errors undetected during software development may be found during user &

require correction.

3. With time new technologies are introduced such as hardware, operating system

etc. The software therefore must be modified to adapt new operating

environment.

Type of Software Maintenance

Corrective Maintenance: This type of maintenance is also called bug fixing that

may observed while the system is in use i.e correct reported errors.

Adaptive Maintenance: This type of maintenance is concern with the modification

required due to change in environment. (i.e external changes like use in different

hardware platform or use different O.S.

Perfective Maintenance: Perfective maintenance refers to enhancement to the

software product there by adding or support to new features or when user change

different functionalities of the system according to customer demands making the

product better, faster with more function or reports.

Preventive Maintenance: This type of maintenance is done to anticipate future

problems and to improve the maintainability to provide a better basis for future

enhancement or business changes.

Page 7: Automatic Question Paper

SYSTEM ANAYLSIS

1.1.1 Problem Definition

Our Project is Automatic Paper Generation System which will enable college

authorities to automatically Generate Question Papers out of existing Question Bank in

Page 8: Automatic Question Paper

the Database.

The system will have capability to process different unique sets of papers very

automatically., also the system will provide notifications regarding any file delete etc.

1.1.2 Proposed System

The Proposed system will have the following module:

Login Module: This module will enable users to login into the system and then

based on the type of user, grant the user appropriate type of functionality.

Basically the system will provide access to General Users(Faculty) and

Administrative Users(Exam Section)

Faculty Module: This module will alow teachers to create the questions in the

Question Bank. The Teachers can enter questions into the system alongwith the

chapters. The Teachers can set Topics/Chapter’s Weightage in the examination

and then can enter different questions in a topic and set the maximum marks for

that particular question.

Exam Generation Module: This module will enable examination section i.e.

admin to generate question apers frm the database that has been created by

faculty. The examiner needs to provide maximum marks associated with paper

of particular class and the system will automatically create the question paper

taking in consideration the weightage of each and every topic and accordingly

will select the questions without repeating any question.

Export Wizard Module: This module will enable the administrator to export the

generated question paper into PDF or Word Format.

1.1.3 Significance of Project

Page 9: Automatic Question Paper

These days information technology has become a way of life thus there was a

much need for automation of question paper setting process in colleges that’s why we

have chosen this project.

1.1.4 Advantages of the Proposed System

The various advantages of the proposed System are:

The Software will empower the College with a powerful tool to generate Question Papers in a very short span of time thus saving a lot of their precious time.

The Authorities have the flexibility to generate class tests, unit tests, terminal tests, and final tests.

The teachers can add / edit / delete the questions generated by this software as per their own requirements or parameters.

Questions are generated dynamically, so College Authorities have variety of questions and without any repetition.

Different Sets of Papers without Questions in Different Sequence Can be generated.

The Question Papers are stored in Database so any time old question paper can be extracted

1.1.5 REQUIREMENT ANALYSIS

Software requirement analysis is a software-engineering task that bridges the gap

between system level software allocation and software design. For Developing our

Travel Portal in-depth analysis was deon. The analysis was divided into the following

three Parts.

Problem Recognition

Evaluation and Synthesis

Specification & Review

Problem Recognition

The aim of the poroject was understood and through research was done on internet to

get a deep insight of how the proposed system will work, we went to different travel

related sites and understood their working. We recorded what all features will be

required when we build our website like for eg. We need to keep a database of

Page 10: Automatic Question Paper

destinations, Travel Agents and Hotels should be able to register and post their data

online etc. All these features were noted down so that they could be incorporated in our

application.

Evaluation and Synthesis

Problem evaluation and solution synthesis was the next major area of effort. It was in

this step that all externally observable data objects, evaluation of flow and content of

information was defined. It was decided in this phase that how our application will look

and works, what parameters it will take and what it will return.

Specification & Review

The main objective is to improve the quality of software that can be done by inspection

or walkthrough of formal technical reviews. The main objective is

To uncover errors in function, logfics or implementation.

Verify software under revies to meet requirement specification.

Ensure that software has been represented according to predefined

standards.

Achive software development in uniform manner

Make projexct more meaningfull.

1.1.6 FEASIBILITY STUDY

The feasibility study is carried out to test if the proposed system is worth being

implemented. Given unlimited and infinite time, all projects are feasible. Unfortunately

such resources and time are not possible in real life situations. Hence it becomes both

necessary and prudent to evaluate the feasibility of the project at the earliest possible

time in order to avoid unnecessarily wastage of time, effort and professional

Page 11: Automatic Question Paper

embarrassment over an ill conceived system. Feasibility study is a test of system

proposed regarding its work ability, impact on the organization ability to meet the user

needs and effective use of resources.

The main objective of feasibility study is to test the technical, operational and

economical feasibility of developing a computer system Application.

The following feasibility studies were carried out for the proposed system:

Economic Feasibility: An evaluation of development cost weighed against the

income of benefit derived from the developed system. Here the development cost

is evaluated by weighing it against the ultimate benefits derived from the new

system. The proposed system is economically feasible if the benefits obtained in

the long run compensate rather than overdo the cost incurred in designing and

implementing. In this case the benefits outweigh the cost that makes the system

economically feasible.

Technical Feasibility: A study of function performance and constraints that may

affect the ability to achieve the acceptable system. A system is technically

feasible, if it can be designed and implemented within the limitations of available

resources like funds, hardware, software etc. The considerations that are

normally associated with technical feasibility include development risk, resources

availability and technology. Management provides latest hardware and software

facilities for successful completion of the project.

The proposed system is technically feasible as the Technology we are using to

implement the Project (i.e. ASP.NET) is fully capable to implement our projects

requirement analysis that was performed in the analysis section.

Operational Feasibility: The Project is Operationally Feasilbe as it can be

implemented easily in the college computer Lab.

Page 12: Automatic Question Paper

Schedule Feasibility: “Evaluates the time taken in the development of the

project”. The system had schedule feasibility.

Page 13: Automatic Question Paper

SYSTEM DESIGN

Page 14: Automatic Question Paper

1.2.1 DESIGN CONCEPTS

The design of an information system produces the detail that state how a system will

meet the requirements identified during system analysis. System specialists often refer

to this stage as Logical Design, in contrast to the process of development program

software, which is referred to as Physical Design.

System Analysis begins process by identifying the reports and the other outputs the

system will produce. Then the specific on each are pin pointed. Usually, designers

sketch the form or display as they expect it to appear when the system is complete. This

may be done on a paper or computer display, using one of the automated system tools

available. The system design also describes the data to be input, calculated or stored.

Individual data items and calculation procedures are written in detail. The procedure

tells how to process the data and produce the output.

1.2.2 DESIGN OBJECTIVES

The following goals were kept in mind while designing the system:

To reduce the manual work required to be done in the existing system.

To avoid errors inherent in the manual working and hence make the outputs

consistent and correct.

To improve the management of permanent information of the Computer center by

keeping it in properly structured tables and to provide facilities to update this

information efficiently as possible.

To make the system completely menu-driven and hence user friendly, and hence

user friendly, this was necessary so that even non-programmers could use the

system efficiently.

Page 15: Automatic Question Paper

To make the system completely compatible i.e., it should fit in the total integrated

system.

To design the system in such a way that reduced future maintenance and

enhancement times and efforts.

To make the system reliable, understandable and cost effective.

1.2.3 DESIGN MODULE

Login Module: This module will enable users to login into the system and then

based on the type of user, grant the user appropriate type of functionality.

Basically the system will provide access to General Users(Faculty) and

Administrative Users(Exam Section)

Faculty Module: This module will alow teachers to create the questions in the

Question Bank. The Teachers can enter questions into the system alongwith the

chapters. The Teachers can set Topics/Chapter’s Weightage in the examination

and then can enter different questions in a topic and set the maximum marks for

that particular question.

Exam Generation Module: This module will enable examination section i.e.

admin to generate question apers frm the database that has been created by

faculty. The examiner needs to provide maximum marks associated with paper

of particular class and the system will automatically create the question paper

taking in consideration the weightage of each and every topic and accordingly

will select the questions without repeating any question.

Export Wizard Module: This module will enable the administrator to export the

generated question paper into PDF or Word Format.

SYSTEM DESIGN

Page 16: Automatic Question Paper

The design stage takes the final specification of the system from analysis stages and

finds the best way of filing them, given the technical environment and previous decision

on required level of automation.

The system design is carried out in two phases:

i) Architectural Design (High Level Design)

ii) Detailed Design (Low Level Design)

1.2.4 ARCHITECTURAL DESIGN

The high level Design maps the given system to logical data structure. Architectural

design involves identifying the software component, decoupling and decomposing the

system into processing modules and conceptual data structures and specifying the

interconnection among components. Good notation can clarify the interrelationship and

interactions if interest, while poor notation can complete and interfere with good design

practice. A data flow-oriented approach was used to design the project. This includes

Entity Relationship Diagram (ERD) and Data Flow Diagrams (DFD).

Figure 1

Page 17: Automatic Question Paper

Figure 2

1.2.4.1 Entity Relationship Diagram

One of the best design approaches is Entity Relationship Method. This design approach

is widely followed in designing projects normally known as “ Entity Relationship Diagram

(ERD)”.

ERD helps in capturing the business rules governing the data relationships of the

system and is a conventional aid for communicating with the end users in the

conceptual design phase. ERD consists of:

Entity – It is the term use to describe any object, place, person, concept, activity that

the enterprise recognizes in the area under investigation and wishes to collect and

store data. It is diagrammatically represented as boxes.

Attribute – They are the data elements that are used to describe the properties that

distinguish the entities.

Relationship – It is an association or connection between two or more entities. They

are diagrammatically represented as arrows.

Page 18: Automatic Question Paper

A Unary relationship is a relationship between instances of the same entity.

A Binary relationship is a relationship between two entities.

A N-ary relationship is a relationship among N entities. It is defined only when the

relationship does have a meaning without the participation of all the N entities.

Degree of Relationship – An important aspect of relationship between two or more

entities is the degree of relationship. The different relationships recognized among

various data stores in the database are:

One-to-One (1:1)

It is an association between two entities. For example, each student can have

only one Roll No.

One-to-Many (1:M)

It describes entities that may have one or more entities related to it. For

example, a father may have one or many children.

Many-to-Many (M:M)

It describes entities that may have relationships in both directions. This

relationship can be explained by considering items sold by Vendors. A vendor

can sell many items and many vendors can sell each item.

ERD representation of the project is given below. It follows Chen’s convention in which

entities are represented as rectangles and relationships as diamonds.

Page 19: Automatic Question Paper

Figure 3

Page 20: Automatic Question Paper

Figure 4

Entity Relationship Diagram

1.2.4.2 Context Analysis Diagram

Context Analysis Diagram (CAD) is the top-level data flow diagram, which depicts the

overview of the entire system. The major external entities, a single process and the

output data stores constitute the CAD. Though this diagram does not depict the system

in detail, it presents the overall inputs, process and the output of the entire system at a

very high level. The Context Analysis Diagram if the project is given ahead.

Page 21: Automatic Question Paper

Figure 5

Context LevelData Flow Diagram

1.2.4.3 Data Flow Diagrams

A Data Flow Diagram (DFD) is a graphical tool used to describe and analyze the

movement of data through a system – manual or automated including the processes,

stores of data and delays in the system. They are central tools and the basis from which

other components are developed. It depicts the transformation of data from input to

output through processes and the interaction between processes.

Page 22: Automatic Question Paper

Transformation of data from input to output through processes logically and

independent of physical components is called the DFD. The physical DFD shows the

actual implementation and movement of data between people, departments and

workstation.

DFD’s are an excellent mechanism of communicating with the customers during

requirement analysis and are widely used for representing external and top-level

internal design specification. In the Later situations, DFD’s are quite valuable for

establishing naming conventions and names of system components such as

subsystems, files and data links.

In a DFD there are four components:

1. Sources or Destinations of data such as human, entities that interact with

system, outside the system boundary, who form the source and the

recipient of information are depicted in the form of a closed rectangle.

2. Data flow is a packet of data. It identifies data flow. It is a pipeline through

which information flows. It is depicted in DFD as an arrow with the pointer

pointing in the direction of flow. This connecting symbol connects an

entity, process and data stores. This arrow mark also specifies the sender

and the receiver.

3. Process depicts procedure, function or module that transform input data

into output data. It is represented as a circle or a bubble with the procedure

name and a unique number inside the circle.

Page 23: Automatic Question Paper

4. Data stores are the physical areas in the computer’s hard disk where a

group of related data is stored in the form of files. They are depicted as an

open-ended rectangle. The Data store is used either for storing data into

the files or for reference purpose.

Figure 6

Page 24: Automatic Question Paper

Figure 7

1.2.5 DETAILED DESIGN

The Low Level Design maps the logical model of the system to a physical database

design. Tables created for the system Entities and Attributes were mapped into Physical

tables. The name of the entity is taken as the table name.

During detailed design phase, the database if any and programming modules are

designed and detailed user procedures are documented. The interfaces between the

System users and computers are also defined.

Page 25: Automatic Question Paper

1.2.5.1 APPLICATION DESIGN

After the detailed problem definition and system analysis of the problem, it was thought

of designing web based Computer designing. Simplicity is hard to design. It is difficult to

design something that is technically sophisticated but appears simple to use. Any

software product must be efficient, fast and functional but more important it must be

user friendly, easy to learn and use. For designing good interface we should use the

following principles.

i) Clarity and consistency

ii) Visual feedback.

iii) Understanding the people.

iv) Good response.

Page 26: Automatic Question Paper

WORKING ENVIRONMENT

2.1 Technical Specifications

Page 27: Automatic Question Paper

HARDWARE ENVIRONMENT

PC with the following Configuration

Processor - Pentium-IV 3.0 GHz

RAM - 256 DDR 2 RAM

HARD DISK - 80 GB

SOFTWARE ENVIRONMENT

Operating System - Microsoft Windows XP.

Backend - Microsoft Access

Frontend - ASP.NET

Case Tool - Say Microsoft Word 2003, Ms Front Page

Page 28: Automatic Question Paper

Technology Used: ASP.NET

We have used the Latest Technology from Microsoft: The ASP.NET to

develop our Application.

What are Web Applications?

These applications provide content from a server to client machines

over the Internet. Users view the Web application through a Web browser.

How Web Applications Work

Web applications use a client/server architecture. The Web application

resides on a server and responds to requests from multiple clients over the

Internet, as shown in Figure 1-1.

Page 29: Automatic Question Paper

Figure 1-1. ASP.NET Web application architecture

On the client side, the Web application is hosted by a browser. The

application’s user interface takes the form of Hypertext Markup Language

(HTML) pages that are interpreted and displayed by the client’s browser.

On the server side, the Web application runs under Microsoft Internet

Information Services (IIS). IIS manages the application, passes requests

from clients to the application, and returns the application’s responses to the

client. These requests and responses are passed across the Internet using

Hypertext Transport Protocol (HTTP). A protocol is a set of rules that describe

how two or more items communicate over a medium, such as the Internet.

Figure 1-2 shows how the client and server interact over the Internet.

Page 30: Automatic Question Paper

Figure 1-2. Client/server interaction in a Web application

The Web application composes responses to requests from resources found

on the server. These resources include the executable code running on the

server (what we traditionally think of as the “application” in Microsoft

Windows programming), Web forms, HTML pages, image files, and other

media that make up the content of the application.

Web applications are much like traditional Web sites, except that the content

presented to the user is actually composed dynamically by executable, rather

than being served from a static page stored on the server. Figure 1-3 shows

how a Web application composes the HTML returned to a user.

Page 31: Automatic Question Paper

Figure 1-3. An ASP.NET Web application response from server resources

The executable portion of the Web application enables you to do many things

that you can’t do with a static Web site, such as:

Collect information from the user and store that information on the server

Perform tasks for the user such as placing an order for a product, performing

complex calculations, or retrieving information from a database

Identify a specific user and present an interface that is customized for that

user

Present content that is highly volatile, such as inventory, pending order, and

shipment information

This is only a partial list. Basically, you can do anything with a Web

application that you can imagine doing with any client/server application.

What makes a Web application special is that the client/server interaction

takes place over the Internet.

What ASP.NET Provides

ASP.NET is the platform that you use to create Web applications and Web

services that run under IIS. ASP.NET is not the only way to create a Web

application. Other technologies, notably the CGI, also enable you to create

Web applications. What makes ASP.NET special is how tightly it is integrated

with the Microsoft server, programming, data access, and security tools.

ASP.NET provides a high level of consistency across Web application

development. In a way, this consistency is similar to the level of consistency

that Microsoft Office brought to desktop applications. ASP.NET is part of

the .NET Framework and is made up of several components.

Page 32: Automatic Question Paper

Visual Studio .NET Web development tools.

These include visual tools for designing Web pages and application

templates, project management, and deployment tools for Web applications.

The System.Web namespaces.

These are part of the .NET Framework and include the programming classes

that deal with Web-specific items such as HTTP requests and responses,

browsers, and e-mail.

Server and HTML controls.

These are the user-interface components that you use to gather information

from and provide responses to users.

In addition to the preceding components, ASP.NET also uses the following,

more general programming components and Windows tools. These items

aren’t part of ASP.NET. However, they are key to ASP.NET programming.

Microsoft Internet Information Services (IIS).

As mentioned in the previous section, IIS hosts Web applications on the

Windows server.

The Microsoft Visual Basic .NET, Microsoft Visual C#, and Microsoft Visual

J# programming languages.

These three languages have integrated support in Visual Studio .NET for

creating Web applications.

The .NET Framework.

Page 33: Automatic Question Paper

This is the complete set of Windows programming classes, including the

ASP.NET classes as well as classes for other programming tasks such as

file access, data type conversion, array and string manipulation, and so on.

Microsoft ADO.NET database classes and tools.

These components provide access to Microsoft SQL Server and ODBC

databases. Data access is often a key component of Web applications.

Microsoft Application Center Test (ACT).

This Visual Studio .NET component provides an automated way to stress-

test Web applications.

ASP.NET is the most complete platform for developing Web applications that

run under IIS. However, it is important to remember that ASP.NET is not

platform-independent. Because it is hosted under IIS, ASP.NET must run on

Windows servers. To create Web applications that run on non-Windows/IIS

servers, such as Linux/Apache, you must use other tools—generally CGI.

Advantages of ASP.NET

ASP.NET has many advantages over other platforms when it comes to

creating Web applications. Probably the most significant advantage is its

integration with the Windows server and programming tools. Web

applications created with ASP.NET are easier to create, debug, and deploy

because those tasks can all be performed within a single development

environment—Visual Studio .NET.

ASP.NET delivers the following other advantages to Web application

developers:

Executable portions of a Web application compiled so they execute more

quickly than interpreted scripts

Page 34: Automatic Question Paper

On-the-fly updates of deployed Web applications without restarting the server

Access to the .NET Framework, which simplifies many aspects of Windows

programming

Use of the widely known Visual Basic programming language, which has

been enhanced to fully support object-oriented programming

Introduction of the new Visual C# programming language, which provides a

type-safe, object-oriented version of the C programming language

Automatic state management for controls on a Web page (called server

controls) so that they behave much more like Windows controls

The ability to create new, customized server controls from existing controls

Built-in security through the Windows server or through other

authentication/authorization methods

Integration with ADO.NET to provide database access and database design

tools from within Visual Studio .NET

Full support for Extensible Markup Language (XML), cascading style sheets

(CSS), and other new and established Web standards

Built-in features for caching frequently requested Web pages on the server,

localizing content for specific languages and cultures, and detecting browser

capabilities

Parts of a Web Application

A Web application consists of three parts: content, program logic, and Web

configuration information. Table 1-2 summarizes these parts and gives examples of

where they reside in an ASP.NET Web application.

Page 35: Automatic Question Paper

Table 1-2. Parts of an ASP.NET Web Application

Part Types of files Description

ContentWeb forms, HTML, images, audio, video, other data

Content files determine the appearance of a Web application. They can contain static text and images as well as elements that are composed on the fly by the program logic (as in the case of a database query).

Program logicExecutable files, scripts

The program logic determines how the application responds to user actions. ASP.NET Web applications have a dynamic-link library (DLL) file that runs on the server, and they can also include scripts that run on the client machine.

ConfigurationWeb configuration file, style sheets, IIS settings

The configuration files and settings determine how the application runs on the server, who has access, how errors are handled, and other details.

The Web form is the key element of a Web application. A Web form is a

cross between a regular HTML page and a Windows form. It has the same

appearance as and similar behavior to an HTML page, but it also has

controls that respond to events and run code, like a Windows form.

In a completed Web application, the executable portion of the Web form is

stored in an assembly (.dll) that runs on the server under the control of the

ASP.NET worker process (asp_wp.exe), which runs in conjunction with IIS.

The content portion of the Web form resides in a content directory of the Web

server, as shown in Figure 1-4.

Page 36: Automatic Question Paper

Figure 1-4. ASP.NET Web application parts on a Web server

When a user navigates to one of the Web forms from his or her browser, the

following sequence occurs:

1. IIS starts the ASP.NET worker process if it is not already running. The

ASP.NET worker process loads the assembly associated with the Web form.

2. The assembly composes a response to the user based on the content of the

Web form that the user requested and any program logic that provides

dynamic content.

3. IIS returns the response to the user in the form of HTML.

Once the user gets the requested Web form, he or she can enter data, select

options, click buttons, and use any other controls that appear on the page.

Some controls, such as buttons, cause the page to be posted back to the

server for event processing, and the sequence repeats itself, as shown in

Figure 1-5.

Page 37: Automatic Question Paper

Figure 1-5. How the parts interact

This cycle of events is described in greater detail in Lesson 2 of Chapter 2,

“Creating Web Forms Applications.”

Web Form Components

Web forms can contain several different types of components, as summarized in

Table 1-3.

Table 1-3. Components on a Web Form

Component Examples Description

Server controls

TextBox, Label, Button, ListBox, DropDownList, DataGrid

These controls respond to user events by running event procedures on the server. Server controls have built-in features for saving data that the user enters between page displays. You use server controls to define the user interface of a Web form.

HTML controls

Text Area, Table, Image, Submit Button, Reset Button

These represent the standard visual elements provided in HTML. HTML controls are useful when the more complete feature set provided by server controls is not needed.

Data controls SqlConnection, Data controls provide a way to connect to,

Page 38: Automatic Question Paper

Table 1-3. Components on a Web Form

Component Examples Description

SqlCommand, OleDbConnection, OleDbCommand, DataSet

perform commands on, and retrieve data from SQL and OLE databases and XML data files.

System components

FileSystemWatcher, EventLog, MessageQueue

These components provide access to various system-level events that occur on the server.

You use the server and HTML controls to create the user interface on a Web

form. The data controls and system components appear on the Web form

only at design time to provide a visual way for you to set their properties and

handle their events. At run-time, data controls and system components do

not have a visual representation. Figure 1-6 shows a Web form containing

components.

Page 39: Automatic Question Paper

Figure 1-6. A Web form with components

Chapter 4, “Creating a User Interface,” provides more detail about using

server and HTML controls on a Web form.

The .NET Framework

ASP.NET is an important part of the .NET Framework, but it is just one part.

Understanding what else the .NET Framework provides will help you

program your ASP.NET application effectively and avoid writing new code to

perform tasks that are already implemented within the .NET Framework.

Page 40: Automatic Question Paper

First, a little background. The .NET Framework is the new Microsoft

programming platform for developing Windows and Web software. It is made

up of two parts:

An execution engine called the common language runtime (CLR)

A class library that provides core programming functions, such as those

formerly available only through the Windows API, and application-level

functions used for Web development (ASP.NET), data access (ADO.NET),

security, and remote management

.NET applications aren’t executed the same way as the traditional Windows

applications you might be used to creating. Instead of being compiled into an

executable containing native code, .NET application code is compiled into

Microsoft intermediate language (MSIL) and stored in a file called an

assembly. At run time, the assembly is compiled to its final state by the CLR.

While running, the CLR provides memory management, type-safety checks,

and other run-time tasks for the application. Figure 1-7 shows how this

works.

Page 41: Automatic Question Paper

Figure 1-7. How a .NET application runs

Applications that run under the CLR are called managed code because the

CLR takes care of many of the tasks that would have formerly been handled

in the application’s executable itself. Managed code solves the Windows

programming problems of component registration and versioning (sometimes

called DLL hell) because the assembly contains all the versioning and type

information that the CLR needs to run the application. The CLR handles

registration dynamically at run time, rather than statically through the system

registry as is done with applications based on the Component Object Model

(COM).

The .NET class library provides access to all the features of the CLR.

The .NET class library is organized into namespaces. Each namespace

contains a functionally related group of classes. Table 1-4 summarizes

Page 42: Automatic Question Paper

the .NET namespaces that are of the most interest to Web application

programmers.