0% found this document useful (0 votes)
524 views174 pages

Online Tax Management System Project Report

This document provides an overview and requirements for a Tax Information System project. The system will allow clients to register, upload documents, schedule interviews, and receive completed tax returns. It has two main modules: a Client module for registration and document submission, and an Admin module for calling clients, scheduling interviews, preparing tax returns, and more. The document outlines current issues with existing tax preparation systems and the proposed new system's features and requirements. It also includes sections on use cases, data modeling, system design, forms, testing, and conclusions. The goal is to develop a centralized web-based application using ASP.Net and SQL Server for tax preparation and returns.

Uploaded by

ANDRU PRADHEEP
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
524 views174 pages

Online Tax Management System Project Report

This document provides an overview and requirements for a Tax Information System project. The system will allow clients to register, upload documents, schedule interviews, and receive completed tax returns. It has two main modules: a Client module for registration and document submission, and an Admin module for calling clients, scheduling interviews, preparing tax returns, and more. The document outlines current issues with existing tax preparation systems and the proposed new system's features and requirements. It also includes sections on use cases, data modeling, system design, forms, testing, and conclusions. The goal is to develop a centralized web-based application using ASP.Net and SQL Server for tax preparation and returns.

Uploaded by

ANDRU PRADHEEP
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 174

INDEX

1. Introduction:
Abstract
Company Profile
2. Synopsis
3. Requirement Analysis Document(RAD)
3.1 Introduction
3.1.1 Purpose Of The System
3.1.2 Scope Of The System
3.1.3 Acronyms And Abbreviations
3.2 Current
3.3 Proposed System
3.3.1 Overview
3.3.2 Functional Requirements
3.3.3 Nonfunctional Requirements
3.3.4 Pseudo Requirements
3.4 Functional Model
3.4.1 Scenarios
3.4.2 Use case Model
3.5 Object Model
3.5.1 Data Dictionary
3.5.2 Class Diagrams
3.6 Dynamic Model
3.6.1 Sequence Diagrams
4. System Design Documentation(SDD)
4.1 Subsystem Decomposition
4.2 Persistent Data Management
5. Forms
5.1 Input Forms
5.2 Output Forms
6. Coding
7. Testing
7.1 Module Testing
8. Conclusion
9. Bibliography
ABSTRACT

The main aim of our project is to prepare a Tax summary or Tax Returns of a
client. In Tax Information system System, a client registers himself enters all the
details and uploads various Documents that are necessary for preparation of Tax
Summary and Schedules for an interview after successful submission of all the
documents. After all the procedures are completed Tax Returns or Tax summary
is prepared for all the clients by the admin who calls the clients and arranges an
interview for discussing various issues regarding Tax summary .

Once the client pays the amount for preparation of Tax Summary he can download
the PDF format of his Tax Summary.

This project is composed of two main modules which also includes many sub
modules.
1. Client module
2. Admin module

Client Panel :

 Register
 Create client profile
 Upload documents
 Schedule interview
 Tax Summary
 Payment
 PDF/Review/Correction
 Authorization
 E-File Acknowledgement
 Refund Status
Admin Panel :

 Call the clients


 Collect Documents
 Schedule interviews
 Preview Client Profile and Documents
 Interview
 Tax Preparation
 Send Tax summary
 Tax Summary Queries
 Review Tax Summary
 Payment follow up
 Payment Receipt
 Discounts
 PDF upload /Correction
 Receiving E Files
 Manual filling
 Send E File
 Refund Status

Client module includes registration of clients, submission of various documents


etc., Admin module includes the calling the clients ,Scheduling interviews,
Observation of various documents and preparation of Tax Summary and sent a
mail to the client upon successful payment of fee.

The project has been planned to be having the view of distributed architecture ,with
centralized storage of the database. The application for the storage of the data has
been planned .Using the construct of
MS-SQL Server 2005 and all the users interfaces have been designed using the
ASP.Net technologies .The database connectivity is planned using the ‘SQL
Connection’ methodology. The statement of security and data protective
mechanism have been given a big choice for proper usage. The application takes
care of different modules and their associated reports, which are their associated
reported ,which are produced as per the applicable strategies and standards that are
put forwarded by the administrative staff.
Company Profile

BLESSO is a proactive organization located in Hyderabad,


Andhra Pradesh .India .Specializing in customized software training &
development corporate training ,and consultancy service.

The business paradigm of Blesso , includes the following areas

Customized software development – Blesso ,develops customized software


solutions for its clients and also for internal use. The library of
on-the-self software’s include Payroll Software, Educational Institute Management
Software. Library Management Software etc..

Corporate Training and IT Education –Blesso , has also launched various


initiatives in the area of corporate training and IT education. This has brought the
company as a benchmark for Training solutions by some of the biggest names of
the global corporate world and Govt. Institute, in Hyderabad and Southern India.

Mission

To be a proactive leader of the global information technology fraternity.

Vision

To develop a strong client base with an equally effective support structure which
acts as a catalyst for effective deployment of futuristically complete and credible IT
solutions. We strive to achieve this by focusing individually on each project and
build a healthy relationship with our customers.

Quality

Quality is a comprehensive and fundamental rule or believe, for leading and


operating an organization. And this helps in continually improving performance
over the ling term.
Management Term

After having brought the company from the conceptualization stage onward, the
management is confident that technologies, work force and determination are
poised for growth and wide acceptance. The management is continually identifying
some more niche segments, is desirable to ensure globalization of the
organization’s where the presence is desirable to ensure globalization of the
organization’s presence.

Corporate training

From more than past 4 years corporate training has been our domain. We provide
quality computer education for all type of computer related courses, at the client’s
as well as our own premises. We manage whole if the training process that begins
with the selection of the place of training ,and continues till course delivery and
final certificate (and this includes industry level certification like .Net
Certification.)

Technical Strength

So far have 40 employee working on various projects and also handles corporate
batches.

Clientele

1. India Law Group


2. KCP Projects Ltd
3. Prasad Association
4. Orange Model School
5. ZSS technologies
6. Sri Sai Granites
7. B.S Enterprises
Technical Expertise:

Operating Systems : Windows 2000 family


products.LINUS
Frameworks : .Net Framework ,.Net, Testing
Tools ,J2SE,J2EE(EJB.JSM,JNDI,
JTS,JAAS,JAXP,JAVA MAIL),
Remoting

Database Oracle 8i/9i, MySQL


4.0/5.0.SQL Sever

Markup language : XML, HTML, WML

Security Testing : Manual and Automation

Testing Tools : QTP, Winrunner , Test Director,


Load runner, Rational Robot

BLESSO SOFTWARE INDIA Pvt,Ltd

//#302,Balaji Towers, Beside Mythri Hospital


Gayatri Nagar., Ameerpet,
Hyderabad-500038
Ph: 91-040-55661333.

E_Mail: enquiries@visualmindindinfo.net

www.visualmindinfo.net
REQUIREMENT ANALYSIS

3.1 INTRODUCTION

A complete understanding of software requirement is essential to the success of


software development effort. No matter how well design/well coded, a poorly
analyzed and specified program will disappoint the user and bring the grief to the
user.

The requirement analysis task is a process of discovery, refinement, modeling and


specification. The software initially established by the system engineer and refined
during software project, planning is refined in detail. Models of the required
information and control flow, operational and data content are created. Alternative
solutions are analyzed and allocation to various software elements.

Requirements analysis, software-engineering task that bridge the gap between


system level software allocation and software design .Requirements analysis
enables to specify software function and performance indicates software’s interface
with other system elements and established design constraints that the software
must meet. Requirement analysis allows the software engineers to refine.

The software allocation and build models of processes, date and behavioural
domains that will be treated by software designer with a representation of
information and function that can be translated to data, architectural and procedural
design. Finally, the requirement specification the developer and customer with the
means to access quality once the software is built.
3.1.1 PURPOSE OF THE SYSTEM:

The main aim of our project is to prepare a Tax summary or Tax Returns of a
client. In Tax Information system System, a client registers himself enters all the
details and uploads various Documents that are necessary for preparation of Tax
Summary and Schedules for an interview after successful submission of all the
documents. After all the procedures are completed Tax Returns or Tax summary
is prepared for all the clients by the admin who calls the clients and arranges an
interview for discussing various issues regarding Tax summary .Once the client
pays the amount for preparation of Tax Summary he can download the PDF format
of his Tax Summary.

3.1.2 SCOPE OF THE SYSTEM:

Our system mainly focus on the Tax that need to be paid by the people who
are migrated from India to foreign countries. The scope of the system is restricted
to Indians. Our system is capable of including future advancements.

3.1.3 ACRONYMS AND ABBREVIATIONS:

The various acronyms and abbreviations used in our project are

TIS : Tax information system

SSN : Social Security number

3.2 CURRENT SYSTEM:

Tax Information System is a professional financial services company established


by experienced CPA’s and chartered accounts to provide cost effective and
efficient financial and tax planning solutions to a wide range of clients across the
globe.

It is too expensive to overlook the deductions that you are entitled to ?


Let out professionals plan and prepare your tax returns to make sure you get the
maximum benefit you deserve .

Tax information system is providing single window tax service to the Indian
software consultants having income from both India and USA by minimizing the
overall tax burden claiming foreign tax credits and other tax planning strategies
according to the US internal revenue code and India income tax Act,1961

3.3 PROPOSED SYSTEM :

3.3.1 OVERVIEW

Why the new system?

With the new system the following activities get more moment.

1. Login/Register

 Returning clients should login to our website to update then profiles.


 New clients should register at our website to create their profiles.

2. Documents

 Upload / Fax your W2s, 1099 s or any other statement relating the interest,
divide or stocks.

3. Tax Interview

 Schedule your convenient date time for brief Tax interview.


 Keep all the tax relevant information ready for the Tax Interview.

4. Tax Summary
 Tax Summary will be ready within 24 – 48 hrs after Tax Interview.
 Login and check the Tax Summary.

5. Make Payment

 Pay the Tax Preparation Fees at our website using pay pal Account or credit
card

6. Tax Returns Download

 Download Tax Returns in PDF on payment of Tax Preparation Fees.


 Review Tax Returns carefully to ensure that there are no omissions if
misstatements.
 Send us an Email or call us for any questions or corrections.
 Sign the e- files authorization form and fax it.

7. E-File

 We E-File your Tax Returns at no extra cost on receipt of authorization.


 Finally, check your filling and refund status at our website

3.3.2 FUNCTIONAL REQUIREMENTTS

The system deals with Tax Information System

Module description:

This project is composed of two main modules which also includes


Many sub modules

1. Client module
2. Admin module

Client Panel :

 Register
 Create client profile
 Upload documents
 Schedule interview
 Tax Summary
 Payment
 PDF/Review/Correction
 Authorization
 E-File Acknowledgement
 Refund Status

Admin Panel :

 Call the clients


 Collect Documents
 Schedule interviews
 Preview Client Profile and Documents
 Interview
 Tax Preparation
 Send Tax summary
 Tax Summary Queries
 Review Tax Summary
 Payment follow up
 Payment Receipt
 Discounts
 PDF upload /Correction
 Receiving E Files
 Manual filling
 Send E File
 Refund Status

Client module includes registration of clients, submission of various documents


etc., Admin module includes the calling the clients ,Scheduling interviews,
Observation of various documents and preparation of Tax Summary and sent a
mail to the client upon successful payment of fee.

The project has been planned to be having the view of distributed architecture ,with
centralized storage of the database. The application for the storage of the data has
been planned .Using the construct of
MS-SQL Server 2005 and all the users interfaces have been designed using the
ASP.Net technologies .The database connectivity is planned using the ‘SQL
Connection’ methodology. The statement of security and data protective
mechanism have been given a big choice for proper usage. The application takes
care of different modules and their associated reports, which are their associated
reported ,which are produced as per the applicable strategies and standards that are
put forwarded by the administrative staff

