Restaurant Reservation

96
Project Report (Implemented in ASP.Net (Code Behind C#), SQL SERVER 2005) A PROJECT REPORT SUBMITTED TO INDIRA GANDHI NATIONAL OPEN UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE AWARD OF BACHLOR IN COMPUTER APPLICATIONS (BCA) SUBMITTED BY UNDER THE GUIDENCE OF INDIRA GANDHI NATIONAL OPEN UNIVERSITY SCHOOL OF COMPUTER AND INFORMATION SCIENCES INDIRA GANDHI NATIONAL OPEN UNIVERSITY MAIDAN GARHI, NEW DELHI – 110 068. 2013-14 1

Transcript of Restaurant Reservation

Page 1: Restaurant Reservation

Project Report

(Implemented in ASP.Net (Code Behind C#), SQL SERVER 2005)

A PROJECT REPORT SUBMITTED TO INDIRA GANDHI NATIONAL OPEN

UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE

AWARD OF

BACHLOR IN COMPUTER APPLICATIONS(BCA)

SUBMITTED BY

UNDER THE GUIDENCE OF

INDIRA GANDHI NATIONAL OPEN UNIVERSITY

SCHOOL OF COMPUTER AND INFORMATION SCIENCES

INDIRA GANDHI NATIONAL OPEN UNIVERSITY

MAIDAN GARHI, NEW DELHI – 110 068.

2013-14

1

Page 2: Restaurant Reservation

ACKNOWLEDGEMENT

I am greatly pleased to take this opportunity to acknowledge the co-

operation and assistance of few people without whom this endeavor would not have

been a success.

Firstly, I am indebted to my guide for having shown confidence in me, and

giving me an opportunity to debut in the world of Software Engineering under his

aegis. Also, he has been extremely patient in the initial phase of the work and has

given me ample opportunity to learn and imbibe the rudiments of the subject.

Further, I would like to express my gratitude towards all staff of Company for

their co-operation in all required matters. I am greatly thankful to my project

partner who has helped me in completion of this project directly or indirectly.

Date: 30/09/2013 (xxxxxxxxxx xx xxxxxxxxxxxxx)Place: VADODARA

2

Page 3: Restaurant Reservation

I ndex

Sr. No. Topic1 Introduction & Objectives of the Project.

Introduction & Objectives. Definition

2 Feasibility Study Technical Feasibility Economical Feasibility Operational Feasibility Legal Feasibility Financial Feasibility

3 Software Engineering Paradigm Applied Introduction to Software Software Development Life Cycle Meaning of Spiral Model Spiral Model Analysis Design Testing Implementation

4 Technology & Operation System .Net Framework Framework Architecture Common Language Specification Common Language Runtime Introduction of Asp.Net Introduction of Asp.Net(C#) Introduction of Sql Server Data Access Layer

5 Software And Hardware Requirement Specifications Software Requirement Hardware Requirement

6 Analysis Data Flow Diagrams E-R Diagrams Schema Diagram Data Dictionary (Tables)

3

Page 4: Restaurant Reservation

Number of Modules Screen Shots

7 Coding

8 Coding Efficiency

9 Coding Optimization

10 Validation Checks

11 Testing System Testing Integration Testing Unit Testing White Box Testing Black Box Testing Acceptance Testing

12 Implementation & Maintenance System Security Security Measures Cost Estimation

13 Reports

14 Chart And Project Schedule

15 Future Scope of the Project

16 Bibliography

17 Synopsis

4

Page 5: Restaurant Reservation

1. Introduction

PROJECT DEFINATION

VADODARACITY.COM

Vadodaracity is dishing up delicious Tandoori, Chinese, Mughlai and Arabian delights to

the food lovers of Baroda, in a slick and contemporary style. Located in the heart of

Tandalja, it offers a wide variety of exquisite Mughlai and Arabian specialities. The

emphasis is always on the freshness of food with generous portions.

      Today successful journey through the hearts of our valued guests who have enjoyed

and appreciated our cuisine, Vadodaracity marches ahead with confidence to the path for

success & glory. We are praised and loved by barodians who knows the taste & aroma

has given us the strength & aspiration to improve for better & better. Come & Enjoy our

best dishes prepared by utmost perfection. We promise to cater our valued customers

upto there utmost satisfaction.      

We have ample space for family in house service. Restaurant sitting capacity is about

100 persons. Air-condition and lovely atmosphere, friendly and obedient service staff and

of course very authentic & tasty food.

► PROJECT DESCRIPTION

System Scope:

a) System: Restaurant Reservation Management System.

b) Customer’s Problem: A little more delay in finalizing the reservation and no

facility to order the menu at that moment of time. So it was more effort, more

time delay and less result for the customer.

There was no handling of the customers database which

constituted of it’s details.

5

Page 6: Restaurant Reservation

c) Systems Solutions to Customer’s Problems:

Remove delay in placing the booking by the customer by

providing all the necessary information like previous reservations,

current reservation, booking facility, menu selection, order

submission and bill printing required by the client at his finger

tips.

d) Systems Help to the Restaurant Owner or Admin.

It allows to manage restaurants reservation process

dynamically along with dynamically handling of the restaurants

Menu Management for the administrator.

e) Application of the System:

Goals:

Enable online reservations and food ordering to the customers

without physically contacting the restaurant for the inquires and thereby

removing delay in

placing the booking. It enables online ordering fast and efficiently without

much wastage of time.

RRMS offers following suite of online tools:

1. Customer will place order through site.

2. Order submission.

3. Bill printing.

4. Making changes to menu pages or specials or offers as

required.

5. Online order processing and collection.

6

Page 7: Restaurant Reservation

2.Feasibility Study

Feasibility study is a process to check possibilities of system development. It

is a method to check various different requirements and availability of financial &

technical resources.

Before starting the process various parameters must be checked like:

Estimated finance is there or not?

The man power to operate the system is there or not?

The man power is trained or not?

All the above conditions must be satisfied to start the project. This is why in depth

analysis of feasibility is carried out.

There are three different ways feasibility can be tested

1) Technical Feasibility

2) Economic Feasibility

3) Operational Feasibility.

4) Financial feasibility

5) Legal feasibility

7

Page 8: Restaurant Reservation

