Sie sind auf Seite 1von 110

Matrimonial Management

ON
MATRIMONIAL-MANAGEMENT
Project Submitted in partial fulfilment of
the requirement of the award of the degree
of

Master Of Science(Information Technology)

(2006-2009)
SUBMITTED BY

Chandra kanta khatri


MSc. IT VI Semester

UNDER GUIDANCE OF
Miss Dipika
Acme Embedded Technologies Pvt.Ltd
Bikaner

SUBMITTED TO :
Mr. Hardayal Singh
HOD (ECB )

Matrimonial Management

ON
MATRIMONIAL-MANAGEMENT
Project Submitted in partial fulfilment of
the requirement of the award of the degree
of

Master Of Science(Information Technology)

(2006-2009)
SUBMITTED BY

Rekha narooka
MSc. IT VI Semester
UNDER GUIDANCE OF
Miss Dipika
Acme Embedded Technologies Pvt.Ltd
Bikaner

SUBMITTED TO :
Mr. Hardayal Singh
HOD (ECB )

Matrimonial Management

PREFACE
The Industrial training is a part of curriculum of M.Sc. COURSE. There is a
provision of Industrial training of 6 months. It is aimed to provide student industrial
exposure. Student are expected to learn the technical aspects of the theoretical studies
applied in the industry.
I select ACME EMBEDDED TECHNOLOGIES BIKANER for my industrial
training .It is a Software Engineering Services company with experience in enterprise
applications for a wide spectrum of domains including supply chain, manufacturing
performance,asset visibility, business continuity planning, and finance. These
applications have been developed on a variety of platforms .Net.
This Project is submitted at ENGINEERING COLLEGE, BIKANER and this report
contain the complete details regarding the project work done on the MATRIMONIALMANAGEMENT.
The matter in the report is organized in a number of sections with important
diagrams. This gives an easy and clear understanding of text.

ACKNOWLEDGEMENT
3

Matrimonial Management

Any accomplishment requires the effort of many people and this project work is no
different. I am highly obliged and grateful to all those who have helped me in the
development of this project and provided all encouragement and dedication that have
helped me immensely in my project work.
I sincerely thanks to Miss DIPIKA for giving me opportunities to have training in ACME
EMBEDDED TECHNOLOGIES.(BIKANER) and his valuable guidance , help and
encouragement in all aspects during my whole training .
I am also greatly indebted to Mr. HARDAYAL SINGH (H.O.D.-MSc., Engineering
College Bikaner) and other faculty for their kind help and cooperation in my project
work.
Once again I express my gratitude to ACME EMBEDDED TECHNOLOGIES, Bikaner for
their kind cooperation.

(Chandra kanta khatri)


MSc (VI SEM 2009)
Engineering College, Bikaner
University Of Rajasthan
Jaipur

ACKNOWLEDGEMENT
4

Matrimonial Management

Any accomplishment requires the effort of many people and this project work is no
different. I am highly obliged and grateful to all those who have helped me in the
development of this project and provided all encouragement and dedication that have
helped me immensely in my project work.
I sincerely thanks to Miss DIPIKA for giving me opportunities to have training in ACME
EMBEDDED TECHNOLOGIES.(BIKANER) and his valuable guidance , help and
encouragement in all aspects during my whole training .
I am also greatly indebted to Mr. HARDAYAL SINGH (H.O.D.-MSc., Engineering
College Bikaner) and other faculty for their kind help and cooperation in my project
work.
Once again I express my gratitude to ACME EMBEDDED TECHNOLOGIES, Bikaner for
their kind cooperation.

(Rekha narooka)
MSc (VI SEM 2009)
Engineering College, Bikaner
University Of Rajasthan
Jaipur

Table Of Content
5

Matrimonial Management

Company Profile
About
Vision
Offering
Out Sourcing
Training
Why A.E.T.
Clients
Development Tools

9
9
11
11
12
12
13
13

Project Overview
Introduction to Project
Characteristic Of Project
Qualities of Project
Tools/Environment Used

17
19
20
26

Technologies Used
ASP.net
ASP.net forms
Database : MS Access

28
39
67

System Designing
Interface Design
Database Design
Screens Details

81
86
93

Matrimonial Management

Matrimonial Management

COMPANY PROFILE

Acme Embedded Technologies Pvt. Ltd.


Bikaner, Rajasthan

Acme Embedded Technologies Pvt. Ltd.


About:
Acme Embeded Technologies aspire to be the best in providing the best personnel to

Matrimonial Management
clients globally. A.E.T readiness to devote quality time towards clients to understand
their requirements and sincere efforts towards fulfilling commitments together go a long
way in assisting organization find the "Perfect Fit".
Furthermore, A.E.T professional attitude ensures that their relationships with clients are
enduring and always mutually beneficial.

Vision :
We believe in long-term business relationships, built on quality, trust and
excellent service support. Business is simply a by-product, which automatically comes
with it.
Simple things are simple and complex things are possible.
Making the simple complicated is commonplace; making the complicated simple,
awesomely simple, that's creativity.

Mission:
Simplicity is the soul of efficiency.
Simplicity is prerequisite for reliability.
Simplicity is the ultimate sophistication.
The unavoidable price of reliability is simplicity.
Simplicity and flexibility will trump optimization and power in a world where
connectivity is the key.
Simplicity does not precede complexity, but follows it.

Development
Acme Embeded Technologies have dynamic team of professionals and state-of-the-art
infrastructure.

Training Cell
A.E.T dedicated professional developers are known to deliver results.

Services
A.E.T. Unique Way- Development Process A.E.T. follow- Facilitating the process and
providing clients to their specific requirements. Effective Solutions customized to your
requirements. Service Oriented Architecture
Web Services- J2EE, .NET, PHP Web services.

Matrimonial Management

Web Development-JSP, Struts, ASP.NET, PHP/MYSQL


Desktop Applications-.NET, JAVA Swings Rich user interface.
Training Cell-To ensure that AET attain the utmost in quality, A.E.T.
invest in continous improvement by way of training, development and new technology.

Hardware Section
A.E.T. deal in Branded Laptops, Desktops and accessories.(HP, LENOVO, ACER, DELL,
HCL, WIPRO)

Offering
With advancements in technology and availability of better infrastructure, corporate
requirements increased and A.E.T. were there to respond to the changing times. The web
sites fast became more interactive and database driven. Design scape developed some
application based web sites some of them went on to become premier in the country.

The Scope of A.E.T services includes:


*
*
*
*
*
*
*
*
*
*
*

Web Development
Application Development
Domain Registration Services.
Commercial Web Hosting Services.
Dedicated Web Server Hosting.
Database Handling.
ERP Solutions.
Professional Web Designing Services.
Application Programming for the Internet.
Creative Graphic Design for the Internet and Print.
Multimedia Development.

Out Sourcing
Acme Group is well versed in web and software development. The kind of solutions
offered are not just limited to mere execution of client requirements. Creativity, talent
and expertise allow software developers to suggest ways in which client can transform
client business. In some cases, if client choose, Acme group can even define client
business model. Acme group adopt a customer centric approach where Acme make it
their job to listen, to research, and to understand the requirements, so that Acme can

10

Matrimonial Management
provide client with truly unique and effective solutions. A flexible outlook makes them
open to creating and developing any kind of web application.
Acme Group offers original and unique software which are easy and flexible to use. Acme
group products are suitable for everyday use by ordinary people.
Acme group also provide a small backup software program to backup client files and
documents through manual intervention or through automatic process. This backup
software act as a safeguard against treats such as virus attacks, accidental deletions,
system failure and harddisk crashes.

Training
Information Technology is a rapidly changing domain. To be at par with the changing
trends we have a dynamic team of professionals and state-of-the-art infrastructure. Our
dedicated professionals are known to deliver results in any situation and circumstances.
Our Strategic thinking team is one of its kind. The focus of our work is on raising
productivity through improved quality, efficiency and cost- reduction.

* Certified Training with Live Projects:


ASP.NET/C#.NET/VB.NET/J#.NET
PHP/MYSQL
J2SE, J2EE, J2ME
Web Designing
Photoshop
Flash
Dreamweaver
Frontpage
HTML/DHTML
ORACLE......

WhyAcme Embedded Technologies Pvt.Ltd.:


You can rely on A.E.T. for on-strategy, on-time and on-budget
outsourcing. We are committed to building lasting strategic partnerships with our clients
and ensure satisfaction and measurable business results.

A catalyst to propel you above and put your focus directly


on possibilities and results!!
11

Matrimonial Management

Clients:
Clients and Partners play a vital role in our growth and success. The
paramount business strategy at A.E.T is building mutually beneficial partnerships with
customers and other service providers - to share domain expertise. Our abiding
relationships with customers have enabled us to leverage our involvement in developing
frontline solutions to help them emerge more competitive in their chosen markets and
domains.

Development Tools:
Microsoft Suite of Tools

ASP.Net:
VB.Net:
VC++
C#
MS Access
SQL Server.

The .NET platform is revolutionarizing the basic Internet applications it


immensely augments the interoperability of systems and simplifies communication
procedures across the globe. It enhances the capabilities of staying connected to business
associates. A.E.T. has been walking in the boots of procuring raining services and
developing the best practices for application of the .NET standards thereby enabling its
clients to deliver unmatched levels of value to its customers, partners and employees.

.NET services include:


Application development in .NET framework
1.
2.
3.
4.
5.

Designing and Programming using .NET


Development, Support and Enhancement of existing applications in .NET
Language Expertise: Visual Basic, Visual C++ (ATL), C, C#, VBA
Database Technology (SQL-Server and MS-Access)
PDA Solutions (Windows Mobile OS based)

12

Matrimonial Management
6. Windows System Programming using system APIs and 3rd Party Hardware
Integrations

JAVA
A.E.T. dominates with an experienced group of engineers with a technical
background, and with adequate business and communication skills. We are hardcore
patrons and evangelists of Java / J2EE, with skills in J2ME technologies also. Our
expertise ensures superior application quality and shorter development cycles in our
development work and strictly adheres to industry standards and best practices.
Companies can save on precious development time and cost by leveraging our Java /
J2EE development services.

In regards to Java / J2EE, Company have proficiency in the


following areas, amongst others:

J2EE (Enterprise Java Beans (EJB), Java Server Pages (JSP), Servlet)
Core Java
Java Swings
Java Server Faces (JSF)
JDBC
JNI
Java 2 Platform, Micro Edition (J2ME)
Apple Mac OSX Java
Java 2D
Java Mail
Apache Xerces (XML) and Xalan (XSLT) parsers
Ajax (Not really a part of Java, but adds to the development capabilities)
SOA (Not really a part of Java, but adds to the development capabilities)
Java API for XML Processing (JAXP)
Java API for XML-based RPC (JAX-RPC)
RMI / IIOP
Sun JDK1.3, J2SE, J2EE development platforms

PROJECT OVERVIEW
13

Matrimonial Management

1. Introduction To Project
2. Characteristics of Project
3. Qualities of Project
4. Keys Of Project Success
5. Evaluation Criteria
6. Process Involved in Project Development
7. Tools/Environment Used

INTRODUCTION TO PROJECT
Project is actually a carefully planned and organized effort, which is set to accomplish
a particular project in a one-time deal. Project includes the development of the intended
project plan. This may seem simple yet it involves planning and organizing all the needed
details for the successful implementation of the project. The process of project
commonly includes defining the goals of the project, setting project bjectives, specifying

14

Matrimonial Management
tasks in order for goals to be achieved, the needed resources and budget, timelines and
completion dates.
Furthermore, proper project includes implementing the project
plan to make sure that each step is being properly followed. Highly organized would
properly define a well-considered project plan following carefully differentiated steps to
complete the project. Feasibility studies would be the first step, followed by project
planning then implementation, evaluation, and finally maintenance or support.

This project is for MATRIMONIAL MANAGEMENT.

