0% found this document useful (0 votes)
14 views46 pages

Project

The document discusses online voting software that aims to make the voting process more efficient for cooperative societies. It would allow voting and counting to be done digitally through a computer system rather than manually with paper ballots. This would save time, reduce errors, and prevent invalid votes. The system would count and calculate votes and percentages, check for duplicates, and determine the winning candidates. It provides requirements, module details, and discusses feasibility and design aspects like data flow diagrams and use case diagrams to model the system.

Uploaded by

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

Project

The document discusses online voting software that aims to make the voting process more efficient for cooperative societies. It would allow voting and counting to be done digitally through a computer system rather than manually with paper ballots. This would save time, reduce errors, and prevent invalid votes. The system would count and calculate votes and percentages, check for duplicates, and determine the winning candidates. It provides requirements, module details, and discusses feasibility and design aspects like data flow diagrams and use case diagrams to model the system.

Uploaded by

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

ONLINE VOTING

Abstract : The project "Voting Software" aims at making the voting process easy in
cooperative societies. Presently voting is performed using ballot paper and the counting is
done manually, hence it consumes a lot of time. There can be possibility of invalid votes.
All these makes election a tedious task. In our proposed system voting and counting is
done with the help of computer. It saves time, avoid error in counting and there will be no
invalid votes. It makes the election process easy

Functional Requirements : •To count the total number of votes. •To calculate the
percentage of total votes. •To calculate votes for each candidate. •To calculate percentage
of votes for each candidate. •To check for duplication. •To Find the winning persons in
each section. •All the process above mentioned should be done fast

Details : Modules We have devised the following modules according to the requirements
of the organization. •Administrator Module •User Module Administrator has the whole
authority of the organization .He is the one who maintains all the aspects of voters and
candidates. His functionalities include insertion, updation ,deletion of both the voter and
the candidate. He is responsible for allowing persons to vote. User's have the provision to
view the list of voters candidates and results and to vote for their desired candidate.

2. SYSTEM STUDY

2.1 FEASIBILITY STUDY

The feasibility of the project is analyzed in this phase and business

proposal is put forth with a very general plan for the project and some cost

estimates. During system analysis the feasibility study of the proposed system is

to be carried out. This is to ensure that the proposed system is not a burden to
the company. For feasibility analysis, some understanding of the major

requirements for the system is essential.

Three key considerations involved in the feasibility analysis are

 ECONOMICAL FEASIBILITY

 TECHNICAL FEASIBILITY

 SOCIAL FEASIBILITY

ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will

have on the organization. The amount of fund that the company can pour into the

research and development of the system is limited. The expenditures must be

justified. Thus the developed system as well within the budget and this was

achieved because most of the technologies used are freely available. Only the

customized products had to be purchased.

TECHNICAL FEASIBILITY

This study is carried out to check the technical feasibility, that is, the

technical requirements of the system. Any system developed must not have a high

demand on the available technical resources. This will lead to high demands on the

available technical resources. This will lead to high demands being placed on the

client. The developed system must have a modest requirement, as only minimal or

null changes are required for implementing this system.

SOCIAL FEASIBILITY
The aspect of study is to check the level of acceptance of the system by the

user. This includes the process of training the user to use the system efficiently. The

user must not feel threatened by the system, instead must accept it as a necessity.

The level of acceptance by the users solely depends on the methods that are

employed to educate the user about the system and to make him familiar with it.

His level of confidence must be raised so that he is also able to make some

constructive criticism, which is welcomed, as he is the final user of the system.

System Specification

System Requirements:

Hardware Requirements:

• System : Pentium IV 2.4 GHz.


• Hard Disk : 40 GB.
• Floppy Drive : 1.44 Mb.
• Monitor : 15 VGA Colour.
• Mouse : Logitech.
• Ram : 512 Mb.
Software Requirements:

• Operating system : - Windows XP.


• Coding Language : ASP.Net with C#

• Data Base : SQL Server 2005

SYSTEM DESIGN
Data Flow Diagram / Use Case Diagram / Flow Diagram
The DFD is also called as bubble chart. It is a simple graphical
formalism that can be used to represent a system in terms of the input data to
the system, various processing carried out on these data, and the output data is
generated by the system.

DFD(Data Flow Diagram)

0-Level(Context Level) DFD

User 1.0 System


Process