Technical Feasibility:

It is basically used to see existing computer, hardware and software etc.,

weather it is sufficient or additional equipment’s are required? Minimum System

Requirement is such that it can be affordable by of the user who is having

computer. All the user requires is compatible browser and .net framework

installed so our system is fully technical feasible.

Economic Feasibility:

In Economic feasibility, analysis of the cost of the system is carried out.

The system should be only developed if it is going to give returned the current

manual system user can get the price only by purchasing the newspapers. In

addition if he/she wants to see archives of particular equity then he has to refer to

all the old newspapers. For research reports he has to buy another magazine. So

Instead of buying no of magazines user has to just go online and with a single click

he can get whatever information he wants. So our project of online share news

passes the test of Economic feasibility.

8

Page 9: Restaurant Reservation

Operational Feasibility:

Once the system is designed there must be trained and expert operator. If

there are not trained they should give training according to the needs of the

system.

From the user’s perspective our system fully operational feasible as it just

requires some knowledge of computer. Operators only need add daily prices of

various equities and there are enough validations available so operator does not

require any special technical knowledge. So our system also passes the test of

operational feasibility.

Legal FeasibilityDetermines whether the proposed system conflicts with legal requirements,

e.g. a data processing system must comply with the local Data Protection Acts.

Financial feasibility

In case of a new project, financial viability can be judged on the following

parameters:

Total estimated cost of the project

Financing of the project in terms of its capital structure, debt equity ratio and

promoter's share of total cost

Existing investment by the promoter in any other business

Projected cash flow and profitability

Final Conclusion of the Feasibility Study

Finally, from the whole study it can be concluded that the system is

technically feasible, initially if we see then the initial cost is high but by studying 9

Page 10: Restaurant Reservation

economical feasibility with improved level services, customer may be attracted

towards the Star Placement Services and ultimately that is our aim . Other feasibility

aspects are satisfied with considering certain risk factor, which is always present in

any proposed system project.

After completing the feasibility study I described the whole study and

presented the report of the study to the Chief Manager of Starnet Services.

We discussed about dates to start the real specification of the system and the

designing days and further details. We discussed roughly about the model of the

actual software system, how it could take place etc.

10

Page 11: Restaurant Reservation

3.Software Engineering Paradigm Applied

Introduction to Software

“What is exactly meant by software?” I was asked by one of the official of

the Starnet Services in the meeting.

Let’s first define the term software.

Computer software is the product that software engineers design and

build.

It encompasses programs that execute within a computer of any size and

architecture, documents that encompass hard copy and virtual forms, and

data that combine numbers and text but also includes representation of

pictorial, video, and audio information.

Software Engineer builds it, and virtually everyone in the industrialized

world uses it either directly or indirectly.

Because it affects nearly every aspect of our lives and has become

pervasive in our commerce, our culture, and our everyday activities.

We build computer software like we build any successful product, by

applying a process that leads to a high quality result that meets the needs

of the people who will use the product.

We apply a software engineering approach.

From the point of view of a software engineer; the work product is the

programs, documents, and data that are computer software.

But from the user’s point of view, the work product is the resultant

information that somehow makes the user’s world, User privileges better.

Software is both a product and a vehicle for delivering a product.

Software Applications

System Software 11

Page 12: Restaurant Reservation

System software is a collection of programs written to service other

program, e.g. COMPLIER, EDITORS, AND FILE MANAGEMENT UTILITIES,

OS COMPONENTS, DRIVERS, etc.

Real-Time software

Software that monitors/analyzes/controls real-world events as they

occur is called real time. Elements of real-time software include a data

gathering component that collects and formats information from an

external environment, an analysis component that transforms

information as required by the application, a control/output component

that responds to the external environment and a monitoring component

that coordinates all other components so that real response can be

maintained.

Business Software

Business information processing is the largest single software

application area. Discrete “systems” (e.g. PAYROLL, ACCOUNTS

RECEIVABLE/PAYABLE, INVENTORY, SMBS)

Engineering and Scientific Software

Engineering and scientific software have been characterized by

“number crunching” algorithms. Application range from astronomy to

volcanology, from automotive stress analysis to space shuttle orbital

dynamics, and from molecular biology to automated manufacturing.

Embedded software

Intelligent products have become commonplace in nearly every

consumer and industrial market. Embedded software resides in read-only

memory and is used to control products and systems for the consumer

12

Page 13: Restaurant Reservation

and industrial markets, e.g. keypad control for a microwave oven, so we

can say that they can perform very limited and esoteric functions.

Personal computer software

The personal computer software market has burgeoned over the past

two decades. Word processing, spreadsheets, computer graphics,

multimedia, entertainment, personal and business financial applications,

external network, and database access are only a few of hundreds of

applications.

Web-based software

The web pages retrieved by a browser are software incorporates

executable instructions (e.g. CGI, HTML, PERL, JAVA, ASP), and data (e.g.

hypertext and a variety of visual and audio formats)

Artificial intelligence software

Artificial intelligence (AI) software makes use of nonnumeric

algorithms to solve complex problems that are not amenable to

computation or straightforward analysis. Expert systems, pattern

recognition (image and voice), artificial neural networks, theorem

proving, and game playing are representatives of applications within this

category.

This proposed project could be put in the category of BUSINESS

APPLICATION SOFTWARE.

13

Page 14: Restaurant Reservation

Software Development Life Cycle

The systems development life cycle (SDLC) is a conceptual model used

in project management that describes the stages involved in an information system

development project, from an initial feasibility study through maintenance of the

completed application.

Various SDLC methodologies have been developed to guide the processes involved,

including the waterfall model (which was the original SDLC method); rapid

application development (RAD); joint application development (JAD); the fountain

model; the spiral model; build and fix; and synchronize-and-stabilize. Frequently,

several models are combined into some sort of hybrid methodology. Documentation

is crucial regardless of the type of model chosen or devised for any application, and

is usually done in parallel with the development process. Some methods work better

for specific types of projects, but in the final analysis, the most important factor for

the success of a project may be how closely the particular plan was followed.

14

Page 15: Restaurant Reservation

Spiral Model

The spiral model, also known as the spiral lifecycle model, is a systems

development lifecycle (SDLC) model used in information technology (IT). This

