Você está na página 1de 66

Introduction

Our Project aims at becoming a Portal for


Alumni Registration and Interaction with the
Present and Past Students of the College.
One of The Foremost fetures of this system
will
be
social
integration
thourgh
Registration using LinkedIn profile.
The objective of this application is to allow
old and new students of a college to
communicate with each other. This allows
students to know about each other and their
current activities.

Page
1

Page
2

Process Description
The basic idea of software development life cycle (SDLC) is that there is a well
defined process by which an application is conceived, developed and implemented.
The phases in the SDLC provide a basis for the management and control because
they define segments of the flow of work, which can be identified for the managerial
purpose and specifies the documents or other deliveries to be produced in each
phase.
System Development revolves around a life cycle that begins with the recognition of
user needs. In order to develop good software, it has to go through different phases.
There are various phases of the System Development Life Cycle for the project and
different models for software development, which depict these phases. We decided
to use waterfall model, the oldest and the most widely used paradigm for software
engineering. The Various relevant stages of the System Life Cycle of this Application
Tool are depicted in the following flow diagram.

SYSTEM ANAYLSIS

SYSTEM DESIGN

CODING

SYSTEM

Page
3

Let us have a look on each of the above activities:


1. System Analysis
System Analysis is the process of diagnosing
situations, done with a defiant aim, with the boundaries of the
system kept in mind to produce a report based on the findings.
Analysis is fact-finding techniques where problem definition,
objective, system requirement specifications, feasibility analysis
and cost benefit analysis are carried out. The requirement of both
the system and the software are document and reviewed with the
user.
2. System Design
System Design is actually a multistep process that focuses on four
distinct

attributes

of

program:

data

structures,

software

architecture, interface representations, and procedural (algorithmic)


detail. System design is concerned with identifying the software
components (Functions, data streams, and data stores), specifying
relationships among components, specifying software structure,
maintaining a record of design decisions and providing a blueprint
for the implementation phase.

3. Coding
Coding step performs the translations of the design representations
into an artificial language resulting in instructions that can be
executed by the computer. It thus involves developing computer
programs that meet the system specifications of design stage.

4. System Testing
System testing process focuses on the logical internals of the
software, ensuring that all statements have been tested on the
functional externals, that is conducting tests using various tests
data to uncover errors that defined input will produce actual results
that agree with required results.
Page
4

5. System Implementation
System Implementation is a process that includes all those activities
that take place to convert an old system to a new system. The new
system may be totally new system replacing the existing system or
it may be major modification to the existing system. Coding
performs the translations of the design representations into an
artificial language resulting in instructions that can be executed by
the computer. It thus involves developing computer programs that
meet the system design specifications. System implementation
involves the translation of the design specifications into source code
and debugging, documentation and unit testing of the source code.

6. System Maintenance
Maintenance is modification of a software product after delivery to
correct faults to improve performance or to adopt the product to a
new

operating

environment.

Software

maintenance canot

be

avoided due to ware & tear caused by users. Some of the reasons
for maintaining the software are
1. Over a period of time, software original requirements may
change.
2. Errors undetected during software development may be found
during user & require correction.
3. With time new technologies are introduced such as hardware,
operating system etc. The software therefore must be
modified to adapt new operating environment.

Page
5

Problem Definition
Our Project is a Web Based Application that allows
the College Alumni to Register and interact with Others.
The main aspect in this project is that we will be having
Registration Facility using LinkedIN Credentials.
Proposed System
Develop an Web application with following features:

Registration System: This module will allow


user to register themselves into the system by
providing their details which eventually will be
stored in the Centralised Database. There will be
a provision that Students who are already
registered on LinkedIN can simply register

register in to our system using their


LinkedIN Credentials and the Registration
Data will Be Automatically imported into
the system thus making the Registration
Process Easy.

Search Sub System: The user can search for


other users on basis of keywords, batch, branch
or name or present company.
Company Dashboard: We can have a
company Dashboard where in after searching
for a company for ex. Infosys, we can locate all
the Alumni who are working in that Particular
Company.
Contact Module: The module will allow users
to contact fellow users and interact with them.
Event Module: This module maintains the
information about various events that are
conducted by various colleges and universities.
Details of notifications are also maintained. The
Page
6

manager can add, delete, edit and view event


details.
Adminsitrator Module: The administrator is
responsible for maintaining information of
students. When a student submits the
registration form, administrator will complete
the verification process and, if successful, the
student details are added into the database.

Motivation

We want to develop a state of art system that will enable


students to interact with their pascollegues and friends
even after they have left the college.

Page
7

Significance of Project
Dedicated Alumni portal for College.
Ability to View the professional Network the college has
created over the years.

Page
8

SYSTEM DESIGN
DESIGN CONCEPTS
The design of an information system produces the detail that state how a
system will meet the requirements identified during system analysis. System
specialists often refer to this stage as Logical Design, in contrast to the
process of development program software, which is referred to as Physical
Design.
System Analysis begins process by identifying the reports and the other
outputs the system will produce. Then the specific on each are pin pointed.
Usually, designers sketch the form or display as they expect it to appear when
the system is complete. This may be done on a paper or computer display,
using one of the automated system tools available. The system design also
describes the data to be input, calculated or stored. Individual data items and
calculation procedures are written in detail. The procedure tells how to
process the data and produce the output.

DESIGN OBJECTIVES
The following goals were kept in mind while designing the system:

To reduce the manual work required to be done in the existing system.

To avoid errors inherent in the manual working and hence make the
outputs consistent and correct.

Page
9

To improve the management of permanent information by keeping it in


properly structured tables and to provide facilities to update this
information efficiently as possible.

To make the system completely menu-driven and hence user friendly,


and hence user friendly, this was necessary so that even nonprogrammers could use the system efficiently.

To make the system completely compatible i.e., it should fit in the total
integrated system.

To design the system in such a way that reduced future maintenance


and enhancement times and efforts.

To make the system reliable, understandable and cost effective.

Page
10

Use Case Diagrams

Admin Use Case Diagram

Event Managr Use Case Diagram

Page
11

Alumni Use Case Diagram

Page
12

System Activity Diagram

Page
13

Data Flow Diagram


A Data Flow Diagram (DFD) is a graphical tool used to describe and analyze
the movement of data through a system manual or automated including the
processes, stores of data and delays in the system. They are central tools and
the basis from which other components are developed. It depicts the
transformation of data from input to output through processes and the
interaction between processes.
Transformation of data from input to output through processes logically and
independent of physical components is called the DFD. The physical DFD
shows the actual implementation and movement of data between people,
departments and workstation.
DFDs are an excellent mechanism of communicating with the customers
during requirement analysis and are widely used for representing external and
top-level internal design specification. In the Later situations, DFDs are quite
valuable for establishing naming conventions and names of system
components such as subsystems, files and data links.

In a DFD there are four components:

1. Sources or Destinations of data such as human, entities that


interact with system, outside the system boundary, who form the
source and the recipient of information are depicted in the form of
a closed rectangle.

Page
14

2. Data flow is a packet of data. It identifies data flow. It is a pipeline


through which information flows. It is depicted in DFD as an arrow
with the pointer pointing in the direction of flow. This connecting
symbol connects an entity, process and data stores. This arrow
mark also specifies the sender and the receiver.
3. Process depicts procedure, function or module that transform
input data into output data. It is represented as a circle or a
bubble with the procedure name and a unique number inside the
circle.
4. Data stores are the physical areas in the computers hard disk
where a group of related data is stored in the form of files. They
are depicted as an open-ended rectangle. The Data store is used
either for storing data into the files or for reference purpose.

Level-0 DFD

Page
15

Data Flow Diagram Level 1

Page
16

Requirement Specification

HARDWARE ENVIRONMENT
Processor

Pentium-IV 3.0 GHz

RAM

1 GB DDR3 RAM

HARD DISK

500 GB HDD

SOFTWARE ENVIRONMENT

Operating System

Microsoft Windows 7/8

Backend

Microsoft SQL Server

Frontend

ASP.NET

Tool

Visual Studio 2012

Page
17

Technology Used: ASP.NET


Microsoft.net is a set of software technologies for connecting
information, people, system, and devices. This new generation of
technology

is

based

on

web

services

small

building-block

applications that can connect to each other as well as to other, large


applications over the internet. .net id the Microsoft solution for web
services, the next generation of software that connects our world of
information, devices, and people in a unified, personalized way.
.NET technology enables the creation and
use of xml-based applications, processes, and website as services
that share and combine information and functionality with each
other by design, on any platform. .net is a comprehensive family of
products, built on industry and internet standards, that provide for
each aspect of developing (tools), managing (servers), using
(building block services and smart clients) and experiencing (rich
user experiences) web services. .net will become part of the
Microsoft applications, tools, and servers you already use today-as
well as new products that extend web service capabilities to all of
your business needs.
Microsoft.net is a set of Microsoft software technologies for
connecting information, people, systems, and devices. It enables a
high level of software integration through the use of web services
small, discrete, building block applications that connect to each
other as well as to other and larger applications over the internet.
The pc revolution launched in a world where every computer,
whether a pc or a mainframe, was an isolated island of information.
Then, the commoditization of pc hardware brought about the advent
of networked computers. This shift enabled some sharing of data

Page
18

within an organization, essentially increasing the size of the islands


but doing little to connect them to each other.
Information exchanges in this new computing environment occur
along many different avenues and go on many different directions
to provide the user with the information required, regardless of its
location or what kind of hardware it resides on.
The integration of systems is the guiding principle not an
afterthought

of

distributed

computing.

Integration

delivers

compelling benefits including faster, easier exchange of data within


and between organizations, and more opportunities for businesses
to connect with consumers.
Origin of .Net Technology
1. Ole Technology
Object linking and embedding technology was
developed by Microsoft in the early 1990 to enable easy
interprocess communications. To embed documents from one
application into another application. This enabled users to develop
applications which required inter- operability between various
products such as MS Word and MS Excel.
2. Com Technology
Microsoft introduced component-based model for
developing soft wares programs. In the components based
approaching a program is broken into a number of independent
components where each one offers a particular service. It reduces
the overall complexity of software. Enables distributed
developments across multiple organization or departments and
Enhances software maintainability
3. Dot Net Technology
Page
19

.NET technology is a third-generation


component model. This provides a new level of inter-operability
compared to COM technology. COM provides a standard binary
mechanism for inter-module communication .this mechanism is
replaced by an intermediate language called Microsoft Intermediate
language (MSIL) or simply IL.
The .Net Framework
The .NET framework is the foundation for .NET development
technologies. It is a Multilanguage development and execution
environment that makes it easy to build, deploy and run Web
services,