Introductions to help you find that special person. Start Interacting with the finest
Clients, Lawyers Doctors, Busy Pfessionals.Matchmaking of the highest order.We
have made virtually possible for the hosts to walk in as guests at their own function.
we provide some special venues or services.
We have creative, professional, talented and strong networked team, we can provide
services that take care of the minutest details of the wedding and all the functions related
to the same
The exclusive matchmaking service to help you find your life partner. As a member of
Hastamilan.com you would enjoy the following features.

Following things are provided by this project: It provides greater accuracy of information with detailed control, better
presentation which is satisfactory for the customer.
Register Yourself- Entire page devoted to you.

Browse Thousand Of Member Profile- Check out profiles at your leisure.


15

Matrimonial Management
Add Your photo-add your photo.
It provides identified customer database which is usable by all application.
Profile Statistics- You can track the response to your profile.
Contact Other Members- Send as many email as you like.
Perform Searches- You can specify exactly what you are looking for.
Security and Discretion- password protected.

Characteristics Of Project
These are the some attribute that makes a successful project and we also try to follow
these qualities

Correct: Each requirement must accurately describe the functionality to be delivered. The
reference for correctness is the source of the requirement, such as an actual customer or
a higher-level system requirements specification. Only user representatives can
determine the correctness of user requirements, which is why it is essential to include
them.

Feasible: It must be possible to implement each requirement within the known


capabilities and limitations of the system and its environment. To avoid infeasible
requirements . The developer can provide a reality check on what can and cannot be
done technically, and what can be done only at excessive cost or with other tradeoffs.

Necessary: Each requirement should document something the customers really need or
something that is required for conformance to an external requirement, an external
interface, or a standard. Another way to think of "necessary" is that each requirement
originated from a source you recognize as having the authority to specify requirements.
Trace each requirement back to its origin, such as a use case, system requirement,
regulation, or some other voice-of-the-customer input.

16

Matrimonial Management

Prioritized: Assign an implementation priority to each requirement, feature, or use case to


indicate how essential it is to include it in a particular product release. Customers have
the lions share of the responsibility for establishing priorities. If all the requirements are
regarded as equally important, the project manager is less able to react to new
requirements added during development, budget cuts, schedule overruns, or the
departure of a team member. Priority is a function of the value provided to the customer,
the relative cost of implementation, and the relative technical risk associated with
implementation.

Unambiguous: The reader of a requirement statement should be able to draw only one
interpretation of it. Also, multiple readers of a requirement should arrive at the same
interpretation. Natural language is highly prone to ambiguity. Avoid subjective words
like user-friendly, easy, simple, rapid, efficient, several, state-of-the-art, improved,
maximize, and minimize. Write each requirement in simple, straightforward language of
the user domain.

Verifiable: Determine whether each requirement is properly implemented in the product. If


a requirement is not verifiable, determining whether it was correctly implemented is a
matter of opinion. Requirements that are not consistent, feasible, or unambiguous also
are not verifiable.

Complete: No requirements or necessary information should be missing. Completeness is


also a desired characteristic of an individual requirement. It is hard to spot missing
requirements because they arent there.

Consistent: Consistent requirements do not conflict with other software requirements or


with higher-level requirements. Disagreements among requirements must be resolved
before development can proceed. You may not know which is correct until you do some
research. Be careful when modifying the requirements, as inconsistencies can slip in
undetected if you review only the specific change and not any related requirements.

17

Matrimonial Management

Modifiable: You must be able to revise the project when necessary and maintain a history of
changes made to each requirement. This means that each requirement be uniquely
labeled and expressed separately from other requirements so you can refer to it
unambiguously. You can make a project more modifiable by organizing it so that related
requirements are grouped together, and by creating a table of contents, index, and crossreference listing.

Traceable: You should be able to link each software requirement to its source, which could
be a higher-level system requirement, a use case, or a voice-of-the-customer statement.
Also link each software requirement to the design elements, source code, and test cases
that are constructed to implement and verify the requirement.

Qualities of Project

This project improves safety, enhances appearance, provides essential services, or


improves functionality of a facility.
We Ensure safety and security awareness, guidance, and competency.
We Establish and maintain a qualified work environment that meets safety and
security needs.
We Ensure integrity of information by providing for its storage and protection
and controlling access and distribution of information
It Expect requirements to change. Changing requirements are managed by
adopting an incremental approach and paying increased attention to design to
accommodate change.
It Eliminate errors before testing. Better yet, deploy techniques that make it
difficult to introduce errors in the first place. Testing is the second most
expensive
It Develop incrementally. Make very small changes, incrementally. After each
change, verify that the updated system behaves according to its updated
specification. Making small changes makes the software much easier to verify.

The 3 Keys to Project Success

18

Matrimonial Management
There do seem to be three factors that all successful projects have in common.
Each of these factors is key to any projects success. Each project can be viewed as a
tripod. All three legs must be in place for the tripod to stand sturdily. In a systems
project, these legs or critical success factors consist of the following:

Top management support


A sound methodology
Solid technical leadership

Without each of these solidly in place, it is hard to make a good project

Evaluation criteria
Complexity
Manual based system is too complex to handle because it is too large and at the
same time it is operated by number of personnel so that there are lots of inefficiency and
inaccuracy too. We needed something that was easy to understand on the surface as both
staff and client had to be able to grasp it but had sufficient depth to give developers the
guidance they needed.

Size

In computer based system the size of the project is much less than compare to
manual system .because in computer based system all data is stored at a single place so
it is easy to extract it and there is also no duplication of the data.

Cost
Anything that cost money would have to be justified; the less money that was
required, the better. Every project will cost something and you need to discuss those
costs in your plan. We have five steps by which we can easily describe the whole
processing of the project These steps are:

develop an overall model


build features list
planning
design by feature
build by feature

19

Matrimonial Management

Process 1: Develop an Overall Model


This is an initial project-activity .It involves the project team creating an object
model -- The model is not fully defined with all attributes and methods, as this step
is more about capturing correctly the shape of the business domain in an object
model -- not capturing every detail.

Process 2: Build a Features List

This is an initial project-wide activity to identify all the features required to

support the project requirements. This is the time to capture the project in a list of
features. This does not require collaboration: getting a group of people involved at
this stage would not be productive or constructive. The key to this process lies in
defining the project using the language. This means that the client will be able to

understand and value each feature, but it also enforces a common language across
the project team and reduces the risk of miscommunication or assumptions.

Poor communication is the basis of most problems in software .the language we

choose has a significant impact on how effectively we communicate. This might

20

Matrimonial Management
sound simple and obvious, but it should not be underestimated. The focus that this
step brings is incredible and affects the project in many ways.

Process 3: Planning
Process 3 is an initial project-wide activity to produce the development plan.

This process extends the benefits provided by Process 2. It provides the Project
with a means of planning the development phase in a meaningful way for both the client
and the programmers. It is completed in conjunction with the Development Manager
and Chief Programmers, who look, in particular, at the order in which features will be
built, balancing load within the team and providing strategies for delivering early results
to keep the client happy.

Process 4: Design by Feature

Process 4 involves a per-feature activity to produce the feature design package.


This process is broken down into three steps: walkthrough, design and inspection.

In the walkthrough, programmers familiarise themselves with what they're about


to build before starting on a detailed design, which is inspected before they start
the build. The inspection of the design allows defects to be found and removed
before a single line of code is written for that feature.

It might seem like commonsense to design, and inspect that design, before
building, but this step is often ignored. In many other industries, the idea of building
something before it has been fully defined, designed and planned would be considered
negligent,. Project is enormous.

Putting the detailed design in this later stage ensures that it is considered at the
right time: before the code is written. It also breaks the design down into meaningful
chunks, feature by feature. This means programmers don't feel like they're spending all
their time designing and no time coding; immediately after
the design has been completed and inspected, the programmer can start to

code.

Process 5: Build by Feature


Process 5 involves a per-feature activity to produce a completed client-valued
function Process 5 is also broken down into three steps: code, code inspection, and
promote to build. As with Process 4, the idea of collaboration and benefits

21

Matrimonial Management
inspections is enforced. What makes Process 5 unique is the final step, "promote to
build".

For code to be "promoted to build" it must be finished. The key to this is the
definition of "finished". A feature is not finished until there is nothing else to be done.
The Project Manager needs to focus programmers on getting the project completed. This
process is a great way to ensure that focus. The other benefit of this process is that helps
the Project Manager see clearly how much of the project has been completed.

Capturing the Requirements


The most critical step in the development process is capturing the requirements. Product
managers need to listen closely to customer needs and expectations. They need to
document these requirements with clear descriptions of what data is entered, what data
is returned, and how the data is processed. In addition to application requirements,
product managers should discuss any type of printed reports expected by the customer.
Specifics include the type of report, formatting and graphic preferences, and
performance expectations.

Prototyping the Application


Prototyping essentially helps an enterprise developer validate their understanding of the
product requirements. Typically, a prototype will be a lightweight and featureless version
of the application. With the help of Visual Studio .NET, you can build rich user interfaces
for desktops as well as Web applications fairly quickly. You often present these
prototypes to key customers for feedback to ensure that the customer needs are fulfilled.
Committing a long development effort to a product that doesn't meet customer
expectations will be nearly impossible to sell. Prototypes also help to better estimate the
total development effort and, in turn, the total cost of development

Developing the Application


Application development should be one of the shortest stages of the entire process. This
is largely because the design phase should clearly spell out everything that needs to be
coded. Also, the application framework should provide enough templates that trivial and
repetitive development tasks are minimized. The requirements have already been
captured and translated into a complete design. All that is necessary is to translate
design drawings and class definitions into code. In addition to application development,
you also need to create the installation and configuration code. Although the .NET
Framework supports multiple development languages to coexist within a single solution,

22

Matrimonial Management
it is ideal to select one language and work with it exclusively. This helps build internal
skills with a specific language and keeps maintenance costs lower.

Testing the Application


Like the design step, the testing step should be one of the longest in the development
process. Ensuring application quality should come first with all application development.
If application development begins slipping past schedule, it is a smarter strategy to drop
a handful of product requirements than to trim back testing time. Customers have
repeatedly communicated that they can live with a product that falls short of
expectations much more easily than a product filled with software bugs.
During this step, you should also develop product documentation, such as user and
administrative guides. In some cases, documentation occurs during the development
step. However, it is far too common for functional changes, labeling changes, or even
flow changes to occur, which forces rewrites of the product documentation. Also, keeping
the documentation effort in parallel with the testing effort helps ensure a longer testing
stage. Ideally, you should write product documentation with a tool that easily generates
online help as well as printed documentation. Some enterprise providers attempt to
produce only online help and then find that corporate IT managers insist on printed
documentation.

TOOLS/ENVIRONMENT USED
23

Matrimonial Management

Front End/UI:-ASP.Net
Back End
:- MS Access

Resources required for this project:


Hardware:
CPU: Intel Pentium 233 MHz
Display: SVGA or better display resolution
Memory: 256 MB RAM
Others: Mouse, Keyboard, etc.

Software:
Windows XP
Databases
MS Access

TECHNOLOGY USED
24

Matrimonial Management

ASP.NET

ASP.NET
25

Matrimonial Management

EVALUTION OF .NET
Microsoft's .NET initiative is broad-based and very ambitious. The .NET Framework
introduces a completely new model for the programming and deployment of
applications.
The .NET Framework introduces a completely new model for the programming and
deployment of applications. .NET presents a radically new approach to software
development. This is the first development platform designed from the ground up with
the Internet in mind. Previously, Internet functionality has simply been bolted on to preInternet operating systems like UNIX and Windows. This has required Internet software
developers to understand a host of technologies and integration issues. .NET is designed
and intended for highly distributed software, making Internet functionality and
interoperability easier and more transparent to include in systems than ever before.
The vision of .NET is globally distributed systems, using XML as the universal glue to
allow functions running on different computers across an organization or across the
world to come together in a single application. In this vision, systems from servers to
wireless palmtops, will share the same general platform, with versions of .NET available
for all of them, and with each of them able to integrate transparently with the others. But
this does not leave out classic applications, as we've always known them. .NET also aims
to make traditional business applications easier to develop and deploy. Some of the
technologies of .NET, such as Win Forms, demonstrate that Microsoft has not forgotten
the traditional business developer.

