Learning Center
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>



This project is an online examination system made in Visual Studio 2005 using SQL server database. The purpose of the system is to test the domain knowledge of the candidates. The conventional manual procedure used to conduct the exam is time consuming and error prone due to human limitations.

More Info
  • pg 1
									   A Project Report On

                       TABLE OF CONTENTS

     2. Introduction

        1.1               Overview
        1.2               Project planning
        1.3               Feasibility Study

     3.Software Requirement Specification

        3.1 Functional Requirement
        3.2 Non Functional Requirement

     4.System Design Specification

        1.1            Traditional Design Approach
                  1.1.1System Design
                Modules And Interaction
                  1.1.2Detailed Design

        1.2               Object Oriented Design Approach

        1.3               Design Document

                  1.3.1     Scope
                  1.3.2     Data Design
                  1.3.3     Architecture Design
                  1.3.4     Interface Design
                  1.3.5     Object Oriented Design

2.                        Coding
        2.1               Introduction
        2.2               Coding Principles
        2.3               Screen Shots

3.                     Testing
        3.1            Introduction
        3.2            Types of Testing
                  3.2.1Unit Testing
                  3.2.2Integration Testing
                  3.2.3System Testing
     3.3           Test Cases
              3.3.1Sample Testing Cycles
     3.4           Validation Checks

4.                 Maintenance and Implementation
     4.1           Need For Maintenance
     4.2           Problem Encountered
     4.3           Types of Maintenance
           7.3.1 Corrective

           7.3.2 Perspective

           7.3.3 Adaptive

     7.4 Implementation Details

                   7.4.1 Data Storage

                   7.4.2 Data Retrieval

5.                 Limitations

6.                 Future Scope and Conclusion

7.                 Bibliography
                              1. ABSTRACT

This project is an online examination system made in Visual Studio 2005 using SQL server
database. The purpose of the system is to test the domain knowledge of the candidates. The
conventional manual procedure used to conduct the exam is time consuming and error prone due
to human limitations.

The rationale for choosing this project is that the features of this web based application are all
customizable and will help in eliminating paper based exams and their marking costs.

The project focuses on improving the effectiveness of the system by completely automating the
old manual procedure of conducting the exam to online web based examination system.


      Fully automated web based examination software
      Registration of students online
      Automated test creation/randomized questions
      Centralized administrator controls
      All the features are customizable
                               2. Introduction:

In the modern world the need of the computer is going to the zenith, because there is not a single
field where computers are not in used. We can see in the communication field, banks, hospital,
aviation, rural development, and everywhere computer is working.

The project is based on real world “ONLINE MAT EXAMINATION SYSTEM”, replacing
the manual system. The basic problem in dealing with manual system is that, how to retrieve the
data in case of thousands of candidates from different remote places, how to gather them at a
common centre, how to update the data when same record lies in different-different files and
how to protect the data in case of unauthorized access and damages of files or records etc.

The only way to overcome this problem is to provide a sophisticated “online system” that can
give all the facility. Due to this system comes in focus is “ONLINE MAT EXAMINATION

We know that any that is conducting the exam is scattered in various departments, sections, and
branches, and organization wants to store all the details of the candidates and the exam safely.
Moreover, the organization intends to carry all the manipulations accurately and display the
results such that it is accessible to all the candidates easily. At that time the software “ONLINE
MAT EXAMINATION SYSTEM” is useful to store and maintain these records.

   The main feature of the project is that it is menu based and provides user friendly
environment. In the security aspect of the project the user level security can enforce in the data to
prevent from unauthorized access and malicious attempt on the database.

                               2.1 Overview:
MAT paper is the common iterance paper for many Management Institutes. It is an objective
type paper consisting of questions related to aptitude, maths, English etc. The result or score of
this paper is valid up to 1year

      This paper is conducted twice a year and its result is valid in many well recognized
institutes. In this paper percentile is calculated and on the basis of that admission procedure is

Percentile is calculated on the basis of the number of students which have scored less then a
particular individual. Our project is based on developing a website to conduct the MAT paper

We are assuming that there is no pre existing system for this purpose and till now the paper is
conducted on the written basis and know we are conducting it using the web site so that the
process of examination becomes easy.

Our project is made up of modules. These modules are used in common to make the MAT paper

We are having the following modules:

   Registration Module: This module is used for the registration of the candidate for the
    paper. By using this module we can provide the candidate its enrolment no., id, password
    for the exam. Using these details it would be easy for the exam coordinator to arrange the
    exam. It would also be much secured and much organized.

   Login Module: This module is used to login for the paper and for viewing other details
    using the details provided in the registration module. This module is used on the exam
    date to login and also at other times to view the detail information about the exam by the

   Question Module: This module consists of questions for the paper which would be
    objective in nature. The candidate sitting in the paper has to give the answers of the
    question. After using the login module candidate’s login for the examination at pre
    decided places and the result is decided on the basis of the correct answers given by the
    candidate. Percentile of the candidate is decided on the basis of the correct answers given
    and how many students are behind the particular candidate.

                              2.2 Project Planning:
The first step of development of any project is the identification of the need. This is user’s
request to change, improve or enhance an existing system. The initial investigation is one way to
handle this. The objective is to determine weather the request is valid or not, improve the
existing system or built anew system.

The whole process is usually characterized by the following some given activities: Producing a
detailed analysis model describing how well the present system work. using the statement of
requirement, together with a more detailed system analysis. Producing a detailed model in the
subject terms of what the new system will do.

Producing a high of level of description of computer system requirements. While developing the
project one has to consider some factor those may be as: external factors or internal factors that
help us to identify the problem in many different ways. Some of which can be informal as well.

   The external conditions can used to identify the difference between the ways things are done
in the organization and accepted way of doing things outside. One obvious observations is to
note the areas where computers are used effectively by others and what will be the change if we
implemented the same in our system.

During initial analysis, we should search for deficiencies related to the proposed system such as:

            I.   Missing functions
           II.   Unsatisfactory performance
          III.   Unsatisfactory information related documents
          IV.    Accessible possible operation.

                        2.3 Feasibility Study:
The term feasibility relates to practicality, possibility or convenience. The
feasibility study in reference to the software development specifies that whether
the given problem is worth the hard work and the time for the software developing
team. Feasibility study has 4 major aspects or dimensions regarding the
development of software.

              1.) ECONOMIC FEASIBILITY

              Economic analysis is most frequently used for evaluation of the
              effectiveness of the system. More commonly knows as cost/benefit analysis the
              procedure is to determine the benefit and saving that are expected from a system
              and compare them with costs, decisions is made to design and implement the
              system. This part of feasibility study gives the top management the economic
              justification for the new system. This is an important input to the management the
              management, because very often the top management does not like to get
              confounded by the various technicalities that bound to be associated with a project
              of this kind. A simple economic analysis that gives
              the actual comparison of costs and benefits is much more meaningful in such
              In the system, the organization is most satisfied by economic feasibility. Because,
              if the organization implements this system, it need not require any additional
              hardware resources as well as it will be saving lot of time.

              Technical feasibility centers on the existing manual system of the test
              management process and to what extent it can support the system.
              According to feasibility analysis procedure the technical feasibility of the system
              is analyzed and the technical requirements such as software facilities, procedure,
              inputs are identified. It is also one of the important phases of the
              system development activities. The system offers greater levels of user
              friendliness combined with greater processing speed. Therefore, the cost of
              maintenance can be reduced. Since,
              processing speed is very high and the work is reduced in the maintenance point of
              view management convince that the project is operationally feasible.

       People are inherently resistant to change and computer has been known to
       facilitate changes. An estimate should be made of how strong the user is likely to
       move towards the development of computerized system. These are various levels
       of users in order to ensure proper authentication and authorization and security of
       sensitive data of the organization.

        The scope of operation is to calculate and print the bill     by
       entering the details of the order placed by the customer. Thus it is
       easily operable and fulfills the requirements of the business.

          The proposed software will be useful only if
       provided the proper environment i.e. it will be applicable only at the
       billing counter of an eating joint and will not be of any use
       anywhere else

3.Software Requirement Specification:
                             3.1 Functional Requirements

Our project is made up of modules. These modules are used in common to make the MAT paper

We are having the following modules:

   Registration Module: This module is used for the registration of the candidate for the
    paper. By using this module we can provide the candidate its enrolment no., id, password
    for the exam. Using these details it would be easy for the exam coordinator to arrange the
    exam. It would also be much secured and much organized.

   Login Module: This module is used to login for the paper and for viewing other details
    using the details provided in the registration module. This module is used on the exam
    date to login and also at other times to view the detail information about the exam by the

   Question Module: This module consists of questions for the paper which would be
    objective in nature. The candidate sitting in the paper has to give the answers of the
    question. After using the login module candidate’s login for the examination at pre
    decided places and the result is decided on the basis of the correct answers given by the
    candidate. Percentile of the candidate is decided on the basis of the correct answers given
    and how many students are behind the particular candidate.

The purpose of on-line test simulator is to take online test in an efficient manner and no time
wasting for checking the paper. The main objective of on-line test simulator is to efficiently
evaluate the candidate thoroughly through a fully automated system that not only saves lot of
time but also gives fast results.

For students they give papers according to their convenience and time and there is no need of
using extra thing like paper, pen etc.

Scope of this project is very broad in terms of other manually taking exams.

Few of them are:-

_ This can be used in educational institutions as well as in corporate world.

_ Can be used anywhere any time as it is a web based application(user Location doesn’t matter).

_ No restriction that examiner has to be present when the candidate takes the test.

_ Secure

_ Easy to use

_ Reliable and accurate

       Functional Description:


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

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 or ordering of processes, or about whether
processes will operate in sequence or in parallel. It is therefore quite different from a flowchart,
which 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.

A structure chart is a top-down modular design tool, constructed of squares representing the
different modules in the system, and lines that connect them. The lines represent the connection
and or ownership between activities and subactivities .

