I-Teach Information Technology: Dept of CSE
I-Teach Information Technology: Dept of CSE
INTRODUCTION
Dept of CSE Page
I-Teach Information Technology
1.1. INTRODUCTION TO PROJECT
In a company where the hierarchy of employees spans over thousand managing
the work with them is a difficult job. And in an environment where number of jobs is
done simultaneously picking the right person for the job is also difficult task, as you are
not aware of their availability. This application is designed for such an environment
where the work is divided into group of employees and during the course of division the
employees are selected to be part of the work in hand.
This software being a web based is easily accessible from any corner of the
company as every machine is part of a LAN network. The reason why it is made as a
web application rather than a window based application if for the same reason. The
complete task is divided into two types of users. Administrator !ighest authority",
#anager working group $ommunity". The activities underlying these sections are as per
the company policies.
This application provides most of the features re%uired to manage the tasks
developed in a firm.
&.'. ORGANIZATION PROFILE
SOFTWARE SOLUTIONS
TechInnova (oftware (olutions is an IT solution provider for a dynamic
environment where business and technology strategies converge. Their approach focuses
on new ways of business combining IT innovation and adoption while also leveraging an
organi)ation*s current IT assets. Their work with large global corporations and new
products or services and to implement prudent business and technology strategies in
today*s environment.
Dept of CSE Page
I-Teach Information Technology
TECHINNOVAS RANGE OF EXPERTISE INCLUDES:
(oftware +evelopment (ervices
,ngineering (ervices
(ystems Integration
$ustomer -elationship #anagement
.roduct +evelopment
,lectronic $ommerce
$onsulting
IT /utsourcing
0e apply technology with innovation and responsibility to achieve two broad objectives1
,ffectively address the business issues our customers face today.
2enerate new opportunities that will help them stay ahead in the future.
THIS APPROACH RESTS ON:
A strategy where we architect, integrate and manage technology services and solutions 3
we call it AI# for success.
A robust offshore development methodology and reduced demand on customer resources.
A focus on the use of reusable frameworks to provide cost and times benefits.
They combine the best people, processes and technology to achieve e4cellent results 3
consistency. 0e offer customers the advantages of1
Dept of CSE Page
I-Teach Information Technology
SPEED:
They understand the importance of timing, of getting there before the competition.
A rich portfolio of reusable, modular frameworks helps jump3start projects. Tried and
tested methodology ensures that we follow a predictable, low 3 risk path to achieve
results. /ur track record is testimony to comple4 projects delivered within and evens
before schedule.
EXPERTISE:
/ur teams combine cutting edge technology skills with rich domain e4pertise.
0hat*s e%ually important 3 they share a strong customer orientation that means they
actually start by listening to the customer. They*re focused on coming up with solutions
that serve customer re%uirements today and anticipate future needs.
A FULL SERVICE PORTFOLIO:
They offer customers the advantage of being able to Architect, integrate and
manage technology services. This means that they can rely on one, fully accountable
source instead of trying to integrate disparate multi vendor solutions.
SERVICES:
TechInnova is providing it*s services to companies which are in the field of
production, %uality control etc 0ith their rich e4pertise and e4perience and information
technology they are in best position to provide software solutions to distinct business
re%uirements.
Dept of CSE Page
I-Teach Information Technology
&.5. PURPOSE OF THE PROJECT
The system provides help in managing different tasks as well as the employees associated
with the work. .rovides instant status of involvements of a person in the task. .rovide all
the available members to be part of the team and easy selection procedure to make them
available when re%uired. (ecurity to the confidential information. -educe the redundancy
of making the entries of the activities which are done manually. To speed up the
processing with in the firm.
Dept of CSE Page
I-Teach Information Technology
PROBEMS AND SOLUTIONS
OF THE PROJECT
2.1. PROBLEM IN EXISTING SYSTEM
Dept of CSE Page
I-Teach Information Technology
The current system is a manual one where in the company maintains all the
information in the form of records. There by collecting necessary information with
re%uire a manual search in the records".
Transfer of information between different sections of the enterprise is in the form
of documents or letters. +rafting letters will take time.
(election of a person for a task is done by manually approaching the person and
confirming the availability of the person.
6navailability of proper information to different levels of employees with in the
firm.
2.2. SOLUTION OF THESE PROBLEMS
The development of the new system contains the following activities, which try to
automate the entire process keeping in view of the database integration approach.
6ser friendliness is provided in the application with various controls.
The system makes the overall project management much easier and fle4ible.
-eadily upload the latest updates, allows user to download the alerts by clicking
the 6-L.
There is no risk of data mismanagement at any level while the project
development is under process.
It provides high level of security with different level of authentication.
Dept of CSE Page
I-Teach Information Technology
FEASIBILITY REPORT
3. F!"#$#%#&' R()*&
.reliminary investigation e4amine project feasibility, the likelihood the system will be
useful to the organi)ation. The main objective of the feasibility study is to test the Technical,
/perational and ,conomical feasibility for adding new modules and debugging old running
Dept of CSE Page
I-Teach Information Technology
system. All system is feasible if they are unlimited resources and infinite time. There are
aspects in the feasibility study portion of the preliminary investigation1
Technical 7easibility
/peration 7easibility
,conomical 7easibility
3.1. T+,-#+!% F!"#$#%#&'
The technical issue usually raised during the feasibility stage of the investigation
includes the following1
+oes the necessary technology e4ist to do what is suggested8
+o the proposed e%uipments have the technical capacity to hold the data re%uired to
use the new system8
0ill the proposed system provide ade%uate response to in%uiries, regardless of the
number or location of users8
$an the system be upgraded if developed8
Are there technical guarantees of accuracy, reliability, ease of access and data
security8
,arlier no system e4isted to cater to the needs of 9(ecure Infrastructure
Implementation (ystem*. The current system developed is technically feasible. It is a web
based user interface for audit workflow at NI$3$(+. Thus it provides an easy access to the
users. The database*s purpose is to create, establish and maintain a workflow among various
entities in order to facilitate all concerned users in their various capacities or roles.
.ermission to the users would be granted based on the roles specified. Therefore, it provides
the technical guarantee of accuracy, reliability and security.
3.2. O(*!&#)-!% F!"#$#%#&'
.roposed projects are beneficial only if they can be turned out into information
system. That will meet the organi)ation*s operating re%uirements. /perational feasibility
aspects of the project are to be taken as an important part of the project implementation.
Dept of CSE Page
I-Teach Information Technology
(ome of the important issues raised are to test the operational feasibility of a project includes
the following1 3
Is there sufficient support for the management from the users8
0ill the system be used and work properly if it is being developed and implemented8
0ill there be any resistance from the user that will undermine the possible application
benefits8
This system is targeted to be in accordance with the above3mentioned issues.
:eforehand, the management issues and user re%uirements have been taken into
consideration. (o there is no %uestion of resistance from the users that can undermine the
possible application benefits.
The well3planned design would ensure the optimal utili)ation of the computer resources and
would help in the improvement of performance status.
3.3. E+)-).#+ F!"#$#%#&'
A system can be developed technically and that will be used if installed must still be a good
investment for the organi)ation. In the economical feasibility, the development cost in
creating the system is evaluated against the ultimate benefit derived from the new systems.
7inancial benefits must e%ual or e4ceed the costs.
The system is economically feasible. It does not re%uire any addition hardware or
software. (ince the interface for this system is developed using the e4isting resources and
technologies available at NI$, There is nominal e4penditure and economical feasibility for
certain.
Dept of CSE Page
I-Teach Information Technology
SYSTEM ANALYSIS
/.1 SOFTWARE RE0UIREMENT SPECIFICATION
DESCRIPTION:
Dept of CSE Page
I-Teach Information Technology
In a company where the hierarchy of employees spans over thousand
managing the work with them is a difficult job. And in an environment where number of jobs
is done simultaneously picking the right person for the job is also difficult task, as you are not
aware of their availability. This application is designed for such an environment where the
work is divided into group of employees and during the course of division the employees are
selected to be part of the work in hand.
This software being a web based is easily accessible from any corner of the
company as every machine is part of a LAN network. The reason why it is made as a web
application rather than a window based application if for the same reason. The complete task
is divided into two types of users. Administrator !ighest authority", #anagerworking group
$ommunity". The activities underlying these sections are as per the company policies. This
application provides most of the features re%uired to manage the tasks developed in a firm.
MODULES:
ADMINSTRATOR:
In these Administrator means the person who is managing the entire website.
PROVISIONING:
A1.#- L)2#-:
Admin I+
6ser Nam
.assword
EMPLOYEE DETAILS:
employee;id
employee;name
login
pass
email
security;level
PROJECTS:
project;id
project;name
employee;id
PRIORITIES:
priority;id
Dept of CSE Page
I-Teach Information Technology
priority;desc
STATUS:
status;id
(tatus
FUNCTIONALITIES:
Association between Admin and ,mployees
Association between Admin and .rojects
Association between Admin and .riorities
Association between Admin and (tatus
0UERIES:
!ow many ,mployees are registered
!ow many .rojects are assigned to an ,mployee.
ALERTS:
,ntered Admin I+ is wrong
,ntered Admin password is wrong
All fields are mandatory.
.rojects are added successfully.
,mployee +etails updated successfully.
REPORTS:
2enerating a report on how many ,mployees registered.
2enerating a report on how many .rojects are uploaded.
EMPLOYEE MODULE:
D"+*#(&#)-: .rovides different tasks as well as the employees associated with the work.
.rovides instant status of the involvements of a person in the task (ecurity to the confidential
information
TAS3S:
task;id
task;name
task;desc
resolution
Dept of CSE Page
I-Teach Information Technology
date;assigned
date;resolved
STATUS:
status;id
(tatus
FUNCTIONALITIES:
Association between ,mployees and Tasks
Association between ,mployees and (tatus
0UERIES:
!ow many tasks are assigned.
0hat is the status of the project.
ALERTS:
Tasks assigned successfully.
(tatus of the project is updated successfully.
R()*&":
2enerating a report on how many tasks are assigned
2enerating a report on what is the status of the project.
APPLICATION MODULE:
PROJECTS:
project;id
project;name
FUNCTIONALITIES:
Association between ,mployees and .rojects
Association between Admin and .rojects
0UERIES:
!ow many .rojects are assigned.
0hen the projects are assigned to an ,mployee
ALERTS:
Dept of CSE Page
I-Teach Information Technology
.rojects are assigned successfully.
R()*&":
2enerating a report on how many projects are assigned
2enerating a report on what is the .roject
TAS3S MODULE:
,ach ,mployee will be assigned different tasks like +esigning, coding, testing and database
etc. At the end of the 0eek or month the administrator will see the status of the respective
employees and there completed work.
TAS3S:
task;id
task;name
task;desc
resolution
date;assigned
date;resolved
FUNCTIONALITIES:
Association between ,mployees and tasks
Association between Admin tasks
0UERIES:
!ow many tasks are assigned.
0hen the projects are tasks to an ,mployee
0hat is the task of an ,mployee
ALERTS:
Tasks are assigned successfully.
Tasks are <iewed successfully by Admin
R()*&":
2enerating a report on how many tasks are assigned
2enerating a report on what is the task
Dept of CSE Page
I-Teach Information Technology
/.2 HARDWARE CONFIGURATION
= (>(T,# 1 .entium I< '.? 2!)
= !A-+ +I(@ 1 ?A 2:
= 7L/..> +-I<, 1 &.?? #:
= #/NIT/- 1 &B <2A colour
= #/6(, 1 Logitech.
= -A# 1 'BC #:
SYSTEM DESIGN
Dept of CSE Page
I-Teach Information Technology
4.1. M)15% 1"#2-:
(oftware design sits at the technical kernel of the software engineering process
and is applied regardless of the development paradigm and area of application. +esign is
the first step in the development phase for any engineered product or system. The
designer*s goal is to produce a model or representation of an entity that will later be built.
:eginning, once system re%uirement have been specified and analy)ed, system design is
the first of the three technical activities 3design, code and test that is re%uired to build and
verify software.
The importance can be stated with a single word DEualityF. +esign is the place
where %uality is fostered in software development. +esign provides us with
representations of software that can assess for %uality. +esign is the only way that we can
accurately translate a customer*s view into a finished software product or system.
(oftware design serves as a foundation for all the software engineering steps that follow.
0ithout a strong design we risk building an unstable system G one that will be difficult to
test, one whose %uality cannot be assessed until the last stage.
Dept of CSE Page
I-Teach Information Technology
+uring design, progressive refinement of data structure, program structure, and
procedural details are developed reviewed and documented. (ystem design can be viewed
from either technical or project management perspective. 7rom the technical point of
view, design is comprised of four activities G architectural design, data structure design,
interface design and procedural design.
4.2. DATA FLOW DIAGRAMS
A data flow diagram is graphical tool used to describe and analy)e movement of
data through a system. These are the central tool and the basis from which the other
components are developed. The transformation of data from input to output, through
processed, may be described logically and independently of physical components
associated with the system. These are known as the logical data flow diagrams. The
physical data flow diagrams show the actual implements and movement of data between
people, departments and workstations. A full description of a system actually consists of
a set of data flow diagrams. 6sing two familiar notations >ourdon, 2ane and (arson
notation develops the data flow diagrams. ,ach component in a +7+ is labeled with a
descriptive name. .rocess is further identified with a number that will be used for
identification purpose. The development of +7+*( is done in several levels. ,ach
process in lower level diagrams can be broken down into a more detailed +7+ in the ne4t
level. The lop3level diagram is often called conte4t diagram. It consists a single process
bit, which plays vital role in studying the current system. The process in the conte4t level
diagram is e4ploded into other process at the first level +7+.
The idea behind the e4plosion of a process into more process is that understanding
at one level of detail is e4ploded into greater detail at the ne4t level. This is done until
Dept of CSE Page
I-Teach Information Technology
further e4plosion is necessary and an ade%uate amount of detail is described for analyst to
understand the process.
Larry $onstantine first developed the +7+ as a way of e4pressing system
re%uirements in a graphical from, this lead to the modular design.
A +7+ is also known as a Dbubble $hartF has the purpose of clarifying system
re%uirements and identifying major transformations that will become programs in system
design. (o it is the starting point of the design to the lowest level of detail.
DFD SYMBOLS:
In the +7+, there are four symbols
&. A s%uare defines a sourceoriginator" or destination of system data
'. An arrow identifies data flow. It is the pipeline through which the information flows
5. A circle or a bubble represents a process that transforms incoming data flow into outgoing
data flows.
?. An open rectangle is a data store, data at rest or a temporary repository of data
.rocess that transforms data flow.
(ource or +estination of data
+ata flow
+ata (tore
Dept of CSE Page
I-Teach Information Technology
CONSTRUCTING A DFD:
(everal rules of thumb are used in drawing +7+*(1
&. .rocess should be named and numbered for an easy reference. ,ach name should be
representative of the process.
'. The direction of flow is from top to bottom and from left to right. +ata traditionally flow
from source to the destination although they may flow back to the source. /ne way to
indicate this is to draw long flow line back to a source. An alternative way is to repeat the
source symbol as a destination. (ince it is used more than once in the +7+ it is marked
with a short diagonal.
5. 0hen a process is e4ploded into lower level details, they are numbered.
?. The names of data stores and destinations are written in capital letters. .rocess and
dataflow names have the first letter of each work capitali)ed
Euestionnaires should contain all the data elements that flow in and out. #issing
interfaces redundancies and like is then accounted for often through interviews.
SAILENT FEATURES OF DFDS
&. The +7+ shows flow of data, not of control loops and decision are controlled
considerations do not appear on a +7+.
'. The +7+ does not indicate the time factor involved in any process whether the dataflow
take place daily, weekly, monthly or yearly.
Dept of CSE Page
I-Teach Information Technology
5. The se%uence of events is not brought out on the +7+.
TYPES OF DATA FLOW DIAGRAMS
&. $urrent .hysical
'. $urrent Logical
5. New Logical
?. New .hysical
CURRENT PHYSICAL:
In $urrent .hysical +7+ proecess label include the name of people or their positions
or the names of computer systems that might provide some of the overall system3
processing label includes an identification of the technology used to process the data.
(imilarly data flows and data stores are often labels with the names of the actual physical
media on which data are stored such as file folders, computer files, business forms or
computer tapes.
CURRENT LOGICAL:
The physical aspects at the system are removed as mush as possible so that the current
system is reduced to its essence to the data and the processors that transform them
regardless of actual physical form.
NEW LOGICAL1
This is e4actly like a current logical model if the user were completely happy with he
user were completely happy with the functionality of the current system but had problems
with how it was implemented typically through the new logical model will differ from
current logical model while having additional functions, absolute function removal and
inefficient flows recogni)ed.
NEW PHYSICAL:
The new physical represents only the physical implementation of the new system.
Dept of CSE Page
I-Teach Information Technology
RULES GOVERNING THE DFDS
PROCESS
&" No process can have only outputs.
'" No process can have only inputs. If an object has only inputs than it must be a sink.
5" A process has a verb phrase label.
DATA STORE
&" +ata cannot move directly from one data store to another data store, a process must move
data.
'" +ata cannot move directly from an outside source to a data store, a process, which
receives, must move data from the source and place the data into data store
5" A data store has a noun phrase label.
SOURCE OR SIN3
The origin and Hor destination of data.
&" +ata cannot move direly from a source to sink it must be moved by a process
'" A source and Hor sink has a noun phrase land
DATA FLOW
&" A +ata 7low has only one direction of flow between symbols. It may flow in both
directions between a process and a data store to show a read before an update. The later
is usually indicated however by two separate arrows since these happen at different type.
'" A join in +7+ means that e4actly the same data comes from any of two or more different
processes data store or sink to a common location.
5" A data flow cannot go directly back to the same process it leads. There must be atleast
one other process that handles the data flow produce some other data flow returns the
original data into the beginning process.
Dept of CSE Page
I-Teach Information Technology
?" A +ata flow to a data store means update delete or change".
B" A data 7low from a data store means retrieve or use.
L6% 7 D#!2*!.:
F#*"& L6% DFD FOR ADMIN:
Dept of CSE Page
7.7
T+,-)
T!"8
M!-!2
*
E.(%)' M!-!21 T!"8
I-Teach Information Technology
F#*"& L6% DFD FOR EMPLOYEE:
Dept of CSE Page
I-Teach Information Technology
EMPLOYEE
Valid Id &
Password
DB
TASKS
l6% 2 D#!2*!. 9)* A1.#.:
Dept of CSE Page
I-Teach Information Technology
Admin
Valid Id &
Password
EMPLOYEES
DB
PRIORITIES
PROJECTS
STATUS
Dept of CSE Page
I-Teach Information Technology
L6% 2 D#!2*!. 9)* E.(%)':
4.3. SECURE DIVISION:UML DIAGRAMS
Dept of CSE Page
I-Teach Information Technology
U" C!" D#!2*!. A1.#-:
U" C!" D#!2*!. E.(%)':
S;5-+ D#!2*!. 9)* M!-!2#-2 T!"8:
Dept of CSE Page
I-Teach Information Technology
Dept of CSE Page
I-Teach Information Technology
S;5-+ D#!2*!. 9)* M!-!2#-2 U"*:
Dept of CSE Page
I-Teach Information Technology
C%!"" 1#!2*!.
ADMIN
Admin ID int
Username varchar(50)
Password varchar (50)
add Empo!ees()
add Pro"ect()
add Priorities()
add #tat$s()
EMPLOYEE
empo!ee%id int
empo!ee%name varchar(50)
o&in varchar('5)
pass varchar('5)
emai varchar('00)
sec$rit!%eve int
assi&n tas(s()
chec( stat$s()
P)O*E+,#
pro"ect%id int
pro"ect%name
varchar(50)
assi&n tas(s
o- the
pro"ect()
P)IO)I,IE#
priorit!%id int
priorit!%desc
varchar(50)
#,A,U#
stat$s%id int
#tat$s
varchar('5)
+hec( stat$s o-
the tas( &iven()
,A#.#
tas(%id int
tas(%name varchar('5)
tas(%desc varchar('5)
reso$tion int
date%assi&ned datetime
date%resoved datetime
+LA## DIA/)AM
A+#&' 1#!2*!.
Dept of CSE Page
I-Teach Information Technology
S&!& +,!& D#!2*!. 9)* T!"8:
S&!& +,!& D#!2*!. 9)* U"*:
Dept of CSE Page
I-Teach Information Technology
4./. DB D"#2-:
TABLES
Dept of CSE Page
I-Teach Information Technology
DATA DICTIONARY:
EMPLOYEES:
(N/ COLUMNNAME DATATYPE<SIZE= CONSTRAINTS<3EY= REFERENCES
FROM
& employee;id int .rimary key
' employee;name varcharBA" Null
5 login varchar&B" Null
? pass varchar&B" Null
B email varcharBA" Null
C security;level int Null
PRIORITIES:
(N/
COLUMNNAME
DATATYPE<SIZE=
CONSTRAINTS<3EY=
REFERENCES
FROM
& priority;id int .rimary key
' priority;desc varchar&B" Null
PROJECTS:
(N/ COLUMNNAME DATATYPE<SIZE= CONSTRAINTS<3EY= REFERENCES
FROM
& project;id int .rimary key
' project;name varcharBA" Null
Dept of CSE Page
I-Teach Information Technology
5 employee;id int Null
STATUSES:
(N/ COLUMNNAME DATATYPE<SIZE= CONSTRAINTS<3EY= REFERENCES
FROM
& status;id int .rimary key
' (tatus varchar&B" Null
TAS3:
(N/
COLUMNNAME DATATYPE<SIZE= CONSTRAINTS<3EY= REFERENCES
FROM
& task;id int .rimary key
' project;id varchar&B" 7oriegn@ey .rojects
5 priority;id int 7oriegn@ey .riorities
? status;id int 7oriegn@ey (tatus
B task;name varchar&B" Null
Dept of CSE Page
I-Teach Information Technology
C task;desc te4t Null
I resolution te4t Null
J assigned;by int 7oriegn@ey ,mployees
K assigned;to int 7oriegn@ey ,mployees
&A date;assigned datetime Null
&& date;resolved datetime Null
EMP:
(N/
COLUMNNAME DATATYPE<SIZE= CONSTRAINTS<3EY= REFERENCES
FROM
& name varcharBA" Null
ER DIAGRAM
Dept of CSE Page
employee;id
.@"
employee;name
login
pass
email
security;level
Admin I+ 7@"
Admin ID
(PK)
User ame
Pass!ord
AD
MI
H
A
S
E.(%)'
DETAILS
I-Teach Information Technology
Dept of CSE Page
AD
MI
H
A
S
PROJECTS
Admin ID
(PK)
User ame
Pass!ord
project;id .@"
project;name
Admin I+ 7@"
AD
MI
H
A
S
Admin ID
(PK)
User ame
Pass!ord
priority;id .@"
priority;desc
Admin I+ 7@"
PRIORITI
ES
I-Teach Information Technology
Dept of CSE Page
AD
MI
H
A
S
Admin ID
(PK)
User ame
Pass!ord
status;id .@"
(tatus
Admin I+ 7@"
STATUS
EMPL
OYEE
H
A
S
employee;id
.@"
employee;name
login
pass
email
security;level
TAS3S
task;id .@"
task;name
task;desc
resolution
date;assigned
date;resolved
employee;id
I-Teach Information Technology
Dept of CSE Page
PROJE
CTS
H
A
S
task;id .@"
task;name
task;desc
resolution
date;assigned
date;resolved
project;id 7@"
TAS3S
project;id .@"
project;name
PRIOR
ITIES
H
A
S
task;id .@"
task;name
task;desc
resolution
date;assigned
date;resolved
priority;id 7@"
TAS3S
priority;id .@"
priority;desc
I-Teach Information Technology
OVERVIEW
OF
Dept of CSE Page
STATU
S
H
A
S
task;id .@"
task;name
task;desc
resolution
date;assigned
date;resolved
status;id .@"
TAS3S
status;id .@"
(tatus
I-Teach Information Technology
TECHNOLOGIES
>.1. INTRODUCTION TO .NET F*!.?)*8
The .N,T 7ramework is a new computing platform that simplifies application
development in the highly distributed environment of the Internet. The .N,T 7ramework
is designed to fulfill the following objectives1
To provide a consistent object3oriented programming environment whether object code is
stored and e4ecuted locally, e4ecuted locally but Internet3distributed, or e4ecuted
remotely.
To provide a code3e4ecution environment that minimi)es software deployment and
versioning conflicts.
To provide a code3e4ecution environment that guarantees safe e4ecution of code,
including code created by an unknown or semi3trusted third party.
Dept of CSE Page
I-Teach Information Technology
To provide a code3e4ecution environment that eliminates the performance problems of
scripted or interpreted environments.
To make the developer e4perience consistent across widely varying types of applications,
such as 0indows3based applications and 0eb3based applications.
To build all communication on industry standards to ensure that code based on the .N,T
7ramework can integrate with any other code.
The .N,T 7ramework has two main components1 the common language runtime and
the .N,T 7ramework class library. The common language runtime is the foundation of the
.N,T 7ramework. >ou can think of the runtime as an agent that manages code at
e4ecution time, providing core services such as memory management, thread
management, and -emoting, while also enforcing strict type safety and other forms of
code accuracy that ensure security and robustness. In fact, the concept of code
management is a fundamental principle of the runtime. $ode that targets the runtime is
known as managed code, while code that does not target the runtime is known as
unmanaged code. The class library, the other main component of the .N,T 7ramework, is
a comprehensive, object3oriented collection of reusable types that you can use to develop
applications ranging from traditional command3line or graphical user interface 26I"
applications to applications based on the latest innovations provided by A(..N,T, such as
0eb 7orms and L#L 0eb services.
The .N,T 7ramework can be hosted by unmanaged components that load the common
language runtime into their processes and initiate the e4ecution of managed code, thereby
creating a software environment that can e4ploit both managed and unmanaged features.
The .N,T 7ramework not only provides several runtime hosts, but also supports the
development of third3party runtime hosts.
FEATURES OF THE COMMON LANGUAGE RUNTIME
The common language runtime manages memory, thread e4ecution, code
e4ecution, code safety verification, compilation, and other system services. These features
are intrinsic to the managed code that runs on the common language runtime.
0ith regards to security, managed components are awarded varying degrees of
trust, depending on a number of factors that include their origin such as the Internet,
enterprise network, or local computer". This means that a managed component might or
Dept of CSE Page
I-Teach Information Technology
might not be able to perform file3access operations, registry3access operations, or other
sensitive functions, even if it is being used in the same active application.
The runtime enforces code access security. 7or e4ample, users can trust that an
e4ecutable embedded in a 0eb page can play an animation on screen or sing a song, but
cannot access their personal data, file system, or network. The security features of the
runtime thus enable legitimate Internet3deployed software to be e4ceptionally featuring
rich.
The runtime also enforces code robustness by implementing a strict type3 and
code3verification infrastructure called the common type system $T(". The $T( ensures
that all managed code is self3describing. The various #icrosoft and third3party language
compilers
2enerate managed code that conforms to the $T(. This means that managed code
can consume other managed types and instances, while strictly enforcing type fidelity and
type safety.
In addition, the managed environment of the runtime eliminates many common
software issues. 7or e4ample, the runtime automatically handles object layout and
manages references to objects, releasing them when they are no longer being used. This
automatic memory management resolves the two most common application errors,
memory leaks and invalid memory references.
The runtime also accelerates developer productivity. 7or e4ample, programmers
can write applications in their development language of choice, yet take full advantage of
the runtime, the class library, and components written in other languages by other
developers. Any compiler vendor who chooses to target the runtime can do so. Language
compilers that target the .N,T 7ramework make the features of the .N,T 7ramework
available to e4isting code written in that language, greatly easing the migration process
for e4isting applications.
0hile the runtime is designed for the software of the future, it also supports
software of today and yesterday. Interoperability between managed and unmanaged code
enables developers to continue to use necessary $/# components and +LLs.
7inally, the runtime can be hosted by high3performance, server3side applications,
such as #icrosoftM (EL (erverN and Internet Information (ervices II(". This
infrastructure enables you to use managed code to write your business logic, while still
Dept of CSE Page
I-Teach Information Technology
enjoying the superior performance of the industryOs best enterprise servers that support
runtime hosting.
.NET FRAMEWOR3 CLASS LIBRARY
The .N,T 7ramework class library is a collection of reusable types that tightly
integrate with the common language runtime. The class library is object oriented,
providing types from which your own managed code can derive functionality. This not
only makes the .N,T 7ramework types easy to use, but also reduces the time associated
with learning new features of the .N,T 7ramework. In addition, third3party components
can integrate seamlessly with classes in the .N,T 7ramework.
7or e4ample, the .N,T 7ramework collection classes implement a set of interfaces
that you can use to develop your own collection classes. >our collection classes will blend
seamlessly with the classes in the .N,T 7ramework.
As you would e4pect from an object3oriented class library, the .N,T 7ramework
types enable you to accomplish a range of common programming tasks, including tasks
such as string management, data collection, database connectivity, and file access. In
addition to these common tasks, the class library includes types that support a variety of
speciali)ed development scenarios. 7or e4ample, you can use the .N,T 7ramework to
develop the following types of applications and services1
$onsole applications.
(cripted or hosted applications.
0indows 26I applications 0indows 7orms".
A(..N,T applications.
L#L 0eb services.
0indows services.
7or e4ample, the 0indows 7orms classes are a comprehensive set of reusable
types that vastly simplify 0indows 26I development. If you write an A(..N,T 0eb
7orm application, you can use the 0eb 7orms classes.
Dept of CSE Page
I-Teach Information Technology
CLIENT APPLICATION DEVELOPMENT
$lient applications are the closest to a traditional style of application in 0indows3
based programming. These are the types of applications that display windows or forms on
the desktop, enabling a user to perform a task. $lient applications include applications
such as word processors and spreadsheets, as well as custom business applications such as
data3entry tools, reporting tools, and so on. $lient applications usually employ windows,
menus, buttons, and other 26I elements, and they likely access local resources such as
the file system and peripherals such as printers.
Another kind of client application is the traditional ActiveL control now replaced
by the managed 0indows 7orms control" deployed over the Internet as a 0eb page. This
application is much like other client applications1 it is e4ecuted natively, has access to
local resources, and includes graphical elements.
The 0indows 7orms classes contained in the .N,T 7ramework are designed to be
used for 26I development. >ou can easily create command windows, buttons, menus,
toolbars, and other screen elements with the fle4ibility necessary to accommodate shifting
business needs.
7or e4ample, the .N,T 7ramework provides simple properties to adjust visual
attributes associated with forms. In some cases the underlying operating system does not
support changing these attributes directly, and in these cases the .N,T 7ramework
automatically recreates the forms. This is one of many ways in which the .N,T
7ramework integrates the developer interface, making coding simpler and more
consistent.
>.2 ASP.NET
S*6* A((%#+!&#)- D6%)(.-&
(erver3side applications in the managed world are implemented through runtime
hosts. 6nmanaged applications host the common language runtime, which allows your
custom managed code to control the behavior of the server. This model provides you with
Dept of CSE Page
I-Teach Information Technology
all the features of the common language runtime and class library while gaining the
performance and scalability of the host server.
The following illustration shows a basic network schema with managed code
running in different server environments. (ervers such as II( and (EL (erver can perform
standard operations while your application logic e4ecutes through the managed code.
SERVER:SIDE MANAGED CODE
A(..N,T is the hosting environment that enables developers to use the .N,T
7ramework to target 0eb3based applications. !owever, A(..N,T is more than just a
runtime hostP it is a complete architecture for developing 0eb sites and Internet3
distributed objects using managed code. :oth 0eb 7orms and L#L 0eb services use II(
and A(..N,T as the publishing mechanism for applications, and both have a collection of
supporting classes in the .N,T 7ramework.
L#L 0eb services, an important evolution in 0eb3based technology, are
distributed, server3side application components similar to common 0eb sites. !owever,
unlike 0eb3based applications, L#L 0eb services components have no 6I and are not
targeted for browsers such as Internet ,4plorer and Netscape Navigator. Instead, L#L
0eb services consist of reusable software components designed to be consumed by other
applications, such as traditional client applications, 0eb3based applications, or even other
L#L 0eb services. As a result, L#L 0eb services technology is rapidly moving
application development and deployment into the highly distributed environment of the
Internet.
If you have used earlier versions of A(. technology, you will immediately notice
the improvements that A(..N,T and 0eb 7orms offers. 7or e4ample, you can develop
0eb 7orms pages in any language that supports the .N,T 7ramework. In addition, your
code no longer needs to share the same file with your !TT. te4t although it can continue
to do so if you prefer". 0eb 7orms pages e4ecute in native machine language because,
like any other managed application, they take full advantage of the runtime. In contrast,
unmanaged A(. pages are always scripted and interpreted. A(..N,T pages are faster,
more functional, and easier to develop than unmanaged A(. pages because they interact
with the runtime like any managed application.
Dept of CSE Page
I-Teach Information Technology
The .N,T 7ramework also provides a collection of classes and tools to aid in
development and consumption of L#L 0eb services applications. L#L 0eb services are
built on standards such as (/A. a remote procedure3call protocol", L#L an e4tensible
data format", and 0(+L the 0eb (ervices +escription Language". The .N,T
7ramework is built on these standards to promote interoperability with non3#icrosoft
solutions.
If you develop and publish your own L#L 0eb service, the .N,T 7ramework
provides a set of classes that conform to all the underlying communication standards,
such as (/A., 0(+L, and L#L. 6sing those classes enables you to focus on the logic
of your service, without concerning yourself with the communications infrastructure
re%uired by distributed software development.
7inally, like 0eb 7orms pages in the managed environment, your L#L 0eb service will
run with the speed of native machine language using the scalable communication of II(.
ACTIVE SERVER PAGES.NET
A(..N,T is a programming framework built on the common language runtime
that can be used on a server to build powerful 0eb applications.
E-,!-+1 P*9)*.!-+. A(..N,T is compiled common language
runtime code running on the server. 6nlike its interpreted predecessors,
A(..N,T can take advantage of early binding, just3in3time compilation,
native optimi)ation, and caching services right out of the bo4. This amounts
to dramatically better performance before you ever write a line of code.
W)*%1:C%!"" T))% S5(()*&. The A(..N,T framework is complemented by a rich
toolbo4 and designer in the <isual (tudio integrated development environment.
0>(I0>2 editing, drag3and3drop server controls, and automatic deployment are just a
few of the features this powerful tool provides.
Dept of CSE Page
I-Teach Information Technology
P)?* !-1 F%@#$#%#&'. :ecause A(..N,T is based on the common language
runtime, the power and fle4ibility of that entire platform is available to 0eb application
developers. The .N,T 7ramework class library, #essaging, and +ata Access solutions are
all seamlessly accessible from the 0eb. A(..N,T is also language3independent, so you
can choose the language that best applies to your application or partition your application
across many languages. 7urther, common language runtime interoperability guarantees
that your e4isting investment in $/#3based development is preserved when migrating to
A(..N,T.
S#.(%#+#&'. A(..N,T makes it easy to perform common tasks, from simple form
submission and client authentication to deployment and site configuration. 7or e4ample,
the A(..N,T page framework allows you to build user interfaces that cleanly separate
application logic from presentation code and to handle events in a simple, <isual :asic 3
like forms processing model. Additionally, the common language runtime simplifies
development, with managed code services such as automatic reference counting and
garbage collection.
M!-!2!$#%#&'. A(..N,T employs a te4t3based, hierarchical configuration system,
which simplifies applying settings to your server environment and 0eb applications.
:ecause configuration information is stored as plain te4t, new settings may be applied
without the aid of local administration tools. This Q)ero local administrationQ philosophy
e4tends to deploying A(..N,T 7ramework applications as well. An A(..N,T 7ramework
application is deployed to a server simply by copying the necessary files to the server. No
server restart is re%uired, even to deploy or replace running compiled code.
S+!%!$#%#&' !-1 A6!#%!$#%#&'. A(..N,T has been designed with scalability in
mind, with features specifically tailored to improve performance in clustered and
multiprocessor environments. 7urther, processes are closely monitored and managed by
the A(..N,T runtime, so that if one misbehaves leaks, deadlocks", a new process can be
Dept of CSE Page
I-Teach Information Technology
created in its place, which helps keep your application constantly available to handle
re%uests.
C5"&).#A!$#%#&' !-1 E@&-"#$#%#&'. A(..N,T delivers a well3factored
architecture that allows developers to Qplug3inQ their code at the appropriate level. In fact,
it is possible to e4tend or replace any subcomponent of the A(..N,T runtime with your
own custom3written component. Implementing custom authentication or state services has
never been easier.
S+5*#&'. 0ith built in 0indows authentication and per3application configuration,
you can be assured that your applications are secure.
LANGUAGE SUPPORT
The #icrosoft .N,T .latform currently offers built3in support for three languages1
$R, <isual :asic, and S(cript.
WHAT IS ASP.NET WEB FORMSB
The A(..N,T 0eb 7orms page framework is a scalable common language
runtime programming model that can be used on the server to dynamically generate 0eb
pages.
Intended as a logical evolution of A(. A(..N,T provides synta4 compatibility
with e4isting pages", the A(..N,T 0eb 7orms framework has been specifically designed
to address a number of key deficiencies in the previous model. In particular, it provides1
The ability to create and use reusable 6I controls that can encapsulate common
functionality and thus reduce the amount of code that a page developer has to write.
The ability for developers to cleanly structure their page logic in an orderly fashion not
Qspaghetti codeQ".
Dept of CSE Page
I-Teach Information Technology
The ability for development tools to provide strong 0>(I0>2 design support for pages
e4isting A(. code is opa%ue to tools".
A(..N,T 0eb 7orms pages are te4t files with an .asp4 file name e4tension. They
can be deployed throughout an II( virtual root directory tree. 0hen a browser client
re%uests .asp4 resources, the A(..N,T runtime parses and compiles the target file into
a .N,T 7ramework class. This class can then be used to dynamically process incoming
re%uests.
CODE:BEHIND WEB FORMS
A(..N,T supports two methods of authoring dynamic pages. The first is the
method shown in the preceding samples, where the page code is physically declared
within the originating .asp4 file. An alternative approach33known as the code3behind
method33enables the page code to be more cleanly separated from the !T#L content into
an entirely separate file.
INTRODUCTION TO ASP.NET SERVER CONTROLS
In addition to or instead of" using TU UV code blocks to program dynamic
content, A(..N,T page developers can use A(..N,T server controls to program 0eb
pages. (erver controls are declared within an .asp4 file using custom tags or intrinsic
!T#L tags that contain a *5-!&CD"*6*D attributes value. Intrinsic !T#L tags are
handled by one of the controls in the S'"&..W$.UI.H&.%C)-&*)%" namespace. Any tag
that doesnOt e4plicitly map to one of the controls is assigned the type of
S'"&..W$.UI.H&.%C)-&*)%".H&.%G-*#+C)-&*)%.
Dept of CSE Page
I-Teach Information Technology
(erver controls automatically maintain any client3entered values between round
trips to the server. This control state is not stored on the server it is instead stored within
an E#-(5& &'(CD,#11-DF form field that is round3tripped between re%uests". Note also
that no client3side script is re%uired.
In addition to supporting standard !T#L input controls, A(..N,T enables
developers to utili)e richer custom controls on their pages. 7or e4ample, the following
sample demonstrates how the E!"(:!1*)&!&)*F control can be used to dynamically
display rotating ads on a page.
&. A(..N,T 0eb 7orms provide an easy and powerful way to build dynamic 0eb 6I.
'. A(..N,T 0eb 7orms pages can target any browser client there are no script library or
cookie re%uirements".
5. A(..N,T 0eb 7orms pages provide synta4 compatibility with e4isting A(. pages.
?. A(..N,T server controls provide an easy way to encapsulate common functionality.
B. A(..N,T ships with ?B built3in server controls. +evelopers can also use controls built by
third parties.
C. A(..N,T server controls can automatically project both uplevel and downlevel !T#L.
I. A(..N,T templates provide an easy way to customi)e the look and feel of list server
controls.
J. A(..N,T validation controls provide an easy way to do declarative client or server data
validation.
>.3 CG.NET
ADO.NET OVERVIEW
A+/.N,T is an evolution of the A+/ data access model that directly addresses
user re%uirements for developing scalable applications. It was designed specifically for
the web with scalability, statelessness, and L#L in mind.
A+/.N,T uses some A+/ objects, such as the C)--+&#)- and C)..!-1 objects, and
also introduces new objects. @ey new A+/.N,T objects include the D!&!S&,
D!&!R!1*, and D!&!A1!(&*.
Dept of CSE Page
I-Teach Information Technology
The important distinction between this evolved stage of A+/.N,T and previous
data architectures is that there e4ists an object 33 the D!&!S& 33 that is separate and
distinct from any data stores. :ecause of that, the D!&!S& functions as a standalone
entity. >ou can think of the +ata(et as an always disconnected recordset that knows
nothing about the source or destination of the data it contains. Inside a D!&!S&, much
like in a database, there are tables, columns, relationships, constraints, views, and so
forth.
The L#L3based D!&!S& object provides a consistent programming model that
works with all models of data storage1 flat, relational, and hierarchical. It does this by
having no OknowledgeO of the source of its data, and by representing the data that it holds
as collections and data types. No matter what the source of the data within the D!&!S& is,
it is manipulated through the same set of standard A.Is e4posed through the D!&!S& and
its subordinate objects.
The /L, +: and (EL (erver .N,T +ata .roviders (ystem.+ata./le+b and
(ystem.+ata.(%l$lient" that are part of the .Net 7ramework provide four basic objects1
the C)..!-1, C)--+&#)-, D!&!R!1* and D!&!A1!(&*. In the remaining sections
of this document, weOll walk through each part of the D!&!S& and the /L, +:H(EL
(erver .N,T +ata .roviders e4plaining what they are, and how to program against them.
The following sections will introduce you to some objects that have evolved, and some
that are new. These objects are1
C)--+&#)-". 7or connection to and managing transactions against a database.
C)..!-1". 7or issuing (EL commands against a database.
D!&!R!1*". 7or reading a forward3only stream of data records from a (EL (erver
data source.
D!&!S&". 7or storing, -emoting and programming against flat data, L#L data and
relational data.
D!&!A1!(&*". 7or pushing data into a D!&!S&, and reconciling data against a
database.
0hen dealing with connections to a database, there are two different options1 (EL
(erver .N,T +ata .rovider (ystem.+ata.(%l$lient" and /L, +: .N,T +ata .rovider
(ystem.+ata./le+b "
Dept of CSE Page
I-Teach Information Technology
C)--+&#)-":
$onnections are used to Otalk toO databases, and are represented by provider3
specific classes such as S;%C)--+&#)-. $ommands travel over connections and
resultsets are returned in the form of streams which can be read by a D!&!R!1* object,
or pushed into a D!&!S& object.
C)..!-1":
$ommands contain the information that is submitted to a database, and are
represented by provider3specific classes such as S;%C)..!-1. A command can be a
stored procedure call, an 6.+AT, statement, or a statement that returns results. >ou can
also use input and output parameters, and return values as part of your command synta4.
The e4ample below shows how to issue an IN(,-T statement against the N)*&,?#-1
database.
D!&!R!1*":
The D!&!R!1* object is somewhat synonymous with a read3onlyHforward3only cursor
over data. The D!&!R!1* A.I supports flat as well as hierarchical data. A D!&!R!1*
object is returned after e4ecuting a command against a database. The format of the
returned D!&!R!1* object is different from a recordset.
DATASETS AND DATAADAPTERS:
D!&!S&"
The D!&!S& object is similar to the A+/ R+)*1"& object, but more powerful, and with
one other important distinction1 the D!&!S& is always disconnected. The D!&!S& object
represents a cache of data, with database3like structures such as tables, columns,
relationships, and constraints. !owever, though a D!&!S& can and does behave much like
a database, it is important to remember that D!&!S& objects do not interact directly with
databases, or other source data.
The D!&!S& has many L#L characteristics, including the ability to produce and
consume L#L data and L#L schemas. L#L schemas can be used to describe schemas
Dept of CSE Page
I-Teach Information Technology
interchanged via 0eb(ervices. In fact, a D!&!S& with a schema can actually be compiled
for type safety and statement completion.
DATAADAPTERS <OLEDBHS0L=
The D!&!A1!(&* object works as a bridge between the D!&!S& and the source
data. 6sing the provider3specific S;%D!&!A1!(&* along with its associated
S;%C)..!-1 and S;%C)--+&#)-" can increase overall performance when working with
a #icrosoft (EL (erver databases. 7or other /L, +:3supported databases, you would
use the O%D$D!&!A1!(&* object and its associated O%D$C)..!-1 and
O%D$C)--+&#)- objects.
The D!&!A1!(&* object uses commands to update the data source after changes have
been made to the D!&!S&. 6sing the F#%% method of the D!&!A1!(&* calls the (,L,$T
commandP using the U(1!& method calls the IN(,-T, 6.+AT, or +,L,T, command
for each changed row. >ou can e4plicitly set these commands in order to control the
statements used at runtime to resolve changes, including the use of stored procedures. 7or
ad3hoc scenarios, a C)..!-1B5#%1* object can generate these at run3time based upon a
select statement. !owever, this run3time generation re%uires an e4tra round3trip to the
server in order to gather re%uired metadata, so e4plicitly providing the IN(,-T,
6.+AT,, and +,L,T, commands at design time will result in better run3time
performance.
&. A+/.N,T is the ne4t evolution of A+/ for the .Net 7ramework.
'. A+/.N,T was created with n3Tier, statelessness and L#L in the forefront. Two new
objects, the D!&!S& and D!&!A1!(&*, are provided for these scenarios.
5. A+/.N,T can be used to get data from a stream, or to store data in a cache for
updates.
?. There is a lot more information about A+/.N,T in the documentation.
B. -emember, you can e4ecute a command directly against the database in order to do
inserts, updates, and deletes. >ou donOt need to first put data into a D!&!S& in order to
insert, update, or delete it.
C. Also, you can use a D!&!S& to bind to the data, move through the data, and navigate
data relationships
Dept of CSE Page
I-Teach Information Technology
>./S0L SERVER
A database management, or +:#(, gives the user access to their data and helps them
transform the data into information. (uch database management systems include d:ase,
parado4, I#(, (EL (erver and (EL (erver. These systems allow users to create, update
and e4tract information from their database.
A database is a structured collection of data. +ata refers to the characteristics of
people, things and events. (EL (erver stores each data item in its own fields. ,ach
record is made up of a number of fields. No two fields in a record can have the same
field name.
+uring an (EL (erver +atabase design project, the analysis of your business needs
identifies all the fields or attributes of interest. If your business needs change over time,
you define any additional fields or change the definition of e4isting fields.
S0L SERVER TABLES
(EL (erver stores records relating to each other in a table. +ifferent tables are
created for the various groups of information. -elated tables are grouped together to form
a database.
PRIMARY 3EY
,very table in (EL (erver has a field or a combination of fields that uni%uely
identifies each record in the table. The 6ni%ue identifier is called the .rimary @ey, or
simply the @ey. 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
(ometimes all the information of interest to a business operation can be stored in one table.
(EL (erver makes it very easy to link the data in multiple tables. #atching an employee to the
department in which they work is one e4ample. This is what makes (EL (erver a relational
Dept of CSE Page
I-Teach Information Technology
database management system, or -+:#(. It stores data in two or more tables and enables you to
define relationships between the table and enables you to define relationships between the tables.
FOREIGN 3EY
0hen a field is one table matches the primary key of another field is referred to as a
foreign key. A foreign key is a field or a group of fields in one table whose values match
those of the primary key of another table.
REFERENTIAL INTEGRITY
Not only does (EL (erver allow you to link multiple tables, it also maintains
consistency between them. ,nsuring that the data among related tables is correctly
matched is referred to as maintaining referential integrity.
DATA ABSTRACTION
A major purpose of a database system is to provide users with an abstract view of the
data. This system hides certain details of how the data is stored and maintained. +ata
abstraction is divided into three levels.
P,'"#+!% %6%1 This is the lowest level of abstraction at which one describes how the
data are actually stored.
C)-+(&5!% L6%1 At this level of database abstraction all the attributed and what
data are actually stored is described and entries and relationship among them.
V#? %6%1 This is the highest level of abstraction at which one describes only part
of the database.
ADVANTAGES OF RDBMS
-edundancy can be avoided
Inconsistency can be eliminated
+ata can be (hared
Dept of CSE Page
I-Teach Information Technology
(tandards can be enforced
(ecurity restrictions ca be applied
Integrity can be maintained
$onflicting re%uirements can be balanced
+ata independence can be achieved.
DISADVANTAGES OF DBMS
A significant disadvantage of the +:#( system is cost. In addition to the cost of
purchasing of developing the software, the hardware has to be upgraded to allow for the
e4tensive programs and the workspace re%uired for their e4ecution and storage. 0hile
centrali)ation reduces duplication, the lack of duplication re%uires that the database be
ade%uately backed up so that in case of failure the data can be recovered.
FEATURES OF S0L SERVER <RDBMS"
(EL (,-<,- is one of the leading database management systems +:#(" because
it is the only +atabase that meets the uncompromising re%uirements of today*s most
demanding information systems. 7rom comple4 decision support systems +((" to the
most rigorous online transaction processing /LT." application, even application that
re%uire simultaneous +(( and /LT. access to the same critical data, (EL (erver leads
the industry in both performance and capability
(EL (,-<,- is a truly portable, distributed, and open +:#( that delivers unmatched
performance, continuous operation and support for every database.
(EL (,-<,- -+:#( is high performance fault tolerant +:#( which is specially
designed for online transactions processing and for handling large database application.
ENTERPRISE WIDE DATA SHARING
The unrivaled portability and connectivity of the (EL (,-<,- +:#( enables all the
systems in the organi)ation to be linked into a singular, integrated computing resource.
Dept of CSE Page
I-Teach Information Technology
PORTABILITY
(EL (,-<,- is fully portable to more than JA distinct hardware and operating
systems platforms, including 6NIL, #(+/(, /(H', #acintosh and do)ens of proprietary
platforms. This portability gives complete freedom to choose the database sever platform
that meets the system re%uirements.
OPEN SYSTEMS
(EL (,-<,- offers a leading implementation of industry Gstandard (EL. (EL
(erver*s open architecture integrates (EL (,-<,- and non G(EL (,-<,- +:#( with
industries most comprehensive collection of tools, application, and third party software
products (EL (erver*s /pen architecture provides transparent access to data from other
relational database and even non3relational database.
RINGDISTRIBUTED DATA SHA
(EL (erver*s networking and distributed database capabilities to access data stored
on remote server with the same ease as if the information was stored on a single local
computer. A single (EL statement can access data at multiple sites. >ou can store data
where system re%uirements such as performance, security or availability dictate.
UNMATCHED PERFORMANCE
The most advanced architecture in the industry allows the (EL (,-<,- +:#( to
deliver unmatched performance.
SOPHISTICATED CONCURRENCY CONTROL
-eal 0orld applications demand access to critical data. 0ith most database (ystems
application becomes Dcontention boundF G which performance is limited not by the $.6
power or by disk IH/, but user waiting on one another for data access . (EL (erver
employs full, unrestricted row3level locking and contention free %ueries to minimi)e and
in many cases entirely eliminates contention wait times.
>.4 "!.(%+)1
namespace Task;#anagement
Dept of CSE Page
I-Teach Information Technology
W
HH
HH 7ilename1 Login.cs
HH 2enerated with $ode$harge '.A.B
HH A(..N,T $R.ccp build A5HAIH'AA'
HH
HH3333333333333333333333333333333
HH
using (ystemP
using (ystem.$ollectionsP
using (ystem.$omponent#odelP
using (ystem.+ataP
using (ystem.+ata./le+bP
using (ystem.+rawingP
using (ystem.0ebP
using (ystem.0eb.(ession(tateP
using (ystem.0eb.6IP
using (ystem.0eb.6I.0eb$ontrolsP
using (ystem.0eb.6I.!tml$ontrolsP
HHH TsummaryV
HHH (ummary description for Login.
HHH THsummaryV
public partial class Login 1 (ystem.0eb.6I..age
W
Dept of CSE Page
I-Teach Information Technology
HHLogin $ustomIncludes begin
protected $$6tility 6tilityP
HHLogin form Login variables and controls declarations
protected (ystem.0eb.6I.!tml$ontrols.!tmlInput!idden Login;%uerystringP
protected (ystem.0eb.6I.!tml$ontrols.!tmlInput!idden Login;ret;pageP
HH 7or each Login form hiddens for .@Os,List of <alues and Actions
protected string Login;7ormAction X Q+efault.asp48QP
public Login"
W
this.Init YX new (ystem.,vent!andler.age;Init"P
Z
HH Login $ustomIncludes end
HH3333333333333333333333333333333
public void <alidateNumericobject source, (erver<alidate,ventArgs args"
W
try
W
+ecimal temp X +ecimal..arseargs.<alue"P
args.Is<alid X trueP
Z
catch
Dept of CSE Page
I-Teach Information Technology
W
args.Is<alid X falseP
Z
Z
HHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HH Login (how begin
protected void .age;Loadobject sender, ,ventArgs e"
W
6tility X new $$6tilitythis"P
HHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HH Login /pen ,vent begin
HH Login /pen ,vent end
HHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HH Login /penAny.age ,vent begin
HH Login /penAny.age ,vent end
HHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HH
HHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HH Login .age(ecurity begin
HH Login .age(ecurity end
HHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
if (ession[Q6serI+Q\ ]X null ^^ Int&C..arse(ession[Q6serI+Q\.To(tring"" V A"
Login;logged X trueP
if ]Is.ost:ack"
W
.age;(howsender, e"P
Z
Dept of CSE Page
I-Teach Information Technology
Z
protected void .age;6nloadobject sender, ,ventArgs e"
W
HH
HH $/+,2,N1 This call is re%uired by the A(.Y 0indows 7orm +esigner.
HH
if 6tility ]X null" 6tility.+:$lose"P
Z
protected void .age;Initobject sender, ,ventArgs e"
W
HH
HH $/+,2,N1 This call is re%uired by the A(.Y 0indows 7orm +esigner.
HH
Initiali)e$omponent"P
Login;login.$lick YX new (ystem.,vent!andlerthis.Login;login;$lick"P
Z
HHH TsummaryV
HHH -e%uired method for +esigner support 3 do not modify
HHH the contents of this method with the code editor.
HHH THsummaryV
private void Initiali)e$omponent"
W
Z
Dept of CSE Page
I-Teach Information Technology
protected void .age;(howobject sender, ,ventArgs e"
W
Login;(how"P
Z
HH Login (how end
H_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+isplay Login 7orm
3333333333333333333333333333333_H
protected bool Login;logged X falseP
void Login;(how"
W
HH Login (how begin
HH Login /pen ,vent begin
HH Login /pen ,vent end
HH Login :efore(how ,vent begin
HH Login :efore(how ,vent end
if Login;logged"
W
HH 6ser logged in
Login;login.Te4t X QLogoutQP
Login;trpassword.<isible X falseP
Dept of CSE Page
I-Teach Information Technology
Login;trname.<isible X falseP
Login;labelname.<isible X trueP
Login;labelname.Te4t X 6tility.+lookupQemployeesQ, QloginQ,
Qemployee;idXQ Y (ession[Q6serI+Q\" Y Q^nbspP^nbspP^nbspPQP
Z
else
W
HH 6ser is not logged in
Login;login.Te4t X QLoginQP
Login;trpassword.<isible X trueP
Login;trname.<isible X trueP
Login;labelname.<isible X falseP
Z
HH Login $lose ,vent begin
HH Login $lose ,vent end
HH Login (how end
Z
void Login;login;$lick/bject (rc, ,ventArgs ,"
W
if Login;logged"
W
HH Login Logout begin
HH Login /nLogout ,vent begin
HH Login /nLogout ,vent end
Dept of CSE Page
I-Teach Information Technology
Login;logged X falseP
(ession[Q6serI+Q\ X AP
(ession[Q6ser-ightsQ\ X AP
Login;(how"P
HH Login Logout end
Z
else
W
HH Login Login begin
int i.assed X $onvert.ToInt5'6tility.+lookupQemployeesQ, Qcount_"Q, Qlogin
XOQ Y Login;name.Te4t Y QO and passXOQ Y $$6tility.EuoteLogin;password.Te4t" Y QOQ""P
if i.assed V A"
W
HH Login /nLogin ,vent begin
HH Login /nLogin ,vent end
Login;message.<isible X falseP
(ession[Q6serI+Q\ X $onvert.ToInt5'6tility.+lookupQemployeesQ,
Qemployee;idQ, Qlogin XOQ Y Login;name.Te4t Y QO and passXOQ Y
$$6tility.EuoteLogin;password.Te4t" Y QOQ""P
Login;logged X trueP
(ession[Q6ser-ightsQ\ X $onvert.ToInt5'6tility.+lookupQemployeesQ,
Qsecurity;levelQ, Qlogin XOQ Y Login;name.Te4t Y QO and passXOQ Y
$$6tility.EuoteLogin;password.Te4t" Y QOQ""P
string sEuery(tring X 6tility.2et.aramQ%uerystringQ"P
string s.age X 6tility.2et.aramQret;pageQ"P
Dept of CSE Page
I-Teach Information Technology
if ]s.age.,%uals-e%uest.(erver<ariables[Q($-I.T;NA#,Q\" ^^
s.age.Length V A"
W
-esponse.-edirects.age Y Q8Q Y sEuery(tring"P
Z
else
W
-esponse.-edirectLogin;7ormAction"P
Z
Z
else
W
Login;message.<isible X trueP
Z
HH Login Login end
Z
Z
HH ,nd of Login form
protected void Login;login;$lick&object sender, ,ventArgs e"
W
Z
Z
Z
Dept of CSE Page
I-Teach Information Technology
TESTING
Dept of CSE Page
I-Teach Information Technology
I.1. INTRODUCTION
(oftware testing is a critical element of software %uality assurance and represents
the ultimate review of specification, design and coding. In fact, testing is the one step in
the software engineering process that could be viewed as destructive rather than
constructive.
A strategy for software testing integrates software test case design methods into a
well3planned series of steps that result in the successful construction of software. Testing
is the set of activities that can be planned in advance and conducted systematically. The
underlying motivation of program testing is to affirm software %uality with methods that
can economically and effectively apply to both strategic to both large and small3scale
systems.
I.2. SOFTWARE TESTING
The software engineering process can be viewed as a spiral. Initially system
engineering defines the role of software and leads to software re%uirement analysis where
the information domain, functions, behavior, performance, constraints and validation
criteria for software are established. #oving inward along the spiral, we come to design
and finally to coding. To develop computer software we spiral in along streamlines that
decrease the level of abstraction on each turn.
Dept of CSE Page
I-Teach Information Technology
A strategy for software testing may also be viewed in the conte4t of the spiral.
6nit testing begins at the verte4 of the spiral and concentrates on each unit of the software
as implemented in source code. Testing progress by moving outward along the spiral to
integration testing, where the focus is on the design and the construction of the software
architecture. Talking another turn on outward on the spiral we encounter validation testing
where re%uirements established as part of software re%uirements analysis are validated
against the software that has been constructed. 7inally we arrive at system testing, where
the software and other system elements are tested as a whole.
Dept of CSE Page
6NIT
T,(TIN2
#/+6L,
T,(TIN2
(6:3(>(T,#
T,(IN2
(>(T,#
T,(TIN2
A$$,.TAN$,
T,(TIN2
$omponent Testing
Integration Testing
User
,estin&
I-Teach Information Technology
I.3. U-#& T"&#-2
6nit testing focuses verification effort on the smallest unit of software design, the
module. The unit testing we have is white bo4 oriented and some modules the steps are
conducted in parallel.
1. WHITE BOX TESTING
This type of testing ensures that
All independent paths have been e4ercised at least once
All logical decisions have been e4ercised on their true and false sides
All loops are e4ecuted at their boundaries and within their operational bounds
All internal data structures have been e4ercised to assure their validity.
To follow the concept of white bo4 testing we have tested each form .we have created
independently to verify that +ata flow is correct, All conditions are e4ercised to check
their validity, All loops are e4ecuted on their boundaries.
2. BASIC PATH TESTING
,stablished techni%ue of flow graph with $yclomatic comple4ity was used to derive test
cases for all the functions. The main steps in deriving test cases were1
6se the design of the code and draw correspondent flow graph.
+etermine the $yclomatic comple4ity of resultant flow graph, using formula1
Dept of CSE Page
I-Teach Information Technology
<2"X,3NY' or
<2"X.Y& or
<2"XNumber /f -egions
0here <2" is $yclomatic comple4ity,
, is the number of edges,
N is the number of flow graph nodes,
. is the number of predicate nodes.
+etermine the basis of set of linearly independent paths.
3. CONDITIONAL TESTING
In this part of the testing each of the conditions were tested to both true and false aspects.
And all the resulting paths were tested. (o that each path that may be generate on
particular condition is traced to uncover any possible errors.
/. DATA FLOW TESTING
This type of testing selects the path of the program according to the location of definition
and use of variables. This kind of testing was used only when some local variable were
declared. The definition-use chain method was used in this type of testing. These were
particularly useful in nested statements.
4. LOOP TESTING
In this type of testing all the loops are tested to all the limits possible. The following
e4ercise was adopted for all loops1
All the loops were tested at their limits, just above them and just below them.
All the loops were skipped at least once.
7or nested loops test the inner most loop first and then work outwards.
7or concatenated loops the values of dependent loops were set with the help of connected
loop.
Dept of CSE Page
I-Teach Information Technology
6nstructured loops were resolved into nested loops or concatenated loops and tested as
above.
,ach unit has been separately tested by the development team itself and all the input have
been validated.
SCREENSHOTS
Dept of CSE Page
I-Teach Information Technology
LOGINFORM:
Dept of CSE Page
I-Teach Information Technology
Dept of CSE Page
I-Teach Information Technology
A1.#- ?%+).:
Dept of CSE Page
I-Teach Information Technology
V#?#-2 E.(%)'" D&!#%":
Dept of CSE Page
I-Teach Information Technology
A11#-2 N? E.(%)' D&!#%":
Dept of CSE Page
I-Teach Information Technology
E1#&#-2 E.(%)' 1&!#%":
Dept of CSE Page
I-Teach Information Technology
V#?#-2 &, P*#)*#&#" L#"& D&!#%":
Dept of CSE Page
I-Teach Information Technology
A11#-2 P*#)*#&' &) (*)J+&:
Dept of CSE Page
I-Teach Information Technology
V#?#-2 &, P*)J+& S&!&5" 9)*.:
Dept of CSE Page
I-Teach Information Technology
A""#2-#-2 &, (*)J+& &) &, E.(%)':
Dept of CSE Page
I-Teach Information Technology
V#?#-2 "&!&5" D&!#%":
Dept of CSE Page
I-Teach Information Technology
A11#-2 "&!&5" 1&!#%" F)*.:
Dept of CSE Page
I-Teach Information Technology
A11#-2 )* E1#&#-2 &, &!"8 1&!#%" F)*.:
Dept of CSE Page
I-Teach Information Technology
V#?#-2 1&!#%" )9 P*)J+& $' "). "!*+, +!&2)*':
Dept of CSE Page
I-Teach Information Technology
V#?#-2 1&!#%" $!"1 )- &, P*#)*#&':
Dept of CSE Page
I-Teach Information Technology
V#?#-2 1&!#%" $!"1 )- &, S&!&5":
Dept of CSE Page
I-Teach Information Technology
V#?#-2 !%% (*)J+& 1&!#%":
Dept of CSE Page
I-Teach Information Technology
S'"&. S+5*#&'
Dept of CSE Page
I-Teach Information Technology
K.1. I-&*)15+&#)-
The protection of computer based resources that includes hardware, software,
data, procedures and people against unauthori)ed use or natural
+isaster is known as (ystem (ecurity.
(ystem (ecurity can be divided into four related issues1
(ecurity
Integrity
.rivacy
$onfidentiality
SYSTEM SECURITY: It refers to the technical innovations and procedures applied
to the hardware and operation systems to protect against deliberate or accidental damage
from a defined threat.
DATA SECURITY: It is the protection of data from loss, disclosure, modification and
destruction.
SYSTEM INTEGRITY: It refers to the power functioning of hardware and
programs, appropriate physical security and safety against e4ternal threats such as
eavesdropping and wiretapping.
PRIVACY: It defines the rights of the user or organi)ations to determine what
information they are willing to share with or accept from others and how the organi)ation
can be protected against unwelcome, unfair or e4cessive dissemination of information
about it.
Dept of CSE Page
I-Teach Information Technology
CONFIDENTIALITY: It is a special status given to sensitive information in a
database to minimi)e the possible invasion of privacy. It is an attribute of information that
characteri)es its need for protection.
K.2. SECURITY IN SOFTWARE
(ystem security refers to various validations on data in form of checks and controls to
avoid the system from failing. It is always important to ensure that only valid data is
entered and only valid operations are performed on the system. The system employees
two types of checks and controls1
CLIENT SIDE VALIDATION:
<arious client side validations are used to ensure on the client side that only valid data is
entered. $lient side validation saves server time and load to handle invalid data. (ome
checks imposed are1
<:(cript in used to ensure those re%uired fields are filled with suitable data only.
#a4imum lengths of the fields of the forms are appropriately defined.
7orms cannot be submitted without filling up the mandatory data so that manual mistakes
of submitting empty fields that are mandatory can be sorted out at the client side to save
the server time and load.
Tab3inde4es are set according to the need and taking into account the ease of user while
working with the system.
SERVER SIDE VALIDATION:
(ome checks cannot be applied at client side. (erver side checks are necessary to save the
system from failing and intimating the user that some invalid operation has been
performed or the performed operation is restricted. (ome of the server side checks
imposed is1
(erver side constraint has been imposed to check for the validity of primary key and
foreign key. A primary key value cannot be duplicated. Any attempt to duplicate the
primary value results into a message intimating the user about those values through the
forms using foreign key can be updated only of the e4isting foreign key values.
Dept of CSE Page
I-Teach Information Technology
6ser is intimating through appropriate messages about the successful operations or
e4ceptions occurring at server side.
<arious Access $ontrol #echanisms have been built so that one user may not agitate
upon another. Access permissions to various types of users are controlled according to the
organi)ational structure. /nly permitted users can log on to the system and can have
access according to their category. 6ser3 name, passwords and permissions are controlled
o the server side.
6sing server side validation, constraints on several restricted operations are imposed.
Dept of CSE Page
I-Teach Information Technology
CONCLUSION
CONCLUSION:
Dept of CSE Page
I-Teach Information Technology
0e tackled the problem of modeling and verifying properties of service orchestration
in the presence of security constraints. /ur main result is a semantic3based
methodology for synthesi)ing the skeleton structure of the
complete the original task while obeying the security policies on demand. !ere, we
dealt with security policies, but our methodology can be applied to handle a variety of
nonfunctional safety constraints.
0e envisage the impact of our approach on the service protocol stack as follows1
7irst, our proposal re%uires e4tending a service*s description language. Aside from the
standard 0(+L attributes, service description includes information about service
behavior.
#oreover, the call3bycontract invocation mechanism adds a further planning layer
to the standard service protocol stack. This layer provides the orchestrator with the
plans, guaranteeing that the relevant services always respect the re%uired properties.
The trustfulness of the planning layer and of the orchestrator follows from our
formal approach, in particular from the soundness of the type and effect system and
the correctness of planning and of verification. Another feature offered by our
framework is that of mapping high3level service descriptions into more concrete re%
programs. This can be done with the help of simple model transformation tools.
Dept of CSE Page
I-Teach Information Technology
BIBLIOGRAPHYH
REFERENCES
FOR .NET INSTALLATION
www.support.mircosoft.com
Dept of CSE Page
I-Teach Information Technology
FOR DEPLOYMENT AND PAC3ING ON SERVER
www.developer.com
www.&Bseconds.com
FOR S0L
www.msdn.microsoft.com
FOR ASP.NET
www.msdn.microsoft.comHnetH%uickstartHaspplusHdefault.com
www.asp.net
www.fme4pense.comH%uickstartHaspplusHdefault.com
www.asptoday.com
www.aspfree.com
www.?guysfromrolla.comHinde4.asp4
Dept of CSE Page