Professional Documents
Culture Documents
1. INTRODUCTION
Web Based Examination Cell Application (WECA) helps many colleges that
are facing the problem of seat allotment of students to classes during examinations and
other similar problems. WECA solves the problem of arranging manually and
randomizing the students roll numbers. Software is actually defined as the combination
of programs with different functionalities. This particular software helps the people of
the examination cell to simplify their operations. This software’s main need is to
automate the manual process done by the examination cell personnel. The unified
Modelling Language (UML) is one of the most exciting tools in the world of system
deployment today, the UML enables system builders to create blue prints to capture
their vision in a standard, easy to understand way and communicate them to other. .NET
is the Microsoft Web services strategy to connect information, people, systems, and
devices through software. Integrated across the Microsoft platform, .NET technology
provides the ability to quickly build, deploy, manage, and use connected, security-
enhanced solutions with web services. .NET connected solutions enable businesses to
integrate their systems more rapidly and in a more agile manner and help them realize
the promise of information anytime, anywhere, on any device. By using this software,
we give roll numbers and room numbers and we get allotted rooms as output.
2. PROJECT DESCRIPTION
2.1 INTRODUCTION
For any organization, maintenance of the information is very important.
The collection of information and a set of programs to access that data are called
DATABASE MANAGEMENT SYSTEM. Design of a database management
system involved defining data structure for storing the data and providing
mechanisms to retrieve and manipulate the data. The database of the engineering
college consists of the data regarding Students, Staff and Library.
2.2 USERS
Database Administrator
The specification responsibility is to manage the data. The special set of
privileges given to him is the complete authority over the database. His job is to
control the space allocation for database objects, take back-up of the data and perform
the data insertion, deletion, updating and retrieval.
End User
The functionality is, will access the database through a query language or an
application program.
The important phases regarding the database maintenance are insertion,
deletion and updating.
Insertion: This phase allows adding data to the existing files or records.
Deletion: The user has full authority to delete any file from the system.
Updating: The user can add, delete and modify the files data. Updating includes
writing the file initially rewriting it completely or in part and removing all or a portion
of the data.
Access can be provided to the following classes of users
Specific User: Individual user designated with a specific User-ID.
User Groups: A set of users who are not individually define. The system must have
some way of keeping track of the Membership of User Groups.
All: These are the public files. All users have access to this system.
3. COMPUTATIONAL ENVIRONMENT
3.1 INTRODUCTION
This chapter deals with the computational environment required to run our
project. It also defines what a software requirement specification is and also defines the
software and hardware requirements of our project. Later in this chapter we discuss the
functionalities in our software.
3.2 REQUIREMENTS
web services. .NET connected solutions enable businesses to integrate their systems
more rapidly and in a more agile manner and help them realize the promise of
information anytime, anywhere, on any device.
.NET Framework
The .NET Framework is Microsoft’s application development platform that
enables developers to easily create Windows applications, web applications, and web
services using a myriad of different programming languages, and without having to
worry about low-level details like memory management and processor-specific
instructions.
Running program
CLR
Fig 3.3.3 shows the working of CLR. Realize that the CLR-to-Running
Program step only occurs when you execute a program. The compiler creates a file that
contains MSIL. When this is “executed,” the MSIL is streamed to the CLR, which then
performs just-in-tine (JIT) compilation, converting the IL to instructions the computer
can understand. The divisions of CLR are defined in the Fig 3.3.4
The following are some of the benefits of the CLR:
Performance improvements.
The ability to easily use components developed in other languages.
Extensible types provided by a class library.
New language features such as inheritance, interfaces, and overloading for
object- oriented programming; support for explicit free threading that allows
creation of multithreaded, scalable applications; support for structured
exception handling and custom attributes.
CTS CLS
The common type system defines how types are declared, used, and managed in the
runtime, and is also an important part of the runtime’s support for cross-language
integration. The common type system performs the following functions:
Defines rules that languages must follow , which helps ensure that
Objects written in different languages can interact with each other.
For Example, if you have created a class in VB.NET, you can inherit from it using
them called the Common Language Specification (CLS) has been defined.
Components that follow these rules and expose only CLS features are considered CLS-
compliant. To fully interact with other objects regardless of the language they were
implemented in, objects must expose to callers only those features that are common to
all the languages they must interoperate with. If your component uses only CLS
features in the API that it exposes to other code (including derived classes), the
component is guaranteed to be accessible from any programming language that
supports the CLS. Components that adhere to the CLS rules and use only the features
included in the CLS are said to be CLS-complaint components.
Namespace holds classes and other types that share a common purpose. For example,
much of the window manager portion of the windows API is encapsulated in the
System. Windows. Forms namespace. In this namespace classes that represent
windows, dialog boxes, menus, and other elements commonly used in GUI
applications are present. A separate namespace called Systems. Collections holds
classes representing hash tables, resizable arrays, and other data containers. Yet
another namespace, System.IO, contains classes for doing file I/O.
.NET Data Providers
ADO.NET relies on the services of .NET data providers. These provide access
to the underlying data source, and they comprise four key objects (connection,
command, Data Reader, and Data Adapter). These are shown in Fig 3.3.6.
The Oracle .NET Data Provider. The .NET Framework Data Provider for
Oracle enables data access to Oracle data sources through Oracle client
connectivity software. The data provider supports Oracle client software
version 8.1.7 and later.
The OLE DB .NET Data Provider. This is a managed provider for OLE DB
data sources. It is slightly less efficient than the SQL Server .NET Data
Provider, because it calls through the OLE DB layer when communicating with
the database. Note that this provider does not support the OLE DB provider for
Open Database Connectivity (ODBC), MSDASQL.
Other .NET data providers currently in beta testing include:
The ODBC .NET Data Provider. The .NET Framework Data Provider for
ODBC uses native ODBC Driver Manager (DM) to enable data access by
means of COM interoperability.
A managed provider for retrieving XML from SQL Server 2000. The XML
for SQL Server Web update 2 (currently in beta) includes a managed provider
specifically for retrieving XML from SQL Server 2000.
Namespace Organization
The types (classes, structs, enums, and so on) associated with each .NET data
provider are located in their own namespaces:
(* The Dataset, which is an in-memory cache of data retrieved from a data source, is a
major component of ADO.NET architecture. Build and fill each DataTable in a
Dataset with data from a data source using a Data Adapter.)
Syntax
For Database Connectivity
To execute a command
dr= cmd.ExecuteNonQuery
da.Fill(ds)
ASP.NET
ASP.NET is a set of web application development technologies marketed by
Microsoft. Programmers can use it to build dynamic websites, web applications and
XML web services. It is part of Microsoft’s .NET platform and is the successor to
Microsoft’s Active Server Pages (ASP) technology. ASP.NET is built on the Common
Language Runtime, meaning programmers can write ASP.NET code using any
Microsoft .NET language.
ASP.NET Platform Requirements
ASP.NET is supported on Windows 2000 (Professional, Server, and Advanced
Server), Windows XP Professional, and the Windows Server 2003 family for both
client and server applications. In addition, to develop ASP.NET server applications,
the following software is also required:
Windows 2000 Server or Advanced Server with Service Pack 2,
Windows XP
Professional or 64-Bit Edition, or one of the Windows Server 2003 family
products.
be aware that your pages are turned into a class that inherits from the Page class (one
of the classes in the .NET Framework). In fact, all of the Web controls that you can use
in your ASP.NET Web pages are represented as classes in the .NET Framework.
ASPX file format
ASPX is a text file format used to create Web form pages; in programming
jargon, the ASPX file typically contains static HTML or XHTML markup, as well as
markup defining Web Controls and Web User Controls where the developer places all
the required static and dynamic content for the web page. Additionally, dynamic code
which runs on the server can be placed in a page within a block
<%--dynamic code-- %>
which is similar to other web development technologies such as PHP, JSP, and ASP,
but this practice is generally discouraged except for Data binding. The recommended
method for dealing with dynamic program code is to use the code-behind model,
which places this code in a separate file or in a specially designated script tag. Code-
behind files are typically named something to the effect of MyPage.aspx.cs or
MyPage.aspx.vb based on the ASPX file name (this practice is automatic in Microsoft
Visual Studio and other IDEs). When using this style of programming, the developer
writes code to respond to different events, like the page being loaded, or a control
being clicked, rather than a procedural walk through the document.
Performance
ASP.NET aims for performance benefits over other script-based technologies
(including ASP Classic) by compiling the server-side code to one or a few DLL files
on the web server. This happens transparently in background the first time a page is
requested (i.e., the developer need not perform a separate compilation step for pages).
This provides the ease for development offered by scripting languages with the
performance benefits of a compiled binary.
The ASPX and other resource files are placed in a virtual host on an Internet
Information Services (or other compatible ASP.NET servers; see Other
Implementation, below). The first time a client requests a page, the .NET framework
parser and compiles the file(s) into a .NET assembly and sends the response;
subsequent requests are served from the dll files.
SQL TABLES
SQL Server stores records relating to each other in a table. Different tables are
created for the various groups of information. Related tables are grouped together to
form a database.
The Table 3.1 is created to store the different branches available in the college.
The Table 3.2 is created to generate and store the roll numbers according to the
university specifications.
The Table 7.3 is used to store the holidays to avoid the admin from allotting on that day.
The Table 3.4 stores the details of the Lecture halls to which students are to be allotted.
The Table 3.5 is used to store the newly admitted student details at the beginning of the
academic year.
Primary Key
Every table in SQL Server has a field or a combination of fields that uniquely
identifies each record in the table. The Unique identifier is called the Primary Key, or
simply the Key. The primary key provides the means to distinguish one record from
all other in a table. It allows the user and the database system to identify, locate and
refer to one particular record in the database.
Relational Database
Sometimes all the information of interest to a business operation can be stored
in one table. SQL Server makes it very easy to link the data in multiple tables.
Matching an employee to the department in which they work is one example. This is
Advantages of RDBMS
Redundancy can be avoided
Inconsistency can be eliminated
Data can be Shared
Standards can be enforced
Security restrictions ca be applied
Integrity can be maintained
Conflicting requirements can be balanced
Disadvantages OF RDBMS
A significant disadvantage of the DBMS system is cost. In addition to the cost
of purchasing of developing the software, the hardware has to be upgraded to allow for
the extensive programs and the workspace required for their execution and storage.
While centralization reduces duplication, the lack of duplication requires that the
database be adequately backed up so that in case of failure the data can be recovered.
3.5 INTRODUCTION TO SQL SERVER
Microsoft SQL Server is a Structured Query language (SQL) based,
Client/Server relational database. Each of these terms describes a fundamental part of
the architecture of SQL Server.
Database
A database is similar to data file in that it a storage space for data. Like a data
file, a database does not present information directly to the user; the user runs an
application that accesses data from the database and presents it to the user in an
understandable format.
A database typically has two components; the file holding the physical database
and the database management system (DBMS) software that applications use to access
the data. The DBMS is responsible for enforcing the database structure, including:
Maintaining the relationships between data in the database.
Ensuring that data is stored correctly and that the rule defining data
relationships are not violated.
Recovering all data to a point of known consistency in case of system failures.
Relational Database
There are different ways to organize data in the database but relational database
are one of the most effective. Relational database systems are an application of
mathematical set theory to the problem of effectively organizing data. In a relational
database, data is collected into tables (called relations in relational theory).
Client/Server
In Client/Server system the server is a relatively large computer in a central
location that manages a resource used by many people. When individuals need to use
the resource, they connect over the network from their computers, or clients, to the
server.
related database can store historical customer orders that are used for yearly reporting.
Before you can create a database, it is important to understand the parts of a database
and how to design these parts to ensure that the database performs well after it is
implemented.
3.6 SOFTWARE REQUIREMENT SPECIFICATION
The SRS is a document that completely describes what the proposed software
should do without describing how the software will do it.
3.6.1 Characteristics of a good SRS document
It should be concise and at the same time unambiguous.
It should be consistent.
It should be well structured and easily modifiable.
It should specify all goals and constraints concerning implementation.
It should record references to maintainability, portability and
adaptability.
3.6.2 Advantages of SRS
An SRS provides a reference for validation of the final product.
A high quality SRS is a perquisite to high quality software.
A high quality SRS reduces the development cost.
3.6.3 Requirement Specification
Overview
No need of approaching the administrator.
Student can view the progress details.
Staff can council the student.
The basic goal of requirement phase is to produce the SRS document which
describes the behaviour of the software system. This project is designed for the
administration to maintain the college database. It is also used to view the required
information regarding an engineering college and its activities based on the
authorization of the user.
Purpose
The main purpose for preparing this document is to give a general insight into the
analysis and requirements of the existing system or situation and for determining the
operational characteristics of the system.
Scope
This document plays a vital role in the Software Development Life Cycle (SDLC) as it
describes the complete requirements of the system. It is meant for use by the developers
and will be the basis for testing the system.
3.6.4 Functional Requirement
Admin Module
Background
This module facilitates in creating the organizational structure of the college. It is
maintained by the administrator who manages the database of the college.
Functionalities
It allows the authorized user to create, control and view the information regarding the
entities like Departments, Subjects and also the other main aspects which come under
admin level.
Student Module
Background
This module facilitates in creating and maintaining the entire database of a student. The
Report feature of this module facilitates in generation of reports pertaining to all the
major aspects of student affairs.
Functionalities
It provides the user to view the required details of a particular student. The main
activities include student admissions and marks details of a particular student.
3.6.5 Non Functional Requirements
User Interface and Human Factors
User interface should be in such a way that even layman can understand it. So
GUI is preferred. There should be a login form after getting authorized to authenticate
the user. Main menu form regarding the available modules should also exist.
Users of the system are from various backgrounds, so at most help should be
provided such as placing icons for easy understanding. The user is intimated then and
there so when he enters invalid data.
3.6.6 Performance Requirements
Performance is measured in terms of different facilities provided to the authorized user.
The efficiency of the system should be more. It must be able to handle heavy work.
Response time should be fast. Accuracy is very important for the information retrieval.
Error Handling
If the user enters invalid data, the system should warn the user. Validation of inputs
should be done.
Quality Issues
System should be available to the authorized users whenever required. The system
should not crash even if the user gives an invalid username or password.
Security Issues
System should not allow any unauthorized user to extract information from it.
3.7 SUMMARY
In this chapter, we have completely learned about the requirements for running
our project. We have also studied thoroughly the computational environment of our
project.
4. FEASIBILITY STUDY
4.1 INTRODUCTION
In this chapter, we are going see about the feasibility of our project. We are
going to study technical, operational and economical feasibility of WECA. This helps in
getting an optimal product.
4.2 TECHNICAL FEASIBILITY
Evaluating the technical feasibility is the trickiest part of a feasibility study. This
is because, at this point of time, a detailed design of the system is not available, making
it difficult to access issues like performance, costs (on account of the kind of technology
to be deployed) etc. A number of issues have to be considered while doing a technical
analysis.
Understand the different technologies involved in the proposed system
Before commencing the project, we have to be very clear about what are the
technologies that are to be required for the development of the new system.
Find out whether the organization currently possesses the required technologies
Is the required technology available with the organization? If so, is the capacity
sufficient? For instance- “Will the current database be able to handle the new reports
and forms required for the new system?”
4.3 OPERATIONAL FEASIBILITY
Proposed projects are beneficial only if they can be turned into information
systems that will meet the organizations operating requirements. Simply stated, this test
of feasibility asks if the system will work when it is developed and installed. Are there
major barriers to implementation? Here are questions that will help test the operational
feasibility of a project:
Is there sufficient support for the project from management from users?
If the current system is well liked and used to the extent that persons will not be
able to see reasons for change, there may be resistance.
Are the current business methods acceptable to the user?
If they are not, users may welcome a change that will bring about a more
operational and useful system.
Have the users been involved in the planning and development of the project?
Early involvement reduces the chances of resistance to the system and in
general, increases the likelihood of a successful project. Since the proposed system was
to help reduce the hardships encountered in the existing manual system, the new system
was considered to be operationally feasible.
4.4 ECONOMIC FEASIBILITY
Economic feasibility attempts to weigh the costs of developing and
implementing a new system, against the benefits that would accumulate from having the
new system in place. This feasibility study gives the top management the economic
justification for the new system. A simple economic analysis which gives the actual
comparison of costs and benefits are much more meaningful in this case. In addition,
this proves to be a useful point of reference to compare actual costs as the project
progresses. There could be various types of intangible benefits on account of
automation. These could include increased customer satisfaction, improvement in
product quality, better decision making, timeliness of information, expediting activities,
improved accuracy of operations, better documentation and record keeping, fast
retrieval of information and better employee morale.
4.5 SUMMARY
In this chapter, we have clearly understood the optimality and feasibility of our
product. We have discussed that we have technical, operational and economical
feasibility for our product.
5. SYSTEM ANALYSIS
5.1 INTRODUCTION
Requirement Analysis is done in order to understand the problem the software
system is to solve. The problem could be automating an existing manual process,
developing a new automated, or a combination of the two. For large systems that have
many features, and that need to perform many different tasks, understanding the
requirement of the system is a major task. The emphasis in requirement analysis is on
identifying what is needed from the system, not how the system will achieve its goals.
There are two major activities in this phase: problem understanding or analysis
and requirements specification. In the problem analysis, the analyst has to understand
the problem and its context. Such analysis, typically requires a through understand is
needed of the important data entities in the system, major centres where action is taken
the purpose of the different actions that are performed, the inputs and the outputs.
Understanding the existing system is usually just the starting activity in problem
analysis, and is relatively simple. The goal of this activity is to understand the
requirements of the new system that is to be developed. Understanding the properties
of system that does not exist is more difficult and requires creative thinking. Once the
problem is analysed and the essential understood, the requirements must be specified
in the requirement specification.
5.4 SUMMARY
In this chapter, we have clearly analysed the product system. We have seen the
existing system and its drawbacks. We have also seen the proposed system and its
advantages. Hence we have clearly understood the system analysis of our product.
6. SYSTEM DESIGN
6.1 INTRODUCTION
The purpose of the design phase is to plan a solution of the problem specified
by the requirement document. This phase is the first step in moving from the problem
domain to the solution domain. In other words, starting with what is needed; design
takes us toward how to satisfy the needs. The design of a system is perhaps the most
critical factor affection the quality of the software; it has a major impact on the later
phase, particularly testing, maintenance. The output of this phase is the design
document. This document is similar to a blueprint for the solution and is used later
during implementation; testing and maintenance. The design activity is often divided
into two separate phases System Design and Detailed Design.
System Design 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 the system design all the major
data structures, file formats, output formats, and the major modules in the system and
their specifications are decided.
During Detailed Design, the internal logic of each of the modules specified in
system design is decided. During this phase, the details of the data of a module is
usually specified in a high-level design description language, which independent of the
target language in which the software will eventually be implemented.
In system design the focus is on identifying the modules, whereas during
detailed design the focus is on designing the logic for each of the modules.
6.2 ARCHITECTURAL DESIGN
6.2.1 Logical Design (interfacing)
The two basic modern design strategies employed in software design are
1. Top Down Design
2. Bottom Up Design
Top Down Design is basically a decomposition process, which focuses on the
flow of control. At later stages it concern itself with the code production. The first step
is to study the overall aspects of the tasks at hand and to break it into a number of
independent modules. The second step is to break each one of these modules further
into independent sub-modules. The process is repeated one to obtain modules, which
are small enough to group mentally and to code in a straightforward manner. One
important feature is that each level that details of design at the lower level are hidden.
Only the necessary data and control that must be called back and forth over the interface
are defined. In a bottom-up design one first identifies and investigates parts of design
that are most difficult and necessary designed decision are made the reminder of the
design is tailored to fit around the design already choose for crucial part. It vaguely
represents a synthesis process explained in previous section. One storage point of the
top-down methods is that it postpones details of the decision until the last stage of the
decision. It allows making small design changes when the design is half way through.
6.3. UML DIAGRAMS
Introduction to UML
The unified Modeling Language (UML) is one of the most exciting tools in the
world of system deployment today, the UML enables system builders to create blue
prints to capture their vision in a standard, easy to understand way and communicate
them to other.
How the UML Came To Be
The UML is the brainchild of Grady Booch, James Rumbaugh and Invar
Jacobson. Recently dubbed “The Three Amigos”, these gentlemen worked in separate
organizations through the “80’s and early 90’s”, each devising his own methodology for
object oriented analysis and design. Their methodologies achieved pre-eminence over
those of numerous competitors .By the mid 90’s, they began barrow ideas from each
other, so they decided to evolve their work together. In 1994, Rumbaugh joined rational
software corporation, where such was already working Jacobson enlisted at rational a
year later.
The rest, as they say in history. Draft version of the UML began to circulate
throughout the software industry and the resulting feedback brought substantial
changes. As many corporations felt the UML would serve their strategic purposes UML
consolation felt the UML would save their strategic purposes, a UML consortium
sprang up. Members include DEC, Hewlett-Packard, intellicorp, Microsoft, Oracle,
rational and others. In 1997, the consortiums produced version 1.0 of the UML and
submitted it to the object management group (OMG).In response to OMG request for a
proposal for a standard modelling language.
yield and observable result to value an actor. Graphically, a use case is rendered as an
ellipse.
Names
Every use case must have a name that distinguishes it from other use cases. A
name is a textual string. That name alone is known as a simple name, a path name is the
use case prefixed by the name of the package in which that use case lives. A use case is
typically drawn showing only its name.
Use cases and Actors
An actor represents a coherent set of roles that users of use cases play when
interacting with these use case. Typically, an actor represents a role that a human, a
hardware device or even another system plays with a system.
and understandable by presenting an outside view of how those elements may be used
in context. Use case diagrams are also important for testing executable systems through
forward engineering and for comprehending executable systems through reverse
engineering.
Use case diagrams commonly contain:
Use cases
Actors
Dependency, generalization and association relationships
Class Diagrams
Class diagrams are the backbone of almost every object-oriented method
including UML. They describe the static structure of a system. Illustrate classes with
rectangles divided into compartments. Place the name of the class in the first partition
(centred, bolded, and capitalized), list the attributes in the second partition, and write
operations into the third. Active classes initiate and control the flow of activity, while
passive classes store data and serve other classes. Illustrate active classes with a thicker
border. Associations represent static relationships between classes. Place association
names above, on, or below the association line. Use a filled arrow to indicate the
direction of the relationship. Place roles near the end of an association. Roles represent
the way the two classes see each other. Classes represent an abstraction of entities with
common characteristics. Associations represent the relationships between classes.
Sequence Diagrams
In a functioning system, however objects interact with one another and these
interactions occur over time. The UML sequence diagram shows the time based
dynamics of the interaction. Sequence diagrams represent the objects participating in
the interaction horizontally and time vertically. Each column represents object that
participates in the interaction. Solid lines show messages. Labels on solid arrows
represent message, names and may contain arguments. Activation are depicted by
vertical rectangles the actor who initiates the interaction is shown in the left most
column. The linkage coming from the actor represent the interaction described in the
use case diagram.
Collaboration diagrams
A collaboration diagram describes interactions among objects in terms of
sequenced messages. Collaboration diagrams represent a combination of information
taken from class, sequence, and use case diagrams describing both the static structure
and dynamic behavior of a system. Unlike sequence diagrams, collaboration diagrams
do not have an explicit way to denote time and instead number messages in order of
execution. Sequence numbering can become nested using the Dewey decimal system.
For example, nested messages under the first message are labeled 1.1, 1.2, 1.3, and so
on. The condition for a message is usually placed in square brackets immediately
following the sequence number. Use a * after the sequence number to indicate a loop.
Activity Diagrams
Activity diagrams illustrate the dynamic nature of a system by modeling the
flow of control from activity to activity. An activity represents an operation on some
class in the system that results in a change in the state of the system. Typically, activity
diagrams are used to model workflow or business processes and internal operation. The
outing transitions in a state chart representations are triggered by the completion of
action associated with the state this is called an action state. By convention the name of
the state denotes a condition where the name of the action state denotes an action.
Activity diagrams are state chart diagrams whose states are action states.
7. SYSTEM IMPLEMENTATION
7.1 INTRODUCTION
In this chapter, we are going to see how our product is implemented. We are
also going to study the different ways of building software like the waterfall model. We
are also going to see the architecture of .Net and how it works. We have also seen how
the SQL server works
7.3 MODULES
Login
In this module, we have provided the login with two different functionalities.
One of them is administrator login and another is student login. Admin login leads to
higher functionalities whereas student login has limited permissions.
Database Entry
This is a one-time entry module. Admin enters into this module at the
beginning of the academic year and updates all the students’ details and also the room
numbers and their respective capacities. This has to be done only once an academic
year.
This is the main module or central module. In this module, we select the
semester and branch of the students to be allotted in a room. We also give subject
codes, date of exam and room number we are allotting as inputs. We can also modify
the mode of arrangement in three styles (Alternate, column-wise, Random). Finally by
clicking “Generate”, allotment is generated accordingly. By clicking on “Save”,
allotment details are updated into the database.
In this module, we can edit the already allotted rooms’ details. Editing of Roll
numbers is blocked. But, you can edit details like subject codes, Date of exam, etc...
In this module, we can view the rooms already allotted. We get the branches
allotted in each room and the beginning and ending roll numbers in each room.
This module is integrated into the modules “Edit Seating Allotment” and
“View Room-wise Allotment”. This is nothing but an option to print the respective
pages by hiding the buttons in the respective pages and printing only the content.
This is the module where the admin can edit the details of the student which are
entered at the beginning of the academic year.
7.4 SUMMARY
In this chapter, we have thoroughly studied how the system in our product is
implemented. We have also seen all the modules of our project and understood the work
done in the respective modules.
8. TESTING
8.1 INTRODUCTION
In this chapter, we are going to see how the testing process works. We are also
going to test our product using all the testing techniques and we are going to write some
test cases for our product. We are going to make sure it is going to work without any
flaws after the release.
8.2 TESTING STRATEGIES
In a software development project, errors can be injected at any stage during the
development. These errors will be reflected in the code, so the application should be
thoroughly tested, validating its operations and seeking feedback on user interfaces.
There are two basic approaches to testing, functional and structural. In
functional or black box testing, the structure of the program is not considered. Test
cases are decided solely on the basis of functional requirements of the program or
module. Structural or white box testing, this is concerned with testing the
implementation of the program. Its aim is to exercise the different programming and
data structures used in the program. We are having the following levels of testing.
System Testing
Unit Testing
Integration Testing
Stress Testing
Volume Testing
Recovery Testing
System Testing
This is a series of tests whose purpose is to fully exercise the entire software
system. System testing verifies that all elements mesh properly and the overall system
function/performance is achieved. System testing is done using real data. The system
performance was found to be working as per the requirements specified.
Test for security risk factors- unauthorized access both by individuals and by
programs.
Implement the system in a simulated environment and test it.
Introduce errors and test for error handling
Unit Testing
In this testing different modules are tested against the specification produced
during the design of the modules. The main aim of this testing is to test the internal
logic of the modules.
Add test cases of data flow coverage.
Add intuitive test cases based on experience (error guessing) such as testing for
boundary conditions minimum, maximum and off by one boundary.
Add test cases for path or branch coverage (use structured basis testing method).
Give test cases for testing against the requirements of the unit being tested.
Integrated Testing
Many tested modules are combined into sub system, which are then tested. The
emphasis is on testing interface between modules. This activity can be considered to
test the design. This testing is looked for the following types of programs.
Test Case 2
Test Case 3
8.4 SUMMARY
In this chapter, we have clearly understood the testing process of our product
and also have analysed some of the test cases from our product. By this we have assured
that our product will work flawlessly after being released.
9. SAMPLE CODE
LOGIN CODE
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//if(!IsPostBack)
//txtUserNm.Focus();
DAL dalobj;
lblErr.Text = "";
Session.Clear();
if (drpUsrTyp.SelectedValue == "A")
//Server.Transfer("EmpMaster.aspx");//Response.Redirect("EmpMaster.aspx");
if (txtPsd.Text.Trim() == "ecap")
//FormsAuthentication.DefaultUrl="EmpMaster.aspx";
FormsAuthentication.RedirectFromLoginPage(txtUserNm.Text.Trim(),
false);
if (Request.QueryString["ReturnUrl"] == null)
Response.Redirect("empmaster.aspx");
else
else
dalobj=new DAL();
if(dalobj.isEmployee(txtUserNm.Text.Trim()))// &&
txtPsd.Text=="rec")//txtUserNm.Text=="std")//
if (txtPsd.Text == "rec")
FormsAuthentication.RedirectFromLoginPage(txtUserNm.Text.Trim(),
false);
Session["empId"] = txtUserNm.Text;
Response.Redirect("staffMaster.aspx");
else
else
else
dalobj=new DAL();
if (txtPsd.Text == "rec")
FormsAuthentication.RedirectFromLoginPage(txtUserNm.Text.Trim(),
false);
Session["stdID"] = txtUserNm.Text;
Response.Redirect("stdmaster.aspx");
else
else
//{
// lblStdErr.Text = "";
// //Server.Transfer("StdMaster.aspx");
// {
// //FormsAuthentication.DefaultUrl = "StdMaster.aspx";
// FormsAuthentication.RedirectFromLoginPage(txtUserNm.Text.Trim(), false);
// }
ALLOTMENT CODE
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
DAL dalobj;
if (!IsPostBack)
drpBranch.DataTextField = "BranchName";
drpBranch.DataValueField = "Code";
drpBranch.DataBind();
drpBranch0.DataTextField = "BranchName";
drpBranch0.DataValueField = "Code";
drpBranch0.DataBind();
hdnLblId.Text = e.Item.Cells[0].Text;
txtExamCode.Text = e.Item.Cells[1].Text;
txtyear.Text = e.Item.Cells[2].Text;
drpBranch.SelectedIndex=drpBranch.Items.IndexOf(drpBranch.Items.FindByValue(e.It
em.Cells[3].Text));
drpSem.SelectedIndex=drpSem.Items.IndexOf(drpSem.Items.FindByText(e.Item.Cells[
4].Text));
txtRoomNo.Text = e.Item.Cells[6].Text;
btnsave.Text = "Update";
if (!(a.Equals(b)))
if (drpArr.SelectedValue == "Alternate")
if (r < table.Rows.Count)
TextBox1.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox2.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox3.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox4.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox5.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox6.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox8.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox7.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox10.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox9.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox12.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox11.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox13.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox14.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox15.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox16.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox17.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox18.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox20.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox19.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox22.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox21.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox24.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox23.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (drpArr.SelectedValue == "Columnwise")
if (r < table.Rows.Count)
TextBox1.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox7.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox2.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox8.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox3.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox9.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox4.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox10.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox5.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox11.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox6.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox12.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox13.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox19.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox14.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox20.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox15.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox21.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox16.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox22.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox17.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox23.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox18.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox24.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (drpArr.SelectedValue == "Random")
if (r < table.Rows.Count)
TextBox1.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox2.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox24.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox23.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox8.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox7.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox22.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox21.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox15.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox16.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox10.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox9.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox3.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox4.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox20.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox19.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox13.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox14.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox17.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox18.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox5.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox6.Text = table1.Rows[r1][3].ToString();
r++; r1++;
if (r < table.Rows.Count)
TextBox12.Text = table.Rows[r][3].ToString();
if (r < table.Rows.Count)
TextBox11.Text = table1.Rows[r1][3].ToString();
r++; r1++;
else
try
if (btnsave.Text == "Save")
if (dalobj.ExecuteActionQuery(str))
else
setDefault(s, e);
catch
txtExamCode.Text = "";
txtyear.Text = "";
drpBranch.SelectedIndex = 0;
drpSem.SelectedIndex = 0;
txtRoomNo.Text = "";
btnsave.Text = "Save";
getRollNo();
dalobj = new DAL(); string room = ""; string room1 = ""; string room2 = "";string
room3 = "";string allot = "no";
Screen 2
Form Name: MAIN PAGE(Admin)
Description:
As the name implies this is the main page, where the admin accesses all his
objects. He can perform different operations like adding new student, edit existing
student details, seating allotment, e.t.c..
Screen 3
Form Name: ADD NEW STUDENT
Description:
In this page, we are going to add a new student to the database. We are going to
update the details of the student like name, hallticket number, marks ,e.t.c..
Screen 4
Form Name: EDIT STUDENT
Description:
The below form is used to search for the details of a student, and edit if there
are any corrections to be made to the existing entries.
Screen 5
Form Name: BRANCHES
Description:
This submodule is used to add a new branch if required,modify the existing
branches and also allows the administrator to delete any branch if not required.
Screen 6
Form Name: LECTURE HALLS
Description:
This submodule facilitates the administrator to allot room numbers for a
particular branch belonging to a particular year,also contains the information regarding
the numbers of benches,rows,columns etc.
Screen 7
Form Name: NEW ALLOTMENT
Description:
This is going to assign the students roll numbers to the classrooms available in
one of the three arrangements like alternate, columnwise, random. We have also
provided option to give subjects as input.
Screen 8
Form Name: EDIT/PRINT ALLOTMENT
Description:
In this page, admin has the option to view the already alotted classrooms and
print the allotment sheet.
Screen 9
Screen 10
Form Name: ROOM ALLOTMENT
Description:
In this page, we can see all the rooms alloted. Also, the branches alloted in
each room and the beginning and ending roll numbers of each alotted branch. In the
second screen, we can see the print layout of the room allotments.
Screen 11
Screen 12
Form Name: MAIN PAGE(STUDENT LOGIN)
Description:
Here the student can view only his details, depending on the roll number of the
student. It also consists of the branch and semester dropdown list as shown in the screen
below.
Therefore WECA plays a major role in fulfilling the need for the storage,
retrieval and updation of the data and information regarding an educational institution
which can be maintained by the administrator and all the other users like students and
staff can just view the data present in the database in an efficient way.
Using SQL server, procedures are created to perform operations such as
selection, insertion etc. which is very efficient than writing a query. It also minimizes
the code and errors. Security is maintained by placing primary keys for certain fields so
that data is not repeated. Data is consistent, reliable and integrated.
System is checked for the data entry, it doesn’t allow the user to enter invalid
data.
User friendly screens are designed. Operations are done by the way of GUI.
Code is scalable and portable to advanced versions of front end and back end.
Web Based Examination Cell Application can be developed using other software tools
also maintaining the same restrictions and validations.
12. BIBLIOGRAPHY
12.1 BOOKS AND REFERENCES
[1] Kelvin Hoffman and Lonny Krugger, Visual C#.NET 2003, ISBN 81-297-0939-2
[3] Rob Vietra, SQL Server 2000 Programming, ISBN 81-7366-206-1 (Wrox
Publications)
12.2 WEBSITES
[4] www.w3schools.com/asp/
[5] www.asp.net/
[6] www.stackoverflow.com/