1-Level DFD
Person 1.0.0 Login
Polling
Process

UserLogin

Admin 1.0.0 Login


Login Process

User Login

2-Level DFD

Total No. of Votes

Percentage of all votes

Registration TotalCandidateofVote

User Login Poll Answer

User User Candidate


Details Details name

User
Details
Admin 1.0.0 Home TotalCandidateofVote
Login Process

Result of
Candidat
Admin User e votes
Details

Percent Candidate Votes

Collaboration diagram

1. Checked login info ()


3.Do Registration for Candidate ()
Admin 5.Add Candidate Info ()

____________ Admin Interface


________________________

Admin database
_______________
2. Submit login info ()
7. View Candidate votes() 4. Submit Reg info ()
8.View Candidate votes 6. Submit Candidate Info ()
In Percentage()

Admin database
Sequencial diagram
ADMINSTRATOR

Registration Total Number Votes Percentage of All Votes Result of Cadidate Percentage candidate
Vote
Vote

Admin

Give all details of


Candidate

View no. of
votes

View votes in
percentage

View Candidate votes

View Candidate votes


In Percentage

Use case diagrams


Candidate

Login

Pooling

Candidate System

ADMINSTRATOR

Registration

Total Number
Votes
Percentage of All
Votes
Persentage candidate
ADMINSTRATOR Vote System
Result of Cadidate
Vote

Software Environment
4.1 Features OF. Net

Microsoft .NET is a set of Microsoft software technologies for rapidly


building and integrating XML Web services, Microsoft Windows-based applications,
and Web solutions. The .NET Framework is a language-neutral platform for writing
programs that can easily and securely interoperate. There’s no language barrier
with .NET: there are numerous languages available to the developer including
Managed C++, C#, Visual Basic and Java Script. The .NET framework provides the
foundation for components to interact seamlessly, whether locally or remotely on
different platforms. It standardizes common data types and communications
protocols so that components created in different languages can easily
interoperate.

“.NET” is also the collective name given to various software


components built upon the .NET platform. These will be both products (Visual
Studio.NET and Windows.NET Server, for instance) and services (like Passport, .NET
My Services, and so on).

THE .NET FRAMEWORK

The .NET Framework has two main parts:


1. The Common Language Runtime (CLR).

2. A hierarchical set of class libraries.

The CLR is described as the “execution engine” of .NET. It provides the environment
within which programs run. The most important features are

 Conversion from a low-level assembler-style language, called


Intermediate Language (IL), into code native to the platform being
executed on.
 Memory management, notably including garbage collection.
 Checking and enforcing security restrictions on the running code.
 Loading and executing programs, with version control and other such
features.
 The following features of the .NET framework are also worth
description:
Managed Code

The code that targets .NET, and which contains certain extra

Information - “metadata” - to describe itself. Whilst both managed and unmanaged


code can run in the runtime, only managed code contains the information that
allows the CLR to guarantee, for instance, safe execution and interoperability.

Managed Data

With Managed Code comes Managed Data. CLR provides memory


allocation and Deal location facilities, and garbage collection. Some .NET languages
use Managed Data by default, such as C#, Visual Basic.NET and JScript.NET,
whereas others, namely C++, do not. Targeting CLR can, depending on the language
you’re using, impose certain constraints on the features available. As with managed
and unmanaged code, one can have both managed and unmanaged data in .NET
applications - data that doesn’t get garbage collected but instead is looked after by
unmanaged code.
Common Type System

The CLR uses something called the Common Type System (CTS) to strictly
enforce type-safety. This ensures that all classes are compatible with each other,
by describing types in a common way. CTS define how types work within the
runtime, which enables types in one language to interoperate with types in another
language, including cross-language exception handling. As well as ensuring that
types are only used in appropriate ways, the runtime also ensures that code doesn’t
attempt to access memory that hasn’t been allocated to it.

Common Language Specification

The CLR provides built-in support for language interoperability. 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.
THE CLASS LIBRARY

.NET provides a single-rooted hierarchy of classes, containing over


7000 types. The root of the namespace is called System; this contains basic types
like Byte, Double, Boolean, and String, as well as Object. All objects derive from
System. Object. As well as objects, there are value types. Value types can be
allocated on the stack, which can provide useful flexibility. There are also efficient
means of converting value types to object types if and when necessary.

The set of classes is pretty comprehensive, providing collections, file,


