Sie sind auf Seite 1von 28

Table of Contents

Introduction...........................................................................................................2 Background........................................................................................................2 Objective............................................................................................................3 Purpose and Scope.............................................................................................4 Purpose...........................................................................................................4 Scope...............................................................................................................4 Survey of technologies..........................................................................................5 Servlet:...............................................................................................................5 JSP (java Server page):.......................................................................................6 HTML : ...............................................................................................................6 JavaScript : ........................................................................................................7 CSS :...................................................................................................................7 Requirements and Analysis....................................................................................8 Problem Definition..............................................................................................8 Requirement Specification..................................................................................8 DFD..................................................................................................................9 Use Case Diagram.........................................................................................13 Domain Modeling...........................................................................................14 ER Diagram:..................................................................................................15 Planning and Scheduling..................................................................................16 Software and Hardware Requirements.............................................................20 Preliminary Product Description.......................................................................21 Conceptual models..........................................................................................22 module Architecture .....................................................................................22 Database design...............................................................................................26 References...........................................................................................................28

INTRODUCTION
Background
In the traditional scenario, booking the banquet hall for the any occasion is not a tuff task. But if there are limited banquet hall and number of family wants to book a banquet hall, it will become cumbersome task for the booking company. Each and every time slot need to be track to check the availability of the banquet hall on any particular date. So they need to maintain the records. Some are doing this manually. When anybody asks for banquet hall, they check their register and tell the customer for status. But they dont know the future orders of booking. To know about the status of banquet hall, customers contact to offering party. This will become headache for the booking company to deal with so many customers. So we have to find out alternate way to provide the banquet hall booking services. Today, Internet becomes essential part of like for people. Everything is going to be computerized and people are going to be more used to computer. All the works of daily routines are done online. Today Net user expects all the working to be online like Banking, shopping, etc. It saves their time and effort to finish their work. It provides reliability and security. To save time, mostly people prefer internet for their daily routine work like payment, shopping, messaging, etc. So we can think that if we want to exchange knowledge and information across the world, internet is the best way. Information placed on the internet become available to everyone from everywhere on any time. Due to high availability and usability, generally refer internet to do all the works, those can be done online. So if we automate any business process to computerized, it will become more responsive business. So we can automate all activities related to booking banquet hall for customer. We are going to implement web based application that will provides the facility to user to track the banquet hall status and user will able to book it. System will validate the user before booking and all the work will be done without any paper work. We are going to implement the web based application in java technologies using the MySql database.

Objective
The main objective of this project is to automate the banquet hall booking activities. This is the web based application that can be accessed from anywhere in the world having internet connection on his/her computer. Any person can query any information and can place online booking order. This application will maintain all the records of customers and any person can query for availability for the banquet hall. System will check various terms and condition before book it to any person. This system will allows user to book other services available to customer on demand. As any customer book the banquet hall, system will change the status on banquet hall. System will allow user for advanced booking and display the booking timeline for the customers. System will maintain various banquet hall profile and the services offered by them. There will be mainly two type users, one is customer and other is vender of banquet hall. System will allow changing the profile of banquet hall by vender. When new customer want to book the banquet hall, he/she will fill a form in which they will have to provides some necessary information like, booking days, family members, maximum guests, etc. user will fill the form and form is submitted to concern person of banquet hall. The form is evaluated first and them banquet owner book the banquet hall to customer. These entire features will be implemented in the project.

Purpose and Scope


Purpose
The main purpose of this project is to develop an application that will reduce the cost and time wasted to book the banquet hall. This application will provide the facility o user to access the information of bequest hall in the world. Customer will not require coming to banquet hall owner and asking for status. All features to be implemented are common to all bequest hall owners. This is a generic project that can be used by any banquet hall. We want to apply theoretical knowledge into practical implementation. This project will give us some experience to work on project. After done this project, we will able to perform better in final project.

Scope
This project is an application being developed into java and j2ee technologies and can be access from anywhere in the world. This application is web based and it will have web based user interfaces. So to access it from any location, user no need to install any software in his machine.

SURVEY OF TECHNOLOGIES
This project will be developed in JEE(Java Enterprise Edition ) technologies. We will use JSP and servlet for server side implementation and HTML, JavaScript and CSS for client side implementation. The server being used is Apache Tomcat 6.x. Implementation project in these technologies there following advantages.

