You are on page 1of 103

Table Of Content

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

Project Overview
Introduction to Project Characteristic Of Project Qualities of Project Tools/Environment Used 17 19 20 26

Technologies Used
ASP.net ASP.net forms Database : MS Access 28 39 67

System Designing
Interface Design Database Design Screens Details 81 86 93

COMPANY PROFILE

Acme Embedded Technologies Pvt. Ltd. Bikaner, Rajasthan

Acme Embedded Technologies Pvt. Ltd.


3

About:
Acme Embeded Technologies aspire to be the best in providing the best personnel to 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.

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 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!!
6

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

Development Tools:
Microsoft Suite of Tools
ASP.Net: VB.Net: VC++ C# MS Access SQL Server.

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

.NET services include: Application development in .NET framework


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

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
1. Introduction To Project
8

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 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.


Add Your photo-add your photo. It provides identified customer database which is usable by all application.

10

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.

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

11

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

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

Verifiable: Determine whether each requirement is properly implemented in the product. If a requirement is not verifiable, determining whether it was correctly implemented is a matter of opinion. Requirements that are not consistent, feasible, or unambiguous also are not verifiable.

Complete: No requirements or necessary information should be missing. Completeness is also a desired characteristic of an individual requirement. It is hard to spot missing requirements because they arent there.

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

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

12

unambiguously. You can make a project more modifiable by organizing it so that related requirements are grouped together, and by creating a table of contents, index, and crossreference listing.

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

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

The 3 Keys to Project Success


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

13

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

14

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 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.

15

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 inspections is enforced. What makes Process 5 unique is the final step, "promote to build".

16

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, 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 .

17

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

18

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
19

ASP.NET

ASP.NET
20

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

The Origins of .NET


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

21

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

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

A Broad and Deep Platform for the Future


Calling the Microsoft.NET Framework a "platform" doesn't begin to describe how broad and deep it is. It encompasses a virtual machine that abstracts away much of the 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.

22

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

23

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 around creating their own extensions and their own fancy new data types. CLS is the

24

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 achieved through a common language runtime (CLR) that provides a managed execution environment available to any language that targets the runtime. The functionality this

25

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.

Server Controls and Variables


26

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"; It's also possible to declare a variable and assign a value to it on a single line: String strCarType = "Buick";

27

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 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.

28

ushort: is like uint and can be used for unsigned (positive) numbers; since memory space is not used for the sign, the value can go up to 65,535. long: Similar to the int type, but supports a much larger range; can contain a value up to 9,223,372,036,854,775,808 (that is 9 x 10^19), either positive or negative. ulong: Allows positives up to about 18 x 10^18.

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

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

Selecting the Correct Numeric Datatype


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

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

Server Controls and Data Type


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

29

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
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;

30

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.

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

31

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. 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

32

name starts. There are variations to this convention that are used by programmers. The following table lists some examples of the usage of this notation:

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

Prefix
bln byt chr dat dbl dec Flt int lng sho str

Example
blnMember bytDaysInMonth chrWang datDatePurchased dblPi decSalary fltRate intDistanceToSun lngDistanceToStar shoNumberOfAtoms strNameFirst

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

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

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# 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
34

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:

Operator
Addition Subtraction Multiplication Division Exponentiation
35

Symbol

+ * / ^

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
Equality Less than Less than or equal to Inequality Greater than Greater than or equal to

Symbol
== < <= != > >=

Logical Operators
C# also provides a set of three common logical operators you can use in your code: &&: used for AND ||: used for OR

36

!: 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 are also called Web Controls.

ASP.NET Server Controls


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).

37

<asp:Label>
Let's start with a small but very useful control, the <asp:Label> control. This control

ASP.NET Web Control


<asp:Label> <asp:ListBox> <asp:DropDownList> <asp:TextBox> <asp:RadioButton> and <asp:RadioButtonList> <asp:CheckBox> and <asp:CheckBoxList> <asp:Button>

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

Accept typed input from user Allow user to make one selection from a list of options.
Allow user to turn a feature on or off Send the user's input to the Server.

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

38

<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> <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