model of development combines the features of the prototyping model and

the waterfall model. The spiral model is favored for large, expensive, and

complicated projects.

Meaning of Spiral Model spiral model  

A software life-cycle model which supposes incremental development, using the

waterfall for each step, with the aim of managing risk. In the spiral model, developers

define and implement features in order of decreasing priority.

The steps in the spiral model can be generalized as follows:

The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.

15

Page 16: Restaurant Reservation

Spiral Model

16

Page 17: Restaurant Reservation

A preliminary design is created for the new system.

A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.

A second prototype is evolved by a fourfold procedure: (1) evaluating the first prototype in terms of its strengths, weaknesses, and risks; (2) defining the requirements of the second prototype; (3) planning and designing the second prototype; (4) constructing and testing the second prototype.

At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.

System Analysis

The goal of system analysis is to determine where the problem is in an

attempt to fix the system. This step involves breaking down the system in different

pieces to analyze the situation, analyzing project goals, breaking down what needs

to be created and attempting to engage users so that definite requirements can be

defined.

Requirements analysis sometimes requires individuals/teams from client as

well as service provider sides to get detailed and accurate requirements; often there

has to be a lot of communication to and from to understand these requirements.

Requirement gathering is the most crucial aspect as many times communication

gaps arise in this phase and this leads to validation errors and bugs in the software

program.

Design

In systems design the design functions and operations are described in detail,

including screen layouts, business rules, process diagrams and other

documentation. The output of this stage will describe the new system as a collection

of modules or subsystems.

17

Page 18: Restaurant Reservation

The design stage takes as its initial input the requirements identified in the

approved requirements document. For each requirement, a set of one or more

design elements will be produced as a result of interviews, workshops, and/or

prototype efforts.

Design elements describe the desired software features in detail, and

generally include functional hierarchy diagrams, screen layout diagrams, tables of

business rules, business process diagrams, pseudo code, and a complete entity-

relationship diagram with a full data dictionary. These design elements are intended

to describe the software in sufficient detail that skilled programmers may develop

the software with minimal additional input design.

Testing

The code is tested at various levels in software testing. Unit, system and user

acceptance testing’s often performed. This is a grey area as many different opinions

exist as to what the stages of testing are and how much if any iteration occurs.

Iteration is not generally part of the waterfall model, but usually some occur at this

stage. In the testing phase, the whole system is tested one by one

Following are the types of testing:

1. White Box Testing

2. Black Box Testing

White Box Testing

White-box testing is a method of testing software that tests internal

structures or workings of an application, as opposed to its functionality (i.e. black-

box testing). In white-box testing an internal perspective of the system, as well as

programming skills, are required and used to design test cases. The tester chooses

inputs to exercise paths through the code and determine the appropriate outputs.

This is analogous to testing nodes in a circuit, e.g. in-circuit testing (ICT).

While white-box testing can be applied at the unit, integration and system levels of

the software testing process, it is usually done at the unit level. It can test paths

18

Page 19: Restaurant Reservation

within a unit, paths between units during integration, and between subsystems

during a system level test. Though this method of test design can uncover many

errors or problems, it might not detect unimplemented parts of the specification or

missing requirements.

Black-Box testing

Block Box Testing is a method of testing that tests the functionality

of an application as opposed to its internal structures or workings (see

white). Specific knowledge of the application's code/internal structure

and programming knowledge in general is not required. Test cases are

built around specifications and requirements, i.e., what the application

is supposed to do. It uses external descriptions of the software,

including specifications, requirements, and designs to derive test

cases. These tests can be functional or non-functional, though usually

functional. The test designer selects valid and invalid inputs and

determines the correct output. There is no knowledge of the test

object's internal structure.

Implementation

In this phase the designs are translated into code. Computer programs are

written using a conventional programming language or an application generator.

Programming tools like Compilers, Interpreters, and Debuggers are used to

generate the code. Different high level programming languages like C, C++, Pascal,

and Java are used for coding. With respect to the type of application, the right

programming language is chosen

19

Page 20: Restaurant Reservation

4.Technology and Operation System

The .Net Framework

A frame work is commonly thought of as a set of class libraries that aid in the

development of applications. The .net framework is more than just a set of classes.

The .net framework is targeted by compliers using a wide variety of applications.

Including everything from small components that run on handheld devices to large

Microsoft ASP.ET application that span web farms, where multiple web serves act

together to improve the performance fault tolerance of a web site. The .NET

framework is responsible for providing a basic platform that these applications can

share. This basic platform includes a runtimes set of services that oversee the

execution of applications. A key responsibility of the runtime is to manage execution

so that software written by different programming languages uses classes and other

types safely.

Microsoft .Net Framework Architecture

Microsoft's .NET Framework is comprised of two main components - the

Common Language Runtime (CLR) and the .NET Framework class libraries. The CLR

is the real foundation of the .NET Framework. It is the execution engine for all .NET

applications. Every target computer requires the CLR to successfully run a .NET

application that uses the .NET Framework.

The main features of CLR include:

Automatic Memory Management

Thread Management

Code Compilation & Execution

Code Verification

High level of security

Remoting

20

Page 21: Restaurant Reservation

Structured Exception Handling

Interoperability between Managed and Unmanaged code.

Integration with Microsoft Office System

All .NET applications are compiled into Intermediate Language code (MSIL).

When executed on the CLR, MSIL is converted into native machine code specific to

the operating platform. This process is done by a Just in Time (JIT) compiler. The

code executed by the CLR is called as Managed Code. This code is type safe and

thoroughly checked by the CLR before being deployed. The .NET runtime also

provides a facility to incorporate existing COM components and DLL's into a .NET

application. Code that is not controlled by the CLR is called Unmanaged Code.

The .NET Framework is further comprised of Common Type System (CTS) and

Common Language Specification (CLS). The CTS defines the common data types

used by .NET programming languages. The CTS tells you how to represent

characters and numbers in a program. The CLS represents the guidelines defined by

for the .NET Framework. These specifications are normally used by the compiler

developers and are available for all languages, which target the .NET Framework.

Net architecture Common Language Specification

21

Page 22: Restaurant Reservation

To fully interact with other objects regardless of the language they were