standard

Web

applications.

Framework

enables

the

integration of existing IT investments with new applications and


services, and gives developers and organizations the ability to solve
the

challenges

of

deploying

and

applications

Page
20

operating

Internet-scale

Various components of the visual studio .net

Dot Net Architecture

There are around 27 different languages, which can be the probable


inputs to the .NET framework at the common language specification
layer. Once the specifications are complied, the process of further
delegation comes to light.
Page
21

The object built and written, pass through the stage of the
services layer. This enables the same language to arm their
objects with the services.

The next step is to move further to collect the data and


request the class libraries for execution from the dependency
layer.

The final launch of the program is done with the help of base
layer comprising common language runtime.

This the output is Visual Studio.NET

Page
22

Compilation and Execution of a .Net Application

The two major components of the .net framework


include:
1. The common language runtime, which is the execution
engine for .net framework-based applications. Its functions
include code management (loading and executing code).
Managing memory for applications and objects, enforcing
security rules regarding what resources may be accessed by
the code, and interoperation between .net framework-based
code and pre-existing com objects.
2. Class libraries, which provides functionality for task such as
user

interface

network
significant

design,

threading,

communications,
groups

of

and

classes

so

security
on.

are

management,

The
ado.net

three

most

for

data

manipulation, asp.net for building web services, and windows


forms for building windows-based smart client applications.
These components of the .net framework were
designed from inception to facilitate the inclusion of a
broad, highly flexible range of security options that can
be implemented y developers, administrators, and users.
At a high level, the security features of the .net
framework include:
Page
23

WEB SERVICES
This interactive animation explains how Web services can help
companies connect standalone system and share information
between various applications. It also looks at how Microsoft .NETconnected software can be the foundation of Web service solutions.

Benefits of Web services

Open the door to new business opportunities by making it


easy to connect with partners.

Deliver dramatically more personal, integrated experiences


to users via the new breed of smart deices-including PCs.

Save time and money by cutting development time.

Increase revenue streams by easily making your own Web


services available to others.

.Net Means For Developers


Through the use of Microsoft Visual Studio .NET and the
Microsoft .NET framework, Microsoft provides developers with a full
set of development tools to quickly and easily create state-of-theart applications and Web services.

Microsoft .NET, through Visual Studio and the .NET


Framework,

will

enable

more

software applications and services.

Page
24

rapid

development

of

The .NET framework and Visual Studio .NET will provide


greater reliability for applications and Web services.

The use of Web services will allow applications and services


created

with

Microsoft

.NET-connected

software

to

integrate more easily and efficiently.


Faster Development
Through the use of the common language runtime, a part of
the .NET Framework, developers can create Web services using any
modern programming language, greatly increasing the pool of
available developer resources as well as allowing developers the
freedom to use the programming language most suited to solve the
problem at hand.

Visual studio .NET largely automates the transformation of


an application in to a Web service, decreasing the time and
effort necessary to quickly create and deploy solutions.

.NET building block services, provides core capabilities


needed by many applicationswithout requiring additional
coding.

Greater Reliability

The common language runtime provides for a managed


execution environment eliminating memory leaks, access
violation, and versioning problems.

The .NET Framework enforces type safety, explicit code


sharing, and application isolation, guaranteeing that no
Web service can affect or illegally call another.

Means for Business

Page
25

With .NET connected software and services, businesses can


realize

improvements

in

the

time

and

cost

associated

with

developing and maintaining their business applications, as well as


benefiting from empowering employees with the ability to act on
vital information anywhere, from any smart device.

.NET will deliver best of breed integration for businesses.

Exposing Web services increases potential reach and


exposure, creating new business opportunities.

.NET promises substantial savings in development costs, as well as


creating new revenue streams, through the use of Web services
Rapid development
Microsoft Visual Studio .NET and the .NET Framework
empower developers to quickly and easily create cutting-edge Web
services and applications, building on their existing skills sets.
Through Multilanguage support, developers are freed to use the
appropriate language in building Web services.
Benefits of the Dot Net Approach
1. Simple and faster systems development.
2. Rich object model enhanced built in functionality.
3. Many different ways to communicate with the outside world.
4. Integration of different languages into one platform.
5. Easy deployment and execution.
6. Wide range of scalability.
7. Interoperability with existing applications.
8. Simple and easy to build sophisticated development tools.
9. Fewer bugs.
10. Potentially better performance.

Page
26

2.3 Technology Used: ASP.NET


The Project is developed using ASP.NET. The latest Web
Application Development Technology from Microsoft.
What are Web Applications?
These applications provide content from a server to client
machines over the Internet. Users view the Web application
through a Web browser.
How Web Applications Works?
Web

applications

use

client/server

architecture.

The

Web

application resides on a server and responds to requests from


multiple clients over the Internet, as shown in Figure.

ASP.NET Web application architecture


On the client side, the Web application is hosted by a browser.
The applications user interface takes the form of Hypertext
Page
27

Markup Language (HTML) pages that are interpreted and


displayed by the clients browser.
On the server side, the Web application runs under Microsoft
Internet

Information

Services

(IIS).

IIS

manages

the

application, passes requests from clients to the application, and


returns the applications responses to the client. These requests
and responses are passed across the Internet using Hypertext
Transport Protocol (HTTP). A protocol is a set of rules that
describe how two or more items communicate over a medium,
such as the Internet.