The Origins of .NET


In the beginning 1998, a team of developers at Microsoft had just finished work on a new
version of Internet Information Server (version 4.0), including several new features in
Active Server Pages. While developers were pleased to see new capabilities for Internet
development on Windows NT, the development team at Microsoft had many ideas for its

26

Matrimonial Management
improvement. That team began to work on a new architecture implementing those ideas.
This project eventually came to be known as Next Generation Windows Services
(NGWS).
After Visual Studio 6 was released in late 1998, work on the next version of Visual Studio
(then called Visual Studio 7) was folded into NGWS. The COM+/MTS team brought in
their work on a universal runtime for all the languages in Visual Studio, which they
intended to make available for third party languages as well.
The subsequent development was kept very much under wraps at Microsoft. Only key
Microsoft partners realized the true importance of NGWS until it was re-christened as
.NET and introduced to the public at the PDC. At that point, development had been
underway for over two years, and most attendees were pleasantly surprised to see the
enormous strides Microsoft had made.
The concepts in .NET draw inspiration from many sources. Previous architectures, from
p-code in UCSD Pascal up through the Java Virtual Machine, have similar elements.
Microsoft has taken many of the best ideas in the industry, combined with some ideas of
their own, and brought them all into one coherent package.

Since quite some time each person is talking about .NET, but
what actually is .NET?
The .NET Framework introduces a completely new model for the programming and
deployment of applications. .NET is Microsoft's vision of "software as a service", a
development environment in which you can build, create, and deploy your applications
and the next generation of components, the ability to use the Web rather than your
own computer for various services.
Microsoft introduced great technologies like COM, DCOM, COM+ etc. to enable reuse of
Software. Although these technologies are very powerful to reuse Software, they required
a huge learning curve. According to this aspect, Microsoft realized that its time to come
up with a new Technology, a better one, an easier one, a new Framework, within which
each Programming Task is easy accomplished. It provides the easiest and most scalable
way to build, deploy and run web services. ASP.NET server controls enable an HTMLlike style of declarative programming that let you build great pages with far less code
than with classic ASP. VB, C++ and C# Code can be used in other languages f.e.
code written in VB can be easily used in C# or in VC++. Also a benefit is that the you can
step between the languages in the debugger.

A Broad and Deep Platform for the Future


Calling the Microsoft.NET Framework a "platform" doesn't begin to describe how broad
and deep it is. It encompasses a virtual machine that abstracts away much of the

27

Matrimonial Management
Windows API from development. It includes a class library with more functionality than
any other created to date, and a development environment that spans multiple
languages. Further more, it exposes an architecture that makes multiple language
integration simple and straightforward.
In short, .NET presents a radically new approach to software development. This is the
first development platform designed from the ground up with the Internet in mind.
Previously, Internet functionality has simply been bolted on to pre-Internet operating
systems like Unix and Windows. This has required Internet software developers to
understand a host of technologies and integration issues. .NET is designed and intended
for highly distributed software, making Internet functionality and interoperability easier
and more transparent to include in systems than ever before.
The vision of .NET is globally distributed systems, using XML as the universal glue to
allow functions running on different computers across an organization or across the
world to come together in a single application. In this vision, systems from servers to
wireless palmtops, will share the same general platform, with versions of .NET available
for all of them, and with each of them able to integrate transparently with the others. But
this does not leave out classic applications, as we've always known them. .NET also aims
to make traditional business applications easier to develop and deploy. Some of the
technologies of .NET, such as WinForms, demonstrate that Microsoft has not forgotten
the traditional business developer.

The .NET Compilation Stages:


The Code written in .NET isn't compiled directly to the executable; instead .NET uses
two steps to compile the code.

First, the code is compiled to an Intermediate Language called


Microsoft Intermediate Language (MSIL).

Second, the compiled code will be recompiled with the Common Language
Runtime (CLR ), which converts the code to the machine code.

The basic Idea of these two stages was to make the code language independence.

Major Components of .NET

28

Matrimonial Management

Now we explain these components briefly...


Languages that are compliant with .NET can only exploit the .NET framework. Most of
Microsoft languages have been made to fully comply with .NET.
.NET also introduces Web Forms, Web Services and Windows Forms. The reason any
.NET compliant language can use why they have been shown separately and not as a part
of a particular language are that these technologies. For example Windows Forms is used
by VC, VB.NET, and C #all as a mode of providing GUI.
The next component of .NET is the .NET Framework Base Classes. These are the
common class libraries (much like Java packages) that can be used by any .NET
compliant language. These classes provide the programmers with a high degree of
functionality that they can use in their programs.
The bottom most layer is the CLR - the common runtime language.
It is the runtime that converts a MSIL code into the host machine language code, which
is then executed appropriately. [7] gives a detailed description of CLR.

What is "Common Language Specification" (CLS)


One of the obvious themes of .NET is unification and interoperability between various
programming languages. In order to achieve this; certain rules must be laid and all the
languages must follow these rules. In other words we can not have languages running

29

Matrimonial Management
around creating their own extensions and their own fancy new data types. CLS is the
collection of the rules and constraints that every language (that seeks to achieve .NET
compatibility) must follow. Microsoft has defined three level of CLS
compatibility/compliance. The goals and objectives of each compliance level has been set
aside. Given below are the three compliance levels with their brief description:

COMPLIANT PRODUCER
The component developed in this type of language can be used by any other language.

CONSUMER
The language in this category can use classes produced in any other language. In simple
words this means that the language can instantiate classes developed in other language.
This is similar to how COM components can be instantiated by your ASP code.

EXTENDER
Languages in this category can not just use the classes as in CONSUMER category; but
can also extend classes using inheritance .Languages that come with Microsoft Visual
Studio namely Visual C++, Visual Basic and C#; all satisfy the above three categories.
Vendors can select any of the above categories as the targeted compliance level(s) for
their languages.

What is "Microsoft Intermediate Language" (MSIL)