screen, and network I/O, threading, and so on, as well as XML and database
connectivity.

The class library is subdivided into a number of sets (or namespaces),


each providing distinct areas of functionality, with dependencies between the
namespaces kept to a minimum.
LANGUAGES SUPPORTED BY .NET

The multi-language capability of the .NET Framework and Visual


Studio .NET enables developers to use their existing programming skills to build all
types of applications and XML Web services. The .NET framework supports new
versions of Microsoft’s old favorites Visual Basic and C++ (as VB.NET and Managed
C++), but there are also a number of new additions to the family.
Visual Basic .NET has been updated to include many new and
improved language features that make it a powerful object-oriented programming
language. These features include inheritance, interfaces, and overloading, among
others. Visual Basic also now supports structured exception handling, custom
attributes and also supports multi-threading.

Visual Basic .NET is also CLS compliant, which means that any CLS-
compliant language can use the classes, objects, and components you create in
Visual Basic .NET.

Managed Extensions for C++ and attributed programming are just


some of the enhancements made to the C++ language. Managed Extensions
simplify the task of migrating existing C++ applications to the new .NET Framework.

C# is Microsoft’s new language. It’s a C-style language that is


essentially “C++ for Rapid Application Development”. Unlike other languages, its
specification is just the grammar of the language. It has no standard library of its
own, and instead has been designed with the intention of using the .NET libraries
as its own.

Microsoft Visual J# .NET provides the easiest transition for Java-


language developers into the world of XML Web Services and dramatically
improves the interoperability of Java-language programs with existing software
written in a variety of other programming languages.
Active State has created Visual Perl and Visual Python, which enable
.NET-aware applications to be built in either Perl or Python. Both products can be
integrated into the Visual Studio .NET environment. Visual Perl includes support for
Active State’s Perl Dev Kit.

Other languages for which .NET compilers are available include

• FORTRAN
• COBOL
• Eiffel

Fig1 .Net Framework


ASP.NET Windows Forms

XML WEB SERVICES

Base Class Libraries

Common Language Runtime

Operating System

C#.NET is also compliant with CLS (Common Language Specification) and


supports structured exception handling. CLS is set of rules and constructs that
are supported by the CLR (Common Language Runtime). CLR is the runtime
environment provided by the .NET Framework; it manages the execution of the
code and also makes the development process easier by providing services.

C#.NET is a CLS-compliant language. Any objects, classes, or components that


created in C#.NET can be used in any other CLS-compliant language. In
addition, we can use objects, classes, and components created in other CLS-
compliant languages in C#.NET .The use of CLS ensures complete
interoperability among applications, regardless of the languages used to create
the application.

CONSTRUCTORS AND DESTRUCTORS:


Constructors are used to initialize objects, whereas destructors are used to
destroy them. In other words, destructors are used to release the resources
allocated to the object. In C#.NET the sub finalize procedure is available. The
sub finalize procedure is used to complete the tasks that must be performed
when an object is destroyed. The sub finalize procedure is called automatically
when an object is destroyed. In addition, the sub finalize procedure can be
called only from the class it belongs to or from derived classes.

GARBAGE COLLECTION

Garbage Collection is another new feature in C#.NET. The .NET Framework


monitors allocated resources, such as objects and variables. In addition, the
.NET Framework automatically releases memory for reuse by destroying
objects that are no longer in use.

In C#.NET, the garbage collector checks for the objects that are not currently in
use by applications. When the garbage collector comes across an object that is
marked for garbage collection, it releases the memory occupied by the object.

OVERLOADING

Overloading is another feature in C#. Overloading enables us to define multiple


procedures with the same name, where each procedure has a different set of
arguments. Besides using overloading for procedures, we can use it for
constructors and properties in a class.

MULTITHREADING:
C#.NET also supports multithreading. An application that supports
multithreading can handle multiple tasks simultaneously, we can use
multithreading to decrease the time taken by an application to respond to user
interaction.

STRUCTURED EXCEPTION HANDLING

C#.NET supports structured handling, which enables us to detect and


remove errors at runtime. In C#.NET, we need to use Try…Catch…Finally
statements to create exception handlers. Using Try…Catch…Finally statements,
we can create robust and effective exception handlers to improve the
performance of our application.

THE .NET FRAMEWORK

The .NET Framework is a new computing platform that simplifies