Project will be platform independent. There is object oriented concept for build the effective project and java follows this concepts. This is open source technology There is strong support behind this technology.

Java has following features


Simple Object-Oriented Distributed Interpreted Robust Secure Architecture Neutral Portable High Performance Dynamic Multi threaded

Servlet:
Servlet is a server side java program that extends the capabilities of server. Servlet program is used by server to process the request of client and to generate the response to the client.

For example if you want that, I want to send a request to server to change my name into Uppercase then how the server will do it. Server should have such type of capability. So developer will place a program at the server side that can change the string into uppercase and developer tells the server about that program by some configuration then server will use this program to change the string into uppercase.

Servlet does not run itself, it is invoked by the web server (or by web container) to process the request of client. At that time server will execute some portion of servlet instance according to request and after sending response the servlet instance will available to be used for anther request. Servlet provides all required features like session control, filtering, security etc.

JSP (java Server page):


JSP (Java Server Pages) is a technology based on the java language that allows developer to embedding dynamic code with static markup. Here Dynamic code means; codes written in java language, jsp tags, jsp actions etc. those are processed by server, not visible from client side and client gets only output. Static markup mean; codes that are not processed by the server and sent to client side as it is.

The first Java Server Pages specification was released by Sun Microsystems in 1999. This specification provides syntax and semantic to create a jsp pages. The recommended file extension for the source file of a JSP page is .jsp.

JSP pages look like web pages having some embedded contents. These embedded contents are program elements used by the server to generate client specific output.

HTML :

HTML stands for Hyper Text Markup Language. An HTML file is a text file containing small markup tags. The markup tags tell the Web browser how to display the page. An HTML file must have an .htm or .html file extension. An HTML file can be created using a simple text editor. Hypertext means that some text in the HTML document carries a link to a different location. Such links can be presented either on the same page or some other page located on another computer page. On clicking this 'hot spot', the viewer is transferred to that location. Markup means that specific portions of a document are marked up to indicate how they should be displayed in the browser.

JavaScript :
JavaScript is scripting language that is used to implements dynamic functionality into HTML page being executed by web browser. It is interpreted by web browser and executed on the spot. Because JavaScript code can run locally in a user's browser (rather than on a remote server) it can respond to user actions quickly, making an application feel more responsive. Furthermore, JavaScript code can detect user actions which HTML alone cannot, such as individual keystrokes. Applications such as Gmail take advantage of this: much of the user-interface logic is written in JavaScript, and JavaScript dispatches requests for information (such as the content of an e-mail message) to the server. The wider trend of Ajax programming similarly exploits this strength.

CSS :
CSS stands for Cascading Style Sheets. CSS is a set of instructions in a linked external file or within the source code of a page. The CSS tells a browser how to render page elements. A CSS file is identified by .css file extension. Therefore, we can simply define Cascading Style Sheets (CSS) as a mechanism for adding style (e.g. fonts, colors, spacing) to Web Documents.

In simple words, CSS style sheets define styles such as fonts, color, margins, spacing, etc. that a web browser must use while rendering a webpage. Style Sheets have Styles stored in them. Styles define how HTML elements should be displayed in the browser. Styles were added to HTML 4.0 to eliminate complexity. External Style Sheets are stored in CSS files. External Style Sheets can save a lot of time and work

REQUIREMENTS AND ANALYSIS


Problem Definition
As a problem definition, are considering description given in Mini Project Guidelines. According to guide line following is problem definition.

Assume a state having different districts, where each district is further having different Sectors, which may comprise of around 100 families. Each Sector is having two banquet halls, one is around 5000 sq. meter and another is 2000 sq. meter. These halls can only be booked by the family head person residing in that sector. You need to design and develop a online website for online banquet hall booking on date and time basis, in order to better facilitate meetings, family functions, cultural events, etc. This website helps any authorized person to book the halls from internet and also shows the availability of a particular hall at the chosen time and date. This website also handles various devices booking such as an Audio system, DJ, Lightning, Video Recording etc.

Requirement Specification
Requirement specification for this project will be documented in detail in project report. Here we are providing brief description about requirements. System will fulfill the entire required task as stated above. Following are functional requirements to be covered in this project. User registration User profile management Listing all banquet halls List available banquet halls Booking a banquet hall Approving banquet hall booking application Notification by admin regarding various issues and events Adding new banquet hall Managing banquet hall Add new services for a particular banquet hall Adding additional services in booked banquet hall 8