In structured analysis structure charts, "are used to specify the high-level design, or architecture,
of a computer program. As a design tool, they aid the programmer in dividing and conquering a
large software problem, that is, recursively breaking a problem down into parts that are small
enough to be understood by a human brain. The process is called top-down design, or functional
decomposition. Programmers use a structure chart to build a program in a manner similar to how
an architect uses a blueprint to build a house. In the design stage, the chart is drawn and used as a
way for the client and the various software designers to communicate. During the actual building
of the program (implementation), the chart is continually referred to as the master-plan".

A structure chart depicts:

      the size and complexity of the system, and
      number of readily identifiable functions and modules within each function and
      whether each identifiable function is a manageable entity or should be broken down into smaller

   A. Control Description:

A flowchart is a common type of diagram, that represents an algorithm or process, showing the
steps as boxes of various kinds, and their order by connecting these with arrows. Flowcharts are
used in analyzing, designing, documenting or managing a process or program in various fields.


An entity-relationship model (ERM) is an abstract and conceptual representation of data.
Entity-relationship modeling is a database modeling method, used to produce a type of
conceptual schema or semantic data model of a system, often a relational database, and its
requirements in a top-down fashion. Diagrams created by this process are called entity-
relationship diagrams, ER diagrams, or ERDs.

                           3.2 Non Functional Requirements
In systems engineering and requirements engineering, a non-functional requirement is a
requirement that specifies criteria that can be used to judge the operation of a system, rather than
specific behaviors. This should be contrasted with functional requirements that define specific
behavior or functions.

In general, functional requirements define what a system is supposed to do whereas non-
functional requirements define how a system is supposed to be. Non-functional requirements are
often called qualities of a system. Other terms for non-functional requirements are "constraints",
"quality attributes", "quality goals" and "quality of service requirements". Qualities, that is, non-
functional requirements, can be divided into two main categories:

   1. Execution qualities, such as security and usability, which are observable at run time.
   2. Evolution qualities, such as testability, maintainability, extensibility and scalability,
      which are embodied in the static structure of the software system.


Scalability is a desirable property of a system, a network, or a process, which indicates its ability
to either handle growing amounts of work in a graceful manner or to be readily enlarged. For
example, it can refer to the capability of a system to increase total throughput under an increased
load when resources (typically hardware) are added. An analogous meaning is implied when the
word is used in a commercial context, where scalability of a company implies that the underlying
business model offers the potential for economic growth within the company.

Scalability, as a property of systems, is generally difficult to define and in any particular case it
is necessary to define the specific requirements for scalability on those dimensions which are
deemed important. It is a highly significant issue in electronics systems, database, routers, and
networking. A system whose performance improves after adding hardware, proportionally to the
capacity added, is said to be a scalable system.


Testability, a property applying to an empirical hypothesis, involves two components: (1) the
logical property that is variously described as contingency, defeasibility, or falsifiability, which
means that counterexamples to the hypothesis are logically possible, and (2) the practical
feasibility of observing a reproducible series of such counterexamples if they do exist. In short, a
hypothesis is testable if there is some real hope of deciding whether it is true or false of real
experience. Upon this property of its constituent hypotheses rests the ability to decide whether a
theory can be supported or falsified by the data of actual experience. If hypotheses are tested,
initial results may also be labeled inconclusive.


 It is a term used to denote the ease with which people can employ a particular tool or other
human-made object in order to achieve a particular goal. Usability can also refer to the methods
of measuring usability and the study of the principles behind an object's perceived efficiency or

In human-computer interaction and computer science, usability usually refers to the elegance and
clarity with which the interaction with a computer program or a web site is designed. The term is
also used often in the context of products like consumer electronics, or in the areas of
communication, and knowledge transfer objects (such as a cookbook, a document or online
help). It can also refer to the efficient design of mechanical objects such as a door handle or a


It is the quality of being able to withstand stresses, pressures, or changes in procedure or
circumstance. A system, organism or design may be said to be "robust" if it is capable of coping
well with variations (sometimes unpredictable variations) in its operating environment with
minimal damage, alteration or loss of functionality.

The measurement and track maintainability are intended to help reduce or reverse a system's
tendency toward "code entropy" or degraded integrity, and to indicate when it becomes cheaper
and less risky to rewrite the code instead to change it.


Accessibility is a general term used to describe the degree to which a product (e.g., device,
service, and environment) is accessible by as many people as possible. Accessibility can be
viewed as the "ability to access" the functionality, and possible benefit, of some system or entity.
Accessibility is often used to focus on people with disabilities and their right of access to entities,
often through use of assistive technology. Several definitions of accessibility refer directly to
access-based individual rights laws and regulations. Products or services designed to meet these
regulations are often termed Easy Access or Accessible.

It is one of the key concepts of high-level programming. Portability is the software codebase
feature to be able to reuse the existing code instead of creating new code when moving software
from an environment to another. The pre-requirement for portability is the generalized
abstraction between the application logic and system interfaces. When one is targeting several
platforms with the same application, portability is the key issue for development cost reduction.