A .NET programming language (C#, VB.NET, J# etc.) does not compile into executable
code; instead it compiles into an intermediate code called Microsoft Intermediate
Language (MSIL). As a programmer one need not worry about the syntax of MSIL - since
our source code in automatically converted to MSIL. MSIL code is then send to the CLR
(Common Language Runtime) that converts the code to machine language which is then
run on the host machine

Developing for .NET


One purpose of the .NET Framework is to simplify application development and
deployment in the distributed Internet environment. This extends to applications that
are run locally or remotely or that are distributed over the Internet. This simplification is

30

Matrimonial Management
achieved through a common language runtime (CLR) that provides a managed execution
environment available to any language that targets the runtime. The functionality this
execution environment provides is made available to these languages through the .NET
Framework class library. Figure 1-1 illustrates how the CLR relates to the .NET
Framework.

Why ASP .NET?


Microsoft first announced ASP.NET (then called ASP+) and the .NET platform in July,
2000. .NET is, in essence, a new development framework that provides a fresh
application programming interface to the services and APIs of classic Windows operating
systems, especially Windows 2000, while bringing together a number of disparate
technologies that emerged from Microsoft during the late 1990s. Among the latter are
COM+ component services, a commitment to XML and object-oriented design, support
for new web services protocols such as SOAP, WSDL, and UDDI, and a focus on the
Internet, all integrated within the DNA architecture. ASP.NET represents a significant
enhancement to and extension of classic ASP. ASP programmers will be very pleased by
how easy the transition to ASP.NET is, yet there is tremendous power and flexibility in
the new development platform. ASP and ASP.NET applications can run side by side,
allowing for easy migration of legacy applications.

What Is ASP .NET?


The original definition of ASP.NET, right at the start of the chapter, portrayed ASP.NET
as a powerful and flexible technology for creating dynamic Web pages, and this still holds
true. However, as you now know, it isn't the only way to deliver dynamic Web pages, so
let's refine our definition a little so it reads as follows:
Secondly, ASP.NET is only one of a set of technologies that comprise the .NET
Framework. For now, you can think of this as a giant toolkit for creating all sorts of
applications, and in particular, for creating applications on the Web. When you install
ASP.NET, you will also install the .NET Framework at the same time. You will use bits
and pieces of the .NET Framework throughout this book. In fact, you can also use the old
versions of ASP with the .NET Framework, so why are we not using that instead?
ASP.NET is a powerful and flexible server-side technology for creating
dynamic Web pages.

ASP.NET is the name Microsoft has given to the combination of its two web development
technologies: Web Forms and Web Services. Using ASP.NET, it is easier than ever to
create web applications that are dynamic and data-driven, that scale well, and that work
well across a broad range of browsers without any custom coding by the developer.

31

Matrimonial Management

Server Controls and Variables


Variables and Data Types
Variables are fundamental to programming they let you store information in memory.
Once the information is stored, you can perform mathematical functions, calculate new
dates, manipulate text, count the length of sentences, and perform many such functions.
This book discusses the techniques of using variables in C#. The syntax would be
different if you work in VB.NET or another language, but the theory is very similar.
A variable is a space in memory that is allocated a name and given a data type by the
programmer. These spaces in memory can be used to store pieces of information that
will be used in the program. Think of variables as you might think of boxes or
epositories for information. Different data types require different sizes and shapes of
boxes with different amounts of memory. Any variable is empty until you put
information into it (although the memory space is reserved while the code runs). You
can then view the information inside the variable, get the information out, or replace the
information with new data.
Variables have four parts: a name, a space in memory, a data type, and the value that
they hold.
C# is a strongly typed language, which means that every variable has a data type
associated with it, such as string, integer, or date. Typing tells C# how to deal with the
data so that, for example, dates can be seen as proper dates and not a long 'division'
operation such as 5/10/2003.

Declaring Value Type Variables


Good programming practice requires that you explicitly create or declare variables
before you use them. In C#, the simplest type of variable declaration for value types is
made with the datatype followed by the name of the variable. In the following case int
implies that we want a variable of the datatype integer.

Int NumberOfStates
While naming a variable, you have to remember the following rules:
All variable names must begin with a letter (not a number or symbol)
They may not contain an embedded period (full-stop) or a space
They cannot be the same as C# reserved words (keywords) such as if and void
In C#, variable names are case sensitive. In the following example, the first line declares
a variable as a string type with the name strCarType; the second line assigns a string
value to that variable:

String strCarType;
StrCarType = "Buick";

32

Matrimonial Management
It's also possible to declare a variable and assign a value to it on a single line:
String strCarType = "Buick";
If you have several variables of the same type, you can set them up with one line of code
(see Demo-VariableDeclare.aspx in the code download):
string strCarType1, strCarType2, strCarType3;
strCarType1 = "Buick";
strCarType2 = "Cadillac";
strCarType3 = "Pontiac";
You can also initialize and assign values to them on one line as follows:
String strCarType1 = "Buick", strCarType2="Cadillac", strCarType3="Pontiac";
However, you can not mix data types in one line of initialization or filling. The following
line will not Work:
String strCarType1, int strCarType2, date strCarType3;
Now let's use our knowledge of variable declaration and assignment in an example. We'll
take the code above and combine it with ASP.NET server controls.

Data types
C# supports about two-dozen data types. These datatypes can be roughly divided into
three groups:
numeric, text, and miscellaneous datatypes.

Numeric
Numeric datatypes represent eleven of the C# datatypes. They are divided into three
groups: integers, floating-point, and decimals.

Integers
Integers are whole numbers (numbers without a decimal component). Examples of
integers are 3, -12, and 0. The various storage formats for integers vary with the size of
integer that needs to be stored. You can use these types as per your requirements to
make optimal use of memory resources:
int: The integer datatype is referred to as int in code; can store whole numbers up to
about 2 billion (2,147,483,648), both positive and negative.
uint: Stores integers from 0 to 4 billion, but this range can consist of only positive
numbers.

byte: Can be used to store integers between the range 0 to 255, but negative values are
not allowed. It's a useful type because a variable can easily be stored by the computer

33

Matrimonial Management
within a single byte a computer's basic storage unit and any processing or arithmetic
done with them is therefore faster.
sbyte: Same as byte but allows negatives, so the range is reduced to 128 to +127.
short: As the name implies, can only accept a limited range of values, from 32,768 to
+32,767.
ushort: is like uint and can be used for unsigned (positive) numbers; since memory
space is not used for the sign, the value can go up to 65,535.
long: Similar to the int type, but supports a much larger range; can contain a value up
to 9,223,372,036,854,775,808 (that is 9 x 10^19), either positive or negative.
ulong: Allows positives up to about 18 x 10^18.

Floating-Point Numbers
Floating point datatypes can store numbers with decimal places. The various floating
point datatypes supported by C# are:
float: Holds single precision floating-point numbers. The float type supports values
within the range -3.402823E38 to -1.401298E-45 (for negative values), and 1.401298E45 to 3.402823E38 (for positive values).
double: Holds double precision floating-point numbers. The range of double is 1.79769313486232E308 to -4.94065645841247E-324 (for negative values), and
4.94065645841247E- 324 to 1.79769313486232E308 (for positive values).

Decimal
The decimal type accepts numbers with about 28 digits, which you can allocate between
the left and right side of the decimal point. With zero decimal places, it can support large
positive or negative numbers with up to 27 following zeros. Alternatively, you can store a
very accurate number with about 27 digits to the right of the decimal point.

Selecting the Correct Numeric Datatype


Given the wide range represented by these eleven types, here is a short guide to selecting
the correct type for your needs. Your code will be most efficient if you use the smallest
and simplest type that will do the job.
If you must use decimal numbers and you need less than 28 digits, you can use
decimal. If you need decimal places and more digits, go to float, and if you need even
more, then go to double. Currency is generally stored as a decimal type.
If you don't need decimal places, then start with byte (0 to 255). Keep in mind that
byte does not handle negative values. If you need to use larger numbers or negative
values, then first use short, then go on to integer, and finally use the long type. If you will
only use positive numbers, then consider the unsigned versions, where you might be able

to settle for a smaller datatype. If you have violated the limits of a Numeric type you will
get an error such as "CS1021: Integral constant is too large" or "Cannot convert."

Server Controls and Data Type


34

Matrimonial Management

Text Datatypes
Normally text datatypes store words or letters, but you can also use them to store
symbols and numbers. At the same time, you should not store numbers that you plan to
use in arithmetic. For example, a string variable called MyString can hold values like
"2.0" or "July 4, 2004". However, you will not be able to perform any calculations on
these values. Numbers usually go into one of the numeric datatypes. An exception to this
is a number that you will not perform any math with, such as telephone numbers, social
security numbers, and catalog numbers that may contain a mix of numbers and letters;
these are usually better stored as strings. There are just two datatypes for storing text.
The string datatype is almost always used. The other, char, stores only one character of
text and it is in an encoded form.

String
The string type identifies its stored value as text, even if you supply it with a mixture of
text and numerical data, numerical data alone, or even date information. A string
variable will grow or shrink to accommodate any number of characters. However, it does
not inherently contain any formatting like line breaks. See the following example on the
string datatype (see Demo-VariableStringAndChar.aspx):
string CarType;
string CarEngineSize;
string CarModel;
string DatePurchased;
CarType = "Buick";
// this is normal
CarEngineSize = "2.0";
// this works, but is not normal
CarModel = "123-Z-456";
// OK because these numbers do not have a mathematical values
DatePurchased = " July 4, 1999";
// this works, but it is better to use the date type
As mentioned earlier, string values are encapsulated in double quotation marks, so they
can be differentiated visually from numerical values without having to reference their
actual declarations. The .NET Framework provides a number of special methods by
which you can manipulate strings. These methods allow you to measure the length of a
string, truncate a string at the beginning or end, return certain characters from a given
string, or even convert a string into its numerical equivalent.

We use double quotation marks to encapsulate strings, and never single


quotation marks, because they imply the use of the char datatype.

Char
35

Matrimonial Management
The char data type is a bit of a strange one, because it stores text as a number! This
means you place a single character in a variable defined as a char, and it is stored as a
number between 0 and 65535. The large storage capacity provides the ability to store
characters from non-English languages. You store the value as follows:
Char MyLetter;
MyLetter = 'Q';
When you display the contents of a char variable, you see a text character despite the fact
that it is stored as a code number.

Other Datatypes
The next few datatypes don't really fit together, as they have nothing in common other
than the fact that they are not numeric or text.

Date
The date datatype is treated differently than the text or numeric types. You must be
accurate in entering and reading data. The date cannot be entered directly as a string.
Rather, it must be converted using a function Convert.ToDateTime(). Within the
parenthesis, place the date string in the format set by the Server's Windows Regional
settings. For example, in the USA, this would be mm/dd/yy, dd/mm/yyyy in the UK, and
dd.mm.yyyy in Germany. Conversely, when reading a date from a variable, you need to
convert it to a string if you want to display it in a label:
DateTime MyDateTime; //declares the variable
MyDateTime = Convert.ToDateTime(txtDateIn.Text); //fills the variable
lblDateOut.Text = Convert.ToString(MyDateTime); //reads the variable
// alternate formats for input
MyDateTime = Convert.ToDateTime("1/1/2005");
MyDateTime = Convert.ToDateTime("4:25:05 PM");
MyDateTime = Convert.ToDateTime("16:25:05");
MyDateTime = Convert.ToDateTime("1/1/2005 16:25:05");
// following line fails - use 24 hour time or AM/PM but not both
MyDateTime = Convert.ToDateTime("16:25:05 PM");

For Western languages, almost all characters are represented by


integers ranging from 0 to 255. This is the ASCII format of
epresentation. However, to support additional languages (like
Chinese) with a large number of characters, we need more space to
store them. Therefore we use 256 squared = 65536 possible
characters in a system called UNICODE.
36

Matrimonial Management

Boolean
Boolean variables can be set to one of two values: true or false. There are no acceptable
alternatives such as 0 or 1 like in other languages. Note that true or false as a value
should not be in quotes and must be all lower case as shown here:
bool MyBool; //'my variable to indicate membership
MyBool = true; // note lower case, no quotes

Naming Variables
As we've seen earlier, there are four basic rules for naming variables. First, all variable
names must begin with a letter (not a number or symbol). Second, they may not contain
an embedded period (or full-stop) or a space. Third, they cannot be the same as C#
reserved words (keywords), such as if and void. Lastly, C# variables are case sensitive.
Some programmers use the following kinds of non-descriptive variable names:
int i;
bool varBoolean;
int Counter;
DateTime Date;
This is a sloppy way of coding because such variable names increase the cost of creating
and maintaining an application. At the same time, excessively long variable names are
unwieldy and easy to mistype. Good programming practice is to use suitable names for
variables that are meaningful to those who subsequently read the code. When your
variable name has more than one word, you can use two techniques. Some people like to
separate the words with underscores like Name_ First. Some prefer to use 'Pascal case',
wherein letters are lower case except the first of each word used in the variable, like
NameFirst. You could also use 'Camel case,' which is the same as Pascal case, but with
the first letter of the variable name in lowercase.
Here are some additional naming tips:
DataStart and DateEnd are better than StartDate and EndDate, as these two related
variables will then come next to each other in an alphabetically sorted search.

Variables like Price, Name, and Number are confusing because there are usually more
than one of these. It is better to use a NounAdjective combination like NameFirst and
NameLast.
Variable names that coincide with datatypes aren't allowed.
Avoid confusing and non-intuitive abbreviations, such as FDOM for first day of month
FDOM could stand for anything.

37

Matrimonial Management
Never use the same variable name for two different variables in a Web site, no matter
how sure you are that they will not conflict.
A very common mistake occurs in programming when a variable of one type is used as if
it is of another type. For example, a line of code tries to subtract a string from a date and
throws an error. The sensible answer is to use a naming convention that identifies the
type of a variable. The most common convention, called the Hungarian notation, is to
use the first three letters of a variable's name to distinguish the type. The fourth letter of
the variable is then typed in uppercase, to indicate that this is where the actual variable
name starts. There are variations to this convention that are used by programmers. The
following table lists some examples of the usage of this notation:

Data type
bool
byte
char
DateTime
double
decimal
float
int
long
short
string

Prefix

Example

bln
byt
chr
dat
dbl
dec
Flt
int
lng
sho
str

blnMember
bytDaysInMonth
chrWang
datDatePurchased
dblPi
decSalary
fltRate
intDistanceToSun
lngDistanceToStar
shoNumberOfAtoms
strNameFirst

Variable Scope
A few simple questions arise when we consider using variables. How widely available is a
variable? If a variable is created, can it be used by other events and methods on the page?
Can it be seen by other pages, or can other users visiting the same Web site see it? These
are the issues of scope a definition of how widely a variable can be used. We will study
three levels of variables: block, function, and global. It is important to create your
variables with the least amount of scope to do the job. Then, when a variable is no longer
needed it is destroyed and memory is freed up. Remember that the more limited the
scope of variables, the faster your programs will run.

Block-Level Variables
The block-level scope is the most limited in nature. A set of statements enclosed by curly
braces after an if (or while) statement is considered a block Variables created within the

38

Matrimonial Management
block scope can be used only within that block. When the block ends (say, after the last
loop), the variable is destroyed. In the following example, the scope of the variable
strBlockLevelVariable within the highlighted code and strBlockLevelVariable can no
longer be

You can't have two variables with the same name within the same
scope. To be safe, avoid duplicating a variable name anywhere within
a Web site. Do not rely on differences in case to differentiate between
two variables.

Function-Level Variables
The next wider level of scope is the function-level variable. These variables are available
to all of the code within a function (for example, the Page_Load() method). They can also
be called local variables because they are local to the function that created them. Outside
that function, the local variable has no value; this is because the lifetime of the variable
ends when the subroutine ends.

Constants
There will be occasions when you want the value assigned to a variable to remain
constant throughout the execution of the code, for example sales tax percentage. This
value will rarely change, yet when calculating the total of a shopping basket, you'll
probably need to refer to it several times. Even if the tax is changed, you would not need
to change the value during the code execution rather, you would change it manually
during a design mode edit of the code. C# allows you to store unchanging data in a
constant. The main reason you'd assign a value to a constant is to prevent its alteration
by a mistakenly written line of code.
Const int ABSOLUTEZERO = -273
Suppose we tried to assign another value to ABSOLUTEZERO, such as:
ABSOLUTEZERO = 0

Data Collections
All in all, arrays are quite simple to understand and very easy to use. However, we often
need more sophisticated ways to group items together. These advanced techniques in C#

39

Matrimonial Management
are grouped as collections and include the ArrayList, the HashTable, and the SortedList.
Collections are characterized by:
A collection can contain an unspecified number of members.
Elements of a collection need to be related only by the fact that they exist in the
collection.
Elements of a collection do not have to share the same datatype.
An object's position in a collection can change whenever a change occurs in the
collection as a whole. Therefore, the position of a specific object in the collection can
vary.

Operators
Assignment Operator
The familiar equals sign (=) assigns a value to a variable or control value. (Note that the
symbol = = is a test for equality, different from an assignment.) The variable name goes
on the left; the variable value goes on the right. C# doesn't enforce spaces on either side
of the equals sign, but you may prefer to include some to make your code easier to read:
intMyVariable = 2;
lblMyLabel.Text = "Sale Ends January 15.";
You can also use the assignment operator to change values of variables using the
following syntax:
intMyVariable = 2;
intMyVariable = intMyVariable + 1
C# also offers a shorter syntax to perform the above task, at the end of which
intMyVariable equals three:
intMyVariable = 2
intMyVariable += 1

Arithmetic Operators
The arithmetic operators available in C# are:

40

Matrimonial Management

Operator

Symbol

Addition

+
*
/
^
~
%

Subtraction
Multiplication
Division
Exponentiation
Negation
Modulus

String Concatenationg
To concatenate two strings, use the plus operator (+). You can concatenate the strings
"Spring" and "Sale", as follows (see this in action in Demo-Concatenation.aspx available
at www.wrox.com):
string strSaleNote1;
strSaleNote1 = "Spring" + "Sale";

Numeric Comparison Operators


When you get to control structures in the second half of this chapter, you will have to
create expressions that use comparison operators as follows:

Symbol

Operator
Equality

==

41

Matrimonial Management
Less than

<

Less than or equal to

<=
!=

Inequality
Greater than

>

Greater than or equal to

>=

Logical Operators
C# also provides a set of three common logical operators you can use in your code:
&&: used for AND
||: used for OR
!: used for NOT
Logical operators are used in the same way as comparison operators and the whole
expression evaluates
to a Boolean value:
intNumber1 == 1 && intNumber2 == 2

ASP.NET Server Controls

42

Matrimonial Management
This section demonstrates how some of the ASP.NET server controls work and compares
the way in which they are used to the way in which information is passed in their
equivalent HTML form control. It also shows the separation of the presentation code
(HTML) from the code that provides the content (ASP.NET).

ASP.NET server controls are also called Web Controls.

ASP.NET Web Control


<asp:Label>
<asp:ListBox>
<asp:DropDownList>
<asp:TextBox>
<asp:RadioButton> and
<asp:RadioButtonList>

Purpose
Display text
Offer the user a list of items
from which to select.
Offer the user a list of items from
which to select in a compact format.

Accept typed input from user


Allow user to make one
selection from a list of options.
43

Matrimonial Management

<asp:CheckBox> and
<asp:CheckBoxList>
<asp:Button>

Allow user to turn a feature on


or off
Send the user's input to the
Server.

<asp:Label>
Let's start with a small but very useful control, the <asp:Label> control. This control
provides an effective way of displaying text on your Web page in ASP.NET, similar to the
HTML <span> tag. By having a control for text, you can manipulate its contents and
visibility from your ASP.NET code.

<asp:Label> Attributes
Text: Sets the text that you want the label to display
Visible: Sets the visibility of the label on the page (true or false)
BackColor: Sets the background color of the label
ForeColor: Sets the foreground color of the label
Height: Sets the height in pixels of the label
Width: Sets the width of the label

<asp:DropDownList>
Before moving onto the <asp:DropDownList> control, let's pause to look at its HTML
form control equivalent. Dropdown listboxes are a series of <option> tags within a pair
of <select> tags as shown:
<select name="lstCities">
<option>Madrid</option>
<option>Oslo</option>
<option>Lisbon</option>
</select>

44

Matrimonial Management
The three important differences between the ASP.NET control and the HTML form
control are:
The <asp:DropDownList> tag directly replaces the <select> tag
The <asp:ListItem> tag replaces the <option> tag
The id attribute replaces the name attribute

<asp:ListBox>
The <asp:ListBox> server control resembles the dropdown list control, except that it
doesn't drop down and is capable of multiple selections. The <asp:ListBox> has the
following syntax:

<asp:ListBox id="list1" runat="server" selection mode = "multiple">


<asp:ListItem>Madrid</asp:ListItem>
<asp:ListItem>Oslo</asp:ListItem>
<asp:ListItem>Lisbon</asp:ListItem>
</asp:ListBox>
The selectionmode attribute is used to determine whether you can select multiple or only
select single items from the listbox. By default it is set to single. Let's alter our previous
example to use a listbox that allows multiple selections.

<asp:TextBox>
This control is ASP.NET's version of the HTML <textbox> and <textarea> controls. In
fact, textareas are simply textboxes that feature multiple lines, thus allowing you to input
larger quantities of text. The TextBox control also provides the functionality of an HTML
form password control. To enable these variations the <asp:TextBox> control needs
some extra attributes:
textmode: Specifies whether you want the control to have one line (not set), many lines
(set to multiline), or have a single line of masked content (set to password)
rows: Specifies the number of rows you want the textbox to have and will only work if
textmode is set to multiple
columns: Specifies the number of columns you want the textbox to have and will only
work if textmode is set to multiple.

<asp:RadioButtonList> and <asp:RadioButton>


45

Matrimonial Management
The <asp:RadioButtonList> control works in the same way as its HTML forms
equivalent or the Windows interface. Choice of one button excludes the selection of
another button within the group. Note that the identifier for the whole group is set only
once in the id attribute of the <asp:RadioButtonList> control:
<asp:RadioButtonList id="radSample" runat="server">
<asp:ListItem id="option1" runat="server" value="Option A" />
<asp:ListItem id="option2" runat="server" value="Option B" />
<asp:ListItem id="option3" runat="server" value="Option C" />
</asp:RadioButtonList>

<asp:CheckBox> and <asp:CheckBoxList>


Checkboxes are similar to radio buttons in that they present multiple choices from a
group of buttons. However, <asp:CheckBox> is for a single option (say, for the answer
to, "Do you want to pay $5 more for quick shipping?") whereas with the
<asp:CheckBoxList> control, a user can select more than one option (for the answer to,
"Which free catalogs can we send you: Sports, Clothing, or Shoes?"). Most of the same
principles that you followed in the <asp:RadioButtonList> example apply to checkboxes.
The main difference is the syntax radio buttons use <options> whereas checkboxes use
<ListItems>.A solo <asp:CheckBox> has a single ID:
<asp:CheckBox id="chkQuickShipping" runat="server" />

The if Structure
The basic if statement has three parts:
. An expression: a test that evaluates to either true or false
. An "if true" section of code
. An (optional) "if false" section of code
There are four ways of building if statements. Selection of proper syntax depends on two
critera:
Do I want to do anything if the test is false?
Do I want to execute more than one statement if the test is true?

if()
46

Matrimonial Management
The first and the simplest syntax is useful if you only want to run one statement in the
case of a true condition. Using this method, you will not be able to execute any
statements if your expression evaluates to false.
if (expression) one line of code to execute if expression is true;
if (chkFaxConfirm.Checked = true) lblFax.Text = "We will confirm by fax.";

if() {}
The next most complex syntax is where you want to execute more than one statement in
the case of true, but still nothing if the test is false.

if (expression)
{
code to execute if true line 1;
code to execute if true line 2;
}

if()else
The third level is where you want to execute one or more statements in the case of true,
and one or more lines of code if the test is false.
if (chkShipByGovernment.Checked == true)
{
lblAddress.Text = "Please enter your post office box number";
txtAddress.Visible=true;
}
else
{
lblAddress.Text = "Please enter your street address";
txtAddress.Visible=true;
}

if()else if()
The fourth level is quite complex but there are some situations where it cannot be
avoided. It allows you to choose between several different pieces of code to execute
according to multiple expressions. To do this, you need to separate each new expression

47

Matrimonial Management
with the keywords else if(). You can also include a non-expression else clause that will be
executed if none of the other cases were chosen.
<form runat="server">
<asp:TextBox id="txtAge" runat="server" / >
<asp:CheckBox id="chkIsMember" runat="server" / >
<asp:Label id="lblOut" runat="server" / >
</form>
if(Page.IsPostBack)
{
if(chkIsMember.Checked==true)
{
lblOut.Text = "Members get a free ticket";
lblOut.BackColor=System.Drawing.Color.LightPink;
}
else if(Convert.ToInt32(txtAge.Text)<=18)
{
lblOut.Text = "Students get a free ticket";
lblOut.BackColor=System.Drawing.Color.LightPink;
}
else
{
lblOut.Text = "Price is 500";
lblOut.BackColor=System.Drawing.Color.LightSeaGreen;
}
} //end if(Page.IsPostBack)

The switch Structure


The switch structure is a better alternative for handling branching and it caters much
more neatly for these situations by providing a better structure, better performance, and
extra readability.
Use switch when you need to make a choice among several answers (more
than just true or false).
The syntax for switch has four parts:
The statement of a value to be tested against (the "test value")
The statement of a 'possible value' and what to do if that possible value matches the
test value (this part is repeated for all possible values)
An optional catchall default, in case the variable matches a value you haven't
anticipated The following example carries out one of three actions depending on what is
contained in the variable confirmation (see entire page in download file DemoSwitch1.aspx):

48

Matrimonial Management
string confirmation = txtIn.Text;
switch(confirmation)
{
case "fax":
lblOut.Text = "Fax confirmation takes 12 hours.";
break;
case "telephone":
lblOut.Text = "Telephone confirmation takes 24 hours.";
break;
case "email":
lblOut.Text ="Email confirmation takes 1 hours.";
break;
}

Looping Structures in ASP.NET


FOR LOOP
The for loop is the most popular loop. For loops enable us to execute a series
of expressions multiple numbers of times.

For example:
<%@ Page Language="C#" Debug="true" %>
<script runat="server">
void Page_Load()
{
if(Page.IsPostBack)
{
lblMessage1.Text = "";
for(int intLineLoopCounter = 1;
intLineLoopCounter<=Convert.ToInt32(NumberAttendees.SelectedItem.Value);
intLineLoopCounter++)
{
lblMessage1.Text += "Attendee Name <br /><br />";
lblMessage1.Text += "Attendee Age <br /><br /><hr /><br />";
} //end for intLineLoopcounter
} //end if(Page.IsPostBack)
} //end Page_Load
</script>

49

Matrimonial Management
<html>
<head>
<title>For Example</title>
</head>
<body>
<form runat="server">
Select the number of attendees:<br />
146
Chapter 4
<br />
<asp:dropdownlist id="NumberAttendees" runat="server">
<asp:listitem>1</asp:listitem>
<asp:listitem>2</asp:listitem>
<asp:listitem>3</asp:listitem>
</asp:dropdownlist>
<br />
<br />
<input type="submit" value="Submit Query" />
<br />
<br />
<asp:label id="lblMessage1" runat="server"></asp:label>
</form>
</body>
</html>

50

Matrimonial Management

The while Loop


It's used in cases where the number of iterations it has to carry out is unknown when the
loop begins. A Boolean test is made at the beginning of each cycle. So, it performs a test
before each loop, and continues looping as long as the specified condition is true. If the
condition is false from the start, the loop will not perform even a single cycle. The syntax
is written as follows:

Random r = new Random();


int diceRoll = 0;
while (diceRoll != 6)
{
diceRoll = Convert.ToInt32(r.Next(6)) + 1;
message1.Text = message1.Text + "Rolled a: " + diceRoll + "<br />";
}

51

Matrimonial Management
<script language="C#" runat="server">
void Page_load()
{
Random r = new Random();
int diceRoll = 0;
while (diceRoll != 6)
{
diceRoll = Convert.ToInt32(r.Next(6)) + 1;
message1.Text = message1.Text + "Rolled a: " + diceRoll + "<br />";
}
}
</script>
<html>
<head>
<title>While Loop Example</title>
</head>
<body>
<asp:label id="message1" runat="server"/>
</body>
</html>

The do...while
You're not restricted to having the condition at the beginning of your
loop. If you want your condition at the end use the do...while syntax. In this case the loop
will be run at least once because C# tests the condition after the loop.
do

52

Matrimonial Management
{
// looping code here
} while (condition);
<%@ Page Language="c#" Debug="true" %>
<script runat="server">
void Page_load() {
Random r = new Random();
int diceRoll;
message1.Text = "Lets get started. <br>";
do
{
diceRoll = Convert.ToInt32(r.Next(6)) + 1;
message1.Text = message1.Text + "Rolled a: " + diceRoll + "<br />";
}
while (diceRoll != 6);
message1.Text += "There is our six.";
}
</script>
<html>
<head>
<title>Do While Loop Example</title>
</head>
<body>
<asp:label id="message1" runat="server"/>
</body>
</html>

53

Matrimonial Management

Use do...while when actions within the loop absolutely have to occur
at least once no matter what the result of the expression. Use while
when there are actions within the loop that should not execute if the
expression is false.

The foreach...in Loop


C# has a cousin of the for statement named foreach. It works in a similar
way to for, except that it's only used for elements inside an array or a collection. It is a lot
like while, since we don't have to know the number of members in the collection.
Arrays,ArrayLists, Hashtables, and SortedLists. For example, we could read all elements
of a simple array into a label as follows:
void page_Load()
{
string[] arrCities = new string[3];
arrCities[0]=("London");
arrCities[1]=("Paris");
arrCities[2]=("Munich");
foreach (string item in arrCities)
{
lblOut.Text += item + "<BR>";
} //end foreach
} //end page_Load()

54

Matrimonial Management

MS ACCESS
Introduction of MS Access
Microsoft Access provides users with one of the simplest and most flexible DBMS
solutions on the market today. Regular users of Microsoft products will enjoy the
familiar Windows look and feel as well as the tight integration with other Microsoft
Office family products.

History
Microsoft Access 1.0 was released in November1992.
Microsoft specified the minimum operating system for Version 1.1 as Microsoft Windows
v3.0 with 4 MB of RAM. 6 MB RAM was recommended along with a minimum of 8 MB
of available hard disk space (14 MB hard disk space recommended). The product was
shipped on seven 1.44 MB diskettes. The manual shows a 1993 copyright date.

Features
One of the benefits of Access from a programmer's perspective is its relative
compatibility with SQL queries may be viewed and edited as SQL statements, and SQL
statements can be used directly in Macros and VBA Modules to manipulate Access
tables. Users may mix and use both VBA and "Macros" for programming forms and logic
and offers object-oriented possibilities.

55

Matrimonial Management

Microsoft Access Description

Microsoft Access is a powerful program to create and manage your databases. It


has many built in features to assist you in constructing and viewing your
information. Access is much more involved and is a more genuine database
application than other programs such as Microsoft Works.
First of all you need to understand how Microsoft Access breaks down a database.
Some keywords involved in this process are: Database File, Table, Record, Field,
Data-type. Here is the Hierarchy that Microsoft Access uses in breaking down a
database.

Database File: This is your main file that encompasses the


entire database and that is saved to your hard-drive or floppy
disk.
Example) StudentDatabase.mdb
Table:A table is a collection of data about a specific topic.
There can be multiple tables in a database.
Example #1) Students
Example #2) Teachers
Field:Fields are the different categories within a Table.
Tables usually contain multiple fields.
Example #1) Student LastName
Example #2) Student FirstName