Searching schedule for the banquet hall Database configuration System configuration Searching records Sorting the records Security Quality features Administration Backup of data Exporting records Importing records

Non-functional requirements

DFD
Contextual Diagram DFD:

1 M

1 1 1 1 owner 1 M
notification 1 Booking form Booking order

Customer

1 1
services Banque t hall

Banquet Hall Booking Website


users

notification Booking status

admi n

10

DFD 1-Level

11

Admin Manage users

Configur e System users System configurations

Id/pass Register user login Id/pass Id/pass Users User_Profiles profile owner Manage profiles Id/pass

Add banquet hall Allocate banquet hall

Banquet hall

New user

Id/pass

Add other services

service

Request form Banquet hall Other services


Submit form

custome r

Add services

Banquet hall
Book banquet hall

Banquet hall

12

Use Case Diagram

registe r

Add banquet hall Manage profile View banquet halls status Login Send notification Owne r

Custom er

View status Manage other services

Allocate banquet hall

Order for booking Manage user Manage system

admin

13

Domain Modeling
Data entities There are following data entities in this project about which we have to maintain the data. 1. Banquet_hall 2. User 3. Profile 4. Customer 5. Owner 6. Other_services 7. Booking_form 8. Requested_services 9. Available_services

14

ER Diagram:
1 M id 1 M 1 owner 1 1 1 1 1 1 M 1 1 1 M 1 1 id 1 1 phon e 1 User_id profile 1 name M 1 M 1 1 bh_id email M 1 manag es locatio n sect M or M 1 1 1 M 1 1 1 1 1 1 1 1 1 h M as1 User_id 1 1 1 id 1 1 M 1...M Notations
Attribut e

Entity
Relationsh ip Cardinalit y

owner_id

Banquet 1 1 hall 1 1 M 1 1 1 1 h as 1

name contact Distric t

1 is M 1 1 id 1 1 1 1

rv ic1 es Login_i

1 1 Customer_ 1 1 id Durati 1 1 1 d 1 on se is 1 1 1 rv 1 ic 1 1 h se es 1 as rv M 1 ic 1 es 1 1 custom M er M 1 User_id 1 1 1 addres id 1 se 1 s 1 rv ic 1


se rv ic es se es rv ic es

1 user se M

h 1 as M 1 1 M passwo rd 1 1

11 1 bh_id id M M se available_servic rv 1ic 1 1 1 1 es id nam co es M M e 1 1 1 descripti st 1 1 on 1 1 1 Booking_form 1 se 1 se 1 date rv rv 1 ic 1 1 ic occasi es es on 1 se 1 h rv M as 1 ic form_id id es 1 1 Requested_servi M 1 ces service_i 1 d 1 1 1
se rv ic es

se rv ic es

Durati on

15

Planning and Scheduling


The whole project development life cycle has some basic steps to be follows. We will start from the requirements elicitation and finishes on maintenance. There numbers of intermediate steps in each step and may have separate plan for a steps like testing, and construction.

The basic process of development start from requirements elicitation where are the functional requirement are identified to be full fill by the system. After getting all the requirements, we have to refine all requirements through the analysis process. When we analysis elicited requirements, we will find some ambiguities, duplication and complexities in requirements. After analysis of all functional requirements we have to check their feasibility of each requirements whether they can be implemented or not. As we identified functional requirements and we refined them suing various requirements analysis techniques, we create basic architecture of system going to be developed. Here we can create abstract model of system without considering detail information of system. After defining basic architecture of system, we go to design detailed modular design of system and we identify the responsibilities of each module. In the case of Object oriented paradigm, these are known as packages or classes. As designed system is the set of components or modules, then we starts to implement each module. The modular design is known as top-down design approach. Here complex system will be broken into subsystem. All the module are implemented separately and after proper implementation, they are integrated properly to create whole system. After coding or construction phase we will test system against the functional recruitments, whether system full all functional requirement or not. There may be some requirements those are not important of use but required system to support them like performance, security, etc. Testing of system is does in all phases and it is better approach to build a successful projects. For example Coder will test his/her coding using unit testing whether logic is executing perfect or not. At the time of integration, each module will test separately whether all the functionalities to be provided by this, are implemented or not. We test the interface of the module and check that how it will be integrated to other modules