3.3.3 NONFUNCTIONAL REQUIREMENTS

3.3.3.1 User Interface and Human Factor :


The system provides user-friendly interface with both
Keyboard and mouse, the forms are

 Client Login form


 Register form
 Myprofile form
 Spouse form
 Dependent form
 Bank information form
 Vehicle information form
 Documents form
 Scheduled interview form
 Change password form
 Tax Summary form
 Payments form
 Tax return form
 Admin login form
 Register form
 Assign Interviewer

3.3.3.2 DOCUMENTATION
 Requirement Analysis Document (RAD)
 System Design Document
 Coding
 Testing

3.3.3.3 HARDWARE CONSIDERATIONS

 INTEL CELEON/P2/P4 : 600 MHZ OR ABOVE


 RAM(SD/DDR) : 256 OR ABOVE
 HARD DISC : 10GB OR ABOVE
 PRINTER : HP LASER JET
 INTERFACE : MOUSE, KEYBOARD

3.3.3.4 ERROR HANDLING AND EXTREAM


CONDITIONS:

The users of the system either ADMIN or CLIENT should


enter all the fields in the relevant forms. The entered fields should
not violate the primary key constraints. If the user either wants to
update or delete a record, which is not in database, it will display
a massage.

3.3.3.5 SYSTEM MODIGICATIONS

Future enhancements are possible, our system can include any


number of extensions that the Client want to include.

3.3.4 PSEUDO REQUIREMENT


3.3.4.1 Hardware requirement

 486 Processor ( a Pentium based computer)


 32MB of RAM
 About 150MB of free Hard-Drive space
 Windows NT Server 4.0, Windows NT Workstation 4.0 or
Windows98/Windows95 with TCP/IP Networking support properly installed
and configured.
 A web server that supports ASP 2.0
 A Database that supports ODBC (Such as Microsoft Access or Microsoft
SQL Server).
 Microsoft Visual interDev 6.0

3.3.4.2 Software specifications

 windows 2000 server/professional ofr above


 .Net Framework 2.0
 Asp.Net, C# .Net
 SQL Server 2005
 IIS 5.0 or Above
MICROSOFT .NET FRAMEWOR

The .NET Framework is a new computing platform that simplifies application


development in the highly distributed environment of the Internet. The .NET
Framework is designed to fulfill the following objectives.
 To provide a consistent object-oriented programming environment whether
object code is stored and executed locally. Executed locally but internet –
distributed, or executed remotely.
 To provide a code-execution environment that minimizes software
deployment and versioning conflicts.
 To provide a code-execution environment that guarantees safe execution of
code, including code created by an unknown or semi-trusted third party.
 To provide a code-execution environment that eliminates the performance
problems of scripted or interpreted environments.
 To make the developer experience consistent across widely varying types of
application, such as Windows-based application and Web-based application.
 To build all communication on industry standards to ensure that code based
on the .NET Framework can integrate with any other code.

The .NET Framework has two main components; the common language runtime
and the .NET Framework class library. The common language runtime is the
foundation of the .NET Framework. You can think of the runtime as an agent that
manages code at execution time, providing core services such as memory
management, thread management, and remoting,
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. Code 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 .NET Framework, is a
comprehensive, object-oriented collection of reusable types that you can use to
develop applications ranging from traditional command-line or graphical user
interface (GUI) applications to applications based on the latest innovations
provided by ASP.NET, such as Web Forms and XML Web services.
The .NET Framework can be hosted by unmanaged components that load the
common language runtime into their processes and initiate the execution of
managed code, thereby creating a software environment that can exploit both
managed and unmanaged features. The .NET Framework not only provides several
runtime hosts, but also supports the development of third-party runtime hosts.

For example, ASP.NET hosts the runtime to provide a scalable, server-side


environment for managed code. ASP.NET works directly with the runtime to
enable Web Forms applications and XML Web services, both of which are
discussed later in this topic.

Internet Explorer is an example of an unmanaged application that hosts the runtime


(in the form of a MIME type extension). Using Internet Explorer to host the
runtime enables you to embed managed components or Windows Forms controls in
HTML documents. Hosting the runtime in this way makes managed mobile code
(similar to Microsoft® ActiveX® controls) possible, but with significant
improvements that only managed code can offer, such as semi-trusted execution
and secure isolated file storage.

Features of the Common Language Runtime

The common language runtime manages memory, thread execution, code


execution, code safety verification, compilation, and other system services. These
features are intrinsic to the managed code that runs on the common language
runtime.

With 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 might not be able to perform file-access operations, registry-
access operations, or other sensitive functions, even if it is being used in the same
active application.

The runtime enforces code access security. For example, users can trust that an
executable embedded in a Web 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 Internet-deployed software to be
exceptionally feature rich.

The runtime also enforces code robustness by implementing a strict type- and code-
verification infrastructure called the common type system (CTS). The CTS ensures
that all managed code is self-describing. The various Microsoft and third-party
language compilers generate managed code that conforms to the CTS. 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. For example, 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. For example, 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 .NET Framework make the
features of the .NET Framework available to existing code written in that language,
greatly easing the migration process for existing applications.

While 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 COM components and DLLs.

The runtime is designed to enhance performance. Although the common language


runtime provides many standard runtime services, managed code is never
interpreted. A feature called just-in-time (JIT) compiling enables all managed code
to run in the native machine language of the system on which it is executing.
Meanwhile, the memory manager removes the possibilities of fragmented memory
and increases memory locality-of-reference to further increase performance.
Finally, the runtime can be hosted by high-performance, server-side applications,
such as Microsoft® SQL Server™ and Internet Information Services (IIS). This
infrastructure enables you to use managed code to write your business logic, while
still enjoying the superior performance of the industry's best enterprise servers that
support runtime hosting.
Common Type System

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:

Establishes a framework that enables cross-language integration, type safety, and


high performance code execution.
Provides an object-oriented model that supports the complete implementation of
many programming languages.
Defines rules that languages must follow, which helps ensure that objects written in
different languages can interact with each other.
In This Section Common Type System Overview
Describes concepts and defines terms relating to the common type system.

Type Definitions

Describes user-defined types.

Type Members
Describes events, fields, nested types, methods, and properties, and concepts such
as member overloading, overriding, and inheritance.

Value Types

Describes built-in and user-defined value types.

Classes

Describes the characteristics of common language runtime classes.

Delegates

Describes the delegate object, which is the managed alternative to unmanaged


function pointers.

Arrays
Describes common language runtime array types.

Interfaces

Describes characteristics of interfaces and the restrictions on interfaces imposed by


the common language runtime.

Pointers

Describes managed pointers, unmanaged pointers, and unmanaged function


pointers.

Related Sections

. NET Framework Class Library

Provides a reference to the classes, interfaces, and value types included in the
Microsoft .NET Framework SDK.

Common Language Runtime

Describes the run-time environment that manages the execution of code and
provides application development services.

Cross-Language Interoperability

The common language runtime provides built-in support for language


interoperability. However, this support does not guarantee that developers using
another programming language can use code you write. To ensure that you can
develop managed code that can be fully used by developers using any
programming language, a set of language features and rules for 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.

This section describes the common language runtime's built-in support for
language interoperability and explains the role that the CLS plays in enabling
guaranteed cross-language interoperability. CLS features and rules are identified
and CLS compliance is discussed.
In This Section

Language Interoperability

Describes built-in support for cross-language interoperability and introduces the


Common Language Specification.

What is the Common Language Specification?

Explains the need for a set of features common to all languages and identifies CLS
rules and features.

Writing CLS-Compliant Code

Discusses the meaning of CLS compliance for components and identifies levels of
CLS compliance for tools.

Common Type System

Describes how types are declared, used, and managed by the common language
runtime.

Metadata and Self-Describing Components

Explains the common language runtime's mechanism for describing a type and
storing that information with the type itself.

. NET Framework Class Library

The .NET Framework 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 .NET Framework types easy to use, but also reduces the time
associated with learning new features of the .NET Framework. In addition, third-
party components can integrate seamlessly with classes in the .NET Framework.

For example, the .NET Framework collection classes implement a set of interfaces
that you can use to develop your own collection classes. Your collection classes
will blend seamlessly with the classes in the .NET Framework.
As you would expect from an object-oriented class library, the .NET Framework
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 specialized development scenarios. For example, you can use
the .NET Framework to develop the following types of applications and services:

 Console applications.
 Scripted or hosted applications.
 Windows GUI applications (Windows Forms).
 ASP.NET applications.
 XML Web services.
 Windows services.

For example, the Windows Forms classes are a comprehensive set of reusable
types that vastly simplify Windows GUI development. If you write an ASP.NET
Web Form application, you can use the Web Forms classes.

Client Application Development

Client applications are the closest to a traditional style of application in Windows-


based programming. These are the types of applications that display windows or
forms on the desktop, enabling a user to perform a task. Client applications include
applications such as word processors and spreadsheets, as well as custom business
applications such as data-entry tools, reporting tools, and so on. Client applications
usually employ windows, menus, buttons, and other GUI 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 ActiveX control (now replaced
by the managed Windows Forms control) deployed over the Internet as a Web
page. This application is much like other client applications: it is executed natively,
has access to local resources, and includes graphical elements.

In the past, developers created such applications using C/C++ in conjunction with
the Microsoft Foundation Classes (MFC) or with a rapid application development
(RAD) environment such as Microsoft® Visual Basic®. The .NET Framework
incorporates aspects of these existing products into a single, consistent
development environment that drastically simplifies the development of client
applications.
The Windows Forms classes contained in the .NET Framework are designed to be
used for GUI development. You can easily create command windows, buttons,
menus, toolbars, and other screen elements with the flexibility necessary to
accommodate shifting business needs.

For example, the .NET Framework 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 .NET
Framework automatically recreates the forms. This is one of many ways in which
the .NET Framework integrates the developer interface, making coding simpler and
more consistent.

Unlike ActiveX controls, Windows Forms controls have semi-trusted access to a


user's computer. This means that binary or natively executing code can access
some of the resources on the user's system (such as GUI elements and limited file
access) without being able to access or compromise other resources. Because of
code access security, many applications that once needed to be installed on a user's
system can now be safely deployed through the Web. Your applications can
implement the features of a local application while being deployed like a Web
page.

Managed Execution Process

The managed execution process includes the following steps:

Choosing a Complier

To obtain the benefits provided by the common language runtime, you must use
one or more language compilers that target the runtime.
Compiling your code to Microsoft Intermediate Language (MSIL)

Compiling translates your source code into MSIL and generates the required
metadata.

Compiling MSIL to native code

At execution time, a just-in-time (JIT) compiler translates the MSIL into native
code. During this compilation, code must pass a verification process that examines
the MSIL and metadata to find out whether the code can be determined to be type
safe.
Executing your code

The common language runtime provides the infrastructure that enables execution to
take place as well as a variety of services that can be used during execution.

Assemblies Overview

Assemblies are a fundamental part of programming with the .NET Framework. An


assembly performs the following functions:
It contains code that the common language runtime executes. Microsoft
intermediate language (MSIL) code in a portable executable (PE) file will not be
executed if it does not have an associated assembly manifest. Note that each
assembly can have only one entry point (that is, DllMain, WinMain, or Main).

It forms a security boundary. An assembly is the unit at which permissions are


requested and granted. For more information about security boundaries as they
apply to assemblies, see Assembly Security Considerations
It forms a type boundary. Every type's identity includes the name of the assembly
in which it resides. A type called MyType loaded in the scope of one assembly is
not the same as a type called MyType loaded in the scope of another assembly.

It forms a reference scope boundary. The assembly's manifest contains assembly