Datatypes:Datatypes are the properties of each field. A field


only has 1 datatype.
FieldName) Student LastName
Datatype) Text

Unlike a complete RDBMS, the Jet Engine lacks database triggers and stored
procedures. Starting in MS Access 2000 (Jet 4.0), there is a syntax that allows creating
queries with parameters, in a way that looks like creating stored procedures, but these
procedures are limited to one statement per procedure.[1] Microsoft Access does allow
forms to contain code that is triggered as changes are made to the underlying table (as
long as the modifications are done only with that form), and it is common to use passthrough queries and other techniques in Access to run stored procedures in RDBMSs
that support these.

56

Matrimonial Management

Layout of MS Access

More about Ms Access


Three of the major components of Access that most database users will encounter
tables, queries.
Tables comprise the fundamental building blocks of any database. If you're familiar with
spreadsheets, you'll find database tables extremely similar. Take a look at this example
of a table:

57

Matrimonial Management

Layout of MS Access table

The table above contains the employee information for our organization -characteristics like name, date of birth and title. Examine the construction of the table
and you'll find that each column of the table corresponds to a specific employee
characteristic (or attribute in database terms). Each row corresponds to one particular
employee and contains his or her information. That's all there is to it! If it helps, think
of each one of these tables as a spreadsheet-style listing of information.
A database that only stored information would be useless -- we need methods to retrieve
information as well. If you simply want to recall the information stored in a table,
Microsoft Access allows you to open the table and scroll through the records contained
within it. However, the real power of a database lies in its capabilities to answer more
complex requests, or queries. Access queries provide the capability to combine data
from multiple tables and place specific conditions on the data retrieved.
Imagine that your organization requires a simple method to create a list of those
products that are currently selling above their average price. If you simply retrieved the