application development in the highly distributed environment of the Internet.

OBJECTIVES OF. NET FRAMEWORK


1. To provide a consistent object-oriented programming environment whether
object codes is stored and executed locally on Internet-distributed, or executed
remotely.

2. To provide a code-execution environment to minimizes software deployment


and guarantees safe execution of code.

3. Eliminates the performance problems.

There are different types of application, such as Windows-based applications


and Web-based applications.
Front end used :

Microsoft Visual Studio. Net used as front end tool. The reason for selecting Visual Studio
dot Net as front end tool as follows:

➢ Visual Studio .Net has flexibility , allowing one or more language to interoperate to provide
the solution. This Cross Language Compatibility allows to do project at faster rate.
➢ Visual Studio. Net has Common Language Runtime , that allows all the component to
converge into one intermediate format and then can interact.
➢ Visual Studio. Net has provide excellent security when your application is executed in the
system
➢ Visual Studio.Net has flexibility, allowing us to configure the working environment to best
suit our individual style. We can choose between a single and multiple document
interfaces, and we can adjust the size and positioning of the various IDE elements.
➢ Visual Studio. Net has Intelligence feature that make the coding easy and also Dynamic
help provides very less coding time.
➢ The working environment in Visual Studio.Net is often referred to as Integrated
Development Environment because it integrates many different functions such as design,
editing, compiling and debugging within a common environment. In most traditional
development tools, each of separate program, each with its own interface.
➢ The Visual Studio.Net language is quite powerful – if we can imagine a programming task
and accomplished using Visual Basic .Net.
➢ After creating a Visual Studio. Net application, if we want to distribute it to others we can
freely distribute any application to anyone who uses Microsoft windows. We can distribute
our applications on disk, on CDs, across networks, or over an intranet or the internet.
➢ Toolbars provide quick access to commonly used commands in the programming
environment. We click a button on the toolbar once to carry out the action represented by
that button. By default, the standard toolbar is displayed when we start Visual Basic.
Additional toolbars for editing, form design, and debugging can be toggled on or off from
the toolbars command on the view menu.
➢ Many parts of Visual Studio are context sensitive. Context sensitive means we can get help
on these parts directly without having to go through the help menu. For example, to get
help on any keyword in the Visual Basic language, place the insertion point on that keyword
in the code window and press F1.
➢ Visual Studio interprets our code as we enter it, catching and highlighting most syntax or
spelling errors on the fly. It’s almost like having an expert watching over our shoulder as
we enter our code.

FEATURES OF VISUAL STUDIO .NET

What is .NET?

When .NET was announced in late 1999, Microsoft positioned the technology as a platform
for building and consuming Extensible Markup Language (XML) Web services. XML Web
services allow any type of application, be it a Windows- or browser-based application running on
any type of computer system, to consume data from any type of server over the Internet. The reason
this idea is so great is the way in which the XML messages are transferred: over established
standard protocols that exist today. Using protocols such as SOAP, HTTP, and SMTP, XML Web
services make it possible to expose data over the wire with little or no modifications to your
existing code.

Since the initial announcement of the .NET Framework, it's taken on many new and
different meanings to different people. To a developer, .NET means a great environment for
creating robust distributed applications. To an IT manager, .NET means simpler deployment of
applications to end users, tighter security, and simpler management. To a CTO or CIO, .NET
means happier developers using state-of-the-art development technologies and a smaller bottom
line. To understand why all these statements are true, you need to get a grip on what the .NET
Framework consists of, and how it's truly a revolutionary step forward for application architecture,
development, and deployment.
.NET Framework
Now that you are familiar with the major goals of the .NET Framework, let's briefly
examine its architecture. The .NET Framework sits on top of the operating system, which can be
a few different flavors of Windows and consists of a number of components .NET is essentially a
system application that runs on Windows.

Conceptually, the CLR and the JVM are similar in that they are both runtime infrastructures
that abstract the underlying platform differences. However, while the JVM officially supports only the
Java language, the CLR supports any language that can be represented in its Common Intermediate
Language (CIL). The JVM executes bytecode, so it can, in principle, support many languages, too. Unlike
Java's bytecode, though, CIL is never interpreted. Another conceptual difference between the two
infrastructures is that Java code runs on any platform with a JVM, whereas .NET code runs only on
platforms that support the CLR. In April 2003, the International Organization for Standardization and the
International Electrotechnical Committee (ISO/IEC) recognized a functional subset of the CLR, known as
the Common Language Interface (CLI), as an international standard.

