You are on page 1of 40

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.

CHAPTER 1

SYSTE
M

DEVELOPMENT
LIFE CYCLE

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

CODING
SYSTEM TESTING

SYSTEM

SYSTEM MAINTENANCE

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.

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.

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.

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
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/Chapters 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


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 thats 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.
1 Problem Recognition
2 Evaluation and Synthesis
3 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
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
1 To uncover errors in function, logfics or implementation.
2 Verify software under revies to meet requirement specification.
3 Ensure that software has been represented according to predefined
standards.
4 Achive software development in uniform manner
5 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
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.

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


project. The system had schedule feasibility.

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.
1)

Clarity and consistency

2)

Visual feedback.

3)

Understanding the people.

4)

Good response.

WORKING
ENVIRONMENT

2.1 Technical
Specifications

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
Backend

Microsoft Windows XP.


Microsoft Access

Frontend

ASP.NET

Case Tool

Say Microsoft Word 2003, Ms Front Page

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.

Figure 1-1. ASP.NET Web application architecture


On the client side, the Web application is hosted by a browser. The
applications user interface takes the form of Hypertext Markup Language
(HTML) pages that are interpreted and displayed by the clients 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 applications 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.

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.

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 cant do with a static Web site, such as:
1

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


3

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

user
4

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

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
arent part of ASP.NET. However, they are key to ASP.NET programming.
1

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

The .NET Framework.


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 stresstest 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 toolsgenerally 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
environmentVisual Studio .NET.
ASP.NET delivers the following other advantages to Web application
developers:
1

Executable portions of a Web application compiled so they execute more

quickly than interpreted scripts


2

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

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

programming
4

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

been enhanced to fully support object-oriented programming


5

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

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


6

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

controls) so that they behave much more like Windows controls


7

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

Built-in

security

through

the

Windows

server

or

through

other

authentication/authorization methods
9

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


2

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.
Table 1-2. Parts of an ASP.NET Web Application
Part
Types of files
Description
Content files determine the appearance of a Web
Web forms, HTML, application. They can contain static text and images
Content
images,
audio, as well as elements that are composed on the fly by
video, other data
the program logic (as in the case of a database
query).
The program logic determines how the application
Executable
files, responds to user actions. ASP.NET Web applications
Program logic scripts
have a dynamic-link library (DLL) file that runs on the

server, and they can also include scripts that run on

the client machine.


Web
configuration The configuration files and settings determine how
Configuration file, style sheets, IIS the application runs on the server, who has access,
settings 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.

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.

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
Server
controls

HTML
controls

TextBox,
ListBox,
DataGrid

Label,

Button,

Description
These controls respond to user events by

running

event procedures

Server controls have built-in features for

on the

server.

data that the user enters between


page displays. You use server controls to
define the user interface of a Web form.
These represent the standard visual

DropDownList, saving

Image,

elements provided in HTML. HTML controls


Text Area, Table,
Reset
are useful when the more complete feature
Submit
Button,
Button
set provided by server controls is not needed.
SqlConnection,
Data controls provide a way to connect to,
SqlCommand,
perform commands on, and retrieve data
Data controls OleDbConnection,
from SQL and OLE databases and XML data
OleDbCommand, DataSet files.

System
FileSystemWatcher,
These components provide access to various
Table 1-3. Components on a Web
Form
Component
Examples
Description
system-level events that occur
components
EventLog, MessageQueue
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.

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

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

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 applications 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 the .NET
namespaces that are of the most interest to Web application programmers.

You might also like