Client/server interaction in a Web application


The executable portion of the Web application enables us to do
many things that you cant do with a static Web site, such as:

Collect

information

from

the

information on the server

Page
28

user

and

store

that

Perform tasks for the user such as placing an order for a


product, performing complex calculations, or retrieving
information from a database

Identify a specific user and present an interface that is


customized for that user

Present content that is highly volatile, such as inventory,


pending order, and shipment information

This is only a partial list. Basically, you can do anything with a


Web

application

that

you

can

imagine

doing

with

any

client/server application. What makes a Web application special


is that the client/server interaction takes place over the
Internet.
What ASP.NET Provides
ASP.NET is the platform that we use to create Web applications
and Web services that run under IIS. ASP.NET is not the only
way to create a Web application. Other technologies, notably the
CGI, also enable you to create Web applications. What makes
ASP.NET special is how tightly it is integrated with the Microsoft
server, programming, data access, and security tools.ASP.NET
provides a high level of consistency across Web application
development.
1. Visual Studio .NET Web development tools.
These include visual tools for designing Web pages and
application templates, project management, and deployment
tools for Web applications.

Page
29

2. The System Web namespaces.


These are part of the .NET Framework and include the
programming classes that deal with Web-specific items such as
HTTP requests and responses, browsers, and e-mail.
3. Server and HTML controls.
These are the user-interface components that you use to gather
information from and provide responses to users.
In addition to the preceding components, ASP.NET also
uses

the

following,

more

general

programming

components and Windows tools. These items arent part of


ASP.NET. However, they are key to ASP.NET programming.

Microsoft Internet Information Services (IIS).


As mentioned in the previous section, IIS hosts Web
applications on the Windows server.

The Microsoft Visual Basic .NET, Microsoft Visual C#, and


Microsoft Visual J# programming languages.
These three languages have integrated support in Visual
Studio .NET for creating Web applications.

The .NET Framework.


This is the complete set of Windows programming classes,
including the ASP.NET classes as well as classes for other
programming

tasks

such

as

file

access,

data

conversion, array and string manipulation, and so on.

Page
30

type

Microsoft ADO.NET database classes and tools.


These components provide access to Microsoft SQL Server
and

ODBC

databases.

Data

access

is

often

key

component of Web applications.

Microsoft Application Center Test (ACT).


This Visual Studio .NET component provides an automated
way to stress-test Web applications.

ASP.NET is the most complete platform for developing Web


applications that run under IIS. However, it is important to
remember that ASP.NET is not platform-independent. Because it
is hosted under IIS, ASP.NET must run on Windows servers. To
create Web applications that run on non-Windows/IIS servers,
such as Linux/Apache, you must use other toolsgenerally CGI.
Features of an Asp.net
1. Compiled code- code written in asp.net is compiled and not
interpreted .this makes asp.net applications faster to execute than
other server side scripts that are interpreted, such as scripts written
in a previous version of asp.
2. Enriched tool support: the ASP dot net framework is provided
with a rich toolbox and designer inVS.NET IDE.
3. Power and flexibility: asp.net applications are based on
common language runtime therefore the power and flexibility of
the .net platform is available to ASP .net application developers.
Asp.net applications enable you to ensure that the class library,
messaging and data access solutions are seamlessly accessible over
the web. Asp. Net is also language independent therefore, you can
choose any. Net language to develop your application.
Page
31

4. Simplicity-ASP. Net enables you to build user interfaces that


Separate application logic from presentation content in addition,
CLR simplifies application development by using managed code
services such as automatic reference counting and garbage
collection therefore ASP dot net makes it easy to perform common
tasks ranging from form submission and client authentication to site
configuration and deployment.
5. Manageability- ASP dot net enables you to manage web
application by storing the configuration information in an xml file.
You can open the xml file in the visual studio .net.
6. Scalability- ASP dot net has been designed with scalability in
mind. It has features that help improve performance in
multiprocessor environment.
7. Security- ASP dot net provides a number of options for
implementing security and restricting user access to a web
application. All these options are configured within the configuration
file.
ASP.NET

delivers

the

following

other

advantages

to

Web

application developers:

Executable portions of a Web application compiled so they


execute more quickly than interpreted scripts

On-the-fly updates of deployed Web applications without


restarting the server

Access to the .NET Framework, which simplifies many


aspects of Windows programming

Use of the widely known Visual Basic programming


language, which has been enhanced to fully support
object-oriented programming
Page
32

Introduction of the new Visual C# programming language,


which provides a type-safe, object-oriented version of the
C programming language

Automatic state management for controls on a Web page


(called server controls) so that they behave much more
like Windows controls

The ability to create new, customized server controls from


existing controls

Programming model in ASP dot net


1. Web forms enable you to create user interface for web
applications, you. You use server controls to design the user
interfaces of web applications and then write code, which will be
executed at the server-side, to handle events triggered by these
controls.
2. Web services enable you to remotely access certain functionality
at the server side. These services enable the exchange of data in a
client-to-server or a server-to server environment over the web by
using simple object Access Protocol.
3. In ASP.NET, web forms consist of a user interface and application
logic that is applied to the components of user interfaces.
4. A user interface consists of static HTML or XML elements; and
ASP.NET server controls. When you create a web application, HTML
or XML elements and server controls are saved in a file with an
.aspx extension. This file is called a page file.
5. Application logic consists of code that is applied to the user
interface elements of a web Form page. We can use any of the .NET
programming language, such as Visual Basic .NET or C#, to write
the logic for a web page.
Page
33