16

After testing each module we , will test whole system. The detailed description of testing will be written into test document in main project report. Software planning begins before technical work starts, continues as the software evolves from the concept to reality, and culminates only when the software is retrieved. The various planning steps planning activities are given in figure shown below. Size Size estimation estimation Cost Cost estimation estimation Development time Development time

Resources Resources requirements requirements

Project Scheduling Project Scheduling

Size estimation The size estimation is the very critical and difficult area of the project planning. It has been recognized as the crucial step from the very beginning. The difficulties in the establishing unit for measuring size lie in the fact that software is essentially abstract: it is difficult to identify the size of a system. Many attempts have been made at establishing a unit of measure for size. The more widely used known are given below.

Line of Code(LOC) Function Count


Cost Estimation

For any software project, it is necessary to know how much it will cost to develop and how much development time will it take. a number of estimation techniques have been developed and are having following attributes in common,
17

Project scope must be established in advance Software matrix are used as a basis from which estimates are made The project is broken into small pieces which are estimated individually. to achieve reliable cost and schedule estimates , a number of option arise: Delay estimation until late in the project Use simple decomposition techniques to generate project cost and schedule estimates Develop empirical model for estimation Acquire one or more automated estimation tools

An estimation model for computer software uses empirically derived formulas to predict effort as a function of LOC or FP is estimated. The empirical data that support most estimation models are derived from a limited sample of projects. For this no estimation model is appropriate for all classes of software and in all development environment. The result obtained from such models must be used judiciously.

18

Scheduling A Gantt chart can be developed for the entire project or a separate chart can be developed for each function. A tabular form is maintained where rows indicate the tasks with the milestone and columns indicate duration (weeks/months). The horizontal bars that spans across columns indicate duration of the task.

Tasks System requirement analysis System Designing System Coding System Testing

Weeks 1st & 2nd

Week 3rd

Weeks 4th

Week 5th

19

Software and Hardware Requirements


There are following requirement throughout the project lifecycle.

Tools: o o o o o o o o o o JDK 6.x Core java (API) Servlet, JSP NetBean IDE 6.5 Database : MySQL 5.x Operating system windows XP MS Office for documentation. Design tool : Dreamweaver CS3 (9.0) Web tech: HTML, JavaScript, Ajax, XML etc. Web server : tomcat 6.x

Hardware o o o CPU 1.7 GHz + RAM 1 GB Hard Disk space 1GB

Software for run time o Java run time environment (jre) 6.x

20

Preliminary Product Description


This project is web based application being developed in java technologies. This application can be accessed from anywhere in the world and provides multiple access as time. Here we are using MySql database as a backend that is a solid database being used by various organizations. This database has it own security measures. This application is platform independent because it is being developed in java technologies. This application will be deployed on the server that supports the servlet and JSP hosting.

This application will provide the services for Banquet Hall owner to automate all the activities related to banquet hall booking process. Any customer can view that status on banquet hall on any date and time. System will update the status of the banquet hall after booking and allow owner to track the status of the banquet hall till next month. This application will provide the paperless work to book the banquet hall. Customer will fill the online form and this form will be submitted to banquet hall owner for the approval. After reviewing the banquet hall booking form, owner can reject or approve the form. As request is approved, system will change the status of the banquet hall for the allocated duration.

21

Conceptual models
module Architecture

User interface module

Processing module

Database module

Database

From the layered architecture point of view, this application has three major layers, rest are part of the database and JDBC driver. User Interface module User interface in web application is composed of deferent types of components like html pages, javascript, images etc. Here all the logics are separated from presentation. Here developer will notice the presentation of application before user. Here developer will think about how the input forms will appear before users and out result will look like of any logic processing.

22

In the j2ee, presentation layer programming in done mainly in servlet and JSP pages. There may be other approaches like third party frameworks (e,g struts). But root components are Servlet and JSP in which can embed over logics to handle request and to produce response to client. Here JSP pages will be used as dynamic pages in which java codes will be embed between static contents. Servlet are simple java programs those will work to process request only because the output of servlet could not be formatted well as jsp page. Because JSP pages cab designed in Web design tool like dreamweaver, so mostly we use them in fronted programming of project.

JSP
Dynamic