implemented in, objects must expose to callers only those features that are common

to all the languages they must interoperate with. For this reason, the Common

Language Specification (CLS), which is a set of basic language features needed by

many applications, has been defined. The CLS rules define a subset of the Common

Type System; that is, all the rules that apply to the common type system apply to the

CLS, except where stricter rules are defined in the CLS. The CLS helps enhance and

ensure language interoperability by defining a set of features that developer can rely

on to be available in a wide variety of languages. The CLS also establishes

requirements for CLS compliance; these help you determine whether your managed

code conforms to the CLS and to what extent a given tool supports the development

of managed code that uses CLS features.

If your component uses only CLS features in the API that it exposes to other

code (including derived classes), the component is guaranteed to be accessible from

any programming language that supports the CLS. Components that adhere to the

CLS rules and use only the features included in the CLS are said to be CLS-compliant

components.

The CLS was designed to be large enough to include the language constructs

that are commonly needed by developers, yet small enough that most languages are

able to support it. In addition, any language constructs that makes it impossible to

rapidly verify the type safety of code was excluded from the CLS so that all CLS-

compliant languages can produce verifiable code if they choose to do so.

Common Language Runtime

The Common Language Runtime (CLR) is the virtual machine component of

Microsoft's .NET initiative. It is Microsoft's implementation of the Common

22

Page 23: Restaurant Reservation

Language Infrastructure (CLI) standard, which defines an execution environment

for program code. The CLR runs a form of byte code called the Microsoft

Intermediate Language (MSIL), Microsoft's implementation of the Common

Intermediate Language.

Developers using the CLR write code in a high level language such as C#. At

compile-time, a .NET compiler converts such code into MSIL (Microsoft

Intermediate Language) code. At runtime, the CLR's just-in-time compiler (JIT

compiler) converts the MSIL code into code native to the operating system.

Alternatively, the MSIL code can be compiled to native code in a separate step prior

to runtime. This speeds up all later runs of the software as the MSIL-to-native

compilation is no longer necessary.

Although some other implementations of the Common Language

Infrastructure run on non-Windows operating systems, the CLR runs on Microsoft

Windows operating systems.

The virtual machine aspect of the CLR allows programmers to ignore many

details of the specific CPU that will execute the program. The CLR also provides

other important services, including the following:

• Memory management

• Thread management

• Exception handling

• Garbage collection

• Security

Introduction to ASP.NET

Although in C# Language, .NET is a powerful but simple language aimed

primarily at developers creating web applications for the Microsoft .NET platform. It

inherits many of the best features of C++ but with some of the inconsistencies and

anachronisms removed, resulting in cleaner and logical language. C# also contains a

23

Page 24: Restaurant Reservation

variety of useful new innovations that accelerate application development,

especially when used in conjunction with Microsoft Visual Studio .NET.

The Common Language Runtime provides the services that are needed for

executing any application that’s developed with one of the .NET languages. This is

possible because all of the .NET languages compile to a common Intermediate

Language. The CLR also provides the common type system that defines that data

types that are used by all the .Net languages. That way, you can use same data types

regardless of what.NET language you’re using to develop your application.

24

Page 25: Restaurant Reservation