58

Matrimonial Management
product information table, fulfilling this task would require a large amount of sorting
through data and performing calculations by hand. However, the power of a query
allows you to simply request that Access only return those records that meet the above
average pricing condition. Additionally, you can instruct the database to only list the
name and unit price of the item.
SQL (pronounced "ess-que-el") stands for Structured Query Language. SQL is
used to communicate with a database. According to ANSI (American National Standards
Institute), it is the standard language for relational database management systems. SQL
statements are used to perform tasks such as update data on a database, or retrieve data
from a database. Some common relational database management systems that use SQL
are: Oracle, Sybase, Microsoft SQL Server, Access, Ingres, etc. Although most database
systems use SQL, most of them also have their own additional proprietary extensions
that are usually only used on their system. However, the standard SQL commands such
as "Select", "Insert", "Update", "Delete", "Create", and "Drop" can be used to accomplish
almost everything that one needs to do with a database.

Update query
Update query is used to update the records in the saved database. The
example of update query is as follows
string str = "Update re2 set Age='" + DropDownList8.Text + "',dob='" +
TextBox9.Text + "',Sex='" + rname + "',Height='" + DropDownList1.Text +
"',Weight='" + DropDownList2.Text + "',Religion='" + DropDownList3.Text
+ "',Caste='" + DropDownList4.Text + "',Rashi='" + DropDownList5.Text +
"',Nakshatra='" + DropDownList6.Text + "',Maritalstatus='" +
DropDownList15.Text + "',Education='" + DropDownList9.Text +
"',Manglik='" + rmangl + "',Profession='" + DropDownList7.Text +
"',AnnualIncome='" + DropDownList16.Text + "',Hobbies='" + TextBox4.Text
+ "',ResidentialStatus='" + TextBox2.Text + "',RisidingCity='" +
DropDownList11.Text + "',FatherName='" + TextBox3.Text +
"',FatherProfession='" + DropDownList13.Text + "',MotheName='" +
TextBox5.Text + "',MotherProfession='" + DropDownList14.Text +
"',FamilyBackground='" + TextBox10.Text + "',Maternal='" + TextBox6.Text
+ "',MaternalGrandMother='" + TextBox7.Text + "',PaternalGrandMother='"
+ TextBox8.Text + "',uploadphotos='" + HiddenField1.Value.ToString() +
"' where Name='" + TextBox1.Text + "'";

Insert query
string str = "Insert into re2 values('" +Txt_Name.Text + "', "+
Txt_Age.Text+",'"+Txt_Class'")";

59

Matrimonial Management

Delete query
string str = "delete from re1 where Name='"
+Listbox1.selectedItem.Text.Tostring()+ "';

Select query
string s = "select * from re1 where UName='"+TextBox6.Text+"'";

More queries
It is important to understand the processes that an organization is using to build secure
software because unless the process is understood, its weaknesses and strengths are
difficult to determine. It is also helpful to use common frameworks to guide process
improvement, and to evaluate processes against a common model to determine areas for
improvement. Process models promote common measures of organizational processes
throughout the software development life cycle (SDLC). These models identify many
technical and management practices.
However, there is probably a better likelihood of building secure software when an
organization follows solid software engineering practices with an emphasis on good
design, quality practices such as inspections and reviews, use of thorough testing
methods, appropriate use of tools, risk management, project management, and people
management.
The process is based on the strong belief that each step should serve a clear purpose and
be carried out using the most rigorous techniques available to address that particular
problem. In particular, the process almost always uses formal methods to specify
behavioral, security, and safety properties of the software.

60

Matrimonial Management

Software Development Life Cycle


Software Development Life Cycle (SDLC) is a methodology that is typically used to
develop, maintain and replace information systems for improving the quality of the
software design and development process. The typical phases are analysis, estimation,
design, development, integration and testing and implementation. The success of
software largely depends on proper analysis, estimation, design and testing before the
same is implemented.The System Development Life Cycle is the process of developing
information systems through investigation, analysis, design, implementation, and
maintenance. The System Development Life Cycle (SDLC) is also known as Information
Systems Development or Application Development.

The Software Development Life Cycle (SDLC) steps


Below are the steps involved in the System Development Life Cycle. Each phase within
the overall cycle may be made up of several steps.

61

Matrimonial Management
The Software Development Life Cycle is the cycle in which the business analysts, the
software developers, the database designers and/or the database developers, the QA
developers and end users collaborate to build the application software. Basically, it
involves designing the application from scratch, documenting everything, adding the
improvements and fixing the bugs that occur in the SDLC. It is the lifecycle of Software
from concept to obsolescence.
A quality software system is based on the following three principles:

Modeling of the software development process (process)

Modeling of the measurement of product (product)

Modeling of the management and human interactions (people)

The software development life cycle (SDLC) may be divided into the following steps:
1.

Requests from customers/original idea

2.

Creation of feature lists based on item 1

3.

Technical design of features based on item 2

4.

Software design and time evaluation based on item 3

5.

Code implementation based on item 4

6.

Software Testing

7.

Beta release/ bug fixes

8.

Final release

The following section discusses each of these steps briefly.

Requests from customers/original idea


All the information relevant to the system and its scenarios, the occurrence and the
behavior is gathered in this phase from the customer or the client who can provide the
valuable information. These are basically raw facts or materials collected from the
customers point of view by his or her observation over a period of time.

Creation of feature lists based on item 1


The information collected from the discussions mentioned on item1 is considered for a
refinery process that varies from company-to-company depending on the
standardization
and the methodology that they do adopt. It lists all the details of the proposed items in
an organized manner.

62

Matrimonial Management

Technical design of features based on item 2


Here the technical aspects come into the picture and the designing of those aspects in
terms of computer terminology. It involves the designing of the architecture and the
sources that influence them like UML, OOAD, etc.

Software design and time evaluation, based on item 3


The software design phase in the software development life cycle is produced from the
results of the requirements phase. It contains detailed design of the software in terms of
the interfaces that it will provide and also the relevant functionalities that have to be
implemented. It also involves the designing of the database. In this phase it is equally
important to estimate the duration required based on the number of resources available
in hand.

Code implementation, based on item 4


The coding phase involves writing the source code based on the required functionality by
adhering the coding standards, code optimization, etc.

Software Testing
After developing the software it is important to ensure that the functioning of it is
perfect. Software testing involves a mechanism that is used to report the bugs/undesired
results that may occur in the SDLC.

Beta release/ bug fixes


The newly developed software will be released to undergo the tests for issues like the
performance and its behavior under different circumstances. The bugs that occurred
earlier in the cycle are rectified.

The Final release


After the clearance of the bugs reported during the beta release, the software is now
ready to be released and delivered to the customer.

63

Matrimonial Management

The SDLC categories


Broadly, the SDLC steps discussed earlier can be categorized into:

Requirement Specification

Requirement Analysis and Design

Coding and Testing

Deployment and Support

The following sections discuss these in more detail.

Requirement Specification
Software Requirements Specification (SRS) provides a complete description of all the
functions and specifications of the software to be designed. It extracts the functional and
the nonfunctional requirements of the desired software product. It is the initial stage in
the SDLC, the first and the foremost step that has to be performed and includes the
information about the requirements for the proposed system. The requirements are
pertained to such as resources, scope of the system, purpose of the system and the
limitations. This phase is also known as the feasibility study phase. The Software
Requirements Specification Document that is created in this stage, states all the
necessary guidelines (the functional requirements, the nonfunctional requirements, etc.)
for the immediate next phase, the design phase and the software development life cycle.
It serves as a type of Bible for the Software Design Process.

Requirement Analysis and Design


After the requirements specification is over, it is analyzed for its accuracy and
sufficiency. Issues such as whether that particular proposed system will serve the
purpose or not, what are the necessary constraints that have to be taken into
consideration and the monitoring the management of the activities in a fashion are all
carried out in a hierarchical manner which is specified in the BRS (Business
Requirement Specification) document.
The design stage takes as its initial input the requirements identified in the approved
requirements document. The Analysis and Design phases are very crucial in the software
development cycle process. This phase also includes the work assignments, costs,
project schedule, and the specification of the target dates.
Requirements analysis is the process of analyzing the information needs of the end users,
the organizational environment, and any system presently being used, developing the
functional requirements of a system that can meet the needs of the users. Also, the
requirements should be recorded in a document, email, user interface storyboard,
executable prototype, or some other form. The requirements documentation should be
referred to throughout the rest of the system development process to ensure the
developing project aligns with user needs and requirements.IS professionals must
involve end users in this process to ensure that the new system will function adequately
and meets their needs and expectations.