metadata that is used for resolving types and satisfying resource requests. It
specifies the types and resources that are exposed outside the assembly. The
manifest also enumerates other assemblies on which it depends.

It forms a version boundary. The assembly is the smallest versionable unit in the
common language runtime; all types and resources in the same assembly are
versioned as a unit. The assembly's manifest describes the version dependencies
you specify for any dependent assemblies. For more information about versioning,
see Assembly Versioning

It forms a deployment unit. When an application starts, only the assemblies that the
application initially calls must be present. Other assemblies, such as localization
resources or assemblies containing utility classes, can be retrieved on demand. This
allows applications to be kept simple and thin when first downloaded. For more
information about deploying assemblies, see Deploying Applications
It is the unit at which side-by-side execution is supported. For more information
about running multiple versions of the same assembly, see Side-by-Side Execution

Assemblies can be static or dynamic. Static assemblies can include .NET


Framework types (interfaces and classes), as well as resources for the assembly
(bitmaps, JPEG files, resource files, and so on). Static assemblies are stored on disk
in PE files. You can also use the .NET Framework to create dynamic assemblies,
which are run directly from memory and are not saved to disk before execution.
You can save dynamic assemblies to disk after they have executed.

There are several ways to create assemblies. You can use development tools, such
as Visual Studio .NET, that you have used in the past to create .dll or .exe files.
You can use tools provided in the .NET Framework SDK to create assemblies with
modules created in other development environments. You can also use common
language runtime APIs, such as Reflection. Emit, to create dynamic assemblies.

ASP.NET

Server Application Development

Server-side applications in the managed world are implemented through runtime


hosts. Unmanaged applications host the common language runtime, which allows
your custom managed code to control the behavior of the server. This model
provides you with 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. Servers such as IIS and SQL Server can
perform standard operations while your application logic executes through the
managed code.

Server-side managed code

ASP.NET is the hosting environment that enables developers to use the .NET
Framework to target Web-based applications. However, ASP.NET is more than
just a runtime host; it is a complete architecture for developing Web sites and
Internet-distributed objects using managed code. Both Web Forms and XML Web
services use IIS and ASP.NET as the publishing mechanism for applications, and
both have a collection of supporting classes in the .NET Framework.

XML Web services, an important evolution in Web-based technology, are


distributed, server-side application components similar to common Web sites.
However, unlike Web-based applications, XML Web services components have no
UI and are not targeted for browsers such as Internet Explorer and Netscape
Navigator. Instead, XML Web services consist of reusable software components
designed to be consumed by other
applications, such as traditional client applications, Web-based applications, or
even other XML Web services. As a result, XML Web services technology is
rapidly moving application development and deployment into the highly
distributed environment of the Internet.

If you have used earlier versions of ASP technology, you will immediately notice
the improvements that ASP.NET and Web Forms offers. For example, you can
develop Web Forms pages in any language that supports the .NET Framework. In
addition, your code no longer needs to share the same file with your HTTP text
(although it can continue to do so if you prefer). Web Forms pages execute in
native machine language because, like any other managed application, they take
full advantage of the runtime. In contrast, unmanaged ASP pages are always
scripted and interpreted. ASP.NET pages are faster, more functional, and easier to
develop than unmanaged ASP pages because they interact with the runtime like
any managed application.
The .NET Framework also provides a collection of classes and tools to aid in
development and consumption of XML Web services applications. XML Web
services are built on standards such as SOAP (a remote procedure-call protocol),
XML (an extensible data format), and WSDL (the Web Services Description
Language). The .NET Framework is built on these standards to promote
interoperability with non-Microsoft solutions.

For example, the Web Services Description Language tool included with the .NET
Framework SDK can query an XML Web service published on the Web, parse its
WSDL description, and produce C# or Visual Basic source code that your
application can use to become a client of the XML Web service. The source code
can create classes derived from classes in the class library that handle all the
underlying communication using SOAP and XML parsing. Although you can use
the class library to consume XML Web services directly, the Web Services
Description Language tool and the other tools contained in the SDK facilitate your
development efforts with the .NET Framework.

If you develop and publish your own XML Web service, the .NET Framework
provides a set of classes that conform to all the underlying communication
standards, such as SOAP, WSDL, and XML. Using those classes enables you to
focus on the logic of your service, without concerning yourself with the
communications infrastructure required by distributed software development.

Finally, like Web Forms pages in the managed environment, your XML Web
service will run with the speed of native machine language using the scalable
communication of IIS.

Programming with the .NET Framework

This section describes the programming essentials you need to build .NET
applications, from creating assemblies from your code to securing your application.
Many of the fundamentals covered in this section are used to create any application
using the .NET Framework. This section provides conceptual information about
key programming concepts, as well as code samples and detailed explanations.

Accessing Data with ADO.NET

Describes the ADO.NET architecture and how to use the ADO.NET classes to
manage application data and interact with data sources including Microsoft SQL
Server, OLE DB data sources, and XML.
Accessing Objects in Other Application Domains using .NET Remoting
Describes the various communications methods available in the .NET Framework
for remote communications.

Accessing the Internet

Shows how to use Internet access classes to implement both Web- and Internet-
based applications.
Creating Active Directory Components

Discusses using the Active Directory Services Interfaces.

Creating Scheduled Server Tasks

Discusses how to create events that are raised on reoccurring intervals.

Developing Components

Provides an overview of component programming and explains how those concepts


work with the .NET Framework.

Developing World-Ready Applications

Explains the extensive support the .NET Framework provides for developing
international applications.

Discovering Type Information at Runtime

Explains how to get access to type information at run time by using reflection.

Drawing and Editing Images


Discusses using GDI+ with the .NET Framework.
Emitting Dynamic Assemblies
Describes the set of managed types in the System.Reflection.Emit namespace.

Employing XML in the .NET Framework

Provides an overview to a comprehensive and integrated set of classes that work


with XML documents and data in the .NET Framework.

Extending Metadata Using Attributes

Describes how you can use attributes to customize metadata.


Generating and Compiling Source Code Dynamically in Multiple Languages
Explains the .NET Framework SDK mechanism called the Code Document Object
Model (CodeDOM) that enables the output of source code in multiple
programming languages.
Grouping Data in Collections

Discusses the various collection types available in the .NET Framework, including
stacks, queues, lists, arrays, and structs.

Handling and Raising Events

Provides an overview of the event model in the .NET Framework.

Handling and Throwing Exceptions

Describes error handling provided by the .NET Framework and the fundamentals
of handling exceptions.

Microsoft SQL Server 2005 Storage Engine

Introduction

SQL Se rve r™ 2005 a sc alable, reliable, and easy-to-use product


t ha t wi l l provi de a sol i d foundation for application design for the
ne xt 20 ye a rs.

Storage Engine Design Goals

Da t a ba se a ppl i c a t i ons c an now be deployed widely due to


i nt e l l i ge nt , a ut om a t e d s torage engine operations. Sophisticated yet simplified
architecture improves performance, reliability, and scalability.
Feature Description and Benefits
R e l i a bi l i t y C onc urre ncy, scalability, and reliability are improved
wi t h si m plified data structures and algorithms. Run-
t i m e c he c ks of critical data structures make the
da t a ba se much more robust, minimizing the need for
c onsi st e nc y checks.
Sc a l a bi l i t y T he ne w disk format and storage subsystem provide
st ora ge t hat is scalable from very small to very large
da t a ba se s. Specific changes include:
Si m pl i fi e d mapping of database objects to files eases
m a na ge m e nt and enables tuning flexibility. DB
obj e c t s c a n be mapped to specific disks for load
ba l a nc i ng.
More e ffi cient space management including
i nc re a si ng page size from 2 KB to 8 KB, 64 KB I/O,
va ri a bl e l ength character fields up to 8 KB, and the
a bi l i t y t o delete columns from existing tables without
a n unl oa d/reload of the data.
R e de si gne d utilities support terabyte-sized databases
e ffi c i e nt l y.

E a se of Use DB A i nt e rvention is eliminated for standard


ope ra t i ons—enabling branch office automation and
de skt op a nd mobile database applications. Many
c om pl e x server operations are automated.

Storage Engine Features


Feature Description and Benefits
Da t a T ype Ma xi m um size of character and binary data types
Si z e s i s dra m a t ically increased.
Da t a ba se s Da t a ba se s creation is simplified, now residing on
a nd Fi l e s ope ra t i ng system files instead of logical devices.
Dyna m i c Im prove s performance by optimizing memory
Me m ory a l l oc a t i on and usage. Simplified design minimizes
c ont e nt i on with other resource managers.
Dyna m i c Ful l row-level locking is implemented for both
R ow-L e ve l da t a rows and index entries. Dynamic locking
L oc ki ng a ut om a t i c ally chooses the optimal level of lock
(row, pa ge, multiple page, table) for all database
ope ra t i ons. This feature provides improved
c onc urre ncy with no tuning. The database also
support s the use of "hints" to force a particular
l e ve l of l ocking.
Dyna m i c A da t a ba se can automatically grow and shrink
Spa c e wi t hi n c onfigurable limits, minimizing the nee d
Ma na ge m e nt for DB A intervention. It is no longer necessary to
pre a l l oc ate space and manage data structures.
E vol ut i on T he ne w architecture is designed for extensibility,
wi t h a foundation for object-relational features.
L a rge SQL Se rver 7.0 Enterprise Edition will support
Me m ory m e m ory addressing greater than 4 GB, in
Support c onj unc t i on with Windows NT Server 5.0, Alpha
proc e ssor-based systems, and other techniques.
Uni c ode Na t i ve Unicode, with ODBC and OLE DB Unicode
APIs, i m proves multilingual support.

Storage Engine Architectural Overview

Overview

T he ori gi na l c ode wa s i nherited from Sybase and designed for


e i ght -m e ga byt e Uni x systems in 1983.These new formats improve
m a na ge a bi l i t y a nd sc a l a bility and allow the server to easily scale
from l ow-e nd t o hi gh-e nd systems, improving performance and
m a na ge a bi l i t y.
Benefits
T he re a re m a ny be ne fi t s of the new on-disk layout, including:

 Impr ove d sc al abi lity and integration with Windows NT


Se r ve r
 B e tte r pe r for mance with larger I/Os
 Stabl e r e c or d l oc ators allow more indexes
 M or e i nde xe s spe ed decision support queries
 Si mpl e r data str uctures provide better quality
 G r e ate r e xte nsi bi lity, so that subsequent releases wil l have
a c l e ane r de ve l opment process and new features are faster
to i mpl e me nt
Storage Engine Subsystems

Most re l a t i ona l da t a ba se products are divided into relational


e ngi ne a nd st ora ge e ngi ne components. This document focuses on
t he st ora ge e ngi ne , whi ch has a variety of subsystems:

 M e c hani sms that store data in files and find pages, files,
and e xte nts.
 Re c or d manage ment for accessing the records on pages.
 Ac c e ss me thods using b-trees that are used to quickly find
r e c or ds usi ng r e c ord identifiers.
 Conc ur r e nc y c ontrol for locking,used to implement the
physi c al l oc k manager and locking protocols for page- or
r e c or d-l e ve l l oc ki ng.
 I/ O buffe r management.
 L oggi ng and r e c overy.
 Uti l i ti e s for bac kup and restore, consistency checking, and
bul k data l oadi ng.

Databases, Files, and File groups

Overview

SQL Se rve r 2005 i s m uch more integrated with Windows NT


Se rver t ha n a ny of i t s predecessors. Databases are now stored
di re c t l y i n W i ndows NT Server files .SQL Server is being
st re t c he d t owa rds bot h the high and low end .

Files

SQL Se rve r 7.0 c re a t e s a database using a set of operating system