Web Form Components


Web forms can contain several different types of components, as
summarized in Table .we can use the server and HTML controls
to create the user interface on a Web form. The data controls
and system components appear on the Web form only at design
time to provide a visual way for you to set their properties and
handle their events. At run-time, data controls and system
components do not have a visual representation.

Components on a Web Form


Component Examples

Description

These controls respond to


user events by running
event procedures on the
server. Server controls
have built-in features for
saving data that the user
enters
between
page
displays. You use server
controls to define the user
interface of a Web form.

Server
controls

TextBox,Label,Button,
ListBox,DropDownList,
DataGrid

HTML
controls

These
represent
the
standard visual elements
provided in HTML. HTML
Text Area, Table, Image,
controls are useful when
Submit
Button,
Reset
the
more
complete
Button
feature set provided by
server controls is not
needed.

Page
34

Components on a Web Form


Component Examples

Data
controls

Description

Data controls provide a


SqlConnection,
way
to
connect
to,
SqlCommand,
perform commands on,
OleDbConnection,
and retrieve data from
OleDbCommand, Dataset SQL and OLE databases
and XML data files.

These
components
FileSystemWatcher,
System
provide access to various
Event
Log,
components
system-level events that
MessageQueue
occur on the server.

. Parts of an ASP.NET Web Application


Part

Types of files

Description

Content

Content files determine the


appearance
of
a
Web
Web
forms, application. They can contain
HTML, images, static text and images as well
audio,
video, as elements that are composed
other data
on the fly by the program logic
(as in the case of a database
query).

The program logic determines


how the application responds to
user actions. ASP.NET Web
Executable files, applications have a dynamicProgram logic
scripts
link library (DLL) file that runs
on the server, and they can
also include scripts that run on
the client machine.
Configuration Web

The
Page
35

configuration

files

and

. Parts of an ASP.NET Web Application


Part

Types of files

Description

configuration
settings determine how the
file,
style application runs on the server,
sheets,
IIS who has access, how errors are
settings
handled, and other details.

Page
36

Software Engineering process


The attribute of web based system and application have a
profound influence on the web engineering process that is chosen.
If immediacy and continuous evolution are primary attribute of a
web engineering, a web engineering team might choose an agile
process model that produces web applications releases in the
rapid fire sequence. On the other hand, if the web application is to
be developed over a long time period) e.g., a major (e-commerce
application), an incremental process model can be chosen.
The network intensive nature of the application in this
domain suggests a population of the user that is diverse (thereby
making special demands on requirements elicitation and modeling)
and an application architecture that can be highly specialized.
Because web applications are often content-driven with an
emphasis on aesthetic, it is likely that parallel development
activities will be scheduled within the web applications process and
involve a team of both technical and non technical people (e.g.,
copywriter, graphic designer).
Defining the framework
Any one of the agile process models (e.g., extreme
programming, adaptive software development, SCRUM)
To be effective, any engineering process must be adaptive.
That is, the organization of the project team, the modes of
communication among team members, the engineering activities
and tasks to be performed, the information that is collected and
Page
37

created, and the methods used to produce a high quality product


must all be adapted tom the people doing the work, the project
time line and constraint, and the problem to be solved. Before we
define a process framework for web engineering, we must
recognize that:
1.

Webapps are often delivered incrementally. That is, frame


work activities will occur repeatedly as each increment is
engineered and delivered.

2.

Changes will occur frequently. These changes may occur


as a result of the evaluation of a delivered increment or as a
consequence of changing business conditions.

3.

Timelines are short. This mitigates against the creation


and review of voluminous engineering documentation, but it
does not preclude the simple reality that critical analysis,
design, and testing must be recorded in some manner.

Page
38

Software Model of the Project

The software model used in our Project is the Increment


Model. We used incremental model because the project was
done in increments or parts and these parts were tested
individually. For ex. Like the Candidate Registration and music
uploading Page was developed first and tested thoroughly, then
other part the registration module was developed and tested
individually.
Incremental model combines elements of the linear
sequential model with the iterative philosophy of prototyping.
The incremental model applies linear sequences in a staggered
fashion as time progresses. Each linear sequence produces a
deliverable increment of the software. For example, word
processing software may deliver basic file management, editing
and document production functions in the first increment. More
sophisticated editing and document production in the second
increment, spelling and grammar checking in the third
increment, advanced page layout in the fourth increment and so
Page
39

on. The process flow for any increment can incorporate the
prototyping model.
When an incremental model is used, the first increment
is often a core product. Hence, basic requirements are met, but
supplementary features remain undelivered. The client uses the
core product. As a result of his evaluation, a plan is developed
for the next increment. The plan addresses improvement of the
core features and addition of supplementary features. This
process is repeated following delivery of each increment, until
the complete product is produced.
As opposed to prototyping, incremental models focus on the delivery of
an operational product after every iteration.

Advantages:

Particularly useful when staffing is inadequate for

a complete implementation by the business deadline.

Early increments can be implemented with fewer

people. If the core product is well received.

Additional staff can be added to implement the

next increment.

Increments can be planned to manage technical risks. For

example, the system may require availability of some hardware that is