This development, initiated by Microsoft and developed by ECMA International, a European


standards organization, opens the way for third parties to implement their own versions of the CLR on
other platforms, such as Linux or Mac OS X. For information on third-party and open source projects
working to implement the ISO/IEC CLI and C# specifications.

The layer on top of the CLR is a set of framework base classes. This set of classes is similar
to the set of classes found in STL, MFC, ATL, or Java. These classes support rudimentary input
and output functionality, string manipulation, security management, network communications,
thread management, text management, reflection functionality, collections functionality, as well
as other functions.
On top of the framework base classes is a set of classes that extend the base classes to
support data management and XML manipulation. These classes, called ADO.NET, support
persistent data management—data that is stored on backend databases. Alongside the data classes,
the .NET Framework supports a number of classes to let you manipulate XML data and perform
XML searching and XML translations.
Classes in three different technologies (including web services, Web Forms, and Windows
Forms) extend the framework base classes and the data and XML classes. Web services include a
number of classes that support the development of lightweight distributed components, which
work even in the face of firewalls and NAT software. These components support plug-and-play
across the Internet, because web services employ standard HTTP and SOAP.

Web Forms, the key technology behind ASP.NET, include a number of classes that allow
you to rapidly develop web Graphical User Interface (GUI) applications. If you're currently
developing web applications with Visual Interdev, you can think of Web Forms as a facility that
allows you to develop web GUIs using the same drag-and-drop approach as if you were developing
the GUIs in Visual Basic. Simply drag-and-drop controls onto your Web Form, double-click on a
control, and write the code to respond to the associated event.
Windows Forms support a set of classes that allow you to develop native Windows GUI
applications. You can think of these classes collectively as a much better version of the MFC in
C++ because they support easier and more powerful GUI development and provide a common,
consistent interface that can be used in all languages.

The Common Language Runtime


At the heart of the .NET Framework is the common language runtime. The common
language runtime is responsible for providing the execution environment that code written in a
.NET language runs under. The common language runtime can be compared to the Visual Basic 6
runtime, except that the common language runtime is designed to handle all .NET languages, not
just one, as the Visual Basic 6 runtime did for Visual Basic 6. The following list describes some
of the benefits the common language runtime gives you:
• Automatic memory management
• Cross-language debugging
• Cross-language exception handling
• Full support for component versioning
• Access to legacy COM components
• XCOPY deployment
• Robust security model
You might expect all those features, but this has never been possible using Microsoft
development tools. The common language runtime fits into the .NET Framework.

The common language runtime and the .NET Framework.


Note:

Code written using a .NET language is known as managed code. Code that uses anything but the
common language runtime is known as unmanaged code. The common language runtime provides a
managed execution environment for .NET code, whereas the individual runtimes of non-.NET languages
provide an unmanaged execution environment.

Inside the Common Language Runtime


The common language runtime enables code running in its execution environment to have features such
as security, versioning, memory management and exception handling because of the way .NET code
actually executes.

When you compiled Visual Basic 6 forms applications, you had the ability to compile down to
native node or p-code. Visual Basic 6 compiler options dialog should refresh your memory of what the
Visual Basic 6 options dialog looked like.

Visual Basic 6 compiler options dialog.


When you compile your applications in .NET, you aren't creating anything in native code. When you
compile in .NET, you're converting your code—no matter what .NET language you're using—into an
assembly made up of an intermediate language called Microsoft Intermediate Language (MSIL or just IL,
for short). The IL contains all the information about your application, including methods, properties,
events, types, exceptions, security objects, and so on, and it also includes metadata about what types in
your code can or cannot be exposed to other applications. This was called a type library in Visual Basic 6
or an IDL (interface definition language) file in C++. In .NET, it's simply the metadata that the IL contains
about your assembly.
Note
The file format for the IL is known as PE (portable executable) format, which is a standard format for
processor-specific execution.
When a user or another component executes your code, a process occurs called just-in-time (JIT)
compilation, and it's at this point that the IL is converted into the specific machine language of the
processor it's executing on. This makes it very easy to port a .NET application to any type of operating
system on any type of processor because the IL is simply waiting to be consumed by a JIT compiler.
Note
The first time an assembly is called in .NET, the JIT process occurs. Subsequent calls don't re-JIT the IL; the
previously JITted IL remains in cache and is used over and over again. When you learn about Application
Center Test, you also see how the warm-up time of the JIT process can affect application performance.