Microsoft ASP.NET( C # )

Microsoft ASP.NET( C # ) is one of the most well known languages for the front-

end programming. It provides a ‘Rapid Application Development ‘environment to

the developers. It provides supports for the ODBC (Open Database Connectivity)

and RDO data access methods, which can be used as a powerful development tools.

It also supports ActiveX Data Objects (ADO) access methods, which is useful in

creating a web page, and writing DHTML applications. It has such tools that any

programmer can have an attractive screens which he imagines. It is the most widely

used languages and is more flexible. Also one can have the desired properties of the

various commands to create textbox’s, labels, used in the screens. It also has the

facility to create menu.

Microsoft ASP.NET(C #) is based on Visual Studio.NET that was developed in

early 70’s. Visual Studio .Net comes in several varieties including the following:

Microsoft, realizing that ASP does possess some significant shortcomings,

developed ASP.net. ASP.net is a set of components that provide developers with a

framework with which to implement complex functionality. Two of the major

improvements of ASP.net over traditional ASP are scalability and availability.

ASP.net is scalable in that it provides state services that can be utilized to manage

session variables across multiple web services in a server farm. Additionally,

ASP.net possesses a high performance process model that can detect application

failures and recover from them. We use the fundamentals of programming with C#

using Visual Studio .NET and .NET framework.

The project is the starting point for authoring applications, components &

services in Visual Studio.NET 2008.It eats as a container that manages your source

code, data connections & references. A project is organized as part of a solution,

which can contain multiple projects that are independent of each other. C# project

file has .asproj extension whereas solution file has .sln extension.

25

Page 26: Restaurant Reservation

In order to write code against an external component, your project must first

contain a reference to it. A reference can be made to the following types of

component.

(1) .NET class libraries or assemblies

(2) COM components

(3) Other class libraries of projects in the same solution

(4) XML web services

Features of ASP.NET:

(1) Component Infrastructure.

(2) Language Integration.

(3) Internet Interoperation.

(4) Simple Development.

(5) Simple Deployment.

(6) Reliability.

(7) Security

26

Page 27: Restaurant Reservation

Introduction to Microsoft SQL Server

Microsoft SQL Server enhances the performance, reliability, and scalability

provided by earlier releases of SQL Server by making the processes of developing

applications, managing systems, and replicating data easier than ever.

All of data processing is involved with the operations of storing and

retrieving data. A database, such as Microsoft SQL Server, is designed as the central

repository for all the data of an organization. The crucial nature of data to any

organization underlines the importance of the method used to store it and enable its

later retrieval.

Microsoft SQL Server uses features similar to those found in other databases

and some features that are unique. Most of these additional features are made

possible by SQL Server’s tight integration with the Windows NT operating system.

SQL Server contains the data storage options and the capability to store and process

the same volume of data as a mainframe or minicomputer.

Like most mainframe or minicomputer databases, SQL Server is a Database

that has seen an evolution from its introduction in the mid-1960s until today.

Microsoft’s SQL Server is founded in the mature and powerful relational model,

currently the preferred model for data storage and retrieval.

Unlike mainframe and minicomputer databases, a server database is

accessed by users-- called clients--from other computer systems rather than from

input/output devices, such as terminals. Mechanisms must be in place for SQL

Server to solve problems that arise from the access of data from perhaps Hundreds

of computer systems, each of which can process portions of the database

independently from the data on the server. Within the framework of a client/server

database, a server database also requires integration with communication

components of the server in order to enable connections with client systems.

27

Page 28: Restaurant Reservation

SQL server also contains many of the front-end tools of PC databases that

traditionally haven’t been available as part of either mainframe or minicomputer

databases. In addition to using a dialect of Structured Query Language (SQL), GUI

applications can be used for the storage, retrieval, and administration of the

database.

Data Access Layer:

When working with data one option is to embed the data-specific logic directly

into the presentation layer. This may take the form of writing ADO.NET code in the

ASP.NET page's code portion or using the SqlDataSource control from the markup

portion. creating a connection to the database, issuing SELECT, INSERT, UPDATE,

and DELETE commands, and so on – should be located in the DAL.The presentation

layer should not contain any references to such data access code, but should instead

make calls into the DAL for any and all data requests. I have created data access

layer for Fill() and Get() methods. Get is done by two ways.

GetStory(),which will return information about the success story or user who

met by this site.

GetMessage(), which will return information about a message for particular

type of membership.

These methods, when invoked, will connect to the database, issue the

appropriate query, and return the results. These methods could simply return a

Dataset or Data Reader populated by the database query, but ideally these results

should be returned using strongly-typed objects.

In strongly-typed Data Table, will have each of its columns implemented as

properties, resulting in code that looks like: DataTable .Rows [index].column Name.

28

Page 29: Restaurant Reservation

Figure illustrates the workflow between the different layers of an application

that uses Typed Datasets.

To retrieve the data to populate the Data Table, I used a Table Adapter class,

which functions as my Data Access Layer. For our story Data Table, the Table

Adapter is containing the methods – Getstory(), Getstorybyid(memberid), and so on

– that I can invoke from the presentation layer. The Data Table’s role is to serve as

the strongly-typed objects used to pass data between the layers.

I have a Typed Dataset with a single Data Table (message) and a strongly-

typed Data Adapter class (FmsgTableAdapter,PmsgTableAdpter) with a

GetMessage() method.

In my application I have used pattern for inserting, updating, and deleting

data, this pattern involves creating methods that, when invoked, issue an INSERT,

UPDATE, or DELETE command to the database that operates on a single database

record. Such methods are typically passed in a series of scalar values (integers,

strings, Booleans, Date Times, and so on) that correspond to the values to insert,

update, or delete.

29

Page 30: Restaurant Reservation

The patterns use the Table Adapter’s Insert Command, Update Command, and

Delete Command properties to issue their INSERT, UPDATE, and DELETE

commands to the database.

Figure Each Insert, Update, and Delete Request Is Sent to the Database

Immediately.

30

Page 31: Restaurant Reservation

5.Software and Hardware Requirement Specifications

System Implementation

The system was initially implemented in only one computer on trial basis.

First, dummy data was fed & the testing was done. All the validations & constraints

in the system were checked & tested for dummy data so that the system will not give

any error in future. It satisfies the needs of the users.

After the successful & smooth running, the system is ready for the final

installation or implementation on other computers.

The system was implemented in parallel to the old system to test whether

the system is able to perform the required task with required accuracy. After near

about 15 days the new system was completely in use.

Hardware and software require

Hardware

Pentium 2.90 Ghz. Or higher microprocessor

320 GB or More Disk Space

4 GB Ram

DVD Driver.

Mouse

Keyboard

Printer

31

Page 32: Restaurant Reservation

Software

Microsoft Word. (MS Agent), MS-Visio, net Frame works, MS-Sql Server

express edition.

Window platform Any Windows operating system

Details of Hardware and Software used

Details of Hardware Used

Pentium 2.90 Ghz..

320 GB Hard Disk.

4 GB RAM.

Software Used

Application Package used is Microsoft ASP.NET( C # )

Database Package: Microsoft SQL Server 2005.

Othe tools: Microsoft VISIO (UML modeling)

MS-WORD

32

Page 33: Restaurant Reservation

Window Platform

Operating System: Windows 00 / NT/window XP

33

Page 34: Restaurant Reservation

6.Analysis

Data Flow Diagram

After the conclusion of interviews of officials and observations from

Preliminary Investigation, Feasibility Study and Software Requirement

Specifications was signed. I had to draw the Functional Specifications from Data

Flow Diagram techniques, to start designing the system.

What is a Data Flow Diagram?

Data flow diagrams illustrate how data is processed by a system in terms

of inputs and outputs.

34

Page 35: Restaurant Reservation

Data Flow Diagram Notations

You can use two different types of notations on your data flow diagrams:

Yourdon & Coad or Gane & Sarson.

Process: A process transforms incoming data flow into outgoing data

flow.

35

: Yourdon & Coad Process

: Gane & Sarson Process

Page 36: Restaurant Reservation

Data Flow Diagram Layers

Draw data flow diagrams in several nested layers. A single process node

on a high level diagram can be expanded to show a more detailed data

flow diagram. Draw the context diagram

The nesting of data flow layers

Context Diagrams: A context diagram is a top level (also known as Level

0) data flow diagram. It only contains one process node (process 0) that

generalizes the DFD.

36

Page 37: Restaurant Reservation

37

Page 38: Restaurant Reservation

Data Flow Diagram

Context Level Diagram

38

Page 39: Restaurant Reservation

39

Page 40: Restaurant Reservation

40

Page 41: Restaurant Reservation

41

Page 42: Restaurant Reservation

42

Page 43: Restaurant Reservation

43

Page 44: Restaurant Reservation

44

Page 45: Restaurant Reservation

E-R Diagram

45

Page 46: Restaurant Reservation

Schema Diagram

46

Page 47: Restaurant Reservation

Data Dictionary

User Detail Table:-Field Name Data Type Width Attributes DescriptionUserId int 4 Primary Key User Id No.FirstName varchar 50 Not Null FullName of the UserLastName varchar 50 NotNull LastName of UserGender char 10 Not Null Sex Of the UserBirthdate date/time 50 Not Null Birthdate of the UserEmailId varchar 50 Not Null Email Address of the User.Address varchar 100 Not Null Address of the User.City char 50 NotNull CityNamePincode Numeric 9 NotNull Pincode NumberPhone Numeric 9 Not Null Phone no of the User.UserName varchar 50 Not Null UserName of the User.Password varchar 50 Not Null Password of the User.Type of User char 20 Not Null Type of the User

47

Page 48: Restaurant Reservation

Categorymaster Table:-Field Name Data type Width Attributes DescriptonCategory Id Int 4 Primary Key Category Id No.Category Name varchar 50 Not Null Name of the CategoryDescription varchar 100 Allow Null Description of the

CategoryMaxPrice Numeric 9 Allow Null Maximum Price Of

Category

Menumaster Table:-Field Name Data Type Width Attributes DescriptionMenuId Int 4 Primary Key Menu No. Of the

MenuCategoryId Int 4 Not Null(Fk) Category No. Of

the MenuMenuName Varchar 50 Not Null Name of the

MenuDescription Varchar 100 Allow Null Description of the

MenuPrice Numeric 9 Not Null The Price of the

Menu

Booking Details Table:-

Field Data Type Width Attributes Description

BookingId Int 4 Primary Key Booking ID NoUserId Int 4 Not Null(Fk) User No of the

UserRestaurantId Int 4 Not Null(Fk) RestaurantId of

the RestaurantDate Date/Time 8 Not Null Booking Date of

the userPeopleSize Numeric 9 Not Null No. of People

Booked For TableCancelStatus Char 1 Not Null Booking Status of

the user

48

Page 49: Restaurant Reservation

Bill Details Table:-Field Name Data Type Width Attributes DescriptionBillId Int 4 Primary Key Bill No Of the

UserBookingId Int 4 Not Null(Fk) Booking No. Of the

User.Date DateTime 8 Not Null DateTime of the

BookingTotalAmount Numeric 9 Not Null TotalAmount of the

bookedMenu

Offermaster Table:-

SpecialmasterTable:-

Field Name Data Type

Width Attributes Description

SpecialId Int 4 Primary Key SpecialNo Of the Menu

Special Name Varchar 50 Not Null The Special Name

49

Field Name Data Type

Width Attributes Description

OfferId Int 4 Primary Key OfferNo Of the Menu

Offer Name varchar 50 Not Null The Offer NameRate Numeric 9 Not Null The Rate of the

Offer Description Varchar 100 Allow Null The Description

of the OfferStratingDate Date/Time 8 Allow Null Display date of

the offer for particular day

Ending Date DateTime 8 Allow Null Ending Date of the Offer

Page 50: Restaurant Reservation

Rate Numeric 9 Not Null The Rate of the Special

Description Varchar 100 Allow Null The Description of the Special

StratingDate Date/Time 8 Allow Null Display date of the Special for particular day

Ending Date DateTime 8 Allow Null Ending Date of the Special

UserAccessCounterDetails:-Field Name Data Type Width Attributes DescriptionAccessCountId Int 4 Primary key This give the no

of times user access the webpages

UserId Int 4 NotNull(Fk) UserId of User

Restaurantmaster Table:-Field Name Data Type Width Attributes DescriptionRestaurantId Int 4 Primary Key Restaurant No AreaId Int 4 Not Null(Fk) Area No. Of the

RestaurantRestaurantName DateTime 8 Not Null Name of the

RestaurantAddress Numeric 9 Not Null Address of the

RestaurantCuisine Char 50 Not Null Cuisine of the

Restaurant

Areamaster Table :-

50

Field Name Data Type Width Attributes DescriptionAreaId Int 4 Primary Key Area No AreaName Char 50 NotNull Name of Area

Page 51: Restaurant Reservation

CancellationdetailsTable :-Field Name Data Type Width Attributes DescriptionCancellationId Int 4 Primary Key CancellationNo BookingId Int 4 NotNull(Fk) Booking No

FeedBack Table :-

Field Name Data Type Width Attributes DescriptionFeedbackId Int 4 Primary Key FeedbackNo UserId Int 4 NotNull(Fk) UserNoComments varchar 1000 NotNull Comments

&Suggestion by User

RestaurantSuggestion Table:-Field Name Data

TypeWidth Attributes Description

RestaurantSuggestionId Int 4 Primary Key RestaurantSuggestion No UserId Int 4 NotNull(Fk) User NoRestaurantName varchar 50 NotNull Name of Restaurant

suggest by userComments varchar 250 AllowNull Comments about

Restaurant

MenuBookingDetail Table :-Field Name Data

TypeWidth Attributes Description

MenuBookingId Int 4 Primary Key OfferNo Of the Menu

BookingId int 4 Not Null(Fk) The BookingNoMenuId Int 4 Not Null(Fk) MenuNoMenuName varchar 50 Not Null Name of the

MenuPrice Numeric 9 Not Null Price of the MenuQuantity Numeric 9 Not Null Quantity of MenuTotalPrice Numeric 9 NotNull Total of Price of

Menu per Quantity

Restaurantdetail Master Table :-

51

Page 52: Restaurant Reservation

Field Name Data Type

Width Attributes Description

RestaurantdetailId Int 4 Primary Key Restaurantdetail No MenuId Int 4 NotNull(Fk) Menu NoRestaurantId Int 4 NotNull(Fk) RestaurantNoOfferId Int 4 AllowNull(Fk) OfferNoSpecialId Int 4 AllowNull(Fk) SpecialNo

52

Page 53: Restaurant Reservation

Number of Modules

This system contains two modules:

a) Administrator module

b) Client module

c) Report

a) Administrator Module