under development. It may be possible to plan early increments without

Page
40

the use of this hardware, thus enabling partial functionality and avoiding
unnecessary delay.

System / information
engineering
Analysis

Increment 2

Increment 1

Design

Code

Analysis

Increment 3

Increment 4

Design

Analysis

Analysis

Delivery of 1st
increment

Test

Code

Design

Design

Code

Delivery of 3rd
increment

Test

Code

Calendar time

Figure 1.6: The incremental model

Page
41

Delivery of 2nd
increment

Test

Test

Delivery of 4th
increment

Screen Shots

Page
42

Coding

Page
43

TESTING PROCESSES
All software intended for public consumption should receive some level
of testing. The more complex or widely distributed a piece of software is,
the more essential testing is to its success. Without testing, you have no
assurance that software will behave as expected. The results in a public
environment can be truly embarrassing.
For software, testing almost always means automated testing. Automated
tests use a programming language to replay recorded user actions or to
simulate the internal use of a component. Automated tests are
reproducible (the same test can be run again and again) and measurable
(the test either succeeds or fails). These two advantages are key to
ensuring that software meets product requirements.
Developing a Test Plan
The first step in testing is developing a test plan based on the product
requirements. The test plan is usually a formal document that ensures that
the product meets the following standards:

Is thoroughly tested. Untested code adds an unknown element to


the product and increases the risk of product failure.

Meets product requirements. To meet customer needs, the product


must provide the features and behavior described in the product
specification. For this reason, product specifications should be
clearly written and well understood.
Page
44

Does not contain defects. Features must work within established


quality standards .Having a test plan helps you avoid ad hoc testing
the kind of testing that relies on the uncoordinated efforts of
developers or testers to ensure that code works. The results of ad
hoc testing are usually uneven and always unpredictable. A good
test plan answers the following questions:

How are tests written? Describe the languages and tools used for
testing.

Who is responsible for the testing? List the teams or individuals


who write and perform the tests.

When are the tests performed? The testing schedule closely follows
the development schedule.

Where are the tests and how are test results shared? Tests should be
organized so that they can be rerun on a regular basis.

What is being tested? Measurable goals with concrete targets let


you know when you have achieved success.

Types of Tests
The test plan specifies the different types of tests that will be performed
to ensure that product meets customer requirements and does not contain
defects.
Types of Tests
Test type

Ensures that

Unit test

Each independent piece of code works


correctly.
Page
45

Types of Tests
Test type

Ensures that

Integration test

All units work together without errors.

Regression test

Newly added features do not introduce errors


to other features that are already working.

Load test (also called The product continues to work under extreme
stress test)
usage.
Platform test

The product works on all of the target


hardware and software platforms.

These test types build on each other, and the tests are usually
performed in the order shown

Page
46

The testing cycle


5.1 Unit Testing
A product unit is the smallest piece of code that can be
independently tested. From an object-oriented programming perspective,
classes, properties, methods, and events are all individual units. A unit
should pass its unit test before it is checked into the project for
integration.

Page
47

Unit tests are commonly written by the developer who


programmed the unit and are either written in the same programming
language as the product unit being tested or in a similar scripting
language, such as VBScript. The unit test itself can be as simple as
getting and setting a property value, or it can be more complicated. For
instance, a unit test might take sample data and calculate a result and then
compare that result against the expected result to check for accuracy.
5.2 Integration Testing
The first integration test always answers the question, Does the
application compile? At this point, a compilation error in any of the
components can keep the integration testing from moving forward. Some
projects use nightly builds to ensure that the product will always compile.
If the build fails, the problem can be quickly resolved the next morning.
The most common build problem occurs when one component tries
to use another component that has not yet been written. This occurs with
modular design because the components are often created out of
sequence. You solve this problem by creating stubs. Stubs are
nonfunctional components that provide the class, property, or method
definition used by the other component. Stubs are a kind of outline of the
code you will create later.
When all of the build problems are resolved, integration testing
really becomes just an extension of unit testing, although the focus is now
whether the units work together. At this point, it is possible to wind up
with two components that need to work together through a third
component that has not been written yet. To test these two components,
you create a driver. Drivers are simply test components that make sure
Page
48

two or more components work together. Later in the project, testing


performed by the driver can be performed by the actual component.
Top-down integration testing is an incremental approach to
construction of program structure. Modules are integrated by moving
downward through the control hierarchy, beginning with the main control
module. Modules subordinate to the main module are incorporated into
the structure in steps.
The integration process is performed in five steps:
1. The main control module is used as a test driver and stubs are
substituted for all components directly subordinate to the main module.
2. Depending on the integration approach selected, subordinate stubs
are replaced one at a time with actual components, in breadth-first or
depth-first order.
3. Tests are conducted as each component is integrated.
4. On completion of each set of tests, another stub is replaced by the
real component.
Regression testing may be conducted to ensure that new errors have not
been introduced. The top-down strategy verifies major control or
decision points early in the test process. In a well-factored program
structure, decision-making occurs at higher levels in the hierarchy and
is thus encountered first.
Bottom-up testing
Bottom-up integration testing, as the name implies, begins construction
and testing with atomic modules (i.e. components at the lowest levels in
the program structure). Because components are integrated form the
Page
49

bottom-up, processing required for components subordinate to a given