Servle t Execute

Client browser

Requ esting Presentation layer page

Static

image s HTML others

Respons e

As shown in above diagram, if incoming request is for static pages like HTML page, then server return that page as it is. But in case of request of dynamic page then dynamic page like JSP or servlet program is executed, and output of execution is formatted as html page using static contents then response is sent to client. This layer is responsible for user interactions. This layer is made of set of GUI components with easy access. 23

Processing module This layer plays most important role to handle the logical tasks. All the processing logic involved in this project are placed in this layer. This layer extracts data from database layer and processes this data and send back to UI layer. This layer hides all the implementation as well as the knowledge about Database layer. This layer is implemented to process all the business logics. Here we use simple java programs and APIs to implement all required functionalities. This layer is designed in such a way that all the logics can be tested independently. To test functionalities of this layer we no need to build first presentation layer or database layer. From the client side, no one functionality are accessed directly from this layer. Always presentation layer interact with this layer. So the security risk factor becomes low. Logical implementation is not known by client side so the client will working without worrying about that how to inte4ract with system. This approach allows developers to work independently and parallel. Because all the unit tests can be done without implementing database layer and User interface (presentation) layer. It reduces the maintenance cost it there is issue to change some logics or functionalities. It we want to update some logic and functionalities then we need to redevelop only business or processing layer without worrying about upper and lower layer.

Database module Whole part of project is dependent on this layer. Because how to access the data from database, only this layer consists logic. This layer hides all the complexity about database and database driver. So it is very easy to perform better maintenance. How may database are connected currently to this system, this is known only for this layer. Other class contains the interface through which they use the services of database layer.

The main purpose of separation of database related functionalities to make the upper layers implementation database independents. All the logics and API are separated and named as database layer. This database layers is responsible to interact with database using some third party Drivers.

24

This Layer will fetch data from database and responsible to handle many database related issues. This layer will handle following issues related to databases Transaction If more than hundreds request are coming to process then database get overloaded for the operations on specified table. There may be thousands of requests per second. To handle this type of situation, developers need to work on this issue. But we can use third party api that solves this problem like JPA. Security Database has its own security system. To access any table from database, user need to supply valid username and password to authenticate with system. Same things are apply to dataset layer. If database layer need to access database then developer have to supply the user name and password for database layer implementation so that it can authenticated to execute statement in database. Using this layered architecture, the information related to database are kept separate from other layers as well as many developers.

This is three tier architecture where each tier may have one or more modules. In this model, we have separated all the concerns into three portions.

25

Database design
There are following tables to be used into this application.

User
Primary key Column Name Data type length Allow Nulls

Yes

id Login-id password type

number varchar varchar varchar

50 50 50

Not Not Not Not

Owner
Primary key Column Name Data type length Allow Nulls

Yes

id User_id

number number

Not Not

Banquet_hall
Primary key Column Name Data type length Allow Nulls

Yes

id Owner_id Name Contact Location District Sector

number number varchar varchar Varcher Varchar Varchar

50 50 50 50 50 50

Not Not Not Not Not Not not

Profile
Primary key Yes Column Name id user-id Name Email Phone Data type number number varchar varchar Number length Allow Nulls Not Not Not Not Not

50 50

26

Availabler_services
Primary key Column Name Data type length Allow Nulls

Yes

id bh-id Name Description Cost

number Number Varchar Varchar Number

50 200

Not Not Not Not Not

Booking_form
Primary key Yes Column Name id bh-id Customer Duration Occasion Date Data type number Number Number Number varchar timestamp 50 length Allow Nulls Not Not Not Not Not Not

Customer
Primary key Column Name Data type length Allow Nulls

Yes

Id User_id address

number Number Varchar

200

Not Not Not

Requested_services
Primary key Column Name Data type length Allow Nulls

Yes

Id form-id Service_id Duration

number Number Number Number

Not Not Not Not

27

REFERENCES
Websites : o o o o Books : o o o o o Java 2 by Ivor Horton Java complete reference Software Engineering by K. K. Aggarwal Software Engineering by Press man Object Oriented Modeling And Design by James Rumbaugh java.sun.com/products// www.javaworld.com/ www.experts-exchange.com/Programming www.java.com/getjava/

IEEE Recommended Practice for Software Requirements SpecificationsIEEE Std 830-1993.

28