fi l e s, wi t h a se pa ra t e fi le used for each database. Multiple
da t a ba se s c a n no l onge r share the same file. There are several
i m port a nt be ne fi t s t o t his simplification. Files can now grow and
shri nk, a nd spa c e m a na gement is greatly simplified. All data and
obj e c t s i n t he da t a ba se , such as tables, stored procedures, triggers,
a nd vi e ws, a re st ore d only within these operating system files:
Fi l e T ype De sc ri pt i on
Pri m ary T hi s fi l e i s the starting point of the database. Every
da t a fi l e da t a ba se has only one primary data file and all system
t a bl e s a re always stored in the primary data file.
Se c onda ry T he se fi l e s are optional and can hold all data and
da t a fi l e s obj e c t s t ha t are not on the primary data file. Some
da t a ba se s may not have any secondary data files,
whi l e ot he rs have multiple secondary data files.
L og fi l e s T he se fi l e s hold all of the transaction log information
use d t o re cover the database. Every database ha s at
l e a st one l og file.

W he n a da t a ba se i s c re ated, all the files that comprise the database


a re z e roe d out (fi l l e d with zeros) to overwrite any existing data
l e ft on t he di sk by pre viously deleted files. This improves the
pe rform a nc e of da y-t o-day operations.

F i l e gr oups

A da t a ba se now c onsi st s of one or more data files and one or more


l og fi l e s. T he da t a fi l e s can be grouped together into user-defined
fi l e groups. T a bl e s a nd i ndexes can then be mapped to different
fi l e groups t o c ont rol da ta placement on physical disks. Filegroups
a re a c onve ni e nt uni t of administration, greatly improving
fl e xi bi l i t y. SQL Se rve r 7.0 will allow you to back up a different
port i on of t he da t a ba se each night on a rotating schedule by
c hoosi ng whi c h fi l e groups to back up. Filegroups work well for
sophi st i c a t e d use rs who know where they want to place indexes
a nd t a bl e s. SQL Se rve r 7.0 can work quite effectively without
fi l e groups.

L og fi l e s a re ne ve r a pa rt of a file group. Log space is managed


se pa ra t e l y from da t a space.

Usi ng F i l e s and F i l e groups

Usi ng fi l e s a nd fi l e groups improves database performance by


a l l owi ng a da t a ba se t o be created across multiple disks, multiple
di sk c ont rol l e rs, or re dundant array of inexpensive disks (RAID)
syst e m s. For e xa m pl e , i f your computer has four disks, you can
c re a t e a da t a ba se t ha t c omprises three data files and one log file,
wi t h one fi l e on e a c h di sk. As data is accessed, four read/write
he a ds c a n si m ul t a ne ously access the data in parallel, which speeds
up da t a ba se ope ra t i ons. Additionally, files and file groups allow
be t t e r da t a pl a c e m e nt because a table can be created in a spe cific
fi l e group. T hi s i m proves performance because all I/O for a
spe c i fi c t a bl e c a n be di rected at a specific disk. For example, a
he a vi l y use d t a bl e c a n be placed on one file in one file group and
l oc a t e d on one di sk. T he other less heavily accessed tables in the
da t a ba se c a n be pl a c e d on other files in another file group, located
on a se c ond di sk.

Spac e M anage me nt

T he re a re m a ny i m provements in the allocations of space and the


m a na ge m e nt of spa c e within files. The data structures that keep
t ra c k of pa ge -t o-obj e c t relationships were redesigned. Instead of
l i nke d l i st s of pa ge s, bi tmaps are used because they are cleaner
a nd si m pl e r a nd fa c i l i t a te parallel scans. Now each file is more
a ut onom ous; i t ha s m ore data about itself, within itself. This works
we l l for c opyi ng or m a i ling database files.

SQL Se rve r now ha s a much more efficient system for tracking


t a bl e spa c e . T he c ha nge s enable

 Growi ng a nd shri nking files


 B e t t e r support for large I/O
 R ow spa c e m a na ge ment within a table
 L e ss e xpe nsi ve e xtent allocations

SQL Se rve r i s ve ry e ffe ctive at quickly allocating pages to objects


a nd re usi ng spa c e fre e d by deleted rows. These operations are
i nt e rna l t o t he syst e m a nd use data structures not visible to users,
ye t a re oc c a si ona l l y re ferenced in SQL Server messages .

F i l e Shr i nk

T he se rve r c he c ks t he space usage in each database periodically. If


a da t a ba se i s found t o have a lot of empty space, the size of the
fi l e s i n t he da t a ba se wi ll be reduced. Both data and log files can
be shrunk. T hi s a c t i vi t y occurs in the background and does not
a ffe c t a ny use r a c t i vi t y within the database. You can also use the
SQL Se rve r E nt e rpri se Manager or DBCC to shrink files as
i ndi vi dua l l y or a s a group, or use the DBCC commands
SHR INKDAT AB ASE or SHRINKFILE.

SQL Se rve r shri nks fi l e s by moving rows from pages at the end of
t he fi l e t o pa ge s a l l oc a t ed earlier in the file. In an index, nodes are
m ove d from t he e nd of the file to pages at the beginning of the
fi l e . In bot h c a se s pa ge s are freed at the end of files and then
re t urne d t o t he fi l e syst em. Databases can only be shrunk to the
poi nt t ha t no fre e spa c e is remaining; there is no data compression.

File Grow

Aut om a t e d fi l e growt h greatly reduces the need for database


m a na ge m e nt a nd e l i m i nates many problems that occur when logs or
da t a ba se s run out of space. When creating a database, an initial
si z e for t he fi l e m ust be given. SQL Server creates the data files
ba se d on t he si z e provi ded by the database creator and data is
a dde d t o t he da t a ba se t hese files fill. By default, data files are
a l l owe d t o grow a s m uc h as necessary until disk space is
e xha ust e d. Al t e rna t i ve l y, data files can be configured to grow
a ut om a t i c a l l y, but onl y to a predefined maximum size. This
pre ve nt s di sk dri ve s from running out of space.

Al l owi ng fi l e s t o grow automatically can cause fragmentation of


t hose fi l e s i f a l a rge number of files share the same disk.
T he re fore , i t i s re c om m ended that files or filegroups be created on
a s m any di ffe re nt l oc a l physical disks as available. Place objects
t ha t c om pe t e he a vi l y for space in different filegroups.

Physical Database Architecture

Mi c rosoft SQL Se rve r version 7.0 introduces significant


i m prove m e nt s i n t he wa y data is stored physically. These changes
a re l arge l y t ra nspa re nt to general users, but do affect the setup and
a dm i ni st ra t i on of SQL Server databases.
Pages and Extents

T he funda m e nt a l uni t of data storage in SQL Server is the page. In


SQL Se rve r ve rsi on 7.0, the size of a page is 8 KB, increased from
2 KB . T he st a rt of e a c h page is a 96-byte header used to store
syst e m i nform a t i on, such as the type of page, the amount of free
spa c e on t he pa ge , a nd the object ID of the object owning the page.
T he re a re se ve n t ype s of pages in the data files of a SQL Server
7.0 da t a ba se .
Pa ge T ype C ontains
Da t a Data rows with all data except text, ntext,
a nd image.
Inde x Index entries
L og L og records recording data changes for use in
re covery
T e xt / Im a ge T ext, ntext, and image data
Gl obal Al l oc a t i on Information about allocated extents
Ma p
Pa ge Fre e Spa c e Information about free space available on
pages
Inde x Al l oc a t i on Information about extents used by a table or
Ma p i ndex.

T or n P age De te c ti on

T orn pa ge de t e c t i on he l ps insure database consistency. In SQL


Se rver 7.0, pa ge s a re 8 KB, while Windows NT does I/O in 512-
byt e se gm e nt s. T hi s di screpancy makes it possible for a page to be
pa rt i a l l y wri t t e n. T hi s could happen if there is a power failure or
ot he r probl e m be t we e n the time when the first 512-byte segment is
wri t t e n a nd t he c om pl e t ion of the 8 KB of I/O.
T he re a re se ve ra l wa ys to deal with this. One way is to use
ba t t e ry-ba c ke d c a c he d I/O devices that guarantee all-or-nothing
I/ O. If you ha ve one of these systems, torn page detection is
unne c e ssa ry.
In SQL Se rve r 7.0, you can enable torn page detection for a
pa rt i c ul a r da t a ba se by t urning on a database option.

L oc ki ng E nhanc e me nts

Row-L e ve l L oc ki ng

SQL Se rve r 6.5 i nt roduced a limited version of row locking on


i nse rt s. SQL Se rve r 7.0 now supports full row-level locking for
bot h da t a rows a nd i nde x entries. Transactions can update
i ndi vi dua l re c ords wi t hout locking entire pages. Many OLTP
a ppl i c a t i ons c a n e xpe ri ence increased concurrency, especially
whe n a ppl i c a t i ons a ppe nd rows to tables and indexes.

Dynami c L oc ki ng

SQL Se rve r 7.0 ha s a superior locking mechanism that is uni que in


t he da t a ba se i ndust ry. At run time, the storage engine dynamically
c oope ra t e s wi t h t he que ry processor to choose the lowest-cost
l oc ki ng st ra t e gy, ba se d on the characteristics of the schema and
que ry.

Dyna m i c l oc ki ng ha s t he following advantages:

 Si m pl i fi e d da t a ba se administration, because database


a dm i ni st ra t ors no longer need to be concerned with adjusting
l oc k e sc a l a t i on t hresholds.
 Inc re a se d pe rform ance, because SQL Server minimizes
syst e m ove rhe a d by using locks appropriate to the task.
 Appl i c a t i on de ve l opers can concentrate on development,
be c a use SQL Se rver adjusts locking automatically.
Mul t igra nul a r l oc ki ng a llows different types of resources to be
l oc ke d by a t ra nsa c t i on. To minimize the cost of locking, SQL
Se rver a ut om a t i c a l l y l ocks resources at a level appropriate to the
t a sk. L oc ki ng a t a sm a l ler granularity, such as rows, increases
c onc urre nc y but ha s a higher overhead because more locks must be
he l d i f m a ny rows a re l ocked. Locking at a larger granularity, such
a s t a bl e s, i s e xpe nsi ve i n terms of concurrency. However, locking
a l a rge r uni t of da t a ha s a lower overhead because fewer locks are
be i ng m a i nt a i ne d.

L oc k M ode s

SQL Se rve r l oc ks re sources using different lock modes that


de t e rm i ne how t he re sources can be accessed by concurrent
t ra nsa c t i ons.
SQL Se rve r use s se ve ra l resource lock modes:
L oc k m ode De sc ri ption
Sha re d Use d for operations that do not change or update
da t a (read-only operations), such as a SELECT
st a t e m e nt.
Upda te Use d on resources that can be updated. Prevents a
c om m on form of deadlock that occurs when
m ul t i pl e sessions are reading, locking, and t hen
pot e nt i ally updating resources later.
E xc l usi ve Use d for data-modification operations, such as
UPDATE, INSERT, or DELETE. Ensures that
m ul t i pl e updates cannot be made to the same
re sourc e at the same time.
Int e nt Use d t o establish a lock hierarchy.
Sc he m a Use d when an operation dependent on the schema
of a t a ble is executing. There are two types of
sc he m a locks: schema stability and schema
m odi fi cation.

T abl e and Inde x Ar c hi tecture

O ve r vi e w
Funda m e nt a l c ha nge s were made in table organization. This new
orga ni z a t i on a l l ows t he query processor to make use of more
nonc lust e re d i nde xe s, greatly improving performance for decision
support a ppl i c a t i ons. T he query optimizer has a wide set of
e xe c ut i on st ra t e gi e s a nd many of the optimization limitations of
e a rl i e r ve rsi ons of SQL Server have been removed. In particular,
SQL Se rve r 7.0 i s l e ss sensitive to index-selection issues, resulting
i n l e ss t uni ng work.

T abl e O r gani z ati on