The modular components of the website is designed that it captures the essence of the
functionality expected. This single-minded purpose renders the components reusable wherever
there are similar needs in other designs.


The website is traceable enough because the origin of each of its requirements is clear. It fulfills
the condition of backward. Traceability and Forward traceability because each requirement
explicitly reference its sources in earlier documents.

    The design process for software system has two levels. At the first level the focus is on deciding
    which module is needed for the system, the specifications of these modules, and how the modules
    should be interconnected. That is what is called the system design or top-level design. It is used in
    two ways, as a verb, it represents the process of design. Used as a noun, it represents the result of the
    design process, which is the design of the system, the goal of the design process is to produce a model
    or representation of the system, which can be used later to build that system. The produced model is
    called the design of the system, in the second level, the internal design of the modules, or how the
    specifications of the module can be satisfied, is decided. This design level is often called detailed
    design or logic design.

A design methodology is a systematic approach to creating a design by applying of a set of techniques
and guidelines. Most design methodologies focus on the system design. Most current design
methodologies essentially offer a set of guidelines that can be used as a developer to design a system.
These techniques are not formalized and do not reduce the design activity to a sequence of steps that can
be followed by the designer. The input to the design phase is the specifications for the system to be
designed. The output of the top level design phase is the architectural design or the system design for the
software system to be built.

The design can be object-oriented or function-oriented. The purpose of the design phase is to specify the
components for this transformation function. Hence, the basic output of the system design phase. When
the function oriented design approach is being followed, is the definition of all the major data structures
of the system, all the major modules of the system, and how the modules interact with each other.

The design of the system is essentially a blueprint or a plan for the solution for the system. Here we
consider a system to be a set of components with clearly defined behavior that interacts with each other in
a fixed defined manner to produce some behavior or services for its environment. A component of a
system can be considered a system, with its own components. In a software system, a component is a
software module.

The purpose of the design phase is to plan a solution of the problem specified by the
requirements document. This phase is the first step in moving from the problem domain to the
solution domain. In other words, starting with “What is the need of Design?” .The design of a
system is perhaps the most critical factor affecting the quality of the software; it has a major
impact on the later phase, particularly testing and maintenance. The output of this phase is the
Design Document. This document is similar to a blueprint or plan for the solution and is used
later during implementation,testing and maintenance.

The design activity is often divided into two separate phases

 (a) System Design
 (b) Detailed Design


     SYSTEM DESIGN                                    DETAILED DESIGN

  SYSTEM DESIGN                                    DETAILED DESIGN

                                DESIGN CLASSIFICATION

System design, which is sometimes also called top-level design, aims to identify the modules that
should be in the system, the specifications of these modules, and how they interact with each
other to produce the desired results. At the end of system design all the major data structures, file
formats, output formats, and the major modules in the system and their specifications are

In the system design the focus is on identifying the modules. In other words, in system design the
attention is on what components are needed. After identifying the modules the next step is the
specification of the modules, after that the interaction between those modules is carried out to get
the desired output. The output of this phase is data structure, file format and major modules in
the system and the specifications are decided.

The system design controls the major structural characteristics of the system. The system design
has the major impact on the testability and modifiability of a system, and it impacts its
efficiency. Much of the design efforts for designing software are spent creating a system design.

The purpose of “ONLINE MAT EXAMINATION” project is to provide the user the facility of
attempting the exam online. Audit data, representing the user information relevant to the examination is
collected through the registration form and stored in a database. The information entered in the login page
is analyzed and if the password matches, the user can jump to the question module or quit any time.

The REGISTRATION MODULE requires the user to enter information like user name, age, e-mail ID and a
valid password. According to this, the user receives an enrollment no.

The LOGIN MODULE asks the user to enter his enrollment no. with the correct password. This
information should be compatible with that provided in the registration module. Once verified as a valid
candidate after checking in the database of users’ account, the user can start with the QUESTION
MODULE . Here, the user has to choose the correct answer out of 4 options given on the screen.

During Detailed design, the internal logic of each of the modules specified in system design is
decided. During this phase further details of the data structures and logarithmic design of each of
the modules is specified. The logic of a module is usually specified in a high-level design
description language, which is independent of the target language in which the software will
eventually be implemented.

The basic goal of detailed design is to specify the logic for the different modules that have been
specified during system design. Specifying the logic will require developing an algorithm that
will implement the given specifications. The term algorithm is quite general and is applicable to
a wide variety of areas. Essentially, an algorithm is a sequence of steps that need to be performed
to solve a given problem. The problem need not be a programming problem. We define an
algorithm to be an unambiguous procedure for solving a problem. a procedure is a finite
sequence of well defined steps or operations, each of which requires a finite amount of memory
and time to complete.

There are a number of steps that one has to perform while developing an algorithm. The starting
step is the design of algorithms is the statement of the problem. The problem for which the
algorithm is being devised has to be precisely stated and properly understood by the person
responsible for designing the algorithms in the next step the data structure and the program
structure is decided to design the algorithm. Once the algorithm is designed, its correctness
should be verified.