Understanding the process of compilation in .NET is very important because it makes clear how
features such as cross-language debugging and exception handling are possible. You're not
actually compiling to any machine-specific code—you're simply compiling down to an
intermediate language that's the same for all .NET languages. The IL produced by J# .NET and C#
looks just like the IL created by the Visual Basic .NET compiler. These instructions are the same,
only how you type them in Visual Studio .NET is different, and the power of the common language
runtime is apparent.

When the IL code is JITted into machine-specific language, it does so on an as-needed basis. If
your assembly is 10MB and the user is only using a fraction of that 10MB, only the required IL
and its dependencies are compiled to machine language. This makes for a very efficient execution
process. But during this execution, how does the common language runtime make sure that the IL
is correct? Because the compiler for each language creates its own IL, there must be a process that
makes sure what's compiling won't corrupt the system. The process that validates the IL is known
as verification. Figure 1.5 demonstrates the process the IL goes through before the code actually
executes.

Figure 1.5. The JIT process and verification.


When code is JIT compiled, the common language runtime checks to make sure that the IL is
correct. The rules that the common language runtime uses for verification are set forth in the
Common Language Specification (CLS) and the Common Type System (CTS).

The .NET Framework Class Library

The second most important piece of the .NET Framework is the .NET Framework class
library (FCL). As you've seen, the common language runtime handles the dirty work of actually
running the code you write. But to write the code, you need a foundation of available classes to
access the resources of the operating system, database server, or file server. The FCL is made up
of a hierarchy of namespaces that expose classes, structures, interfaces, enumerations, and
delegates that give you access to these resources.

The namespaces are logically defined by functionality. For example, the System.Data
namespace contains all the functionality available to accessing databases. This namespace is
further broken down into System.Data.SqlClient, which exposes functionality specific to
SQL Server, and System.Data.OleDb, which exposes specific functionality for accessing
OLEDB data sources.

Specific assemblies within the FCL don’t necessarily define the bounds of a namespace;
rather, they're focused on functionality and logical grouping. In total, there are more than 20,000
classes in the FCL, all logically grouped in a hierarchical manner. Figure 1.8 shows where the FCL
fits into the .NET Framework and the logical grouping of namespaces.

Figure 1.8. The .NET Framework class library.

To use an FCL class in your application, you use the Imports statement in Visual Basic .NET
or the using statement in C#. When you reference a namespace in Visual Basic .NET or C#, you
also get the convenience of auto-complete and auto-list members when you access the objects'
types using Visual Studio .NET. This makes it very easy to determine what types are available for
each class in the namespace you're using. As you'll see over the next several weeks, it's very easy
to start coding in Visual Studio .NET.

The Structure of a .NET Application


To understand how the common language runtime manages code execution, you must
examine the structure of a .NET application. The primary unit of a .NET application is the
assembly. An assembly is a self-describing collection of code, resources, and metadata. The
assembly manifest contains information about what is contained within the assembly. The
assembly manifest provides:

• Identity information, such as the assembly’s name and version number


• A list of all types exposed by the assembly
• A list of other assemblies required by the assembly
• A list of code access security instructions, including permissions required by the assembly
and permissions to be denied the assembly

Each assembly has one and only one assembly manifest, and it contains all the description
information for the assembly. However, the assembly manifest can be contained in its own file or
within one of the assembly’s modules.

An assembly contains one or more modules. A module contains the code that makes up your
application or library, and it contains metadata that describes that code. When you compile a
project into an assembly, your code is converted from high-level code to IL.

Because all managed code is first converted to IL code, applications written in different
languages can easily interact. For example, one developer might write an application in Visual C#
that accesses a DLL in Visual Basic .NET. Both resources will be converted to IL modules before
being executed, thus avoiding any language-incompatibility issues.

Each module also contains a number of types. Types are templates that describe a set of
data encapsulation and functionality. There are two kinds of types: reference types (classes) and
value types (structures). These types are discussed in greater detail in Lesson 2 of this chapter.
Each type is described to the common language runtime in the assembly manifest. A type can
contain fields, properties, and methods, each of which should be related to a common functionality.
For example, you might have a class that represents a bank account. It contains fields, properties,
and methods related to the functions needed to implement a bank account.

