SlideShare uma empresa Scribd logo
1 de 109
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 SUBMITTED TO :
Miss Dipika Mr. Hardayal Singh
Acme Embedded Technologies Pvt.Ltd HOD (ECB )
Bikaner
1
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 SUBMITTED TO :
Miss Dipika Mr. Hardayal Singh
Acme Embedded Technologies Pvt.Ltd HOD (ECB )
Bikaner
2
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 “MATRIMONIAL-
MANAGEMENT”.
The matter in the report is organized in a number of sections with important
diagrams. This gives an easy and clear understanding of text.
ACKNOWLEDGEMENTACKNOWLEDGEMENT
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
ACKNOWLEDGEMENTACKNOWLEDGEMENT
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 9
Vision 9
Offering 11
Out Sourcing 11
Training 12
Why A.E.T. 12
Clients 13
Development Tools 13
Project Overview
Introduction to Project 17
Characteristic Of Project 19
Qualities of Project 20
Tools/Environment Used 26
Technologies Used
ASP.net 28
ASP.net forms 39
Database : MS Access 67
System Designing
Interface Design 81
Database Design 86
Screens Details 93
6
Matrimonial Management
7
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
8
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.
9
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. Designing and Programming using .NET
2. Development, Support and Enhancement of existing applications in .NET
3. Language Expertise: Visual Basic, Visual C++ (ATL), C, C#, VBA
4. Database Technology (SQL-Server and MS-Access)
5. 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 lion’s 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 aren’t 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 cross-
reference 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 project’s 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 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 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 HTML-
like 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.401298E-
45 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 Prefix Example
bool bln blnMember
byte byt bytDaysInMonth
char chr chrWang
DateTime dat datDatePurchased
double dbl dblPi
decimal dec decSalary
float Flt fltRate
int int intDistanceToSun
long lng lngDistanceToStar
short sho shoNumberOfAtoms
string str 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:
Operator Symbol
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:Label>
ASP.NET server controls are also called Web Controls.
ASP.NET Web Control Purpose
<asp:Label> Display text
<asp:ListBox> Offer the user a list of items
from which to select.
<asp:DropDownList> Offer the user a list of items from
which to select in a compact format.
<asp:TextBox> Accept typed input from user
<asp:RadioButton> and
<asp:RadioButtonList>
Allow user to make one
selection from a list of options.
<asp:CheckBox> and
<asp:CheckBoxList>
Allow user to turn a feature on
or off
<asp:Button> Send the user's input to the
Server.
43
Matrimonial Management
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>
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>
44
Matrimonial Management
<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>
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>
45
Matrimonial Management
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()
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)
{
46
Matrimonial Management
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
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)
{
47
Matrimonial Management
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 Demo-
Switch1.aspx):
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;
}
48
Matrimonial Management
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>
<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 />
49
Matrimonial Management
<br />
<asp:label id="lblMessage1" runat="server"></asp:label>
</form>
</body>
</html>
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:
50
Matrimonial Management
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 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>
51
Matrimonial Management
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
{
// 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>
52
Matrimonial Management
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()
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.
53
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.
54
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 pass-
through queries and other techniques in Access to run stored procedures in RDBMSs
that support these.
55
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:
56
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
57
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'")";
58
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.
59
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.
60
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
customer’s 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.
61
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.
62
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.
63
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.
64
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.
65
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.
66
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
67
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha
Report best rekha

Mais conteúdo relacionado

Mais procurados

Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.Harsh Tamakuwala
 
Web deveopment using React js and Node js with SQL.
Web deveopment using React js and Node js with SQL.Web deveopment using React js and Node js with SQL.
Web deveopment using React js and Node js with SQL.Jayant Surana
 
Virtual Job Portal System
Virtual Job Portal SystemVirtual Job Portal System
Virtual Job Portal SystemTAWSEEF AHMAD
 
MCA 6th Sem Project Report
MCA 6th Sem Project ReportMCA 6th Sem Project Report
MCA 6th Sem Project ReportPRADEEP GUPTA
 
Report file on Web technology(html5 and css3)
Report file on Web technology(html5 and css3)Report file on Web technology(html5 and css3)
Report file on Web technology(html5 and css3)PCG Solution
 
online job portal system
online job portal systemonline job portal system
online job portal systemKrishna Ranjan
 
Online jobportal
Online jobportalOnline jobportal
Online jobportalteriwoja
 
Manik Resume
Manik ResumeManik Resume
Manik Resumemakbansal
 
Online insurance broker portal
Online insurance broker portalOnline insurance broker portal
Online insurance broker portalDurgesh Singh
 
Astha ppt
Astha pptAstha ppt
Astha pptjaini28
 
Open source CMS tool for web based job portal and recruitment system Thesis
Open source CMS tool for web based job portal and recruitment system ThesisOpen source CMS tool for web based job portal and recruitment system Thesis
Open source CMS tool for web based job portal and recruitment system ThesisArjun Rajeswaran
 
Mingle box - Online Job seeking System
Mingle box - Online Job seeking SystemMingle box - Online Job seeking System
Mingle box - Online Job seeking SystemBharat Kalia
 
Computer Science Internship Report Leena AI
Computer Science Internship Report Leena AIComputer Science Internship Report Leena AI
Computer Science Internship Report Leena AIshadowhazard77
 

Mais procurados (20)

Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.
 
Fayaz_CV
Fayaz_CVFayaz_CV
Fayaz_CV
 
Web deveopment using React js and Node js with SQL.
Web deveopment using React js and Node js with SQL.Web deveopment using React js and Node js with SQL.
Web deveopment using React js and Node js with SQL.
 
Virtual Job Portal System
Virtual Job Portal SystemVirtual Job Portal System
Virtual Job Portal System
 
MCA 6th Sem Project Report
MCA 6th Sem Project ReportMCA 6th Sem Project Report
MCA 6th Sem Project Report
 
Report file on Web technology(html5 and css3)
Report file on Web technology(html5 and css3)Report file on Web technology(html5 and css3)
Report file on Web technology(html5 and css3)
 
Online Job Portal
Online Job PortalOnline Job Portal
Online Job Portal
 
Suryaprakash_Raghuwanshi
Suryaprakash_RaghuwanshiSuryaprakash_Raghuwanshi
Suryaprakash_Raghuwanshi
 
online job portal system
online job portal systemonline job portal system
online job portal system
 
Job center
Job centerJob center
Job center
 
Online jobportal
Online jobportalOnline jobportal
Online jobportal
 
Manik Resume
Manik ResumeManik Resume
Manik Resume
 
Online News Portal
Online News PortalOnline News Portal
Online News Portal
 
Online insurance broker portal
Online insurance broker portalOnline insurance broker portal
Online insurance broker portal
 
Astha ppt
Astha pptAstha ppt
Astha ppt
 
CHANDRA SHEKHAR MANJHI_Resume
CHANDRA SHEKHAR MANJHI_ResumeCHANDRA SHEKHAR MANJHI_Resume
CHANDRA SHEKHAR MANJHI_Resume
 
Ketul
KetulKetul
Ketul
 
Open source CMS tool for web based job portal and recruitment system Thesis
Open source CMS tool for web based job portal and recruitment system ThesisOpen source CMS tool for web based job portal and recruitment system Thesis
Open source CMS tool for web based job portal and recruitment system Thesis
 
Mingle box - Online Job seeking System
Mingle box - Online Job seeking SystemMingle box - Online Job seeking System
Mingle box - Online Job seeking System
 
Computer Science Internship Report Leena AI
Computer Science Internship Report Leena AIComputer Science Internship Report Leena AI
Computer Science Internship Report Leena AI
 

Destaque

Android project report learning np complete
Android project report learning np completeAndroid project report learning np complete
Android project report learning np completeSubha Deb
 
Android Project report on City Tourist Location based services (Shuja ul hassan)
Android Project report on City Tourist Location based services (Shuja ul hassan)Android Project report on City Tourist Location based services (Shuja ul hassan)
Android Project report on City Tourist Location based services (Shuja ul hassan)Shuja Hassan
 
Matrimonial presentation
Matrimonial presentationMatrimonial presentation
Matrimonial presentationSujit Singh
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Reportstalin george
 

Destaque (7)

Android project report learning np complete
Android project report learning np completeAndroid project report learning np complete
Android project report learning np complete
 
Indian Matrimonial Portals
Indian Matrimonial PortalsIndian Matrimonial Portals
Indian Matrimonial Portals
 
Matrimony
MatrimonyMatrimony
Matrimony
 
Android Project report on City Tourist Location based services (Shuja ul hassan)
Android Project report on City Tourist Location based services (Shuja ul hassan)Android Project report on City Tourist Location based services (Shuja ul hassan)
Android Project report on City Tourist Location based services (Shuja ul hassan)
 
Matrimonial
MatrimonialMatrimonial
Matrimonial
 
Matrimonial presentation
Matrimonial presentationMatrimonial presentation
Matrimonial presentation
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Report
 

Semelhante a Report best rekha

Rcruitment &amp; selection
Rcruitment &amp; selectionRcruitment &amp; selection
Rcruitment &amp; selectionankush bathla
 
Company Profile - ZNSoftech Pvt Ltd(New)
Company Profile - ZNSoftech Pvt Ltd(New)Company Profile - ZNSoftech Pvt Ltd(New)
Company Profile - ZNSoftech Pvt Ltd(New)Nazish Ahsan
 
Xicom Technologies - Web Development Services
Xicom Technologies - Web Development ServicesXicom Technologies - Web Development Services
Xicom Technologies - Web Development ServicesChris MIller
 
Challenge in marketing it enable product with special reference to ascent i t...
Challenge in marketing it enable product with special reference to ascent i t...Challenge in marketing it enable product with special reference to ascent i t...
Challenge in marketing it enable product with special reference to ascent i t...Pradeep Kumar Tiwari
 
Pdf Corporate Profile Final
Pdf Corporate Profile FinalPdf Corporate Profile Final
Pdf Corporate Profile FinalChitra Shergill
 
Nexkraft - Software Development Company.pdf
Nexkraft - Software Development Company.pdfNexkraft - Software Development Company.pdf
Nexkraft - Software Development Company.pdfNexkraft Limited
 
Customer Relationship Management Module Project Report
Customer Relationship Management Module Project ReportCustomer Relationship Management Module Project Report
Customer Relationship Management Module Project Reportsachinkumar Bharadva
 
Industrial man power
Industrial man powerIndustrial man power
Industrial man powerRaju Insan
 
SUMAN_BALU_PROFILE_LATEST
SUMAN_BALU_PROFILE_LATESTSUMAN_BALU_PROFILE_LATEST
SUMAN_BALU_PROFILE_LATESTSuman Balu
 
SUMAN_BALU_PROFILE_LATEST
SUMAN_BALU_PROFILE_LATESTSUMAN_BALU_PROFILE_LATEST
SUMAN_BALU_PROFILE_LATESTSuman Balu
 
e2e Projects Profile
e2e Projects Profilee2e Projects Profile
e2e Projects ProfileastroSujit
 
Microsoft SQL Server Training, ASP.NET Training, SQL Server, .NET 4.0 - Syner...
Microsoft SQL Server Training, ASP.NET Training, SQL Server, .NET 4.0 - Syner...Microsoft SQL Server Training, ASP.NET Training, SQL Server, .NET 4.0 - Syner...
Microsoft SQL Server Training, ASP.NET Training, SQL Server, .NET 4.0 - Syner...Synergetics Learning and Cloud Consulting
 
Microlucid profile
Microlucid profileMicrolucid profile
Microlucid profileAnil Yadav
 

Semelhante a Report best rekha (20)

Profile tema
Profile temaProfile tema
Profile tema
 
Rcruitment &amp; selection
Rcruitment &amp; selectionRcruitment &amp; selection
Rcruitment &amp; selection
 
EH-UpdatedProfile2016
EH-UpdatedProfile2016EH-UpdatedProfile2016
EH-UpdatedProfile2016
 
Company Profile - ZNSoftech Pvt Ltd(New)
Company Profile - ZNSoftech Pvt Ltd(New)Company Profile - ZNSoftech Pvt Ltd(New)
Company Profile - ZNSoftech Pvt Ltd(New)
 
Xicom Technologies - Web Development Services
Xicom Technologies - Web Development ServicesXicom Technologies - Web Development Services
Xicom Technologies - Web Development Services
 
Ejyle Corporate Profile
Ejyle Corporate ProfileEjyle Corporate Profile
Ejyle Corporate Profile
 
Challenge in marketing it enable product with special reference to ascent i t...
Challenge in marketing it enable product with special reference to ascent i t...Challenge in marketing it enable product with special reference to ascent i t...
Challenge in marketing it enable product with special reference to ascent i t...
 
Gender Equality at workplace 1.0
Gender Equality at workplace 1.0Gender Equality at workplace 1.0
Gender Equality at workplace 1.0
 
Mecci company profile
Mecci company profileMecci company profile
Mecci company profile
 
Pdf Corporate Profile Final
Pdf Corporate Profile FinalPdf Corporate Profile Final
Pdf Corporate Profile Final
 
Nexkraft - Software Development Company.pdf
Nexkraft - Software Development Company.pdfNexkraft - Software Development Company.pdf
Nexkraft - Software Development Company.pdf
 
Customer Relationship Management Module Project Report
Customer Relationship Management Module Project ReportCustomer Relationship Management Module Project Report
Customer Relationship Management Module Project Report
 
Ob Presentation
Ob PresentationOb Presentation
Ob Presentation
 
Industrial man power
Industrial man powerIndustrial man power
Industrial man power
 
Arokia IT Pvt Limited - Company Profile
Arokia IT Pvt Limited   - Company ProfileArokia IT Pvt Limited   - Company Profile
Arokia IT Pvt Limited - Company Profile
 
SUMAN_BALU_PROFILE_LATEST
SUMAN_BALU_PROFILE_LATESTSUMAN_BALU_PROFILE_LATEST
SUMAN_BALU_PROFILE_LATEST
 
SUMAN_BALU_PROFILE_LATEST
SUMAN_BALU_PROFILE_LATESTSUMAN_BALU_PROFILE_LATEST
SUMAN_BALU_PROFILE_LATEST
 
e2e Projects Profile
e2e Projects Profilee2e Projects Profile
e2e Projects Profile
 
Microsoft SQL Server Training, ASP.NET Training, SQL Server, .NET 4.0 - Syner...
Microsoft SQL Server Training, ASP.NET Training, SQL Server, .NET 4.0 - Syner...Microsoft SQL Server Training, ASP.NET Training, SQL Server, .NET 4.0 - Syner...
Microsoft SQL Server Training, ASP.NET Training, SQL Server, .NET 4.0 - Syner...
 
Microlucid profile
Microlucid profileMicrolucid profile
Microlucid profile
 

Report best rekha

  • 1. 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 SUBMITTED TO : Miss Dipika Mr. Hardayal Singh Acme Embedded Technologies Pvt.Ltd HOD (ECB ) Bikaner 1
  • 2. 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 SUBMITTED TO : Miss Dipika Mr. Hardayal Singh Acme Embedded Technologies Pvt.Ltd HOD (ECB ) Bikaner 2
  • 3. 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 “MATRIMONIAL- MANAGEMENT”. The matter in the report is organized in a number of sections with important diagrams. This gives an easy and clear understanding of text. ACKNOWLEDGEMENTACKNOWLEDGEMENT 3
  • 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. (Chandra kanta khatri) MSc (VI SEM 2009) Engineering College, Bikaner University Of Rajasthan Jaipur ACKNOWLEDGEMENTACKNOWLEDGEMENT 4
  • 5. 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
  • 6. Matrimonial Management Company Profile About 9 Vision 9 Offering 11 Out Sourcing 11 Training 12 Why A.E.T. 12 Clients 13 Development Tools 13 Project Overview Introduction to Project 17 Characteristic Of Project 19 Qualities of Project 20 Tools/Environment Used 26 Technologies Used ASP.net 28 ASP.net forms 39 Database : MS Access 67 System Designing Interface Design 81 Database Design 86 Screens Details 93 6
  • 8. 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 8
  • 9. 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. 9
  • 10. 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
  • 11. 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
  • 12. 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. Designing and Programming using .NET 2. Development, Support and Enhancement of existing applications in .NET 3. Language Expertise: Visual Basic, Visual C++ (ATL), C, C#, VBA 4. Database Technology (SQL-Server and MS-Access) 5. PDA Solutions (Windows Mobile OS based) 12
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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 lion’s 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 aren’t 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
  • 18. 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 cross- reference 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
  • 19. Matrimonial Management There do seem to be three factors that all successful projects have in common. Each of these factors is key to any project’s 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 26. 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 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 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
  • 27. 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 HTML- like 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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.401298E- 45 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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 Prefix Example bool bln blnMember byte byt bytDaysInMonth char chr chrWang DateTime dat datDatePurchased double dbl dblPi decimal dec decSalary float Flt fltRate int int intDistanceToSun long lng lngDistanceToStar short sho shoNumberOfAtoms string str 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
  • 39. 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
  • 40. 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
  • 41. 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: Operator Symbol Equality = = 41
  • 42. 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
  • 43. 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:Label> ASP.NET server controls are also called Web Controls. ASP.NET Web Control Purpose <asp:Label> Display text <asp:ListBox> Offer the user a list of items from which to select. <asp:DropDownList> Offer the user a list of items from which to select in a compact format. <asp:TextBox> Accept typed input from user <asp:RadioButton> and <asp:RadioButtonList> Allow user to make one selection from a list of options. <asp:CheckBox> and <asp:CheckBoxList> Allow user to turn a feature on or off <asp:Button> Send the user's input to the Server. 43
  • 44. Matrimonial Management 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> 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> 44
  • 45. Matrimonial Management <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> 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> 45
  • 46. Matrimonial Management 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() 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) { 46
  • 47. Matrimonial Management 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 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) { 47
  • 48. Matrimonial Management 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 Demo- Switch1.aspx): 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; } 48
  • 49. Matrimonial Management 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> <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 /> 49
  • 50. Matrimonial Management <br /> <asp:label id="lblMessage1" runat="server"></asp:label> </form> </body> </html> 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: 50
  • 51. Matrimonial Management 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 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> 51
  • 52. Matrimonial Management 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 { // 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> 52
  • 53. Matrimonial Management 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() 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. 53
  • 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. 54
  • 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 pass- through queries and other techniques in Access to run stored procedures in RDBMSs that support these. 55
  • 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: 56
  • 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 57
  • 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'")"; 58
  • 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. 59
  • 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. 60
  • 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 customer’s 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. 61
  • 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. 62
  • 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. 63
  • 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. 64
  • 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. 65
  • 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. 66
  • 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 67