After the user has filled all the information in respective text fields, he should click the submit
button to get enrolled. It is ensued that no text field is left vacant or incorrect (e.g., numbers in
place for the name). If such case occurs, an error message is displayed. As the user press the
submit button, the information provided by him is sent to a database for further processing.

The user becomes eligible after submitting the information.

Module 2. LOGIN PAGE

The user has to log in if he wishes to attempt in the exam. For this, the user enters his enrollment
no. and a valid password which he entered in the registration form. As he enters the submit
button, this information is compared with that in the user account database. Once confirmed
valid, the user gets a message if he wants to continue and give the exam, or he may quit by
pressing the respective buttons for the purpose. This page also includes the instructions regarding
the examination. Once the continue button is clicked, the user enters the examination module
where he can start with the examination.


The time starts as the user enters the examination module.

Each page in this module contains one question with 4 options of which one is the correct
answer. The user has to click on one of the radio buttons provided in front of all the options
which he thinks is the correct one. The user can get to the next question after he submits the
current question. The user may quit the exam any time by pressing the exit button.


Object-oriented design (OOD) transforms the conceptual model produced in object-oriented
analysis to take account of the constraints imposed by the chosen architecture and any non-
functional – technological or environmental – constraints, such as transaction throughput,
response time, run-time platform, development environment, or programming language.

The concepts in the analysis model are mapped onto implementation classes and interfaces. The
result is a model of the solution domain, a detailed description of how the system is to be built.
Object-oriented analysis and design (OOAD) is a software engineering approach that models a
system as a group of interacting objects. Each object represents some entity of interest in the
system being modeled, and is characterised by its class, its state (data elements), and its
behavior. Various models can be created to show the static structure, dynamic behavior, and run-
time deployment of these collaborating objects. There are a number of different notations for
representing these model.

Object-oriented analysis (OOA) applies object-modeling techniques to analyze the functional
requirements for a system. Object-oriented design (OOD) elaborates the analysis models to
produce implementation specifications. OOA focuses on what the system does, OOD on how the
system does it.

4.3.1 SCOPE:

A design document is a way for you to communicate to others what your design decisions are
and why your decisions are good decisions. If your design is not UML compliant and don’t
worry if you didn’t use a special modeling tool to create it. The biggest factor that determines if
your design document is good is whether or not it clearly explains your intentions.

The goal of a peer developer design document is to make sure that your ideas are valid and that
your approach works with what others are doing. When developers don’t communicate their
plans, disaster is sure to strike when modules or classes begin to interact. The following items
describe a general guideline for writing this type of document:

Section 1 – State the purpose of your project/sub-system: In this section, write a few
paragraphs that describe what the project or sub-system does. What is the problem it is trying to
solve? Why does it need to exist? Who will use it? By answering these questions, you establish
the scope of your design. If you find it hard to write a few paragraphs in this section, then you
probably don’t understand the domain as much as you should. If you can’t fit your description
within a few paragraphs, then perhaps the scope is too large. Use this section as a tool to verify
that the scope of your design is reasonable.

Section 2 – Define the high level entities in your design: High level entities are objects, or
groups of objects, that constitute major constructs of your design. Good examples of entities are
a data access layer, a controller object, a set of business objects, etc… Figure 1 shows an
example of a .The descriptions don’t have to be verbose, just enough to explain what each
block’s purpose is. Be sure to describe your reasoning for defining the entities in your diagram
and what their roles are.

Section 3 – For each entity, define the low level design: This section is where your objects and
object relationships are defined. For each object (or set of objects) define the following:


Describe in a paragraph how the object is used and what function it serves. If an object will
interface with an external object or system, it is a good idea to show the interface for the object.
Most importantly, you must again describe your thought process for defining the object as you
did. List the benefits and risks. If an object provides an encapsulation, describe in a sentence why
the encapsulation adds value. Use your descriptions to give meaning to the diagrams. They don’t
have to be verbose, just enough to get the point across.

If your object needs any special configuration or initialization, this is a good place to describe it.
If not, this section can be left out.


It is not perfect UML, but has some aspects of UML. Most importantly, it describes the design.

Don’t worry about perfection in your models, but be sure to describe exactly what is going on in
the diagram. Here, two concrete security objects derive from a base security object, and a
security factory will create one or the other for a client depending on the security model of the


This is also a good section for interaction diagrams. An interaction diagram shows how a set of
objects or entities communicate with each other to perform a complex task. Figure 3 shows an
example of an to show how a user might log in. It uses objects from the various entities shown

Again, this diagram is not perfect UML, but it explains the communication sequence to
accomplish a complex task. Interaction diagrams are most useful when you want to diagram how
an object in your system will communicate with an object in another subsystem. This type of
diagram will let the other developer verify that the interaction is correct.

Section 4 – Benefits, assumptions, risks/issues: In this section, make a list of 5-6 top benefits
of the design, a list of ALL known risks/issues and a list of ALL assumptions. Some of this may
simply be rehashing what you wrote in a previous section of the document. What’s important is
getting all of these items into one section so that the reader doesn’t have to read the whole
document to understand what the benefits, risks and assumptions are.