T he da t a for e a c h t a bl e is now stored in a collection of 8-KB data


pa ge s. E a c h da t a pa ge has a 96-byte header containing system
i nform a t i on suc h a s t he ID of the table that owns the page and
poi nt e rs t o t he ne xt a nd previous pages for pages linked in a list.
A row-offse t t a bl e i s a t the end of the page. Data rows fill the rest
of t he pa ge .

SQL Se rve r 7.0 t a bl e s use one of two methods to organize their


da t a pa ge s:

 C l ust e re d t a bl e s a re tables that have a clustered index. The


da t a rows a re st ored in order based on the clustered index
ke y. T he da t a pa ges are linked in a doubly linked list. The
i nde x i s i m pl e m e nted as a b-tree index structure that supports
fa st re t ri e va l of t he rows based on their clustered index key
va l ue s.
 He a ps a re t a bl e s t hat have no clustered index. There is no
pa rt i c ul a r orde r t o the sequence of the data pages and the data
pa ge s a re not l i nked in a linked list.

T abl e Inde xe s

A SQL Se rve r i nde x i s a structure associated with a table that


spe e ds re t ri e va l of t he rows in the table. An index contains keys
bui l t from one or m ore columns in the table. These keys are stored
i n a st ruc t ure t ha t a l l ows SQL Server to quickly and efficiently
fi nd t he row or rows a ssociated with the key values. This structure
i s c a l l e d a he a p. T he t wo types of SQL Server indexes are
c l ust e re d a nd nonc l ust e red indexes
Cl uste r e d Inde xe s

A c l ust e re d i nde x i s one in which the order of the values in the


i nde x i s t he sa m e a s t he order of the data stored in the table.
T he c l ust e re d i nde x c ontains a hierarchical tree. When searching
for da t a ba se d on a c l ustered index value, SQL Server quickly
i sol a te s t he pa ge wi t h t he specified value and then searches the
pa ge for t he re c ord or records with the specified value. The lowest
l e ve l , or l e a f node , of t he index tree is the page that contains the
da t a .

Nonc l uste r e d Inde xe s

A nonc l ust e re d i nde x i s analogous to an index in a textbook. The


da t a i s st ore d i n one pl a ce; the index is stored in another, wi th
poi nt e rs t o t he st ora ge location of the indexed items in the data.
T he l owe st l e ve l , or l e a f node, of a nonclustered index is the Row
Ide nt i fi e r of t he i nde x entry, which gives SQL Server the location
of t he a c t ua l da t a row. The Row Identifier can have one of two
form s. If t he t a bl e ha s a clustered index, the identifier of the row
i s t he c l ust e re d i nde x key. If the table is a heap, the Row Identifier
i s t he a c t ua l l oc a t i on of the data row, indicated with a page
num be r a nd offse t on t he page. Therefore, a nonclustered index, in
c om pa ri son wi t h a c l ust ered index, has an extra level betwee n the
i nde x st ruc t ure a nd t he data itself.
W he n SQL Se rve r se a rc hes for data based on a nonclustered index,
i t se a rc he s t he i nde x for the specified value to obtain the location
of t he rows of da t a a nd then retrieves the data from their storage
l oc a t i ons. T hi s m a ke s nonclustered indexes the optimal choice for
e xa c t -m a t c h que ri e s.
Som e books c ont a i n m ultiple indexes. Since nonclustered indexes
fre que nt l y st ore c l ust e red index keys as their pointers to data
rows, i t i s i m port a nt t o keep clustered index keys as small as
possi bl e .

SQL Se rve r support s up to 249 nonclustered indexes on each table.


T he nonc l ust e re d i nde xes have a b-tree index structure similar to
t he one i n c l ust e re d i ndexes. The difference is that nonclustered
i nde xe s ha ve no e ffe c t on the order of the data rows. The
c ol l e c t i on of da t a pa ge s for a heap is not affected if nonclustered
i nde xe s a re de fi ne d for the table.

Data T ype Change s

Uni c ode Data

SQL Se rve r now supports Unicode data types, which makes i t


e a si e r t o st ore da t a i n multiple languages within one database by
e l i m i na t i ng t he probl e m of converting characters and installing
m ul t i pl e c ode pa ge s. Unicode stores character data using two bytes
for e a c h c ha ra c t e r ra t he r than one byte. There are 65,536 different
bi t pa t t e rns i n t wo byt e s, so Unicode can use one standard set of
bi t pa t t e rns t o e nc ode e ach character in all languages, including
l a ngua ge s suc h a s C hi nese that have large numbers of characters.
Ma ny progra m m i ng l a nguages also support Unicode data types.
T he ne w da t a t ype s t ha t support Unicode are ntext, nchar, and
nva rc ha r. T he y a re t he same as text, char, and varchar, except for
t he wi de r ra nge of c ha racters supported and the increased storage
spa c e use d.

Impr ove d Data Stor age

Da t a st ora ge fl e xi bi l i t y is greatly improved with the expansion of


t he m a xi m um l i m i t s for char, varchar, binary, and varbinary data
t ype s t o 8,000 byt e s, i ncreased from 255 bytes. It is no longer
ne c e ssa ry t o use t e xt a nd image data types for data storage for
a nyt hi ng but ve ry l a rge data values. The Transact-SQL string
func t i ons a l so support t hese very long char and varchar values, and
t he SUB ST R ING func t i on can be used to process text and image
c ol um ns. T he ha ndl i ng of Nulls and empty strings has been
i m prove d. A ne w uni que identifier data type is provided for
st ori ng a gl oba l l y uni que identifier (GUID).

Nor mal i z ati on

Norma l i z a t i on i s t he c oncept of analyzing the “inherent” or normal


re l a t i onshi ps be t we e n t he various elements of a database. Data is
norm a l i z e d i n di ffe re nt forms.
F i r st nor mal for m: Da ta is in first normal form if data of the
t a bl e s i s m ove d i n t o se parate tables where data in each table is of
a si m i l a r t ype , gi vi ng e ach table a primary key – a unique label or
a n i de nt i fi e r. T hi s e l i m inates repeating groups of data.

Se c ond nor mal for m: Involves taking out data that is only
de pe nde nt on pa rt of ke y.

T hi r d nor mal for m: Involves removing the transitive


de pe nde nc i e s. T hi s m e a ns getting rid of any thing in the tabl es that
doe sn’t de pe nd Sol e l y on the primary key. Thus, through
norm a l i z a t i on, e ffe c t i ve data storage can be achieved eliminating
re dunda nc i e s a nd re pe a ting groups.

SQ L

T he st ruc t ure d que ry l a nguage is used to manipulate data in the


ora c l e da t a ba se . It i s a l so called SEQUEL.

SQ L *pl us- the use r – friendly interface:

SQL *pl us Is a supe rse t of the standard SQL .it conforms to the
st a nda rds of a n SQL – c ompliant language and it has some specific
ora c l e a dd – one s, l e a di ng to its name SQL and plus. SQL *plus
wa s a l wa ys c a l l e d UFI (user –friendly interface). The oracle server
onl y unde rst a nds st a t e ments worded using SQL. Other front-end
t ool s i nt e ra c t wi t h t he oracle database using the SQL statements.
Ora c le ’s i m pl e m e nt a t i on of SQL through SQL *plus is compliant
wi t h ANSI (Am e ri c a n national standard institute) and the ISO
(i nt e rna t i ona l st a nda rds organization) standards. Almost all oracle
t ool s support i de nt i c a l SQL syntax

Da t a c a n be m a ni pul a t e d upon by using the Data Manipulation


L a ngua ge (DML ). T he DML statements provided by SQL are
se l e c t , upda t e , a nd de l e te. SQL *plus 3.3 can be accessed only by
gi vi ng t he va l i d use rna me and password. This is one of the
se c uri t y fe a t ure s i m posed by oracle to restrict unauthorized data
a c c e sse d. SQL a l l ows provides commands for creating new users,
gra nt i ng pri vi l e ge s e t c .

Al l suc h fe a t ure s of SQL*plus make it a power data access tool


e spe c i a l l y for ora c l e products.

3.4 SYSTEM MODEL

3.4.1 SCENARIOS:
1. Scenario for the usecase ‘Myprofile’ :

Scenario name : ProfileRegistration

Participating actors instance : Likit :Client

Flow of events :
1) After successful login , Likit
goes to the Home page

2) Likit clicks on Myprofile and


enters the details as follows in
the corresponding fields

Fmane : Venkata

Mname : Sai

Lname : Likit
Gender Male Female

SSN 558794

City Hyderabad

Andhra Pradesh
State

Zip 500013

Email likit@gmail.com

Occupation Software Engineer

Marital status married unmarried

3) After entering all the details, Likit


presses the submit button

4) The details are stored in the database

2. A Scenario for the use case ‘ Schedule Interview ‘

Scenario name : AssigningInterviews

Participating actors instance : Mr. Rao : Admin

Flow of events :
1) After successful login , Mr. Rao
goes to the Home page

2) Mr. Rao clicks on the Register


and see who are all the new clients
requesting for the Interveiw

3) Mr. Rao assign a staff member for the


respective client who has requested
for the interview on a particular day
or if possible he arranges the
interview on the same day that was
requested by client
4) Mr. Rao presses the schedule button
and assign the interviewer as follows

Client name : Anil

ClientScheduleDate : 05/21/2008

Admin given date : 05/25/2008

Assign to : Sudha

5) Finally Mr. Rao sends interview date


and interviewer to Anil through mail.

3.4.2 USE CASE MODEL:


CLIENT

TIS

ADMIN Tax information System

TAX
PREPARER

USE CASE DIAGRAM FOR TIS

TIS

Login

Register
Assign interview

ADMIN
Myprofile CLIENT

Documents

Tax Summary TAX


PREPARER

Acknowledgement

Schedule Interview

Change Password

INCLUDE RELATIONSHIP

MYPROFILE

REISTER
CHANGE
PASSWORD

EXTEND RELATIONSHIP

DOCUMENT

CONNUCTION DOWN

TAX SUMMARY

USE CASE MODEL

Usecase name : Tax Summary

Participating Actor instance : Calculated by Tax Preparer


Details are submitted by Admin
to Client

Entry condition : Tax Preparer takes the details that


are submitted my client

Flow of events :
1) Tax preparer invokes the
TaxCalculation use case

2) He enters the details that are


submitted by client

3) The documents submitted by the


Client consist of Field, Rental,
Insurance, Share, Mutual Fund.

4) The amount coated by the client


for Field, Rental, Insurance,
Share, Mutual Fund is deducted
from the actual income of the
client and for the remaining
amount Tax is calculated that is
10% of remaining amount

5) Tax preparer foreword this to


Admin

6) Admin mail the details to Client

7) Tax calculation is done only when


to the client pays the tax
calculation Admin

Exit Condition : Client is acknowledge by receiving


mail

3.5 OBJECT MODEL:


3.5.1 DATA DICTIONARY

TABLE NAME : TAXREGISTRATION


FIELS NAME DATATYPE
taxid varchar
fname varchar
mname varchar
lname varchar
phone int
userid varchar
pwd varchar

TABLE NAME : ITINDEPENDENT


FIELS NAME DATATYPE
taxid varchar
fname varchar
mname varchar
lname varchar
phone int
pedate datetime
vnumber int
vdate datetime
pbirth varchar
addressinp varchar
dateentryusa datetime

TABLE NAME : ITINSPOUSE


FIELS NAME DATATYPE
taxid varchar
fname varchar
mname varchar
lname varchar
phone int
pedate datetime
vnumber int
vdate datetime
pbirth varchar
addressinp varchar
dateentryusa datetime

TABLE NAME : DOCUMENT


FIELS NAME DATATYPE
taxid varchar
dtype varchar
dife varchar
status varchar

TABLE NAME : SPOUSE