level is always available and the need for stubs is eliminated.
A bottom-up integration strategy may be implemented using the
following steps:
1. Low-level components are combined into clusters that perform a
specific sub-function.
2. .The cluster is tested. Drivers are removed and clusters are combined
moving upward in the program.
An overall plan for integration of the software and a description of
specific tests are documented in a test specification. This document
contains a test plan and a test procedure. It is a work product of the
software process, and becomes a part of the software configuration.
5.3 Load Testing
When you deploy a Web application, it might be used by one or
two clients at a time or it might get deluged by thousands of requests. To
find out how well a Web application will work in these varying
conditions, you need to perform load tests. Use the Microsoft ACT to
create and run load tests on a Web application. To use ACT, follow these
steps:
1. Create a test by recording a user session with the Web application
using ACT.
2. Set the load level and duration properties for the test.
3. Run the test.

Page
50

In general, load tests are not created as early in the development process
or run as frequently as unit, integration, or regression tests. The following
sections describe how to create and run load tests in more detail.
Recording a Load Test
To record a load test in ACT, follow these steps:
1. From the ACT Actions menu, choose New Test. ACT displays the
New Test Wizard.
2. Click Next. The wizard displays the Test Source page, as shown in
Figure

Recording a new load test


3. Select Record a New Test, and click next. The wizard displays the
Test Type page, as shown in Figure

Page
51

Selecting a language
4. Click Next. The wizard displays the Browser Record page

5.

Click Start Recording. The wizard displays a browser window, as


shown in

Page
52

Performing actions to record


6. Perform the actions you want to record. For instance, you might
walk through all the pages in your Web application, performing
tasks on each page.
7. On the Browser Record page, click Stop Recording when you have
finished recording actions, and then click Next. The wizard
displays the Test Properties page, as shown

Page
53

Naming the test


Enter a name for the test, and click Next. The wizard displays the
Completing the New Test Wizard page. Click Finish to close the wizard.
Setting Test Properties
8. After you record a test, it is displayed in the Tests list in ACT, as
shown

The recorded test


ACT tests can be written in the VBScript or JScript languages, but
ACT records tests using VBScript only. After you record a test, set the
load and duration of the test by following these steps:
1. Right-click your test, and choose Properties on the shortcut menu.
ACT displays
2. Set the Test load level to increase the number of users accessing the
Web application at the same time. Set the Test duration to run the
Page
54

test for a certain amount of time or for a certain number of


requests. Click OK when youve finished.

Test load and duration


Running Load Tests
To run a load test in ACT, select the test, and then choose Start Test
from the Actions menu. ACT displays the Test Status dialog box, as
shown

Page
55

Platform testing lab


Platform Testing

For Web applications, platform testing usually means verifying


four main conditions: Web forms are displayed correctly on all
supported browsers and supported versions of those browsers.

The Web application appropriately handles unsupported browser


versionsfor example, by displaying instructions for downloading
the required version.

The client is prompted to install any required components, such as


Microsoft ActiveX objects or plug-ins, if they are not already
installed on his or her computer.

The Web application has acceptable performance over slower


forms of network connections, such as modems.
To run platform tests, you need to set up a platform lab that

contains Verifying that each Web form is displayed correctly requires


some human intervention. ASP.NET renders server controls differently on
different browsers, so you should visually inspect your Web application
as part of the final testing cycle.

Page
56

PLATFORM TESTING

5.4 Validation testing


Software validation is achieved through a series of black box tests that
demonstrate conformity with requirements. A test plan outlines the
classes of tests to be conducted and a test procedure defines specific test
cases that will be used to demonstrate conformity with requirements.
After each validation test case has been conducted, one of two possible
conditions exists:
i)

The function or performance characteristics conform


to the specifications and are accepted.

ii)

A deviation form specifications is discovered and a


deficiency list is created.

An important element of validation testing is configuration review. The


intent of the review is to ensure that all elements of the software
configuration have been properly developed and are well documented.
The configuration review is sometimes called an audit.
If software is developed for the use of many customers, it is impractical
to perform formal acceptance tests with each one. Many software
product builders use a process called alpha and beta testing to uncover
errors that only the end-user is able to find.

Page
57

1. The alpha test is conducted at the developers site by the customer.


The software is used in a natural setting with the developer recording
errors and usage problems. Alpha tests are performed in a controlled
environment.
3. Beta tests are conducted at one or more customer sites by the
end-users of the software. Unlike alpha testing, the developer is
generally not present. The beta test is thus a live application of
the software in an environment that cannot be controlled by the
developer. The customer records all the errors and reports these to
the developer at regular intervals.
4.
5.5 system testing
System testing is actually a series of tests whose purpose is to fully
exercise the computer-based system. Although each test has a different
purpose, all work to verify that system elements have been properly
integrated and perform allocated functions.
Some types of common system tests are:
Recovery testing
Many computer-based systems must recover from faults and resume
processing within a pre-specified time. In some cases, a system must be
fault-tolerant, i.e. processing faults must not cause overall system
function to cease. In other cases, a system failure must be corrected
within a specified period of time or severe economic damage will occur.
Recovery testing is a system test that forces the software to fail in a
variety of ways and verifies that recovery is properly performed. If
Page
58

recovery is automatic, re-initialization, check-pointing mechanisms,