Never remove anything from this section! As risks become non-risks, document that they are
now non-risks and why they became non-risks. Never erase them from the document. The same
holds true for assumptions. You should be able to look at this section and know instantly what
the current risks are to your design.

Data flow diagrams (DFD’s)

Level 0:

                          REGISTER               FINAL RESULT

Level 1
                                ENROLLMENT AND

   USER           USER          REGISTRATION          REGISTER
                DETAILS                              FORM ENTRY

Level 2:


       _ MODULE                                        PROCESS_
          1.2.1                                         RESULT

      ANSWERS                           COMPARE

                            DATABASE                              MARKS

                                            VALIDATE       RESULT
                                            _ RESULT
Flow Chart:


               ENTER USER ID
              AND PASSWORD

   NO                          YES      LOGIN



                                                         TIME      NO






USER             ENTER
                                      ENTER              ANSWERS              RESULT

 GET_USER_      GET                     GET_            GET _CORRECT    DISPLAY
  DETAILS       _ENROLLMENT_          PASSWORD          _ANSWERS        _RESULT

The .NET Framework (pronounced “dot net Framework) defines the environment that you use to execute
Visual C# .NET application and the services you can use within those applications. Talking about C# is
not possible without talking about .NET. One of the main goals of this framework is to make it easier to
develop applications that run over the Internet .However, this framework can also be used to develop
traditional business application that run on the Window desktop. The need for .NET evolved as a result of
huge expectations from today’s application platform that are used to develop enterprise applications

Today’s application platform needs to possess the following features:

     The application should be available anytime, anywhere and on any device.
     The software should be available as a service such as electronic mail.
     The application must be interoperable.

Microsoft .NET is supposed to aid each of these requirements. It is said to fuel the next generation of
computing, accelerate the forthcoming generation of the internet, ease the subsequent generation of
application development. It provides the greatest support ever to build, deploy, administer secure, robust
and, high-performing application. The .NET Framework has two components:

      Common language Runtime
      A unified set of class libraries

Reusing the available code in order to avoid duplication as well as to reduce development time has been
the goal of software development personnel. The .NET framework offers many classes that are helpful to
the developers in reusing the code. The .NET class libraries include code for programming topics such as
threading, file I/O, database support, XML parsing, and data structures. The most interesting thing here is
that the entire class library is available for use to any programming language that extends support to the
.NET framework. With the help of CLR, any .NET language is available to any other .NET language.

 Entity- Relationship Diagram (E-R Diagram)

    AGE         En_No                                                            PASSWORD

NAME           USER                  REGISTRATION                       LOGIN_PAGE




                                                             TIME                    OPTIONS


           CORRECT_ANSWER_SET                   VALIDATION                      RESULT

                                                                      MARKS          PASS/FAIL
       5. CODING:

This Website is build on Complex Coding. Coding is an important part
which determines the performance of the project. Coding Optimization
is done by the group members after the coding of the website was
The important codes are mentioned in the next section below.
To Validate the User….
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
     string p =

    SqlConnection con = new SqlConnection(p);

    String query = "Select * from Login where UserName=@UserName
and Password=@Password";
    SqlCommand cmd = new SqlCommand(query, con);
    cmd.Parameters.Add("@UserName", SqlDbType.Char, 20,
"UserName").Value = Login1.UserName;
    cmd.Parameters.Add("@Password", SqlDbType.Char, 20,
"Password").Value = Login1.Password;

       SqlDataReader reader = cmd.ExecuteReader();

      if (reader.HasRows)
         Response.Write("Your Id doesnot exist");



Following are the Principles which are considered for the perfect coding
-    Coding should be Simple and optimized.
-    Redundancy and duplicacy should not be there.
-    Methods and functions should be properly defined

Front page:
Registration page:
Login Page

Instruction page:
Question page:
                                       6. Testing:
6.1 Introduction:

Testing a program consist of subjecting the program to a set of test inputs or test cases and
observing if the program behaves as expected. If the program fails to behave as expected, then
the condition under which the failure occur are noted for later debugging and correction.

The aim of testing process is to identify all defects existing in a software product. However,
sometimes, it’s not possible to guarantee that the software is error free. This is because of the
fact the input data domain of most software products is very large.

The following are some commonly used terms associated with testing:

      A failure is a manifestation of an error but the mere presence of an error may not
       necessarily lead to a failure.
      A test case is the triplet
           1. A data input to the system
           2. State of the system at which the data is input
           3. Expected output of the system
      A test suite is the set of all test cases with which a given software product is to be tested.

       We must remember that the testing does expose many defects existing in a software
       product. Therefore we can safely conclude that testing provides a practical way of
       reducing defects in a system and increasing the user’s confidence in a developed system.
                           6.2 Types of Testing
    6.2.1Unit testing

    Unit testing is the testing of different units or modules of a system in isolation. It is
    undertaken when a module has been coded and successfully reviewed.
    In order to test a single module, we need a complete environment to provide all that is
    necessary for execution of the module. That is, besides the module under test, we will
    need the following in order to be able to tes the module:
   The procedures belonging to other modules that the module under test calls.
    When the user, in the login module, enters his enrollment no. and the password, a
    procedure is called that checks whether the data entered matches with that provided
    earlier in the registration module.
   Non local data structures that the module accesses
   A procedure to call the functions of the module under test with appropriate