The administrator module contains the following sub-modules:

Area Master Category Master Menu Master Restaurant Detail Master Restaurant Master Special Master Offer Master Register New User Login Form Forgot Password Change Password

53

Page 54: Restaurant Reservation

b) Client module

The client module contains the following sub-modules:

Client User Registration Details Client Login Form Client Welcome Page Client Booking Detail Client Menu Item Detail Client Item Detail

c) Report

Areawise Restaurant Information Report User Details Report Booking Details Report

54

Page 55: Restaurant Reservation

Screen Shot

Admin

7. Coding

55

Page 56: Restaurant Reservation

8.Code Efficiency

Efficiency of code is mainly dependent on how intelligently coding is

done. There is no specific technique by which any one can say, this is the

efficient code and other one is a bad one, it all depends on the

programmer that how efficiently he uses his intellect. And the other most

important thing is the way one is handling the language; which is used to

develop the code and for that one has to have proper knowledge of

language.

But still there are some common techniques and structures; if any one

follows that then his/her code can become quite efficient.

E.g. Variable Naming Conventions, Properly used scope of variable, use of

control structure and looping structure in a easier and a simpler way as

much as possible.

To write code in a proper order and sequence, the order and sequence

again depends on the programmer and the situation.

56

Page 57: Restaurant Reservation