64

Matrimonial Management

Architectural Design
After the requirements have been determined, the necessary specifications for the
hardware, software, people, and data resources, and the information products that will
satisfy the functional requirements of the proposed system can be determined. The
design will serve as a blueprint for the system and helps detect problems before these
errors or problems are built into the final system.
IS professionals create the system design, but must review their work with the users to
ensure the design meets users' needs.

Coding and Testing


The next step consists of developing the application logic and writing the functionalities
for the user interfaces on a specific action performed (known as Coding). The coding or
the development phase takes as its primary input the design elements described in the
approved design document. It is to be noted that the Programmers/Developers should
adhere to the required coding standards. The code should also be optimized for the
purpose of saving the valuable resources. Next in the SDLC cycle comes the testing
phase.
After the source code is generated, the testing phase begins to reveal the bugs that were
committed during the previous phases. This testing can be manual or automated using
the testing tools and methodologies that are available.
The system must be tested to
evaluate its actual functionality in relation to expected or intended functionality. Some
other issues to consider during this stage would be converting old data into the new
system and training employees to use the new system. End users will be key in
determining whether the developed system meets the intended requirements, and the
extent to which the system is actually used.

Deployment and Support


The software that has been developed and deployed should provide adequate support for
maintenance so as to cope with the bugs that can exists even after deployment of the
software is over. This can take far more time than the initial development process of the
software.The maintenance phase of the software development life cycle should be able to
accommodate the changes that can happen during the post implementation period. A
change can happen because of some unexpected input values into the system.

65

Matrimonial Management

Maintenance
Software will definitely undergo change once it is delivered to the customer. There are
many reasons for the change. Change could happen because of some unexpected input
values into the system. In addition, the changes in the system could directly affect the
software operations. The software should be developed to accommodate changes that
could happen during the post implementation period.
Like any other engineering products, software products are oriented towards customers.
It is either market driven or it drives the market. Customer Satisfaction was the
buzzword of the 80's. Customer Delight is today's buzzword and Customer Ecstasy is the
buzzword of the new millennium. Products that are not customer (user) friendly have no
place in the market although they are engineered using the best technology. The
interface of the product is as crucial as the internal technology of the product.

Market Research
A market study is made to identify a potential customer's need. This process is also
known as market research. Here, the already existing need and the possible/potential
needs that are available in a segment of the society are studied carefully. The market
study is done based on a lot of assumptions. Assumptions are the crucial factors in the
development or inception of a product's development. Unrealistic assumptions can cause
a nosedive in the entire venture. Though assumptions are abstract, there should be a
move to develop tangible assumptions to come up with a successful product.

66

Matrimonial Management

Other Points to be considered:Buy Vs Devlop:


The system development life cycle does not change if the decision is made to purchase an
off-the-shelf program rather than develop a home grown system. The coding and
debugging process is replaced with a process used to evaluate the potential purchased
products, and to actually purchase the software.

Importance of planning
The planning stages, requirements analysis and architectural design, are the most
important stages. Good planning will help reduce errors and reduce the chance for
missing or extending production schedules. An undetected design error will take 10
times longer to fix during the debugging stage than had it been detected and corrected
during the planning stage.

Moving back
It is possible to go back to previous steps as subsequent analysis warrants. Typically, the
life cycle has a spiral shape rather than a linear one, with repeated steps back to prior
activities as requirements are refined and new information is gathered.

Business Case & Project Plan


A business case and a project plan are created during the concept stage, and then
continually updated throughout the life cycle as users and developers gain a clearer idea
of the scope of the project. Management reviews both of these revised documents on a
regular basis and determines whether resources should continue to be committed to the
project.

67

Matrimonial Management

User interface
The user interface definition is an important starting point in the application design
process and results in the creation of the user interface definition document. Two levels
of detail make up this document: the user interface mock-up and the user interface
details.
The user interface mock-up can vary from hand-drawn representations of Windows
forms to screen captures of a semi functional prototype. Its primary purpose is to
represent how the finished application will look and broadly define what functions the
application will perform.
The user interface details provide the next level of technical information. This specifies
exactly what user controls will be displayed within each Windows form. This
specification also includes additional details for each control, such as what events each
control responds to and what business functionality is executed. Finally, the specification
indicates data formatting and data validation. Data formatting outlines how a label or
textbox should represent data, such as percentages vs. currency. Data validation outlines
the acceptable ranges for textbox controls, such as restricting letters from a number
entry field.
A fundamental reality of application development is that the user interface is the system
to the users. What users want is for developers to build applications that meet their
needs and that are easy to use. Too many developers think that they are artistic geniuses
they do not bother to follow user interface design standards or invest the effort to make
their applications usable, instead they mistakenly believe that the important thing is to
make the code clever or to use a really interesting color scheme. Constantine points out
that the reality is that a good user interface allows people who understand the problem
domain to work with the application without having to read the manuals or receive
training.
User interface design important for several reasons. First of all the more intuitive the
user interface the easier it is to use, and the easier it is to use and the less expensive to
use it. The better the user interface the easier it is to train people to use it, reducing your
training costs. The better your user interface the less help people will need to use it,
reducing your support costs. The better your user interface the more your users will like
to use it, increasing their satisfaction with the work that you have done.
This is a need of every project that it can be easily understand by each user and to
achieve this purpose it is necessary that we consider on some issue so that we are able to
make a simple and straight forward project. For this we have to include those things in
the project which are easily understood by the user like

68

Matrimonial Management

Contains facts or empirical data rather than speculation.


Demonstrates that the work is on alternative solutions to the same problem.
Demonstrates that we know what the root problem actually is.
It shows that we are thinking of all users in the big picture, instead of any particular
class.
Shows that the feature is genuinely important enough to be worth maintaining some
extra code.
We include the message dialog for program error, warning, question, and
information messages, explain what is going on to the user in the most technical
terms. They really need to know and learn this stuff because it is important. As part
of the message dialog include a help button that opens the help file and displays
exactly what the message just said. Display as many information and question
messages as possible in as many different places as possible.

Consistency:
We believe the most important thing we can possibly do is ensure our user interface
works consistently. If we can double-click on items in one list and have something
happen, then we should be able to double-click on items in any other list and have the
same sort of thing happen. we Put buttons in consistent places on all windows, use the
same wording in labels and messages, and use a consistent color scheme throughout.
Consistency in user interface enables users to build an accurate mental model of the way
it works, and accurate mental models lead to lower training and support costs.

Explain the rules:


The users need to know how to work with the application we built for them. When
application works consistently, it means we only have to explain the rules once. This is a
lot easier than explaining in detail exactly how to use each feature in an application stepby-step.

Navigation between majoruser interface items is important:


If it is difficult to get from one screen to another, then users will quickly become
frustrated and give up. When the flow between screens matches the flow of the work the
user is trying to accomplish, then your application will make sense to users. Because
different users work in different ways, the system needs to be flexible enough to support
their various approaches should optionally be developed to further understanding of the
flow of user interface.

69

Matrimonial Management

Word your messages and labels effectively:


The text we display on our screens is a primary source of information for our users. If
text is worded poorly, then interface will be perceived poorly by users. Using full words
and sentences, as opposed to abbreviations and codes, makes text easier to
understand. Messages should be worded positively, imply that the user is in control, and
provide insight into how to use the application properly. For example, which message we
find more appealing You have input the wrong information or An account number
should be eight digits in length. Furthermore, messages should be worded consistently
and displayed in a consistent place on the screen. Although the messages The persons
first name must be input and An account number should be input are separately
worded well, together they are inconsistent. In light of the first message, a better wording
of the second message would be The account number must be input to make the two
messages consistent.

Understand the UI widgets:


You should use the right widget for the right task, helping to increase the consistency in
the application and probably making it easier to build the application in the first place.
The only way we can learn how to use widgets properly is to read and understand the
user-interface standards and guidelines our organization has adopted.

Use color appropriately:


We used the Color sparingly in the applications. We also use colors in our application
consistently, so we have a common look and feel throughout our application.

Follow the contrast rule:


Even after using the colour in our application, we ensure that our screens are still
readable. We follow the contrast rule: we dark text on light backgrounds and light text on
dark backgrounds. Reading blue text on a white background is easy, but reading blue text
on a red background is difficult.

Align fields effectively:


We organize the fields in a way that is both visually appealing and efficient. This is a
clean and efficient way to organize the fields on a screen.

Expect our users to make mistakes:


So many times we have accidentally deleted some text in one of our files or in the file
itself. The reality is that to err is human, so we should design our user interface to
recover from mistakes made by our users.

70

Matrimonial Management

Justify data appropriately:


For columns of data, common practice is to right-justify integers, decimal align floatingpoint numbers, and to left-justify strings.

Your design should be intuitable:


In other words, if our users dont know how to use our software, they should be able to
determine how to use it by making guesses. Even when the guesses are wrong, our
system should provide reasonable results from which our users can readily understand
and ideally learn.

Dont create busy user interfaces:


Crowded screens are difficult to understand and, hence, are difficult to uses we try to
make a simple one.

Group things effectively:


Items that are logically connected we grouped together on the screen to communicate
they are connected, whereas items that have nothing to do with each other are separated.

Our UI Design Principles:


The structure principle:
our design organize the user interface purposefully, in
meaningful and useful ways based on clear, consistent models that are apparent and
recognizable to users, putting related things together and separating unrelated things,
differentiating dissimilar things and making similar things resemble one another. The
structure principle is concerned with our overall user interface architecture.

The simplicity principle:


Our design make simple, common tasks simple to do,
communicating clearly and simply in the users own language, and providing good
shortcuts that are meaningfully related to longer procedures.

71

Matrimonial Management

The visibility principle:


Our design keeps all needed options and materials for a given
task visible without distracting the user with extraneous or redundant information. Good
designs dont overwhelm users with too many alternatives or confuse them with
unneeded information.

The feedback principle:


Our design keep users informed of actions or interpretations,
changes of state or condition, and errors or exceptions that are relevant and of interest to
the user through clear, concise, and unambiguous language familiar to users.

The tolerance principle:


Our design is flexible and tolerant, reducing the cost of mistakes
and misuse by allowing undoing and redoing, while also preventing errors wherever
possible by tolerating varied inputs and sequences and by interpreting all reasonable
actions reasonable.

The reuse principle:


Our design reuse internal and external components and
behaviours, maintaining consistency with purpose rather than merely arbitrary
consistency, thus reducing the need for users to rethink and remember.

72

Matrimonial Management

Database Design
REGISTRATION 1 (re1):

UName
Pass
CPasswd
Gndr
Youremailaddress
Relgn
Lmlivingin
Typethecodeshere
REGISTRATION 2 (re2):-

Name
Age
Dob
Sex
Height
Weight
Religion
Caste
Rashi
Nakshatra
Maritalstatus
Education
Manglik
Profession
Annualincome
Hobbies
ResidentialStatus
RisidingCity
FatherName
FatherProfession
MotherName
MotherProfession
FamilyBackground
73

Matrimonial Management
Maternal
MaternalGrandMother
PaternalGrandMother

74

Matrimonial Management

Screens

Information to select the appropriate path

For the very first time when we make project select this ASP web form
New web site window and click on the OK button.

75

Matrimonial Management

Select the appropriate path and click the Open Button

This window shows the completed or incompleted web site path.to


open the web site firstly select the Web site then click on the open
button.

76

Matrimonial Management

MAIN SCREEN
1.LOGIN FORM:

LAYOUT -Login Form step-1


For the very first time when the project is introduced this form Appears and gives
the LOGIN facility to enter only registered member of the HASTAMILANwebsite.
In the main form we have the following options:
LOGIN
- for registered member.
MATRIMONIAL REGISTRATION - for new user.
CHANGE PASSWORD
- for registered member
77

Matrimonial Management
MATRIMONIALSITES
ASTROLOGY SITES

- to links other matrimonial sites.


- to links other astrology sites .