6.2.2 Integration testing

Integration testing is to test the module interfaces in order to ensure that there are no
errors in the parameter passing, when one module invokes another module. During
integration testing , different modules of a system are integrated in a planned manner
using an integration plan. The integration plan specifies the steps and the order in which
modules are combined to realize the full system.
 There are four approaches to develop the test plan :
     Big bang integration testing:
        it is the simplest integration testing approach, where all the modules making yup a
        system are intehrated in a single step. All the modules of the system are simply
        put together and tested.
     top down integration testing
        it starts with the main routine and one or two subordinate routines in the system. It
        requires the use of a program stub to simulate the effect of lower level routines
        that are called by the routines under test.
     Bottom up integration testing
        In this, each subsystem is tested separately and then the full system is tested. A
        subsystem might consist of many modules which communicate among each other
        through well defined interfaces. Thye primary purpose of testing each subsystem
        is to test the interfaces among various modules making up the sub system. In this
        both control and data interfaces are tested.***
     Mixed integration testing
        It follows a combination of top down and bottom up testing approach
         6.2.3 System testing
System tests are designed to validate a fully developed system to assure that it needs its
requirements. There are 3 main kinds of system testing:

                Alpha testing
                 It refers to then system testing carried by the test team within the developing
                Beta testing
                 It is a system testing performed by a selected group of friendly customers
                Acceptance testing
                 It is the system testing performed by the customer to determine whether to accept
                 or reject the delivery of the system.

6.3 Test cases

Test case title           Description            Expected outcome            Result
Password length           Up to 6 digits         Length of password          pass
                          password               should not exceed 6
e-mail ID                 Should be correct      Characters like@            pass
                                                 should be present
Enrollment No. and        Should be correct      Matched with user           pass
Password                                         details. The user is
                                                 logged in now
answer                    4 options are given,   More than one choice        pass
                          user has to choose one not be selected
6.3.1 Sample testing cycle

             1. Registration module

            For password we require at least 6 characters. If less is given password will not
             be accepted.

                      Password        ********                (more than 6 characters)
            The e- mail id provided should be correct, for example, the @ sign should be

             2. Login module

            The username and password entered by the user should be correct and match to
             the corresponding data as provided earlier in the registration module.

             3. Question module
            Questions should stop to display after the time out.
            There should be a unique answer to a question, i.e., no two answers should be
             marked for one single question.
6.4 Validation check

Validation is the process of checking if something satisfies a certain criterion.

Performance Bound:
In the registration module, only the person having the username and password will be allowed to
make an entry there.
In the login module the id and password should be checked and matched with the database and
then only the user should be allowed to login.
In the examination module the user should be checked so that he attempts all the questions.
Test Classes:
E.g. Can be considered as:
     For password we require at least 6 characters. If less is given password will not be

                 Password                                  (more than 6 characters)

This is a BLACK BOX approach since the test case is designed using only the functional
specification of the software i.e. without any knowledge of the internal structure of the software.
    When the user is entering the email id it should be checked that @ sign is present or not.

      User id should be matched with the user password.
7. Maintenance and Implementation:

The mention of word maintenance brings up the image of a screwdriver-wielding mechanics
with soiled hands holding onto a bagful of spare part. It is the objective of this chapter to clear up
this misconception, provide some Intuitive understanding of the software maintenance projects,
and to familiarize the readers with the latest technique in software maintenance. Software
maintenance denotes any changes made to a software product after it has been delivered to the
customer. Maintenance is inevitable for almost any kind of product. However most of the
product need maintenance due to the ware and tear cause by use. On the other hand, software
products do not need maintenance on this count, but need maintenance to correct error; enhance
features, port to new platform, etc.

Maintenance work is based on existing software, as compared to development work that creates
new software. Consequently, maintenance revolves around understanding existing software and
maintenance spends most of their time trying to understand the software they have to modify.
Understanding the software involves understanding not only the code but also the related
documents. During the modification of the software, the effects of the change have to be clearly
understood by the maintainer because introducing undesired side effects in the system during
modification is easy

7.1 Need of Maintenance

Software maintenance is becoming an important activity of a large number of organizations. This is no
surprise, given the rate of hardware obsolescence, the immortality of a software product per se, and the
demand of the user community to see the existing software product run on newer platform, run in newer

 and/or with enhanced features. When the hardware platforms changes, and a software product performs
some low level functions, maintenance is necessary.

Though maintenance is not considered a part of software development, it is an extremely important
activity in the life of software product. If we consider the total life of software, the cost of maintenance
generally exceeds the cost of developing the software. The maintenance-to-development-cost ratio has
been variously suggested as shown in figure that how maintenance costs are increasing. This is called cost



                                           Software Development


                           Hardware-Software cost trends