A field represents storage of a particular type of data. One field might store the name of an
account holder, for example. Properties are similar to fields, but properties usually provide some
kind of validation when data is set or retrieved. You might have a property that represents an
account balance. When an attempt is made to change the value, the property can check to see if
the attempted change is greater than a predetermined limit. If the value is greater than the limit,
the property does not allow the change.

Methods represent behavior, such as actions taken on data stored within the class or
changes to the user interface. Continuing with the bank account example, you might have a
Transfer method that transfers a balance from a checking account to a savings account, or an Alert
method that warns users when their balances fall below a predetermined level.

Compilation and Execution of a .NET Application

When you compile a .NET application, it is not compiled to binary machine code; rather,
it is converted to IL. This is the form that your deployed application takes—one or more assemblies
consisting of executable files and DLL files in IL form. At least one of these assemblies will
contain an executable file that has been designated as the entry point for the application.

When execution of your program begins, the first assembly is loaded into memory. At this
point, the common language runtime examines the assembly manifest and determines the
requirements to run the program. It examines security permissions requested by the assembly and
compares them with the system’s security policy. If the system’s security policy does not allow
the requested permissions, the application will not run.

If the application passes the system’s security policy, the common language runtime
executes the code. It creates a process for the application to run in and begins application execution.
When execution starts, the first bit of code that needs to be executed is loaded into memory and
compiled into native binary code from IL by the common language runtime’s Just-In-Time (JIT)
compiler.

Once compiled, the code is executed and stored in memory as native code. Thus, each
portion of code is compiled only once when an application executes. Whenever program execution
branches to code that has not yet run, the JIT compiler compiles it ahead of execution and stores
it in memory as binary code. This way, application performance is maximized because only the
parts of a program that are executed are compiled.

The .NET Framework base class library contains the base classes that provide many of the
services and objects you need when writing your applications. The class library is organized into
namespaces. A namespace is a logical grouping of types that perform related functions. For
example, the System.Windows.Forms namespace contains all the types that make up Windows
forms and the controls used in those forms.

Namespaces are logical groupings of related classes. The namespaces in the .NET base class
library are organized hierarchically. The root of the .NET Framework is the System namespace.
Other namespaces can be accessed with the period operator. A typical namespace construction
appears as follows:

System
System.Data
System.Data.SQLClient
The first example refers to the System namespace. The second refers to the System.Data
namespace. The third example refers to the System.Data.SQLClient namespace. Table 1.1 introduces
some of the more commonly used .NET base class namespaces.

Table 1-1. Representative .NET Namespaces


Namespace Description

This namespace is the root for many of the low-level types required
System
by the .NET Framework. It is the root for primitive data types as
well, and it is the root for all the other namespaces in the .NET
base class library.
System.ComponentModel This namespace contains classes involved in component creation
and containment, such as attributes, type converters, and license
providers.
System. Data This namespace contains classes required for database access and
manipulations, as well as additional namespaces used for data
access.
System.Data.Common This namespace contains a set of classes that are shared by the
.NET managed data providers.
System.Data.OleDb This namespace contains classes that make up the managed data
provider for OLE DB data access.
System.Data.SQLClient This namespace contains classes that are optimized for interacting
with Microsoft SQL Server.
System. Drawing This namespace exposes GDI+ functionality and provides classes
that facilitate graphics rendering.
System.IO In this namespace, you will find types for handling file system I/O.
System. Math This namespace is home to common mathematics functions such
as extracting roots and trigonometry.
System. Reflection This namespace provides support for obtaining information and
dynamic creation of types at runtime.
System. Security This namespace is home to types dealing with permissions,
cryptography, and code access security.
System. Threading This namespace contains classes that facilitate the implementation
of multithreaded applications.
System.Windows.Forms This namespace contains types involved in creating standard
Windows applications. Classes that represent forms and controls
reside here as well.
4.3 Features of SQL-SERVER

The OLAP Services feature available in SQL Server version 7.0 is now
called SQL Server 2000 Analysis Services. The term OLAP Services has been replaced
with the term Analysis Services. Analysis Services also includes a new data mining
component. The Repository component available in SQL Server version 7.0 is now
called Microsoft SQL Server 2000 Meta Data Services. References to the
component now use the term Meta Data Services. The term repository is used only
in reference to the repository engine within Meta Data Services