39

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>


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
40

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) { 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

41

{ 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) { 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).

42

The syntax for switch has four parts: The statement of a value to be tested against (the "test value") The statement of a 'possible value' and what to do if that possible value matches the test value (this part is repeated for all possible values) An optional catchall default, in case the variable matches a value you haven't anticipated The following example carries out one of three actions depending on what is contained in the variable confirmation (see entire page in download file DemoSwitch1.aspx): string confirmation = txtIn.Text; switch(confirmation) { case "fax": lblOut.Text = "Fax confirmation takes 12 hours."; break; case "telephone": lblOut.Text = "Telephone confirmation takes 24 hours."; break; case "email": lblOut.Text ="Email confirmation takes 1 hours."; break; }

Looping Structures in ASP.NET


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

For example:
<%@ Page Language="C#" Debug="true" %> <script runat="server"> void Page_Load() { if(Page.IsPostBack) { lblMessage1.Text = ""; for(int intLineLoopCounter = 1; intLineLoopCounter<=Convert.ToInt32(NumberAttendees.SelectedItem.Value);

43

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 /> <br /> <asp:label id="lblMessage1" runat="server"></asp:label> </form> </body> </html>

44

The while Loop


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

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

45

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

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

46

} 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>

47

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

The foreach...in Loop


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

48

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.

49

Microsoft Access Description

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

Database File: This is your main file that encompasses the


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

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


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

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

50

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:

51

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

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

52

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'")";

Delete query
53

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.

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

54

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.

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.

55

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. 2. 3. 4. 5. 6. 7. 8. Requests from customers/original idea Creation of feature lists based on item 1 Technical design of features based on item 2 Software design and time evaluation based on item 3 Code implementation based on item 4 Software Testing Beta release/ bug fixes Final release

The following section discusses each of these steps briefly.

Requests from customers/original idea


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

Creation of feature lists based on item 1


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

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.

56

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.

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

57

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.

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.

58

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.

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

59

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.

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

60

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.

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

61

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

Contains facts or empirical data rather than speculation. Demonstrates that the work is on alternative solutions to the same problem. Demonstrates that we know what the root problem actually is. It shows that we are thinking of all users in the big picture, instead of any particular class. Shows that the feature is genuinely important enough to be worth maintaining some extra code. We include the message dialog for program error, warning, question, and information messages, explain what is going on to the user in the most technical

62

terms. They really need to know and learn this stuff because it is important. As part of the message dialog include a help button that opens the help file and displays exactly what the message just said. Display as many information and question messages as possible in as many different places as possible.

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

Explain the rules:


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

Navigation between majoruser interface items is important:


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

Word your messages and labels effectively:


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

63

worded well, together they are inconsistent. In light of the first message, a better wording of the second message would be The account number must be input to make the two messages consistent.

Understand the UI widgets:


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

Use color appropriately:


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

Follow the contrast rule:


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

Align fields effectively:


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

Expect our users to make mistakes:


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

Justify data appropriately:


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

Your design should be intuitable:


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

64

Dont create busy user interfaces:


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

Group things effectively:


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

Our UI Design Principles:


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

The simplicity principle:


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

The visibility principle:


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

The feedback principle:

65

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

The tolerance principle:


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

The reuse principle:


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

Database Design
REGISTRATION 1 (re1): UName Pass CPasswd Gndr 66

Youremailaddress Relgn Lmlivingin Typethecodeshere REGISTRATION 2 (re2):-

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

67

68

Screens

Information to select the appropriate path

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

69

Select the appropriate path and click the Open Button

This window shows the completed or incompleted web site path.to open the web site firstly select the Web site then click on the open button.

70

MAIN SCREEN 1.LOGIN FORM:

LAYOUT -Login Form step-1


For the very first time when the project is introduced this form Appears and gives the LOGIN facility to enter only registered member of the HASTAMILANwebsite. In the main form we have the following options:
LOGIN MATRIMONIAL REGISTRATION CHANGE PASSWORD MATRIMONIALSITES ASTROLOGY SITES for registered member. for new user. for registered member to links other matrimonial sites. to links other astrology sites .

71

2.REGISTRATION FORM-1:

LAYOUT -Registration Form step-1


This is the form is used to create a new user account in the hastamilan website.which is used to create a new account with following details.
USER NAME -Enter the user name. PASSWORD - Enter the password. CONFORM PASSWORD - Enter the alredy entered passsword. GENDER - Enter the gender. YOUR EMAIL ADDRESS - Enter the users Email address. RELIGION - Enter the users religion. I M LIVING IN - Enter the City name. TYPE THE CODE SHOW BELOW - Type the random key in the txt box.

72

3.REGISTRATION FORM-2:

LAYOUT-Registration Form step-2:1


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

DETAILS INFORMATION:
NAME AGE PHONENUMBER SEX HEIGHT WEIGHT CASTE RASHI NAKSHATRA MARITAL STATUS

EDUCATION

73

MANGLIK PROFESSON ANNUAL INCOME HOBBIES RESIDENTIAL STATUS RISIDING CITY

74

4.REGISTRATION FORM-2:

LAYOUT-Registration Form step-2:2


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

FAMILY DETAILS :
FATHERs NAME FATHER OCCUPATION MOTHER NAME MOTHER OCCUPATION

FAMILY BACKGROUND

75

CASTE DETAILS :
MATERNAL MATERNAL GRAND MOTHER PATERNAL GRAND MOTHER

PHOTO UPLOAD :
UPLOAD PHOTO

SUBMIT :Click the submit button to submit the users information in the database of hastamilan.com.

76

5.CHANGE PASSWORD:

LAYOUT-Change password form This form allows to Change password of already exist users. which is used to change password with following details.
USER ID OLD PASSWORD NEW PASSWORD CONFORM PASSWORD User can fillup these above information and click on the CHANGE PASSWORD button.

6.HOME PAGE:
77

LAYOUT-Home Page
After fillup the login id and password and click on the login button,this form Appears and gives the many more facility to only registered member of the HASTAMILANwebsite. In the HOMEPAGE form we gave the following MENUS: SEARCH UPDATION CONTACT US TERMS AND CONDITION ABOUT US
- click this links to performs different searches. - already exist user can update their information - click this link to see contact us page. - Open the terms and condition page.

- to open the About us page of website

OBJECTIVES OF THE SITE - click this link to see objectives of the site. HONEMOON PACKAGES OTHER SERVICES MATRIMONIAL SITES
- click this link to see honemoon packages. - Open the essential services page.

- to brows other matrimonial sites 78

ASTROLOGY SITES

- to brows other Astrology sites

7. UPDATE LOGIN:

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

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

79

8.UPDATION FORM1.1:

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

80

UPDATION FORM1.2

LAYOUT-Updation Form1.2

EDIT Click the edit button to enable the users information and EDIT in the information.And EDIT button is disable after this process. UPDATE THE INFORMATION Click the UPDATION THE
INFORMATION BUTTON,to update the whole information of users in the Hastamilan database.

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

81

9. SEARCHES:

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

82

10. SEARCH BY NAME:

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

83

11. SEARCH BY RELIGION:

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

84

12. SEARCH BY CASTE :

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

85

13. SEARCH BY PROFESSION :

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

86

14. CONTACT US:

LAYOUT-Contact us[for login user]

87

CONTACT US

LAYOUT-Contact us[for other user]

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

15. ABOUT US:


88

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

16.OJECTIVES OF THE SITE:


89

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

17.TERMS AND CONDITION:


90

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

18.HONEYMOON PACKAGES:
91

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

19.HONEYMOON PACKAGES:
92

LAYOUT- Honeymoon Packages

20.HONEYMOON PACKAGES:

93

LAYOUT- Honeymoon Packages

94

19.OTHER SERVICES :

LAYOUT- Honemoon Packages

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

95

20.ASTROLOGY SERVICES :

LAYOUT-Astrology Services[for Login user]

ASTROLOGY SERVICES
96

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

21.MATRIMONIAL SITES :
97

LAYOUT-Matrimonial sites[for Login user]

MATRIMONIAL SITES
98

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

99

System Testing

System Testing
Once source code has been generated, software must be tested to uncover (and correct) as many errors as possible before delivery to customer. Our goal is to design a series of test cases that have a high likelihood of finding errors. To uncover the errors software techniques are used. These techniques provide systematic guidance for designing test that (1) Exercise the internal logic of software components, and
100

(2) Exercise the input and output domains of the program to uncover errors in program function, behavior and performance.
1 Steps. Software is tested from two different perspectives:

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

2. Strategies
A strategy for software testing must accommodate low-level tests that are necessary to verify that a small source code segment has been correctly implemented as well as high-level tests that validate major system functions against customer requirements. A strategy must provide guidance for the practitioner and a set of milestones for the manager. Because the steps of the test strategy occur at a time when deadline pressure begins to rise, progress must be measurable and problems must surface as earl as possible. Following testing techniques are well known and the same strategy is adopted during this project testing.
2.1 Unit testing: Unit testing focuses verification effort on the smallest unit of

software design- the software component or module. The unit test is white-box oriented. The module interface is tested to ensure that information properly flows into and of the program unit under test the local data structure has been examined to ensure that data stored temporarily maintains its integrity during all steps in an algorithms execution. Boundary conditions are tested to ensure that the module
101

operated properly at boundaries established to limit or restrict processing. All independent paths through the control structure are exercised to ensure that all statements in a module haven executed at least once.
2.2 Integration testing: Integration testing is a systematic technique for

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

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

System testing is actually a series of different tests whose

primary purpose is to fully exercise the computer-based system. Below we have described the two types of testing which have been taken for this project.

References
102

References:
C# 2005 Apress. www.w3schools.com ASP.NET 2.0 in C# 2005. Software Engineering Pankaj Jalota MSDN help provided by Microsoft .NET Object Oriented Programming Deitel & Deitel

103

You might also like