9.Optimization of code

If coding is done efficiently then it should also be used or done optimistically. i.e.

best use of code.

What is the reason behind this optimization?

Optimization means make best or most effective use.

E.g. there is one efficient function or efficient environment oriented

language or tool is available but if optimum use of that function or tool or

language makes the whole program more simpler, effective and user

friendly also.

Now, how to optimize? Again it mostly depends on the programmer, that

how intelligently he is doing all those things, still there are some basic

rules to make our code optimistic.

First thing is, develop the code which is general i.e. that code cannot be

purposefully developed only by one angle. i.e. only for current system.

Programmer must be awake of all the general usage of that code, at least

he/she has to look out onto most of the probabilistic events or conditions

or specifications that can occur. The most usage of any function can also

be cleared prior to making them, then only one can develop the general

purpose code which can be said as optimization of code. So ultimately

code must be reusable.

Second is, Modularization i.e. most important thing for optimization. If

total code is distributed in proper modules prior to start of the actual

coding then it’s a better way of coding. General Module i.e. Standard

Module is used.

Third thing is capabilities; utilities and facilities which are provided by

language or tool or environment in which the programmer is developing

the code must be properly known.

57

Page 58: Restaurant Reservation

Active X Control named as EdgeCtl.ocx

The most important thing to use OCX is its Reusability.

MDI is used so, automatically it optimizes the code.

The Optimization goal is achieved by combining the OCX and MDI.

58

Page 59: Restaurant Reservation

10.Validation check

1. To Valid means totally accepted so validations checks

indicating, to check whether the entered data is totally

acceptable or not before actual insertion in to the database.

2. Let’s find what are the validations checks are existed in the

present system.

3. The first validation is all numeric fields must be filled with only

numeric data.

4. The second validation is the limit of numeric field. e.g.

percentage % value cannot be greater than 100.

5. The third validation is user cannot enter any item into customer-

bill other than existing item in the database. To implement this

validation whenever user wants to generate the customer bill,

he/she always have item details list and he/she has to select

items only form that list.

6. Payment only done with cash, chque/DD. Credit card is not

allowed.

7. In a Particular field like Item name, Category name, Date of

Reservation, Time if Reservation can’t be kept. So it is the

validation not Allowed in the system.

8. Table Reservation validation : Date must be greater than or

equal to till date.

9. Proper numeric calculations methods are maintained to

maintain total outstanding and paid amount for Customer.

10. There are also various constraints to fulfill the purpose

validation checks at database level.

11. Data store in the reference table/column is validated through

a visual graphical component like combo, List views, three views

59

Page 60: Restaurant Reservation

which makes the foreign key value consistent & sure to be

present in the parent table.

12. All Date field values are stored as “DD-MM-YY”formate and

will be consistent through system.

13. All database fields that take in a single value, as flag will

content Digit.

14. All text field make length is set according to the mapped

database fields, so the characters do not exceed the maximum

length.

15. All text fields that take inputs as alphanumeric will be

validated, So that only alphabets are taken as parameters for

input.

60

Page 61: Restaurant Reservation

11.Testing

To examine critically is called Testing. Whatever we have developed

whether it is properly working or how much correctly the development has been

done or what are the errors. To answer these type of questions testing is required.

First of all the project is debugged by method of Traditional breakpoint facility.

Debugging means the process of isolating and correcting the cause of known errors.

Various testing methods are used to test the system.

System Testing

A system is tested for online responses, volume of transactions, stress,

and recovery from failure, and usability. System testing involves two

kinds of activities – Integration testing and acceptance testing.

Integration Testing

Bottom up integration is the traditional; strategy used to integrate the

components of a software system into a functioning whole. Bottom-up

integration consists of unit testing, followed by subsystem testing,

followed by testing of the entire system. Unit testing has the goal of

discovering errors in the individual modules of the system.

61

Page 62: Restaurant Reservation

Unit Testing

A program unit is usually small enough that the programmers who

developed it can test it in great detail and certainly in greater detail will

be possible when the unit is integrated into an evolving software product.

There are four categories of tests a programmer will typically perform on

a program unit:

1. Functional Tests: specify operating conditions, input values and

expected results. For example the function Numeric written to check

whether data is numeric or not the argument can be passed as null

argument.

2. Performance Tests: should be designed to verify response time,

execution time, throughput, primary and secondary memory utilization

and traffic rates on data channels and communications. A query executed

takes 5 seconds to display results, is a test for response time. Execution

time is the time taken by CPU to execute a program. Throughput is the

rate at which data gets transferred from one data source to destination.

Primary and secondary memory utilization needs to be optimized. Traffic

rates on data channels and communication link testing are applicable for

networks.

3. Stress Tests: are designed to overload a system in various ways. The

purpose of test is to determine the limitations of the system. During

multiple query execution the available memory can be reduced to see

whether the program is able to handle the situation.

4. Structural Tests: are concerned with examining the internal processing

logic of a software system. For example, if a function is responsible for tax

calculation, the verification of the logic is a structural test.

To test the code there are two testing methods, which are very popular

they mentioned below 1. White box 2. Black Box.

62

Page 63: Restaurant Reservation

Database Testing

Modern Web Application does much more than present static content objects. In

many application domains, Web Application interface with sophisticated database

management system and build dynamic content object that are created in real time

using the data acquired from a database.

Database Testing for Web Application is complicated by a variety of factor.

1) The original client side request for information is rarely presented in the form

that can be input to a database management system.

2) The database may be remote to the server that houses the Web application.