FIELS NAME DATATYPE
taxid varchar
fname varchar
mname varchar
lname varchar
dob datetime
occupation varchar
ssnitin varchar

TABLE NAME : DEPENDENT


FIELS NAME DATATYPE
taxid varchar
fname varchar
mname varchar
lname varchar
relation varchar
other varchar
dob datetime
ssnitin varchar
noofyearsinusa int

TABLE NAME : INTERVIEW


FIELS NAME DATATYPE
userid varchar
pwd varchar

TABLE NAME : VEHICLE


FIELS NAME DATATYPE
make varchar
model varchar
pdate varchar
bmileage varchar
taxid varchar

TABLE NAME : BANK


FIELS NAME DATATYPE
bname varchar
anumber int
rnumber int
atype varchar
taxid varchar

TABLE NAME : COMPOSE


FIELS NAME DATATYPE
email varchar
subject varchar
attachments varchar
date datetime
body varchar

TABLE NAME : PAYMENT


FIELS NAME DATATYPE
taxid varchar
bank varchar
number int
expdate datetime

TABLE NAME : SCHEDULE


FIELS NAME DATATYPE
taxid varchar
sdate datetime
statusconfirmation varchar
assign varchar

TABLE NAME : MYPROFILE


FIELS NAME DATATYPE
taxid varchar
fname varchar
mname varchar
lname varchar
gendr varcha
dob datetime
ssninit int
address varchar
city varchar
state varchar
zip int
email varchar

TABLE NAME : ADMINMAIL


FIELS NAME DATATYPE
sender varchar
receiver varchar
subject varchar
attachments varchar
body varchar
senddate datetime

3.5.2 CLASS DIAGRAMS

CLASS DIAGRAM FOR ADMIN


DOCUMENT

Documenttype : varchar
* Documentfile : varchar

ADMIN SUBMIT()
1 *
Userid : varchar
Password:varchar 1
1
TAXSUMMARY

SCHEDULEINTERVIEW

1
Selectdate : datetime

SUBMIT()

CLASS DIAGRAM FOR CLIENT

MYPROFILE

Fname : varchar
Mname : varchar
lname : varchar
gender : varchar
1 dob : varchar
ssn : varchar
address : varchar
city :varchar
state : varchar
zip : int
email : varchar
ocupation : varchar
SUBMIT()

1
CLIENT
1
1
Userid : varchar DOCUMENT
Password:varchar 1 1

document documenttype :varchar


documentfile :varchar

SUBMIT()

1 CHANGE PASSWORD

oldpwd : varchar
newpwd : varchar
confirmpwd : varchar

SUBMIT()

3.6 DYNAMIC MODEL

SEQUENCE DIGRAM FOR ADMIN

Admin Admin Registerr Tax Save


button Control Summarry Changs
ADMIN
Pressbutton()
Accept()
Displatdata()
Calculate
Summary()

Submittaxdetails()

Pressbutton()

Updatedetails()

SEQUENCE DIGRAM FOR CLIENT

Client Client Myprofile Save Myprofile


button Control Changs

ADMIN
Pressbutton()
Accept()
Displatdata()
Insertpersonaldetails()

Pressbutton()

Submittax
details()

Pressbutton()

Updatedetails()

Updateforms()

Filldetails()

Presssubmit()

Submitupdatedetails()
Collabration Diagrams
Admin

2: Accept 3: DisplayData
:Admin :Admin :Register
Button Control

5: submitTaxdetails
7: UpdateDetails
1: PressButton
4: CalculateSummary

:Tax :Save :Admin


Summery Changes
6: PressButton
Client

1: PressButton 2: Accept
:Admin :Client :Client
Button Control

4: InsertPersonalDetails
6: Submittaxdetails
5: PressButton
12: UpdateDetails
10: FillDetails
7: PressButton
8: UpdateDetails
11: PressSubmitbutton
3: DisplayData
9: UpdateForms

:My :Save
Profile Changes

ER-Diagram
DFDs

Client Client

Tax information
Admin Admin
system

Interview wear Interview wear


Register

Create profile

Upload
CLIENT documents CLIENT

Schedule
interview

Tax summary

Payment
Registration

Documents

ADMINISTRATOR ADMINISTRATOR
Assign
interviews

Check interview
Project related
expenses

Job related
expenses

Other expenses
INTERVIEWER INTERVIEWER
Independent
expenses

Traveling expenses

Moving expenses
Login

Validation Registration
Check validation
Documents

Login Authorized
Login Assign interview
Administrator Proces
s Administrator Check schedule
Login
Register

Valid data
Create profile
Check validation

Upload document

Login Authorize
Schedule
Login interview
Administrator
Proces
Recruiter
s Tax summary

Payment
Login
Project expenses

Validation Job related


Check validation expenses

Other expenses

login Authorized
Login Dependent
proces expenses
administrate
s Administrator
Travel expenses

Moving expenses
Register

Create
profile

Upload
CLIENT documents
PROCES CLIENT
S DETAILS
Schedule

Tax
summary

Payment
New registration

CLIENT CLIENT
PROCESS

Old registration
Tax
Payer
info

Spouse
Info

CREAT Spouse PROFILE


ING ITIN DETAILS
PRO

Depend
ent

Vehicle
W2S

1099MISC
UPLOA
D DOCUMENT
DETAILS
DOCUM
ENT Overseas
Salary
certificate

other
Comple
te
profile

Submitted
Outman
INTERVIEW
DETAILS
INTERVIEW

Available

Assign
Interview
TAX Prepare
SUMMARY tax SUMMARY DETAILS

PAY MENT EMAIL PAYMENT DETAILS


LOGIN

Recruiter Login
process
Display

Assign
Date and
DOCUME time
NTS DOCUMENT DETAILS
Documen
t

Upload
Un
schedule

Schedule
CHECKING INTERVIEW
INTERVIEWS SCHEDULE
DETAILS

Update

Assign

TAX COMPUT TAX DETAILS


ATION
System Design
4.SYSTEM DESIGN

DEFINITION:

Design is the first step in the development phase for any engineered
product/system. It may be defined as “The process of applying various
techniques and principles for the purpose of defining a device, a process/a
system in sufficient detail to permit its physical realization.
Once the software requirements have been analyzed and specified, the
software design involves three technical activities—Design, Code
generation and testing, that are required to build and verify the software.
The design activities are of main importance in this phase, because in this
activity decisions ultimately affecting the success of the software
implementation and its ease of maintenance are made. These decisions
have the final bearing upon reliability and maintainability of the system.
Design is the only way to accurately translate the customer’s requirements
into finished software/
a system.

4.1SUBSYSTEM DECOMPOSITION

Subsystem decomposition is to find subsystem and to keep track of


related objects together. Subsystems are merged into one subsystem, a
complex subsystem are added to take care of new functionality. The first
iterations over the subsystem decomposition can introduce drastic changes
in the system design changes in the system design model.

The subsystems identified are :

TIS
Admin
Client

TIS

ADMIN

CLIENT

TIS

MYPROFILE DOCUMENT

CHANGE PASSWORD

TIS

DOCUMENT TAX SUMMATY

SCHEDULE INTERVIEW
4.1.2 PRESISTANT DATA MANAGEMENT

Persistent data outlive a single execution of the system. It describes the


persistent data stored by the system and data management infrastructure
required for it . It includes the description if the encapsulation of database.

ADMIN CLIENT

TIS
Taxregistration
myprofile
document
bank
itindepende
vehicle
itinspouse
compose
spouse
payment
dependent
schedu interviewer

adminmail
Input forms
acknowledgement
Details of interview sent to mail
payment
ADMIN
ADMINMODULE

Check.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class admin_Check : System.Web.UI.Page