support, to change different functionalities of the system according to customer demands or to enhance
the performance of the system.

               1955                 1970                  1985

Software maintenance work is presently much more expensive than what it should be and take more time
to implement than what is affordable. The reason for this situation is the following. Software maintenance
work is one of the neglected areas of software engineering and is mostly carried out using ad hoc
techniques, rather than through systematic and planned activities. Even though it is not a sought after task,
the work involved is often much more challenging than development work. During maintenance it is
necessary to thoroughly understand someone else’s work and then carry out the required modification and
extension. Another problem associated with maintenance work is that the majority of software products
needing maintenance are legacy products.


7.3.1 Corrective:

It is commonly believed that the state of the art today is such that almost all software that is developed has
residual errors, or bugs, in them. Many of these surfaces only after the system have been in operation,
sometimes for long time. These errors, once discovered, need to be removed, leading to the software
getting changed. This is known as corrective maintenance

7.3.2 Adaptive:

Even without bugs, software frequently undergoes change. The main reason is that software often must be
upgraded and enhanced to include more features and provide more services. This also requires
modification of software. It has been argued that once a software system is deployed, the environment in
which it operates changes. Hence, the software must adapt to the needs of the changed environment. The
changed software then changes the environment, which in turn requires further change. This phenomenon
is sometimes called the law of software evolution. Maintenance due to this phenomenon is sometimes
called adaptive maintenance.

7.3.3 Perspective:

A software product needs maintenance to support the new features that users want it to support, to change
different functionalities of the system according to customer demands or to enhance the performance of
the system called as perspective maintenance.
7.4 Implementation Details:

Implementation is the realization of an application, or execution of a plan, idea, model, design,
specification, standard, algorithm, or policy.

An implementation is a realization of a technical specification or algorithm as a program,
software component, or other computer system. Many implementations may exist for a given
specification or standard. For example, web browsers contain implementations of World Wide
Web Consortium-recommended specifications, and software development tools contain
implementations of programming languages.


Data Storage Implementation service can help you realize significant results in a minimal
amount of time.
Storage Implementation services help limit complexity, optimize performance and manage
growth by creating a cost-effective, scalable and flexible storage infrastructure to:

• Improve the return on your IT investments.

• Increase operational efficiency of existing assets.

• Reduce service interruption with resilient data architecture.

• Introduce strategic solutions into your environment with adaptive flexible infrastructure.

The process by which data is selected and extracted from a file, a group of files, or a database.
loss of data is a nightmare that almost everyone doesn't want to experience. All the files in the
computer are of great importance that a loss of even just one can change a life forever. With this
in mind, computer professionals have come up with a lot of techniques to recover lost data. Here
are some of them:

1. Prevention - In the computer world, the cliche, prevention is always better than cure, applies
as well. It is recommended that a person or a corporation back up all their files in the system.
There is a lot of software designed for backing up files so that you will have peace of mind even
if there is a hard drive crash or virus trouble in the hard drive.

2. Recovery after a physical damage - Physical damage pertains to the loss of data due to
failure in the storage system like hard drives crashes. It requires professional attention for such a
problem; thus, hiring a service from data recovery companies is the best option. Usually, these
two things work best for them
                               8. LIMITATIONS:

The proposed project do suffers from some setbacks. These are as follows:

The first problem is that there are loads of hard copied documents being
generated. This brings us to the age-old discussion of keeping information in the form databases
versus keeping the same on sheets of paper. Keeping the information in the form of hard-copied
documents leads to the following problems:

I. Lack of space – It becomes a problem in itself to find space to keep the
sheets of paper being generated as a result of the ongoing discussion. The
documents being generated are too important to be ill-treated.

ii. Filing poses a problem – Filing the documents categorically is a time
consuming and tedious exercise.

iii. Filtering is not easy – It becomes hard to filter relevant documents for the irrelevant ones if
the count of the same crosses a certain manageable number.

iv. Reviewing becomes time-consuming –
All the process done manually at the centers and all the records are maintained on the papers. So
the maintenance of the record is very difficult in the departments and as well as it’s very difficult
for the workers to check the record. The Existing system is paper based, time consuming,
monotonous, less flexible and provides a very hectic working schedule. The chance of loss of
records is high and also record searching is difficult. Maintenance of the system is also very
difficult and takes lot of time.

v. Result Processing is slow due to paper work and requirement of staff.

The principal conclusion that was revealed through the monitoring of “ONLINE MAT
EXAMINATION” is that we have gained a lot of new programming skills to developing this project.
This represents a typical real world situation and all the steps of database designing had to be
meticulously followed has strengthened our own understanding of database design.

We can build the question database for exam question and it can easy accessible at any time and navigate.
We can easily edit, delete and re-use our exam and question at anytime.

Finally, we can appreciate our database i.e., SQL SERVER in managing our data confidential. We are
confident of handling such a real life situation concerning data management with the power of (C# ,
.NET) on the front end.

In future we have to change the question module according to the latest pattern. We have to update the
security level as the unauthorized accesses to the secured websites are increasing day by day. Questions
should be updated so that repetition of questions not occurs.

To top