data recovery and restart are evaluated for correctness. If recovery
requires human intervention, the mean-time-to-repair (MTTR) is
evaluated to determine whether it is within acceptable limits.
Security testing
Any computer-based system that manages sensitive information or
causes actions that can harm individuals is a target for improper or
illegal penetration. Security testing attempts to verify that protection
mechanisms built into a system will, in fact, protect it from improper
penetration. During security testing, the tester plays the role of the
hacker who desires to penetrate the system. Given enough time and
resources, good security testing will ultimately penetrate a system. The
role of the system designer is to make penetration cost more than the
value of the information that will be obtained.
Stress testing
During earlier testing steps, white box and black box techniques result
in a thorough evaluation of normal program functions and performance.
Stress tests are designed to confront programs with abnormal situations.
Stress testing executes a system in a manner that demands resources in
abnormal quantity, frequency or volume. Essentially, the tester attempts
to break the program.
A variation of stress testing is a technique called sensitivity testing. In
some situations, a very small range of data contained within the bounds
of valid data for a program may cause extreme and even erroneous
processing or performance degradation. Sensitivity testing attempts to
Page
59

uncover data combinations within valid input classes that may cause
instability or improper processing.
Performance testing
Software that performs the required functions but does not conform to
performance requirements is unacceptable. Performance testing is
designed to test run-time performance of software within the context of
an integrated system. Performance testing occurs through all the steps in
the testing process. However, it is not until all system elements are fully
integrated that the true performance of a system can be ascertained.

Page
60

6. MAINTENANCE FEATURES

Not all jobs run successfully. Sometimes an unexpected


boundary condition or an overload causes an error. Sometimes
the o/p fails to pass controls. Sometimes program bugs may
appear. No matter what the problem, a previously working
system that ceases to function, requires emergency
maintenance. Isolating operational problems is not always an
easy task, particularly when combinations of circumstances
are responsible. The ease with which a problem can be
corrected is directly related to how well a system has been
designed and documented.
Changes in environment may lead to maintenance
requirement. For example, new reports may need to be
generated, competitors may alter market conditions, a new
manager may have a different style of decision-making,
organization policies may change, etc. Information should be
able to accommodate changing needs. The design should be
flexible to allow new features to be added with ease.
Although software does not wear out like hardware, integrity
of the program, test data and documentation degenerate as a
result of modifications. Hence, the system will need
maintenance.
Maintenance covers a wide range of activities such as
correcting code, design errors, updating documentation and
upgrading user support. Software maintenance can be
classified into four types:
6.1 Types of maintenance
Corrective maintenance
It means repairing processing or performance failures, or
making changes because of previously uncorrected problems
or false assumptions. It involves changing the software to
correct defects.
Page
61

1. Debugging and correcting errors or failures and emergency


fixes.
2. Fixing errors due to incomplete specifications, which may
result in erroneous assumptions, such as assuming an
employee code is 5 numeric digits instead of 5 characters.
Adaptive maintenance
Over time the environment for which the software was
developed is likely to change. Adaptive maintenance results in
modifications to the software to accommodate changes in the
external environment.
For example:
1. Report formats may have been changed.
2. New hardware may have been installed (changing
from 16-bit to 32-bit environment)
Perfective maintenance (Enhancement)
This implies changing the performance or modifying the
program to improve or enhance the system. It extends the
software beyond its original functional requirements. This
type of maintenance involves more time and money than both
corrective and adaptive maintenance.
For example:
1. Automatic generation of dates and invoice numbers.
2. Reports with graphical analysis such as pie charts, bar charts, etc.
3. Providing on-line help system
Preventive maintenance (Re-engineering)
Preventive maintenance is conducted to enable the software to
serve the needs of the end-user. It is done to prevent any more
maintenance to the application keeping future results in focus.
Changes are made to the software so that it can be corrected,
adapted and enhanced more easily.
For example:
1. Application rebuilding from one platform to another.
Page
62

2. Changing from a single-user to a multi-user environment.


In general software maintenance can be reduced by keeping
the following points in mind:

A system should be planned keeping the future in mind.

User specs should be accurate.

The system design should be modular.

Documentation should be complete.

Proper steps must be followed during the development

cycle.

Testing should be thorough.

Page
63

Gather change requirements


Analyze change requirements

Device code change strategies

Apply code change strategies

Update documents

Integrate and test

Software maintenance has become an important area of work for many


companies. It is mostly being carried out as fire fighting operations,
rather than as systematic and planned activities.

12. FUTURE SCOPE


1. Option for adding up videos.
2. Option of citizen generalism where in ordinary citizen can
upload

photos & news upload regarding issues in their

areas.
3. Interactive mechanism for discussions regarding various news
items.

Page
64

12.2

BIBLIOGRAPHY

Books Referred:
BEGINNING ASP
---DAVE MERCER
BLACK BOOK HTML
---WILEY DREAMTECH
ASP.net AND MS SQL WEB DEVELOPMENT
---LUKEWELLING,LAURA
MICROSOFT SQL SERVER-2005
RANKIN,PAUL& JENSEN
SQL SERVER-2005
PETKOVIC

-----DUSAN

ASP.net IN A NUTSHELL
--- PAUL HUDSON

Websites Referred:

http://www.touchless.codeplex.com
http://www.codeproject.com
http://www.visiblevisual.com/index.php/GeneralVB-.NET/preview-webcam-and-capture-image.html
http:www.google.com/
http:www.vbnetdesign.com/

Page
65

Bibliography

Page
66

Você também pode gostar