SQL-SERVER database consist of six type of objects,

They are,

1. TABLE

2. QUERY

3. FORM

4. REPORT

5. MACRO
TABLE:

A database is a collection of data about a specific topic.

VIEWS OF TABLE:

We can work with a table in two types,

1. Design View

2. Datasheet View

Design View
To build or modify the structure of a table we work in the table
design view. We can specify what kind of data will be hold.

Datasheet View

To add, edit or analyses the data itself we work in tables


datasheet view mode.

QUERY:

A query is a question that has to be asked the data. Access gathers data that
answers the question from one or more table. The data that make up the answer
is either dynaset (if you edit it) or a snapshot (it cannot be edited).Each time we run
query, we get latest information in the dynaset. Access either displays the dynaset
or snapshot for us to view or perform an action on it, such as deleting or updating.

Coding

6. SYSTEM TESTING

The purpose of testing is to discover errors. Testing is the process of trying to


discover every conceivable fault or weakness in a work product. It provides a way
to check the functionality of components, sub assemblies, assemblies and/or a
finished product It is the process of exercising software with the intent of ensuring
that the

Software system meets its requirements and user expectations and does not fail in
an unacceptable manner. There are various types of test. Each test type addresses
a specific testing requirement.

TYPES OF TESTS

Unit testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid
outputs. All decision branches and internal code flow should be validated. It is the
testing of individual software units of the application .it is done after the
completion of an individual unit before integration. This is a structural testing, that
relies on knowledge of its construction and is invasive. Unit tests perform basic
tests at component level and test a specific business process, application, and/or
system configuration. Unit tests ensure that each unique path of a business process
performs accurately to the documented specifications and contains clearly defined
inputs and expected results.
Integration testing

Integration tests are designed to test integrated software components to


determine if they actually run as one program. Testing is event driven and is more
concerned with the basic outcome of screens or fields. Integration tests
demonstrate that although the components were individually satisfaction, as
shown by successfully unit testing, the combination of components is correct and
consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.

Functional test

Functional tests provide systematic demonstrations that functions tested are


available as specified by the business and technical requirements, system
documentation, and user manuals.

Functional testing is centered on the following items:

Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.


Functions : identified functions must be exercised.

Output : identified classes of application outputs must be exercised.

Systems/Procedures: interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on requirements, key


functions, or special test cases. In addition, systematic coverage pertaining to
identify Business process flows; data fields, predefined processes, and successive
processes must be considered for testing. Before functional testing is complete,
additional tests are identified and the effective value of current tests is determined.

System Test
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An
example of system testing is the configuration oriented system integration test.
System testing is based on process descriptions and flows, emphasizing pre-driven
process links and integration points.

White Box Testing


White Box Testing is a testing in which in which the software tester has
knowledge of the inner workings, structure and language of the software, or at
least its purpose. It is purpose. It is used to test areas that cannot be reached from
a black box level.
Black Box Testing
Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as
most other kinds of tests, must be written from a definitive source document, such
as specification or requirements document, such as specification or requirements
document. It is a testing in which the software under test is treated, as a black box
.you cannot “see” into it. The test provides inputs and responds to outputs without
considering how the software works.

6.1 Unit Testing:

Unit testing is usually conducted as part of a combined code and unit test
phase of the software lifecycle, although it is not uncommon for coding and unit
testing to be conducted as two distinct phases.

Test strategy and approach


Field testing will be performed manually and functional tests will be written
in detail.
Test objectives
• All field entries must work properly.
• Pages must be activated from the identified link.
• The entry screen, messages and responses must not be delayed.

Features to be tested
• Verify that the entries are of the correct format
• No duplicate entries should be allowed
• All links should take the user to the correct page.
6.2 Integration Testing

Software integration testing is the incremental integration testing of two or


more integrated software components on a single platform to produce failures
caused by interface defects.

The task of the integration test is to check that components or software


applications, e.g. components in a software system or – one step up – software
applications at the company level – interact without error.

Test Results: All the test cases mentioned above passed successfully. No defects
encountered.

6.3 Acceptance Testing

User Acceptance Testing is a critical phase of any project and requires


significant participation by the end user. It also ensures that the system meets the
functional requirements.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.

You might also like