2.REGISTRATION FORM-1:

LAYOUT -Registration Form step-1


This is the form is used to create a new user account in the hastamilan
website.which is used to create a new account with following details.

USER NAME
PASSWORD
CONFORM PASSWORD
GENDER

-Enter the user name.


- Enter the password.
- Enter the alredy entered passsword.
- Enter the gender.

78

Matrimonial Management

YOUR EMAIL ADDRESS


- Enter the users Email address.
RELIGION
- Enter the users religion.
I M LIVING IN
- Enter the City name.
TYPE THE CODE SHOW BELOW - Type the random key in the txt box.

3.REGISTRATION FORM-2:

LAYOUT-Registration Form step-2:1


This is the form is used to stored a new users details information. which is
following details.

DETAILS INFORMATION:
NAME
AGE
PHONENUMBER

79

Matrimonial Management

SEX
HEIGHT
WEIGHT
CASTE
RASHI
NAKSHATRA
MARITAL STATUS

EDUCATION
MANGLIK
PROFESSON
ANNUAL INCOME
HOBBIES
RESIDENTIAL STATUS
RISIDING CITY

80

Matrimonial Management

4.REGISTRATION FORM-2:

LAYOUT-Registration Form step-2:2


This form is used to stored a new users details information. which is following
details.

FAMILY DETAILS :
FATHERs NAME

81

Matrimonial Management
FATHER OCCUPATION
MOTHER NAME
MOTHER OCCUPATION

FAMILY BACKGROUND

CASTE DETAILS :
MATERNAL
MATERNAL GRAND MOTHER
PATERNAL GRAND MOTHER
PHOTO UPLOAD :
UPLOAD PHOTO

SUBMIT :Click the submit button to submit the users information


in the database of hastamilan.com.

82

Matrimonial Management

5.CHANGE PASSWORD:

LAYOUT-Change password form


This form allows to Change password of already exist users. which is
used to change password with following details.
USER ID
83

Matrimonial Management
OLD PASSWORD
NEW PASSWORD
CONFORM PASSWORD
User can fillup these above information and click on the CHANGE PASSWORD
button.

6.HOME PAGE:

LAYOUT-Home Page
After fillup the login id and password and click on the login button,this form
Appears and gives the many more facility to only registered member of the
HASTAMILANwebsite. In the HOMEPAGE form we gave the following MENUS:
SEARCH
UPDATION

- click this links to performs different searches.


- already exist user can update their information

84

Matrimonial Management
CONTACT US

- click this link to see contact us page.

TERMS AND CONDITION

- Open the terms and condition page.

ABOUT US

- to open the About us page of website

OBJECTIVES OF THE SITE - click this link to see objectives of the site.
HONEMOON PACKAGES

- click this link to see honemoon packages.

OTHER SERVICES

- Open the essential services page.

MATRIMONIAL SITES

- to brows other matrimonial sites

ASTROLOGY SITES

- to brows other Astrology sites

7. UPDATE LOGIN:

85

Matrimonial Management

LAYOUT-Update Login
Only Loggedin user
can update the information.this form is password
protected.firstly user want to enter the userid and password then click on the
login button.

Click on the Login button and open the main Updation form.

8.UPDATION FORM1.1:
86

Matrimonial Management

LAYOUT-Updation Form1.1
when user Enter in Update Form ,the information is already see there,of logged
user.and user perform 3 tasks:
EDIT
UPDATE THE INFORMATION
CANCIL

UPDATION FORM1.2
87

Matrimonial Management

LAYOUT-Updation Form1.2

EDIT Click the edit button to enable the users information and EDIT

in the information.And EDIT button is disable after this process.


UPDATE THE INFORMATION Click the UPDATION THE
INFORMATION BUTTON,to update the whole information of users in the
Hastamilan database.

CANCIL if user wont this updation process,click the cancil button to


go to homepage.

9. SEARCHES:
88

Matrimonial Management

LAYOUT-Searches
This searches form hold the different types of searches options In the
Search form we gave the following Links of searches:
SEARCH BY NAME
SEARCH BY RELIGION
SEARCH BY CASTE
SEARCH BY PROFESSION

89

Matrimonial Management

10. SEARCH BY NAME:

LAYOUT-Search by Name
This form perfom the search by name:
user can click on the dropdown list and select any name from
the dropdown list.
now choose the one name and click on one name .then whole
information is display in the name profile

90

Matrimonial Management

11. SEARCH BY RELIGION:

LAYOUT-Search by Religion
This form perfom the search by Religion.
user can click on the dropdown list and select any Religion from
the first dropdown list.now choose the one name from the
second dropdown list and click on one name .whole information
is display in the name profile.
Ex.select any one religion like Hinduism from first dropdown
list ,then automatically fillup names in the second dropdown
list thats are belongs to Hinduism religion.now select any one
name from the second dropdown list,like rekha and click on this
name . whole information is display in the religion profile.

91

Matrimonial Management

12. SEARCH BY CASTE :

LAYOUT-Search by Caste
This form perfom the search by Religion.
user can click on the dropdown list and select any Caste from
the first dropdown list.now choose the one name from the
second dropdown list and click on one name .whole information
is display in the Caste profile.
Ex.select any one Caste like Rajput from first dropdown list
,then automatically fillup names in the second dropdown list
thats are belongs to Rajput Caste.now select any one name
from the second dropdown list,like rekha and click on this name
. whole information is display in the religion profile.

92

Matrimonial Management

13. SEARCH BY PROFESSION :

LAYOUT-Search by Profession
This form perfom the search by Profession.
user can click on the dropdown list and select any Profession
from the first dropdown list.now choose the one name from the
second dropdown list and click on one name .whole information
is display in the Profession profile.
Ex.select any one Profession like Doctor from first dropdown
list ,then automatically fillup names in the second dropdown
list thats are belongs to Doctor Profession.now select any one
name from the second dropdown list,like rekha and click on this
name . whole information is display in the Profession profile.

93

Matrimonial Management

14. CONTACT US:

LAYOUT-Contact us[for login user]

94

Matrimonial Management

CONTACT US

LAYOUT-Contact us[for other user]

This form contains 2 types of layout:


Contact us[for login users] Holds the password protected
links.And these links contains login users information.
Contact us[for other users] Hold the external links which is not
effected to registered users information

95

Matrimonial Management

15. ABOUT US:

LAYOUT-About us
This page of About us contains 2 types of layout:
About us [for login users] Holds the password protected links. And
these links contains login users information.
About us [for other users] Hold the external links which is not
effected to registered users information

16.OJECTIVES OF THE SITE:


96

Matrimonial Management

LAYOUT-Objectives of the site


This form contains the objectives of the site.And holds the different
links.these are as follows:
Updation the information
Search your match
Contact us
About us
Objectives of the site
Terms and condition
Honemoon packages
Other services
User can browse these links and perform their task.

17.TERMS AND CONDITION:


97

Matrimonial Management

LAYOUT- Terms and condition


This form contains the Terms And Condition.And holds the different
links.these are as follows:
Updation the information
Search your match
Contact us
About us
Objectives of the site
Terms and condition
Honemoon packages
Other services
User can browse these links and perform their task..In this Form
there is a hyper link thats link connected to home page.when click on
this link ,user can reach at the home page.

98

Matrimonial Management

18.HONEYMOON PACKAGES:

LAYOUT- Honeymoon Packages 1


This form allows user to see different honeymoon packages. And this
form holds links of different honeymoon packages .these links are
based on kerala honeymoon trip .user can also browse the hyperlinks
of other kerala based site. This form also holds these links:
Updation the information
Search your match
Contact us
Amazing Kerala
Enchanting kerala
Exiting Kerala

99

Matrimonial Management

19.HONEYMOON PACKAGES:

LAYOUT- Honeymoon Packages

100

Matrimonial Management

20.HONEYMOON PACKAGES:

LAYOUT- Honeymoon Packages

101

Matrimonial Management

19.OTHER SERVICES :

LAYOUT- Honemoon Packages

This form show the list of needed things in any matrimonial status
and make a wedding which reflects user style, taste and personality,
all within user want.
Shows the list of services
Shows the contact number of management controllers
Shows the all internal links of the site thats used by logged in user

102

Matrimonial Management

20.ASTROLOGY SERVICES :

LAYOUT-Astrology Services[for Login user]

103

Matrimonial Management

ASTROLOGY SERVICES

LAYOUT-Astrology Services[for other user]


This Astrology Services form contains 2 types of layout:
Astrology Services [for login users] Holds the password protected
links.And these links contains login users information.
Astrology Services [for other users] Hold the external links which
is not effected to registered users information.
user can also browse the hyperlinks of other Astrology based site.
User can browse these links and perform their task..In this Form
there is a hyper link thats link connected to home page.when click on
this link ,user can reach at the home page.
104

Matrimonial Management

21.MATRIMONIAL SITES :

LAYOUT-Matrimonial sites[for Login user]

105

Matrimonial Management

MATRIMONIAL SITES

LAYOUT-Matrimonial Sites[for other user]


This Matrimonial Sites form contains 2 types of layout:
Matrimonial Sites [for login users] Holds the password protected
links.And these links contains Registered users information.
Matrimonial Sites [for other users] Hold the external links which
is not effected to registered users information
user can also browse the hyperlinks of other Matrimonial Sites based
sites. User can browse these links and perform their task..In this
Form there is a hyper link thats link connected to home page.when
click on this link ,user can reach at the home page.
106

Matrimonial Management

System Testing

107

Matrimonial Management

System Testing
Once source code has been generated, software must be tested to uncover (and
correct) as many errors as possible before delivery to customer. Our goal is to
design a series of test cases that have a high likelihood of finding errors. To
uncover the errors software techniques are used. These techniques provide
systematic guidance for designing test that
(1) Exercise the internal logic of software components, and
(2) Exercise the input and output domains of the program to uncover errors
in program function, behavior and performance.
1 Steps. Software is tested from two different perspectives:

(1) Internal program logic is exercised using White box test case design
techniques.
(2) Software requirements are exercised using block box test case design
techniques.
In both cases, the intent is to find the maximum number of errors with the
minimum amount of effort and time.

2. Strategies
A strategy for software testing must accommodate low-level tests that are
necessary to verify that a small source code segment has been correctly
implemented as well as high-level tests that validate major system functions
against customer requirements. A strategy must provide guidance for the
practitioner and a set of milestones for the manager. Because the steps of the test
strategy occur at a time when deadline pressure begins to rise, progress must be
measurable and problems must surface as earl as possible.
108

Matrimonial Management

Following testing techniques are well known and the same strategy is adopted
during this project testing.
2.1 Unit testing: Unit testing focuses verification effort on the smallest unit of

software design- the software component or module. The unit test is white-box
oriented. The module interface is tested to ensure that information properly flows
into and of the program unit under test the local data structure has been examined
to ensure that data stored temporarily maintains its integrity during all steps in an
algorithms execution. Boundary conditions are tested to ensure that the module
operated properly at boundaries established to limit or restrict processing. All
independent paths through the control structure are exercised to ensure that all
statements in a module haven executed at least once.
2.2 Integration testing: Integration testing is a systematic technique for

constructing the program structure while at the same time conducting tests to
uncover errors associated with interfacing. The objective of this test is to take unit
tested components and build a program structure that has been dictated by design.
2.3 Validation testing: At the culmination of integration testing, software is

completely assembled as a package, interfacing errors have been uncovered and


corrected, and a final series of software testsvalidation testing-may begin.
Validation can be defined in many ways, but a simple definition is that validation
succeeds when software functions in a manner that can be reasonably expected by
the customer.
2.4 System testing:

System testing is actually a series of different tests whose

primary purpose is to fully exercise the computer-based system. Below we have


described the two types of testing which have been taken for this project.
109

Matrimonial Management

References
References:

C# 2005 Apress.

www.w3schools.com

ASP.NET 2.0 in C# 2005.

Software Engineering Pankaj Jalota

MSDN help provided by Microsoft .NET

Object Oriented Programming Deitel & Deitel

110

Das könnte Ihnen auch gefallen