3) RAW data acquired from the database must be transmitted to the Web

application Server and properly formatted for subsequent transmittal to the client.

4) The dynamic content objects must be transmitted to the client in a form that can

be displayed to the end user.

63

Page 64: Restaurant Reservation

Database

[Layers of interaction]

In figure testing should be ensure that

1. Valid information is passed between the client and server from the interface layer

2. The Web application process script correctly and properly extract or formats

user data.

64

Client layer-user interface

Server layer- WebApp

Server layer- Data transformation

Server layer - data Management

Database layer – data access

Page 65: Restaurant Reservation

1. Queries are passed to a data management layer that communicates with

database access routines.

2. User data are passed correctly to a server side data transformation

function that format appropriate queries.

Interface Testing

Interface design model is reviewed to ensure that generic quality criteria

established for all user interfaces have been achieved and that application specific

interface design issue has been properly addressed.

Interface testing strategy

The overall strategy for interface testing is to (1) Uncover error related to

specific Interface mechanisms (2) uncover errors in the way the interface

implements the semantics of navigation, Web Application functionality, or content

display. to accomplish this strategy, a number of objectives must be achieved:

Interface futures are tested to ensure that design rules, aesthetics, and related visual

content are available for the user without error. Individual interface mechanisms

are tested in a manner that is a logous to unit testing For example; tests are

designed to exercise all forms, client-side scripting, dynamic HTML. Each interface

mechanism is tested within the context of a use-case or NSU for a specific user

category the interface is tested within a variety of environments to ensure that it

will be compatible.

Compatibility Testing

Web application must operate within environment that differs from one

another. Different computer, display device, OS, browser and network connection

speed can have significant on Web application operation. Different browser some

time produced slightly different results, regardless of the degree of HTML

standardization within the Web application. 65

Page 66: Restaurant Reservation

The Web Engineering team derives a series of compatibility, validation

tests, derived from existing interface tests, navigation tests, performance tests and

security tests.

66

Page 67: Restaurant Reservation

12.Implementation & Maintenance

After testing system will be implemented at the actual site.

Therefore, implementation team should be provided with a well-defined set

of software requirements, an architectural design specification and a detailed

design description.

After that user training schedule will be arranged.

Whole system itself consists HELP MENU and HELP TOIPCS so; no major

problem will be encountered.

After three or four months first actual feedback will be taken.

Form that feedback necessary other tips and points will be discussed.

The maintenance is free for one year from system implementation year, after

that it depends on the management to continue or to discontinue. The

maintenance-working schedule will be discussed after three months

evolutions.

67

Page 68: Restaurant Reservation

System Security Measures

At the back end very powerful security is provide by SQL SERVER 2005.

Without proper username and password no one can enter in the

database.

Again if user name and password is correct then that user can do only

those operations, which are granted by the administrator.

On Front end side, security is provided by unique user name and

password which is known by him or administrator no one else knows it.

So, anybody who does not know the password and username cannot use

it.

The account creation for new user is done by administrator.

Star Placement Services do not want very high security in this version so,

high level security is not implemented .That will be implemented in the

next version.

68

Page 69: Restaurant Reservation

Cost Estimation

Here, I have roughly rounded the cost estimation:

This is just a rough estimation, so it can be predicted more or less in some

cases than actual estimation.

Total there are 20 forms in the software so designing and coding

costing around ` 5000 + Reports costing ` 5000 and + Database

`15000 = `25000.

The cost of Extra Reports, Utilities, and Original software, Hardware

are not estimated and included in the cost estimation.

69

Page 70: Restaurant Reservation

13.Reports

Let me first of all define the word Report; that means To Inform, A Form of

Statements or Make Official or Formal Statement, Write Description for

Publication or Bring to Attention of Authorities according to OXFORD

Dictionary.

Here, the system is generating some reports; which are very essential for

customers and management also.

Reports are generated by Combining And Connecting SQL SERVER 2005

Database With The Data Environment Technology Designed By Microsoft

Visual studio.net

70

Page 71: Restaurant Reservation

Analysis27%

Feasibility13%

Soft. Par.8%

Req.1%

Design16%

Coding21%

Val.2%

Testing8%

Impl.6%

Reports

14.Chart

Pert Chart

71

Page 72: Restaurant Reservation

Project Schedule

No Project Goals Starting Date Ending Date Days

1 Analysis 5-Feb-2013 8-Mar-2013 632 Feasibility Study 9-Mar-2013 31-Mar-2013 233 Soft. Eng. Para. 1-Apr-2013 20-Apr-2013 204 Requirement Spec 21-Apr-2013 25-Apr-2013 55 Design 26-Apr-2013 31-May-2013 36

JUNE EXAM BREAK

6 Coding 1-July-2013 15-Aug-2013 467 Validation Checks 16-Aug-2013 5-Sept-2013 218 Testing 6-Sept-2013 15-Sept-2013 109 Implementation &

Maintenance16-Sept-2013 ---------------- --

10 Documentation Parallel Work done with all the

Schedule

---------------- --

72

Page 73: Restaurant Reservation

73

Page 74: Restaurant Reservation

15. Future scope of Project

Future Enhancements:-

As software is used, the customer/user will recognize additional

function that will provide benefit.

The system can be enhanced at later to give the following

features:

The same system can be made available for multiple city or

rather multiple state or may for all over country (which may

includes Restaurants of all over country) with few changes in

the system relative to the database and additional web pages

added for the same.

The system can be made more informative by including the

recipes details of all menus available and allowing the admin to

add recipes and users to add recipes at their will.

The system can be made more user friendly by allowing the

facilities like home delivering of orders or dining at restaurant

etc.

The same system can be made available on mobile phones

through Internet with slight modifications in the pages.

74

Page 75: Restaurant Reservation

16. Bibliography

Books

ASP.NET(Black Book). Professional ASP.NET(Wrox Publication). C# Vijaymukhi. ASP.NET Complete Reference. Software engineering Concepts By Roger S.Presman UML IN A NUTSHELL By Alhir Fundamentals of Software Engineering By Rajib Mall SQL Server 2005 (Wrox Publication).

Web Sites

www.google.com www.dotnetspider.com www.codeproject.com www.c#corner.com

75