{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
string sql;
protected void Page_Load(object sender, EventArgs e)
{
// str = Request.QueryString["taxid"].ToString();
cn.Open();
if (!IsPostBack)
{
FillData();
}
}

public void FillData()


{
sql = "select m.taxid,m.fname,m.email,s.sdate from myprofile m,schedule s
where m.taxid=s.taxid";
// sql = "select m.taxid,m.fname,m.email,d.status,d.dtype,s.sdate from
myprofile m,documents d,schedule s where m.taxid="+"'"+str+"'";
SqlDataAdapter da = new SqlDataAdapter(sql, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
}

checkdocument.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class admin_CheckDocuments : System.Web.UI.Page


{
SqlConnection cn = new SqlConnection("integrated
security=true;database=satya");
string sql;
string str;
protected void Page_Load(object sender, EventArgs e)
{
cn.Open();
str = Request.QueryString["taxid"];
if (!IsPostBack)
{
filldata();
}
}
private void filldata()
{

SqlDataAdapter da = new SqlDataAdapter("select * from documents where


taxid='"+str+"'", cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
protected void GridView1_SelectedIndexChanging(object sender,
GridViewSelectEventArgs e)
{
Label lbldoc =
(Label)GridView1.Rows[e.NewSelectedIndex].FindControl("Lable1");

sql=" update documents set status='Document is Verified' where


dtype='"+lbldoc.Text+"' and taxid='" + str + "'";
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.ExecuteNonQuery();
filldata();

}
}

CheckProfile.aspx.cs

using System;
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;
using System.Data.SqlClient;
public partial class admin_MyProfile : System.Web.UI.Page
{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
string sql,str;
protected void Page_Load(object sender, EventArgs e)
{
cn.Open();
str = Request.QueryString["taxid"].ToString();
if (!IsPostBack)
{
FillData();
}
}

public void FillData()


{
sql = "select * from myprofile where taxid='"+str+"'";
SqlDataAdapter da = new SqlDataAdapter(sql, cn);
DataSet ds = new DataSet();
da.Fill(ds);
DetailsView1.DataSource = ds;
DetailsView1.DataBind();
}
}

New.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class admin_new : System.Web.UI.Page


{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
string sql;
protected void Page_Load(object sender, EventArgs e)
{
cn.Open();
if (!IsPostBack)
{
//FillData();
FillData1();
}

public void FillData1()


{
sql = "select taxid,count(*) as count from documents where taxid in(select
taxid from myprofile) group by taxid";
SqlDataAdapter da = new SqlDataAdapter(sql, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView2.DataSource = ds;
GridView2.DataBind();

public void FillData()


{
//sql = "select m.taxid,m.fname,m.email,s.sdate,d.dtype,d.status from
myprofile m,documents d,schedule s where m.taxid=s.taxid and m.taxid=d.taxid";
//SqlDataAdapter da = new SqlDataAdapter(sql, cn);
//DataSet ds = new DataSet();
//da.Fill(ds);
//GridView1.DataSource = ds;
//GridView1.DataBind();
}
}

Schedule.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class admin_Scheduled : System.Web.UI.Page


{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
string sql;
static string taxid;
protected void Page_Load(object sender, EventArgs e)
{
cn.Open();
GridView1.Visible = false;
GridView2.Visible = false;

// Calendar1.Visible = false;
//Label1.Visible = false;
//Label2.Visible = false;
//Label3.Visible = false;
//Label4.Visible = false;
//Label5.Visible = false;
//Label6.Visible = false;
//Label7.Visible = false;
//TextBox2.Visible = false;
//DropDownList2.Visible = false;
//Button1.Visible = false;
//Button2.Visible = false;
if (!IsPostBack)
{
FillData();
FillData1();
}
}
public void FillData()
{
sql = "select distinct m.taxid, m.fname,s.sdate,s.confimdate from myprofile
m,schedule s where m.taxid=s.taxid ";
SqlDataAdapter da = new SqlDataAdapter(sql, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}

public void FillData1()


{
sql = "select distinct m.taxid, m.fname,s.sdate,s.confimdate,s.assign from
myprofile m,schedule s where m.taxid=s.taxid ";
SqlDataAdapter da = new SqlDataAdapter(sql, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView2.DataSource = ds;
GridView2.DataBind();
}

protected void GridView1_SelectedIndexChanging(object sender,


GridViewSelectEventArgs e)
{
Label
l=(Label)GridView1.Rows[e.NewSelectedIndex].FindControl("Label1");
taxid = l.Text;
sql = "select distinct m.taxid, m.fname,s.sdate,s.confimdate from myprofile
m,schedule s where m.taxid="+"'"+l.Text+"'";
SqlCommand cmd = new SqlCommand(sql, cn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Label4.Text = dr[1].ToString();
Label5.Text = dr[2].ToString();
}
dr.Close();
}
protected void Button3_Click(object sender, EventArgs e)
{
GridView1.Visible = true;
Label1.Visible = true;
Label2.Visible = true;
Label3.Visible = true;
Label4.Visible = true;
Label5.Visible = true;
Label6.Visible = true;
Label7.Visible = true;
TextBox2.Visible = true;
DropDownList2.Visible = true;
Button1.Visible = true;
Button2.Visible = true;
}
protected void Button4_Click(object sender, EventArgs e)
{
GridView2.Visible = true;
Label1.Visible = false;
Label2.Visible = false;
Label3.Visible = false;
Label4.Visible = false;
Label5.Visible = false;
Label6.Visible = false;
Label7.Visible = false;
TextBox2.Visible = false;
DropDownList2.Visible = false;
Button1.Visible = false;
Button2.Visible = false;
}
protected void Button2_Click(object sender, EventArgs e)
{
Calendar1.Visible = true;
}
//Label l;
protected void Button1_Click(object sender, EventArgs e)
{

//for (int i = 0; i < GridView2.Rows.Count - 1; i++)


//{
// l = (Label)GridView2.Rows[i].FindControl("Label2");
//}
//l = (Label)grv.FindControl("Label2");
//foreach (GridViewRow gr in GridView1.Rows)
//{
// l=(Label)gr.FindControl("
//}
sql = "update schedule set status='Yes',confimdate='" + TextBox2.Text +
"',assign='" + DropDownList2.SelectedItem.Text + "' where taxid='" +taxid+ "'";
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.ExecuteNonQuery();
FillData1();
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
if (Calendar1.SelectedDate <= DateTime.Now)
{
Label7.Text = "Your Selected Date is not Correct";
}
else
{
TextBox2.Text = Calendar1.SelectedDate.ToString();
}
}
}
CLIENT MODULE

Login.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class Login : System.Web.UI.Page


{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
string sql,sql1;

protected void Page_Load(object sender, EventArgs e)


{
cn.Open();
}

protected void btnlogin_Click(object sender, EventArgs e)


{
if ((txtuserid.Text == "admin") && (txtpwd.Text == "babu"))
{
Response.Redirect("~/admin/adminpage.aspx");
}
else
{
sql = "select taxid from taxregistration where userid='" + txtuserid.Text + "'
and pwd='" + txtpwd.Text + "'";
SqlCommand cmd = new SqlCommand(sql, cn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Session["taxid"] = dr[0].ToString();
Response.Redirect("welcome.aspx");
}

else
{
sql1 = "select userid from interviewer where userid='" + txtuserid.Text +
"' and pwd='" + txtpwd.Text + "'";
SqlCommand cmd1 = new SqlCommand(sql1, cn);
SqlDataReader dr1 = cmd1.ExecuteReader();
if (dr1.Read())
{
Session["userid"] = dr1[0].ToString();
Response.Redirect("~/Interviewer/Interview.aspx");
}
else
{
lblmsg.Text = "Invalid UserID and Password";
}

dr1.Close();
}
dr.Close();

}
}
}

Myprofile.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class MyProfile : System.Web.UI.Page


{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
string sql,sql1,sql2,sql3,str;
protected void Page_Load(object sender, EventArgs e)
{

lbltaxid.Text = Session["taxid"].ToString();
cn.Open();
if (!IsPostBack)
{
FillData();
}
}

public void FillData()


{
sql = "select * from myprofile where taxid=" + "'" + Session["taxid"] + "'";
///Response.Write(sql);
SqlCommand cmd = new SqlCommand(sql, cn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
lbltaxid.Text = dr[0].ToString();
txtfname.Text = dr[1].ToString();
txtmname.Text = dr[2].ToString();
txtlname.Text = dr[3].ToString();
radiogender.Text = dr[4].ToString();
txtdob.Text = dr[5].ToString();
txtssn.Text = dr[6].ToString();
txtaddress.Text = dr[7].ToString();
txtcity.Text = dr[8].ToString();
txtstate.Text = dr[9].ToString();
txtzip.Text = dr[10].ToString();
txtemail.Text = dr[11].ToString();
listoccuiption.Text = dr[12].ToString();
radiomaritalstatus.Text = dr[13].ToString();
radiodependency.Text = dr[14].ToString();
}
}
protected void btnregister_Click(object sender, EventArgs e)
{
str = "New";

//lbltaxid.Text = Session["taxid"].ToString();
sql = "select taxid from myprofile where taxid=" + "'" + Session["taxid"] + "'";
SqlCommand cmd = new SqlCommand(sql, cn);
SqlDataReader dr=cmd.ExecuteReader();
if (dr.Read())
{
sql1 = "update myprofile set fname='" + txtfname.Text + "',mname='" +
txtmname.Text + "',lname='" + txtlname.Text + "',gender='" +
radiogender.SelectedItem.Text + "',dob='" + txtdob.Text + "',ssnitin='" +
txtssn.Text + "',address='" + txtaddress.Text + "',city='" + txtcity.Text + "',state='"
+ txtstate.Text + "',zip='" + txtzip.Text + "',email='" + txtemail.Text + "',occuiption
='" + listoccuiption.SelectedItem.Text + "',mstatus='" +
radiomaritalstatus.SelectedItem.Text + "',dependency='" +
radiodependency.SelectedItem.Text + "' where taxid=" + "'" + Session["taxid"] +
"'";
SqlCommand cmd1 = new SqlCommand(sql1, cn);
cmd1.ExecuteNonQuery();
}
else if (txtssn.Text == "")
{
sql2 = "insert
myprofile(taxid,fname,mname,lname,gender,dob,address,city,state,zip,email,occui
ption,mstatus,dependency,ctype) values('" + Session["taxid"].ToString() + "','" +
txtfname.Text + "','" + txtmname.Text + "','" + txtlname.Text + "','" +
radiogender.SelectedItem.Text + "','" + txtdob.Text + "','" + txtaddress.Text + "','"
+ txtcity.Text + "','" + txtstate.Text + "','" + txtzip.Text + "','" + txtemail.Text + "','"
+ listoccuiption.SelectedItem.Text + "','" + radiomaritalstatus.SelectedItem.Text +
"','" + radiodependency.SelectedItem.Text + "','" + str + "')";
//Label2.Text = sql2;
SqlCommand cmd2 = new SqlCommand(sql2, cn);
cmd2.ExecuteNonQuery();
//Clear();
}
else
{
sql3 = "insert
myprofile(taxid,fname,mname,lname,gender,dob,ssnitin,address,city,state,zip,emai
l,occuiption,mstatus,dependency,ctype) values('" + Session["taxid"].ToString() +
"','" + txtfname.Text + "','" + txtmname.Text + "','" + txtlname.Text + "','" +
radiogender.SelectedItem.Text + "','" + txtdob.Text + "','" + txtssn.Text + "','" +
txtaddress.Text + "','" + txtcity.Text + "','" + txtstate.Text + "','" + txtzip.Text + "','"
+ txtemail.Text + "','" + listoccuiption.SelectedItem.Text + "','" +
radiomaritalstatus.SelectedItem.Text + "','" + radiodependency.SelectedItem.Text +
"','" + str + "')";
//Label2.Text = sql2;
SqlCommand cmd3 = new SqlCommand(sql3, cn);
cmd3.ExecuteNonQuery();
}
dr.Close();
}
public void Clear()
{
txtfname.Text = "";
txtmname.Text = "";
txtlname.Text = "";
foreach (ListItem li in radiogender.Items)
{
li.Selected = false;
}
txtdob.Text = "";
txtssn.Text = "";
txtaddress.Text = "";
txtcity.Text = "";
txtstate.Text = "";
txtzip.Text = "";
txtemail.Text = "";
foreach (ListItem li1 in listoccuiption.Items)
{
li1.Selected = false;
}
foreach (ListItem li2 in radiomaritalstatus.Items)
{
li2.Selected = false;
}
foreach (ListItem li3 in radiodependency.Items)
{
li3.Selected = false;
}
}
protected void radiomaritalstatus_SelectedIndexChanged(object sender,
EventArgs e)
{
if (radiomaritalstatus.SelectedItem.Text == "Marrried")
{
Response.Write("<script type='text/javascript'>");
Response.Write("window.open('Spouse.aspx')");
Response.Write("</script>");
}
}
protected void radiodependency_SelectedIndexChanged(object sender,
EventArgs e)
{
if (radiodependency.SelectedItem.Text == "Yes")
{
Response.Write("<script type='text/javascript'>");
Response.Write("window.open('Dependent.aspx')");
Response.Write("</script>");
}
}
}

Spouse.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class Spouse : System.Web.UI.Page


{

SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
string sql;
string str;
protected void Page_Load(object sender, EventArgs e)
{

cn.Open();
if (!IsPostBack)
{
FillData();
}
}
public void FillData()
{
sql = "select * from spouse where taxid=" + "'" + Session["taxid"] + "'";
SqlCommand cmd = new SqlCommand(sql, cn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
txtfname.Text = dr[1].ToString();
txtmname.Text = dr[2].ToString();
txtlname.Text = dr[3].ToString();
txtdob.Text = dr[4].ToString();
occupationdropdownlist.Text = dr[5].ToString();
string str = dr[6].ToString();
if (str == "Yes")
{
checkssntax.Checked = true;
}
else
checkssntax.Checked = false;
}

protected void btnsubmit_Click(object sender, EventArgs e)


{
if (checkssntax.Checked == true)
str = "Yes";
else

str = "No";

sql = "insert into spouse values('" + Session["taxid"] + "','" + txtfname.Text +


"','" + txtmname.Text + "','" + txtlname.Text + "','" + txtdob.Text + "','" +
occupationdropdownlist.SelectedItem.Text + "','" + str + "')";
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.ExecuteNonQuery();

Response.Write("<script type='text/javascript'>");
Response.Write("window.close('Spouse.aspx')");
Response.Write("</script>");
}
protected void checkssntax_CheckedChanged(object sender, EventArgs e)
{
if (checkssntax.Checked == true)
{
Response.Write("<script type='text/javascript'>");
Response.Write("window.open('ITINSpouse.aspx')");
Response.Write("</script>");

Session["fname"] = txtfname.Text;
Session["mname"] = txtmname.Text;
Session["lname"] = txtlname.Text;
}
}
protected void txtfname_TextChanged(object sender, EventArgs e)
{

}
}

ITINSpouse.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class ITIN : System.Web.UI.Page


{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
//SqlConnection cn =new SqlConnection ("integrated
security=true;database=satya");
string sql;

protected void Page_Load(object sender, EventArgs e)


{

cn.Open();
if (!IsPostBack)
{
FillData();
}
}
public void FillData()
{
sql = "select * from itinspouse where taxid=" + "'" + Session["taxid"] + "'";
SqlCommand cmd = new SqlCommand(sql, cn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
txtfname.Text = dr[1].ToString();
txtmname.Text = dr[2].ToString();
txtlname.Text = dr[3].ToString();
txtpassportno.Text = dr[4].ToString();
txtpassportedate.Text = dr[5].ToString();
txtvisano.Text = dr[6].ToString();
txtvisaedate.Text = dr[7].ToString();
txtplaceofbirth.Text = dr[8].ToString();
txtaddressinthepassport.Text = dr[9].ToString();
txtdateofentryusa.Text = dr[10].ToString();
}
else
{
txtfname.Text = Session["fname"].ToString();
txtmname.Text = Session["mname"].ToString();
txtlname.Text = Session["lname"].ToString();
}
dr.Close();
}
protected void btnsubmit_Click(object sender, EventArgs e)
{
sql = "insert into itinspouse values('" + Session["taxid"] + "','" + txtfname.Text
+ "','" + txtmname.Text + "','" + txtlname.Text + "','" + txtpassportno.Text + "','" +
txtpassportedate.Text + "','" + txtvisano.Text + "','" + txtvisaedate.Text + "','" +
txtplaceofbirth.Text + "','" + txtaddressinthepassport.Text + "','" +
txtdateofentryusa.Text + "')";
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.ExecuteNonQuery();

Response.Write("<script type='text/javascript'>");
Response.Write("window.close('ITINSpouse.aspx')");
Response.Write("</script>");
}
}
Dependent.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class Dependent : System.Web.UI.Page


{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
string sql,sql1,str;
static DataSet ds;
static int n;

protected void Page_Load(object sender, EventArgs e)


{
cn.Open();
lblother.Visible = false;
txtother.Visible = false;
lblmsg3.Visible = false;
if (!IsPostBack)
{
FillData();
FillData1();
}
}
public void FillData1()
{
sql = "select * from dependent";
SqlDataAdapter da = new SqlDataAdapter(sql, cn);
ds = new DataSet();
da.Fill(ds, "dependent");
}

private void GetRecord(int n)


{
txtfname.Text = ds.Tables[0].Rows[n].ItemArray[1].ToString();
txtmname.Text = ds.Tables[0].Rows[n].ItemArray[2].ToString();
txtlname.Text = ds.Tables[0].Rows[n].ItemArray[3].ToString();
droprelation.Text = ds.Tables[0].Rows[n].ItemArray[4].ToString();
txtother.Text = ds.Tables[0].Rows[n].ItemArray[5].ToString();
txtdob.Text = ds.Tables[0].Rows[n].ItemArray[6].ToString();
string str = ds.Tables[0].Rows[n].ItemArray[7].ToString();
if (str == "Yes")
{
checkssntax.Checked = true;
}
else
{
checkssntax.Checked = false;
}
//checkssntax.Text = ds.Tables[0].Rows[n].ItemArray[7].ToString();
txtnoofyear.Text = ds.Tables[0].Rows[n].ItemArray[8].ToString();
}

public void FillData()


{
sql = "select * from dependent where taxid=" + "'" +
Session["taxid"].ToString() + "'";
SqlCommand cmd = new SqlCommand(sql, cn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
txtfname.Text = dr[1].ToString();
txtmname.Text = dr[2].ToString();
txtlname.Text = dr[3].ToString();
droprelation.Text = dr[4].ToString();
txtother.Text = dr[5].ToString();
txtdob.Text = dr[6].ToString();
string str = dr[7].ToString();
if (str == "Yes")
{
checkssntax.Checked = true;
}
else
{
checkssntax.Checked = false;
}
txtnoofyear.Text = dr[8].ToString();
}
}
protected void btnsubmit_Click(object sender, EventArgs e)
{
if (checkssntax.Checked == true)
str = "Yes";
else
str = "No";

if (droprelation.SelectedItem.Text == "Other")
{
sql = "insert into dependent values('" + Session["taxid"] + "','" +
txtfname.Text + "','" + txtmname.Text + "','" + txtlname.Text + "','" +
droprelation.SelectedItem.Text + "','" + txtother.Text + "','" + txtdob.Text + "','" +
str + "','" + txtnoofyear.Text + "')";
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.ExecuteNonQuery();
}
else
{
sql1 = "insert into
dependent(taxid,fname,mname,lname,relation,dob,ssnitin,noofyearsinusa) values('"
+ Session["taxid"] + "','" + txtfname.Text + "','" + txtmname.Text + "','" +
txtlname.Text + "','" + droprelation.SelectedItem.Text + "','" + txtdob.Text + "','" +
str + "','" + txtnoofyear.Text + "')";
SqlCommand cmd1 = new SqlCommand(sql1, cn);
cmd1.ExecuteNonQuery();
}

Response.Write("<script type='text/javascript'>");
Response.Write("window.close('Dependent.aspx')");
Response.Write("</script>");
}
protected void droprelation_SelectedIndexChanged(object sender, EventArgs e)
{
if (droprelation.SelectedItem.Text == "Other")
{
lblother.Visible = true;
txtother.Visible = true;
}
}
protected void checkssntax_CheckedChanged(object sender, EventArgs e)
{
if (checkssntax.Checked == true)
{
Response.Write("<script type='text/javascript'>");
Response.Write("window.open('ITINDependent.aspx')");
Response.Write("</script>");

//Session["fname"] = txtfname.Text;
//Session["mname"] = txtmname.Text;
//Session["lname"] = txtlname.Text;

}
}
protected void btnnext_Click(object sender, EventArgs e)
{
if (n < ds.Tables[0].Rows.Count - 1)
{
n += 1;
GetRecord(n);
}
else
{
lblmsg3.Visible = true;
lblmsg3.Text = "This is Last Record";
}
}
protected void btnprevious_Click(object sender, EventArgs e)
{
if (n > 0)
{
n -= 1;
GetRecord(n);
}
else
{
lblmsg3.Visible = true;
lblmsg3.Text = "This is First Record";
}
}
}

ITINDependent.aspx.cs

using System;
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;
using System.Data.SqlClient;

public partial class ITINDependent : System.Web.UI.Page


{
SqlConnection cn = new
SqlConnection(ConfigurationManager.AppSettings["con"]);
string sql;

protected void Page_Load(object sender, EventArgs e)


{

cn.Open();
if (!IsPostBack)
{
FillData();
}
}
public void FillData()
{
sql = "select * from itindependent where taxid=" + "'" +
Session["taxid"].ToString()+ "'";
SqlCommand cmd = new SqlCommand(sql, cn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
txtfname.Text = dr[1].ToString();
txtmname.Text = dr[2].ToString();
txtlname.Text = dr[3].ToString();
txtpassportno.Text = dr[4].ToString();
txtpassportedate.Text = dr[5].ToString();
txtvisano.Text = dr[6].ToString();
txtvisaedate.Text = dr[7].ToString();
txtplaceofbirth.Text = dr[8].ToString();
txtaddressinthepassport.Text = dr[9].ToString();
txtdateofentryusa.Text = dr[10].ToString();
}
//else
//{
// //if(Session["fname"].ToString()!= "")
// //{
// txtfname.Text = Session["fname"].ToString();
// txtmname.Text = Session["mname"].ToString();
// txtlname.Text = Session["lname"].ToString();
// //}
//}
dr.Close();
}
protected void btnsubmit_Click(object sender, EventArgs e)
{
sql = "insert into itindependent values('" + Session["taxid"] + "','" +
txtfname.Text + "','" + txtmname.Text + "','" + txtlname.Text + "','" +
txtpassportno.Text + "','" + txtpassportedate.Text + "','" + txtvisano.Text + "','" +
txtvisaedate.Text + "','" + txtplaceofbirth.Text + "','" + txtaddressinthepassport.Text
+ "','" + txtdateofentryusa.Text + "')";
SqlCommand cmd = new SqlCommand(sql, cn);
cmd.ExecuteNonQuery();

Response.Write("<script type='text/javascript'>");
Response.Write("window.close('ITINDependent.aspx')");
Response.Write("</script>");
}
}
TEST CASE NAME : ADMIN LOGIN

Description Input Expected Output Actual Output Remarks

User name Admin Control passes to Control passes to pass


password field password field

Password **** Control passes to Control does not fail


home page passes to home
page

Password **** Control passes to Control passes to pass


home page home page

TEST CASE NAME : CLIENT LOGIN

Description Input Expected Output Actual Output Remarks

User name Britle Control passes to Control passes to pass


password field password field

Password **** Control passes to Control does not fail


home page passes to home
page(user id does
not matches with
password)

Password **** Control passes to Control passes to pass


home page home page

TEST CASE NAME : MYPROFILE


Description Input Expected Actual Output Remarks
Output

Taxid Anil Control passes Control passes pass


to next field to next field

Fname Venkata Control passes Control does pass


to next field not passes to
next field

Mname Anil Control passes Control passes pass


to next field to next field

Lname Kumar Control passes Control passes pass


to next field to next field

D.O.B 02/06/1984 Control passes Control passes pass


to next field to next field

SSNtin 5569 Control passes Control passes pass


to next field to next field

Address Vijayawada Control passes Control passes pass


to next field to next field

City Hyderabad Control passes Control passes pass


to next field to next field

State Andhra Control passes Control passes pass


Pradesh to next field to next field

Zip 500001 Control passes Control passes pass


to next field to next field
Email anil@gmail.com Control passes Control passes pass
to next field to next field

Occupation Software Control passes Control passes pass


Engineer to next field to next field

Mstatus yes Control goes to Control goes pass


next page tonext page

Dependency yes Control goes to Control goes to pass


next page next page

Ctype New Control goes to Control goes to pass


next page next page

Bank yes Control goes to Control goes to pass


next page next page

Vehicle yes Control goes to Control goes to pass


next page next page

Pnumber B1758469 Control passes Control passes pass


to next field to next field

Pexp 02/05/2018 Control passes Control passes pass


to next field to next field

Vnumber ID2879340554 Control passes Control passes pass


to next field to next field

Vexp 06/04/2020 Control passes Control passes pass


to next field to next field

TEST CASE NAME : BANK


Description Input Expected Output Actual Output Remarks

Bankname SBI Control passes to Control passes to pass


next field next field

Accountno SBI586 Control passes to Control passes to pass


next field next field

Routingno 5894 Control passes to Control passes to pass


next field next field

TEST CASE NAME : VEHICLE

Description Input Expected Output Actual Output Remarks

Make Ford Control passes to Control passes pass


next field to next field

Model Fiesta Control passes to Control passes pass


next field to next field

Purchasedate 08/06/2007 Control passes to Control passes pass


next field to next field
Beginning 11/08/2007 Control passes to Control passes pass
mileage date next field to next field

Ending
mileage date 12/05/2008 Control passes to Control passes pass
next field to next field

TEST CASE NAME : CHANGE PASSWORD

Description Input Expected Output Actual Output Remarks

Old Control passes to Control passes to pass


password ***** next field next field

New Control passes to Control passes to pass


password *** next field next field

Confirm *** Control passes to Control passes to pass


Password next field next field
TEST CASE NAME : PAYMENT

Description Input Expected Output Actual Output Remarks

Bank number SBI435 Control passes to Control passes pass


next field to next field

Debit/Credit JI259 Control passes to Control passes pass


number next field to next field

Validity Date 05/09/2010 Control passes to Control passes pass


next field to next field

CONCLUSIONS AND RECOMMENDATIONS


The entire project has been developed and deployed as per the
requirements stated by the user, it is found to be bug free as per the
testing standards that are implemented. Any specification-untraced
errors will be concentrated in the coming versions, which are planned to
be developed in near future. The system at present does not take care off
the money payment methods, as the consolidated constructs need SSL
standards and are critically to be initiated in the first face, the application
of the credit card transactions is applied as a developmental phase in the
coming days. The system needs more elaborative technicality for its
inception and evolution.
BIBLIOGRAPHY

References for the Project Development Were Taken From the


following Books and Web Sites.

SQL Server

Mastering SQL Server 2000 by Gunderloy,Jorden BPB

Publications

Beginning SQL Server 2000 by Thearon Willis wrox publications

C# .NET

Programming Visual Basic .NET, Mircrosoft Press

C# .NET by Mc Donald, Microsoft Press

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy