VISVESVARAYA TECHNOLOGICAL UNIVERSITY “Jnana Sangama”, Belagavi – 590 018

A PROJECT REPORT ON “SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR” Submitted in partial fulfillment for the award of the degree of BACHELOR OF ENGINEERING IN COMPUTER SCIENCE AND ENGINEERING BY MD NOORUL HUDA (1NH13CS153) ADWAIT PRIYAM (1NH13CS702) AMAN KUMAR(1NH13CS705) MRINALINI JHA (1NH13CS729) Under the guidance of Mrs.Rohini T (Assistant Professor, Dept. of CSE, NHCE)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING NEW HORIZON COLLEGE OF ENGINEERING (Autonomous Institution Affiliated to VTU & Approved by AICTE) Accredited by NAAC with 'A' Grade Outer Ring Road,Panathur Post, Near Marathalli, Bangalore – 560103 NEW HORIZON COLLEGE OF ENGINEERING (Autonomous Institution Affiliated to VTU & Approved by AICTE ) Accredited by NAAC with 'A' Grade) Outer Ring Road, Panathur Post, Near Marathalli, Bangalore-560 103 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CERTIFICATE

Certified that the project work entitled ”SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR” carried out by Md Noorul Huda (1NH13CS153), Adwait Priyam(1NH13CS702), Aman kumar(1NH13CS705) and Mrinalini Jha(1NH13CS729) bonfide students of NEW HORIZON COLLEGE OF ENGINEERING in partial fulfillment for the award of Bachelor Of Engineering/Bachelor Of Technology in Computer Science and Engineering of the Visvesvaraya Technological University, Belagavi during the year 2016-2017. It is certified that all corrections/suggestions indicated for Internal Assessment have been incorporated in the report deposited in the department library. The project report has been approved as it satisfies the academic requirements in respect of Project work prescribed for the said Degree.

Name & Signature of Guide Name & Signature of HOD Signature of Principal (Mrs. Rohini T ) (Dr. Prashanth .S.R.) (Dr. Manjunatha)

External Viva Name of Examiner Signature with date 1. 2.

ACKNOWLEDGEMENT

The satisfaction and euphoria that accompany the successful completion of any task would be, but impossible without the mention of the people who made it possible, whose constant guidance and encouragement crowned our efforts with success.

We thank the management, Dr. Mohan Manghnani, Chairman of NEW HORIZON EDUCTIONAL INSTITUTIONS for providing necessary infrastructure and creating good environment.

We also record here the constant encouragement and facilities extended to us by Dr. Manjunatha, Principal, NHCE and Dr. Prashanth.C.S.R, Dean Academics, Professor & Head of the Department of Computer Science and Engineering. We extend our sincere gratitude to them.

We express our gratitude to Mrs. Rohini T, Assistant professor ,our project guide and Ms. Clara, Associate Professor, our project coordinator for constantly monitoring the development of the project and setting up precise deadlines. Their valuable suggestions were the motivating factors in completing the work.

We would also like to express our gratitude to NHCE and to all our external guides at NHCE for their continuous guidance and motivation.

Finally a note of thanks to the teaching and non-teaching staff of Computer Science and Engineering Department for their cooperation extended to us and our friends, who helped us directly or indirectly in the course of the project work.

MD NOORUL HUDA (1NH13CS153) ADWAIT PRIYAM (1NH13CS702) AMAN KUMAR (1NH13CS705) MRINALINI JHA (1NH13CS729)

I

ABSTRACT

Beauty parlour is a service oriented establishment in which customers receive treatment to increase their beauty. Skin care, facial make up, hair nourishment and model hair cutting are the most important nourishing activities of a beauty parlour. Deciding on a salon scheduling system is an important step in making your salon as successful as possible. The proposed system is designed to take the inputs from the client regarding the services they require, compute the scheduling algorithm to find the expert employee in that field and available at that time and intimates the client with the approximate time they could expect to be attended to with the employee name.

With this project we will set out to create an online appointment page for a saloon. Customers will be able to login and book appointment in the saloon, in advance they can choose the services they want. In addition to this, manager of the saloon will be able to view client’s appointment’s details.

This project will use MySQL and HTML to back the interface with strong database functionality. For appointment scheduling, this project will integrate webCalander as a back-end database for appointments as well as front-end scheduling interface and based algorithms are used at back-end to schedule the clients appointment. The final deliverable will be functioning web application that can handle all specified use cases. Some of the major use cases include user account registration, login/logout, appointment scheduling, schedule viewing and printing, adding stylists to the saloon account, assigning the experts in the particular service the client wants and asking for a query(if required) from a client while booking.

II

CONTENTS

1. INTRODUCTION 1.1. OPERATION RESEARCH 1 1.2. EXISTING SYSTEM 2 1.3. PROPOSED SYSTEM 2

2. REQUIREMENT ANALYSIS 2.1 SYSTEM REQUIREMENT SPECIFICATION 4 2.2 FUNCTIONAL REQUIREMENTS 5 2.3 NON FUNCTIONAL REQUIREMENTS 5 2.4 HARDWARE REQUIREMENTS 5 2.5 SOFTWARE REQUIREMENTS 5

3 SYSTEM FEASIBILITY 3.1 TECHNICAL FEASIBILITY 7 3.2 OPERATIONAL FEASIBILITY 8 3.3 ECONOMICAL FEASIBILITY 8

4. DESIGN 4.1 SYSTEM ARCHITECTURE 10 4.2 DATA FLOW DIAGRAM 10 4.3 SEQUENCE DIAGRAM 12 4.4 USE CASE DIAGRAM 13

5. IMPLEMENTATION 5.1 SELECTION OF PROGRAMMING LANGUAGE 16 5.2 JAVA PROGRAMMING LANGUAGE 16

III

5.3 JAVA PLATFORM 19 5.4 INPUT DESIGN 20 5.5 OUTPUT DESIGN 20 5.6 MySQL 25 5.7 MODULES 26

6. TESTING 6.1 UNIT TESTING 28 6.2 INTEGRATION TESTING 28 6.3 VALIDATION TESTING 30 6.4 SYSTEM TESTING 30 6.5 ACCEPTANCE TESTING 31

7. SNAPSHOTS 37

8. CONCLUSION AND FUTURE ENHANCEMENT 8.1 CONCLUSION 42 8.2 FUTURE ENHANCEMENT 42

9.BIBLIOGRAPHY 43

IV

LIST OF FIGURES

4.1 System Architecture 9 4.2.1 Data Flow Diagram level-1 10 4.2.2 Data Flow Diagram level-2 11 4.3 Sequence Diagram 12 4.4 Use Case Diagram 13 5.1 Java programming execution 16 5.2 Sample programme execution 17 5.3 Java interpreter architecture 18 6.4 MySQL workbench in windows 25 6.6 Process Of Testing 30

LIST OF TABLES 6.1 Test connection setup 31 6.2 Registration for login ID and password 32 6.3 Authentication of user ID and password 33 6.4 Booking 34 6.5 Check user details 35

V

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

CHAPTER 1

INTRODUCTION

Being a saloon client now-a-days is inconvenient. Clients visits saloon and wait for their turn, at the mean time if the client wants another service, he/she needs to wait as the experts in that field may not be available at that time. This problem is solved in this project, with the help of scheduling algorithm at the back-end at the time of appointment.

Deciding on a salon scheduling system is an important step in making your salon as successful as possible. The proposed system is designed to take the inputs from the client regarding the services they require, compute the scheduling algorithm to find the expert employee in that field and available at that time and intimates the client with the approximate time they could expect to be attended to with the employee name.

With this project we will set out to create an online appointment page for a saloon. Customers will be able to login and book appointment in the saloon, in advance they can choose the services they want. In addition to this, manager of the saloon will be able to view client’s appointment’s details

1.1 OPERATION RESEARCH

Operations research (OR) is an analytical method of problem-solving and decision-making that is useful in the management of organizations. In operations research, problems are broken down into basic components and then solved in defined steps by mathematical analysis. Analytical methods used in OR include mathematical logic, simulation, network analysis, queuing theory, and game theory .

Dept of CSE, NHCE Page 1

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

The process can be broadly broken down into three steps. A set of potential solutions to a problem is developed. (This set may be large.)The alternatives derived in the first step are analyzed and reduced to a small set of solutions most likely to prove workable. The alternatives derived in the second step are subjected to simulated implementation and, if possible, tested out in real-world situations. In this final step, psychology and management science often play important roles.

1.2 EXISTING SYSTEM

At present the client himself/herself visits the parlour and then demands for the services they want. According to the demand for a particular service, the receptionist first checks the availability of the experts in the field and then confirms. Till then he/she is asked to wait for their turn. Another problem is if at the mean time client wants another service, he/she needs to wait as the experts in that field may not be available at that time.

1.3 PROPOSED SYSTEM

The proposed system is designed to take the inputs from the client regarding the services they require. At first the user registers and then logs in and then goes to slot details to check all the available slots and if the slots are booked for that particular date and then progresses to day. Then he selects the day and the services he needs and then algorithm automatically schedules the time slot.

The final deliverable will be functioning web application that can handle all specified use cases. Some of the major use cases include user account registration, login/logout, appointment scheduling, schedule viewing and printing, adding stylists to the saloon account, assigning the experts in the particular service the client wants and asking for a query(if required) from a client while booking.

Dept of CSE, NHCE Page 2

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Advantages:

 Optimal scheduling of clients for the services in saloon.  Maximize the profit of saloon.  Avoid the wastage of clients valuable time.  Parlour won’t be congested.

Disadvantage:

 Cannot process cancellation request.  Extra services cannot be added.  If the client doesn’t turn up, then time has to be rescheduled.  If a client opts for a particular service and afterwards demands for additional services then again rescheduling has to be done.

Dept of CSE, NHCE Page 3

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

CHAPTER 2

REQUIREMENT ANALYSIS

2.1 SYSTEM REQUIREMENT SPECIFICATION:

System Requirement Specification (SRS) is a central report, which frames the establishment of the product advancement process. It records the necessities of a framework as well as has a depiction of its significant highlight. A SRS is essentially an association's seeing (in composing) of a client or potential customer's frame work necessities and conditions at a specific point in time (generally) before any genuine configuration or improvement work. It's a two-way protection approach that guarantees that both the customer and the association comprehend alternate's necessities from that viewpoint at a given point in time.

The composition of programming necessity detail lessens advancement exertion, as watchful audit of the report can uncover oversights, mistaken assumptions, and irregularities ahead of schedule in the improvement cycle when these issues are less demanding to right. The SRS talks about the item however not the venture that created it, consequently the SRS serves as a premise for later improvement of the completed item.

The SRS may need to be changed, however it does give an establishment to proceeded with creation assessment. In straightforward words, programming necessity determination is the beginning stage of the product improvement action. The SRS means deciphering the thoughts in the brains of the customers – the information, into a formal archive – the yield of the prerequisite stage. Subsequently the yield of the stage is a situated of formally determined necessities, which ideally are finished and steady, while the data has none of these properties.

Dept of CSE, NHCE Page 4

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

2.2 FUNCTIONAL REQUIREMENT

Owner User Owner registration User registration Login Login Employee registration. Checked booked slot Check booked slot. Slot booking Check user booked slot. Check user booked slot. Check user details. Checked user details.

2.3 NON-FUNCTIONAL REQUIREMENT

2.3.1 USABILITY

The user must be familiar with the user interfaces and should not have problems in migrating to a new system with a new environment.

2.3.2 RELIABILITY The changes made by the Programmer should be visible both to the Project leader as well as the Test engineer. 2.3.3 SECURITY

Including bug tracking the system must provide necessary security and must secure the whole process from crashing.

2.3.4 PERFORMANCE

The system will be hosted on a single web server with a single database server in the background, hence performance becomes a major concern.

2.3.5 PORTABILITY

This is required when the web server, which is hosting the system gets stuck due to some problems, which requires their system to be taken to another system.

Dept of CSE, NHCE Page 5

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

2.3.6 REUSABILITY

The system should be divided into such modules that it could be used as a part of another system without requiring much of work.

2.4 H/W SYSTEM CONFIGURATION:

Processor - Intel i3 Speed - 2.4 GHz RAM - 2 GB (min) Hard Disk - 80 GB

2.5 S/W SYSTEM CONFIGURATION: Operating System : Windows XP or newer. Application Server : Tomcat 5.0/6.X Front End : HTML, Java, JSP. Database : MySQL

Dept of CSE, NHCE Page 6

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

CHAPTER 3

FEASIBILITY STUDY

A feasibility study aims to objectively and rationally uncover the strengths and weaknesses of an existing business or proposed venture, opportunities and threats present in the environment, the resources required to carry through, and ultimately the prospects for success. In its simplest terms, the two criteria to judge feasibility are cost required and value to be attained. A well- designed feasibility study should provide a historical background of the business or project, a description of the product or service, accounting statements, details of the operations and management, marketing research and policies, financial data, legal requirements and tax obligations. Generally, feasibility studies precede technical development and project implementation. A feasibility study evaluates the project's potential for success; therefore, perceived objectivity is an important factor in the credibility of the study for potential investors and lending institutions. It must therefore be conducted with an objective, unbiased approach to provide information upon which decisions can be based.

3.1 TECHNICAL FEASIBILITY

This assessment is based on an outline design of system requirements, to determine whether the company has the technical expertise to handle completion of the project. When writing a feasibility report, the following should be taken to consideration:

 A brief description of the business to assess more possible factors which could affect the study

 The part of the business being examined

 The human and economic factor

 The possible solutions to the problem

Dept of CSE, NHCE Page 7

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

At this level, the concern is whether the proposal is both technically and feasible (assuming moderate cost). The assessment is focused on gaining an understanding of the present technical resources of the organization and their applicability to the expected needs of the proposed system. It is an evaluation of the hardware and software and how it meets the need of the proposed system.

3.2 OPERATION FEASIBILITY

Operational feasibility is the measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development.

The operational feasibility assessment focuses on the degree to which the proposed development projects fits in with the existing business environment and objectives with regard to development schedule, delivery date, corporate culture and existing business processes.To ensure success, desired operational outcomes must be imparted during design and development. These include such design-dependent parameters as reliability, maintainability, supportability, usability, producibility, disposability, sustainability, affordability and others. These parameters are required to be considered at the early stages of design if desired operational behaviours are to be realised. A system design and development requires appropriate and timely application of engineering and management efforts to meet the previously mentioned parameters. A system may serve its intended purpose most effectively when its technical and operating characteristics are engineered into the design. Therefore, operational feasibility is a critical aspect of systems engineering that needs to be an integral part of the early design phases.

3.3 ECONOMICAL FEASIBILITY

The purpose of the economic feasibility assessment is to determine the positive economic benefits to the organization that the proposed system will provide. It includes quantification and identification.

Dept of CSE, NHCE Page 8

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

CHAPTER 4

SYSTEM DESIGN

System Design is the process of defining the architecture, components, modules, interfaces and data for a system to satisfy specified requirements. System design could be seen as the application of the systems theory to product development. The system design process builds up general framework building design. Programming outline includes speaking to the product framework works in a shape that may be changed into one or more projects. The prerequisite indicated by the end client must be put in a systematical manner. Outline is an inventive procedure; a great configuration is the way to viable framework. The framework "Outline" is characterized as "The procedure of applying different systems and standards with the end goal of characterizing a procedure or a framework in adequate point of interest to allow its physical acknowledgment". Different configuration components are taken after to add to the framework. The configuration detail portrays the components of the framework, the segments or components of the framework and their appearance to end-clients.

Design Consideration The reason for the design is to arrange the arrangement of the issue determined by the necessities report. This stage is the initial phase in moving from issue to the arrangement space. As such, beginning with what is obliged; outline takes us to work towards how to full fill those needs. The configuration of the framework is maybe the most basic component influencing the nature of the product and has a noteworthy effect on the later stages, especially testing and upkeep. Framework outline depicts all the significant information structure, document arrangement, yield and real modules in the framework and their Specification is chosen.

Dept of CSE, NHCE Page 9

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

4.1 SYSTEM ARCHITECTURE

The architectural configuration procedure is concerned with building up a fundamental basic system for a framework. It includes recognizing the real parts of the framework and interchanges between these segments. The beginning configuration procedure of recognizing these subsystems and building up a structure for subsystem control and correspondence is called construction modeling outline and the yield of this outline procedure is a portrayal of the product structural planning. The proposed architecture for this system is given below. It shows the way this system is designed and brief working of the system.

Fig.4.1 System Architecture

4.2 DATA FLOW DIAGRAMS

The DFD is straightforward graphical formalism that can be utilized to speak to a framework as far as the info information to the framework, different preparing did on this information and the yield information created by the framework. A DFD model uses an exceptionally predetermined number of primitive images to speak to the capacities performed by a framework and the information stream among the capacities. The principle motivation behind why the DFD method is so famous is most likely in light of the way that DFD is an exceptionally basic formalism- It is easy to comprehend and utilization. Beginning with the arrangement of abnormal state works that a framework performs,

Dept of CSE, NHCE Page 10

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR a DFD display progressively speaks to different sub capacities. Actually, any various leveled model is easy to get it. The human personality is such that it can without much of a stretch see any progressive model of a framework in light of the fact that in a various leveled model, beginning with an extremely straightforward and unique model of framework, distinctive points of interest of a framework are gradually presented through the diverse orders. A data-flow diagram (DFD) is a graphical representation of the "stream" of information through a data framework. DFDs can likewise be utilized for the perception of information handling. The level 0 is beginning level and it’s by and large called as the Context Level Diagram (An outline giving a whole framework's information streams and preparing with a solitary Process (circle) is known as a setting outline. Every procedure may be further used into a set of between joined sub forms. This strategy of growing a DFD is known as leveling. In level 0 DFD overall project is represented in a simpler way with only one process.

Fig.4.2.1 Data flow at level-1

Dept of CSE, NHCE Page 11

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

The Level 1 DFD indicates how the framework is isolated into sub-frameworks (forms), each of which manages one or a greater amount of the information streams to or from an outside specialists, Level 1 Data Flow outline demonstrates a top to bottom clarification of general procedure of the information stream.

Fig.4.2.2 Data flow at level-2

This DFD shows whole modules and their communication in detail .The cooperation between framework head and end client is disclosed concerning the proposed calculation's pictorial representation.

4.3 SEQUENCE DIAGRAM

A sequence diagram is an system is an interaction diagram that shows how process operates with one and other and in what order. It’s a construct of a message sequence chart. A sequence diagram shows object interactions arranged in time sequence. Its depicts the objects and classes involved in the scenario and sequence of messages exchange between the objects needed to carry out the functionality of the scenario. Sequence diagram are sometimes called event diagrams or event scenarios. The sequence diagram for this system has been shown in the figure 4.3.

Dept of CSE, NHCE Page 12

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Fig.4.3 Sequence Diagram

4.4 USE CASE A use case diagram at its simplest is a representation of a user's interaction with the system that shows the relationship between the user and the different use cases in which the user is involved. A use case diagram can identify the different types of users of a system and the different use cases and will often be accompanied by other types of diagrams as well. Use cases concentrate on the conduct of the framework from an outside perspective. A use case depicts a capacity gave by framework that yields an obvious result for a performer. A performing artist portrays any element that collaborates with the system. The performers are outside the limit of the framework, while the use cases are inside the limit of the framework. On-screen characters are spoken to with stick figures, use cases with ovals, and the limit of the framework with a container encasing the use cases.

Dept of CSE, NHCE Page 13

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Fig.4.4 Use case diagram

Dept of CSE, NHCE Page 14

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

CHAPTER 5

IMPLEMENTATION

The implementation phase involves the actual materialization of the ideas, which are expressed in the analysis document and developed in the design phase. Implementation should be perfect mapping of the design document in a suitable programming language in order to achieve the necessary final product. Often the product is ruined due to incorrect programming language chosen for implementation or unsuitable method of programming. It is better for the coding phase to be directly linked to the design phase in the sense if the design is in terms of object oriented terms then implementation should be preferably carried out in a object oriented way.

The implementation involves: 1. Careful planning. 2. Investigation of the current system and the constraints on implementation. 3. Training of staff in the newly developed system.

Implementation of any software is always preceded by important decisions regarding selection of the platform, the language used, etc. these decisions are often influenced by several factors such as real environment in which the system works, the speed that is required, the security concerns, and other implementation specific details. There are three major implementation decisions that have been made before the implementation of this project. They are as follows: 1. Selection of the platform (Operating System). 2. Selection of the programming language for development of the application. 3. Coding guideline to be followed.

Dept of CSE, NHCE Page 15

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

5.1 SELECTION OF CODING LANGUAGE Java is a little, basic, safe, item situated, translated or rapidly improved, byte coded, engineering, waste gathered, multithreaded programming dialect with a specifically exemption taking care of for composing circulated and powerfully extensible projects. With most programming dialects, you either accumulate or translate a project so you can run it on your PC. The Java programming dialect is irregular in that a project is both accumulated and deciphered. The stage autonomous codes deciphered by the mediator on the Java stage. The mediator parses and runs every Java byte code guideline on the PC. Aggregation happens just once; understanding happens every time the project is executed. The accompanying figure delineates how this function You can consider Java byte codes as the machine code directions for the (Java VM). Each Java mediator, whether it’s an advancement device or a Web program that can run applets, is an execution of the Java VM.

5.2 THE JAVA PROGRAMMING LANGUAGE

Java was conceived by , Patrick Naughton, Chris wrath, Ed Frank, and Mike Sheridan at Sun Micro system. It is a platform independent programming language that extends its features wide over the network. Java2 version introduces a new components than are possible with AWT

• It’s a light weight package, as they are not implemented by platform-specific code. • Related classes are contained in javax.swing and its sub packages, such as javax.swing.tree • Components explained in the swing have more capabilities than those of AWT.

The Java programming language is a high-level language that can be characterized by all of the following buzzwords

• Simple

Dept of CSE, NHCE Page 16

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

• Architecture neutral • Object oriented • Portable • Distributed • High performance • Interpreted • Multithreaded • Robust • Dynamic • Secure

With most programming languages, we either compile or interpret a program so that we can run it on our computer. The Java programming language is unusual in that a program is both compiled and interpreted. With the compiler, first we translate a program into an intermediate language called Java byte codes. Java byte codes are the platform-independent codes interpreted by the interpreter on the Java platform. The interpreter parses and runs each Java byte code instruction on the computer. Compilation happens just once; interpretation occurs each time the program is executed. The figure 5.2 illustrates how this works. +

Fig 5.2 Java Programming Language Execution

Dept of CSE, NHCE Page 17

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

We can think of Java byte codes as the machine code instructions for the Java Virtual Machine (Java VM). Every Java interpreter, whether it’s a development tool or a Web browser that can run applets, is an implementation of the Java VM. Java byte codes help make “write once, run anywhere” possible. You can compile your program into byte codes on any platform that has a Java compiler. The byte codes can then be run on any implementation of the Java VM. That means that as long as a computer has a Java VM, the same program written in the Java programming language can run on Windows 2000, a Solaris workstation, or on an iMac.

Fig 5.2 Sample program execution

Dept of CSE, NHCE Page 18

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

5.3 THE JAVA PLATFORM A platform is the hardware or software environment in which a program runs. We’ve already mentioned some of the most popular platforms like Windows 2000, Linux, Solaris, and MacOS. Most platforms can be described as a combination of the operating system and hardware. The Java platform differs from most other platforms in that it’s a software-only platform that runs on top of other hardware-based platforms.

The Java platform has two components: • The Java Virtual Machine (JVM) • The Java Application Programming Interface (Java API)

We’ve already been introduced to the Java VM. It’s the base for the Java platform and is ported onto various hardware-based platforms. The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped into libraries of related classes and interfaces; these libraries are known as packages.

The figure 5.3 depicts a program that’s running on the Java platform. As the figure shows, the Java API and the virtual machine insulate the program from the hardware.

Fig 5.3 Java Interpreter Architecture

Dept of CSE, NHCE Page 19

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Native code is code that after you compile it, the compiled code runs on a specific hardware platform. As a platform-independent environment, the Java platform can be a bit slower than native code. However, smart compilers, well-tuned interpreters, and just-in-time byte code compilers can bring performance close.

5.4 INPUT DESIGN The info outline is the connection between the client and data framework and creating particular and strategies for information arrangement and those strides are important to put exchange information into a usable structure for handling can be accomplished by investigating the PC to peruse information from a composed or printed archive or it can happen by having individuals entering the information specifically into the framework.

5.5 OUTPUT DESIGN A quality output is one, which meets the necessities of the end client and presents the data obviously. In any framework consequences of preparing are conveyed to the clients and to other framework through yields. In yield outline it is resolved how the data is to be dislodged for prompt need furthermore the printed version yield. It is the most essential and direct source data to the client. Productive and insightful yield outline enhances the framework's relationship to help client choice making.

5.5 INTEGRATED DEVELOPMENT ENVIRONMENT uses modules to give all the usefulness inside and on top of the runtime framework. Not with standing permitting the Eclipse Platform to be augmented utilizing other programming dialects. The module construction modelling backings composing any coveted expansion to nature, for example, for setup administration. Except for a little runtime portion, everything in Eclipse is a module. This implies that each module created coordinates with Eclipse in precisely the same path as other modules; in this regard, all components are "made equivalent".

Dept of CSE, NHCE Page 20

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

This takes into consideration propelled refactoring methods and code examination. The IDE likewise makes utilization of a workspace, for this situation an arrangement of metadata more than a level file space permitting outer record changes the length of the comparing workspace "asset" is revived a while later. In computer programming, Eclipse is an integrated development environment (IDE). It contains a base workspace and an extensible plug-in system for customizing the environment. Written mostly in Java, Eclipse can be used to develop applications. By means of various plug-ins, Eclipse may also be used to develop applications in other programming languages: Ada, ABAP, C, C++, COBOL, Fortran, Haskell, JavaScript, Lasso, Lua, Natural, Perl, PHP, Prolog, Python, R, Ruby (including Ruby on Rails framework), Scala, , Groovy, Scheme, and Erlang. It can also be used to develop packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++ and Eclipse PDT for PHP, among others.

The initial codebase originated from IBM VisualAge. The Eclipse software development kit (SDK), which includes the Java development tools, is meant for Java developers. Users can extend its abilities by installing plug-ins written for the Eclipse Platform, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules.

Released under the terms of the Eclipse Public License, Eclipse SDK is free and open source software (although it is incompatible with the GNU General Public License[3]). It was one of the first IDEs to run under GNU Class path and it runs without problems under IcedTea.

HISTORY

Eclipse was inspired by the Smalltalk-based VisualAge family of integrated development environment (IDE) products. Although fairly successful, a major drawback of the VisualAge products was that developed code was not in a component model; instead, all code for a project was held in a compressed lump (somewhat like a zip file but in a proprietary format called .dat); individual classes could not be easily accessed, certainly not outside the tool. A team primarily at

Dept of CSE, NHCE Page 21

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

the IBM Cary NC lab developed the new product as a Java-based replacement.In November 2001, a consortium was formed with a board of stewards to further the development of Eclipse as open-source software. It is estimated that IBM had already invested close to $40 million by that time.The original members were Borland, IBM, Merant, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft and WebGain. The number of stewards increased to over 80 by the end of 2003. In January 2004, the Eclipse Foundation was created. Eclipse 3.0 (released on 21 June 2004) selected the OSGi Service Platform specifications as the runtime architecture.

LICENSING

The Eclipse Public License (EPL) is the fundamental license under which Eclipse projects are released. Some projects require dual licensing, for which the Eclipse Distribution License (EDL) is available, although use of this license must be applied for and is considered on a case-by-case basis.

Eclipse was originally released under the Common Public License, but was later re-licensed under the Eclipse Public License. The Free Software Foundation has said that both licenses are free software licenses, but are incompatible with the GNU General Public License (GPL).Mike Milinkovich, of the Eclipse Foundation commented that moving to the GPL would be considered when version 3 of the GPL was released.

NAME

According to Lee Nackman, Chief Technology Officer of IBM's Rational division (originating in 2003) at that time, the name "Eclipse" (dating from at least 2001) was not a wordplay on , as the product's primary competition at the time of naming was Microsoft Visual Studio (which it, Eclipse, was to eclipse). Different versions of Eclipse have been named after different celestial bodies, more specifically planets or planets' natural satellites. Examples are: Europa, Ganymede, Callisto, Galileo and Luna. The latest version coming in 2015 has been named Mars.

Dept of CSE, NHCE Page 22

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

ARCHITECTURE

Eclipse uses plug-ins to provide all the functionality within and on top of the runtime system. Its runtime system is based on Equinox, an implementation of the OSGi core framework specification.

In addition to allowing the Eclipse Platform to be extended using other programming languages, such as C and Python, the plug-in framework allows the Eclipse Platform to work with typesetting languages like LaTeXand networking applications such as telnet and database management systems. The plug-in architecture supports writing any desired extension to the environment, such as for configuration management. Java and CVS support is provided in the Eclipse SDK, with support for other version control systems provided by third-party plug- ins.With the exception of a small run-time kernel, everything in Eclipse is a plug-in. This means that every plug-in developed integrates with Eclipse in exactly the same way as other plug-ins; in this respect, all features are "created equal". Eclipse provides plug-ins for a wide variety of features, some of which are through third parties using both free and commercial models. Examples of plug-ins include for UML, for Sequence and other UML diagrams, a plug-in for DB Explorer, and many others.

The Eclipse SDK includes the Eclipse Java development tools (JDT), offering an IDE with a built-in incremental Java compiler and a full model of the Java source files. This allows for advanced refactoring techniques and code analysis. The IDE also makes use of a workspace, in this case a set of metadata over a flat filespace allowing external file modifications as long as the corresponding workspace "resource" is refreshed afterwards.

Eclipse implements the graphical control elements of the Java toolkit called SWT, whereas most Java applications use the Java standard Abstract Window Toolkit (AWT) or Swing. Eclipse's user interface also uses an intermediate graphical user interface layer called JFace, which simplifies the construction of applications based on SWT. Eclipse was made to run on Wayland during a GSoC-Project in 2014.

Dept of CSE, NHCE Page 23

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Language packs being developed by the "Babel project" provide translations into over a dozen natural languages.

SERVER PLATFORM

Eclipse supports development for Tomcat, GlassFish and many other servers and is often capable of installing the required server (for development) directly from the IDE. It supports remote debugging, allowing the user to watch variables and step through the code of an application that is running on the attached server.

WEB TOOLS PLATFORM

The Eclipse Web Tools Platform (WTP) project is an extension of the Eclipse platform with tools for developing Web and Java EE applications. It includes source and graphical editors for a variety of languages, wizards and built-in applications to simplify development, and tools and to support deploying, running, and testing apps.[

MODELLING PLATFORM

The Modeling project contains all the official projects of the Eclipse Foundation focusing on model-based development technologies. They are all compatible with the Eclipse Modeling Framework created by IBM. Those projects are separated in several categories: Model Transformation, Model Development Tools, Concrete Syntax Development, Abstract Syntax Development, Technology and Research, and Amalgam.

Dept of CSE, NHCE Page 24

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

5.6 MySQL

MySQL ("My Sequel") is (as of 2008) the world's most widely used open source relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases. The SQL phrase stands for Structured Query Language. The MySQL development project has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements.

MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by . MySQL is a popular choice of database for use in web applications, and is a central component of the widely used LAMP open source web application software stack (and other 'AMP' stacks). LAMP is an acronym for "Linux, Apache, MySQL, Perl/PHP/Python." Free- software-open source projects that require a full-featured database management system often use MySQL. MySQL is a relational database management system (RDBMS), and ships with no GUI tools to administer MySQL databases or manage data contained within the databases. Users may use the included command line tools, or use MySQL "front-ends", desktop software and web applications that create and manage MySQL databases, build database structures, back up data, inspect status, and work with data records. The official set of MySQL front-end tools, MySQL Workbench is actively developed by Oracle, and is freely available for use. MySQL, like most other transactional relational databases, is strongly limited by hard disk performance. This is especially true in terms of write latency. Given the recent appearance of very affordable consumer grade SATA interface Solid-state drives that offer zero mechanical latency, a fivefold speedup over even an eight drive RAID array can be had for a smaller investment.

Dept of CSE, NHCE Page 25

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Fig 6.4.5: MySQL Workbench in Windows

5.7 MODULES

5.7.1 REGISTRATION

A registration authority (RA) is an authority in a portal that verifies user requests for use service and tells the certificate authority (CA) to issue it. RAs are part of an enrollment infrastructure, a service system that enables companies and users to exchange information and service safely and securely.

5.7.2 LOGIN

Single sign-on (Login) is a session and user authentication service that permits a user to use one set of login credentials (e.g., name and password) to access multiple applications. The service

Dept of CSE, NHCE Page 26

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

authenticates the end user for all the applications the user has been given rights to and eliminates further prompts when the user switches applications during the same session. On the back end, SSO is helpful for logging user activities as well as monitoring user accounts.

5.7.3 ONLINE BOOKING

A computer reservations system or central reservation system (CRS) is a computerized system used to store and retrieve information and conduct transactions related to air travel, hotels, car rental, or activities. Originally designed and operated by airlines, CRSes were later extended for the use of travel agencies and many places.

5.7.4 BOOKING BULK SERVICE

Bulk booking data transfer is a software application feature that uses data compression, data blocking and buffering to optimize transfer rates when moving large data files. FTP (File Transfer Protocol) is the most common way to transfer bulk data over the Internet.

5.7.5 ONLINE BOOKING STATUS

Online Information status(IS) is the activity of obtaining information resources relevant to an information need from a collection of information resources. Searches can be based on full-text or other content-based indexing. Information retrieval is the science of searching for information in a document, searching for documents themselves, and also searching for metadata that describe data, and for databases of texts, images or sounds.

5.7.6 DATA RETRIEVAL

Data retrieval means obtaining data from a database management system such as ODBMS. In this case, it is considered that data is represented in a structured way, and there is no ambiguity in data. In order to retrieve the desired data the user present a set of criteria by a query.

Dept of CSE, NHCE Page 27

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

CHAPTER 6 TESTING

Testing of any software consist of providing the software with a set of test input and observing if the software behaves as expected, if the software fails to behave as expected ,then the conditions under which of failure occurs are noted for debugging and correction. Finally the system as a whole is tested to ensure that error in previous faces are uncovered and the project works as specified.

TYPES OF TESTS: 6.1 UNIT TESTING Individual component are tested to ensure that they operate correctly. Each component is tested independently, without other system component. This system was tested with the set of proper test data for each module and the results were checked with the expected output. Unit testing focuses on verification effort on the smallest unit of the software design module. This is also known as MODULE TESTING. This testing is carried out during phases, each module is found to be working satisfactory as regards to the expected output from the module. . This is a structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform basic tests at component level and test a specific business process, application, and/or system configuration. Unit tests ensure that each unique path of a business process performs accurately to the documented specifications and contains clearly defined inputs and expected results

6.2 INTEGRATION TESTING Integration testing is another aspect of testing that is generally done in order to uncover errors associated with flow of data across interfaces. The unit-tested modules are grouped together and tested in small segment, which make it easier to isolate and correct errors. This approach is continued unit I have integrated all modules to form the system as a whole. Integration tests demonstrate that although the components were individually satisfaction, as shown by successfully unit testing, the combination of components is correct and consistent. Integration testing is specifically aimed at exposing the problems that arise from the combination of

Dept of CSE, NHCE Page 28

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR Components.

6.3 SYSTEM TESTING System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. System testing ensures that the entire integrated software system meets requirements. It tests a configuration to ensure known and predictable results. An example of system testing is the configuration oriented system integration testing. System testing is based on process description and flows, emphasizing pre-driver process and integration points.

As a rule, system testing takes, as its input, all of the "integrated" software components that have successfully passed integration testing and also the software system itself integrated with any applicable hardware system(s).

System testing is a more limited type of testing; it seeks to detect defects both within the "inter-assemblages" and also within the system as a whole.

System testing is performed on the entire system in the context of a Functional Requirement Specification(s) (FRS) and/or a System Requirement Specification (SRS).

System testing tests not only the design, but also the behavior and even the believed expectations of the customer. It is also intended to test up to and beyond the bounds defined in the software/hardware requirements specification(s)

6.4 PERFORMANCE TESTING The performance testing ensure that the output being produced within the time limits and time taken for the system compiling, giving response to the users and request being send to the system in order to retrieve the results.

Dept of CSE, NHCE Page 29

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR 6.5 VALIDATION TESTING The validation testing can be defined in many ways, but a simple definition is that. Validation succeeds when the software functions in a manner that can be reasonably expected by the end user.

Verification is a Quality control process that is used to evaluate whether or not a product, service, or system complies with regulations, specifications, or conditions imposed at the start of a development phase. Verification can be in development, scale-up, or production. This is often an internal process.

Validation is a Quality assurance process of establishing evidence that provides a high degree of assurance that a product, service, or system accomplishes its intended requirements. This often involves acceptance of fitness for purpose with end users and other product stakeholders.

6.5.1 BLACK BOX TESTING Black box testing is done to find the following  Incorrect or missing functions  Interface errors  Errors on external database access  Performance error  Initialization and termination error

6.5.2 WHITE BOX TESTING This allows the tests to  Check whether all independent paths within a module have been exercised at least once  Exercise all logical decisions on their false sides  Execute all loops and their boundaries and within their boundaries  Exercise the internal data structure to ensure their validity

Dept of CSE, NHCE Page 30

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

 Ensure whether all possible validity checks and validity lookups have been provided to validate data entry.

Fig.6.1 process of testing

6.5.3 ACCEPTANCE TESTING This is the final stage of testing process before the system is accepted for operational use. The system is tested within the data supplied from the system procurer rather than simulated data.

Dept of CSE, NHCE Page 31

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

6.6 TESTING OF INITIALIZATION AND UI COMPONENTS

Table 6.1: Test case for connection setup

UTC-1 Sl # Test Case : -

DATABASE Connection Name of Test: -

When the client program is executed, it tries to connect to DATABASE (SQL server) using the data Item being tested: - source and catalogue.

If the connection details are correct, the DATABASE is connected. If the connection details are incorrect, an Expected output: - exception is thrown.

Same as expected.

Actual output: -

Test Successful.

Remarks: -

Dept of CSE, NHCE Page 32

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Table 6.2 Registration for login id and password UTC-2 Sl # Test Case : -

Registration for login ID and Password Name of Test: -

Registration ID already existed or not. Item being tested: -

User personal details  Name Sample Input: -  Email-ID  Contact No.  Password

Confirmation of registration successful. Please input alphanumeric characters only Please provide a valid email address Please provide a valid 10 digit Mobile number Expected output: - Password must be greater than or equal to 6 characters Passwords Do not match Notification: ID already exist.

Confirmation of registration successful. Actual output: -

Successful Remarks: -

Dept of CSE, NHCE Page 33

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Table 6.3 Validation for user id and password

UTC-3 Sl # Test Case : -

Authentication of User ID and password Name of Test: -

Validation for User ID and password Item being tested: -

Sample input should be inserted as follows:

Sample Input: -  Correct User ID and password  Incorrect User ID and password

Should allow for login in correct authentication information and should be debarred from access in Expected output: - incorrect authentication

Same as expected. Actual output: -

Successful Remarks: -

Dept of CSE, NHCE Page 34

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Table 6.4 online slot reservation

UTC-4 Sl # Test Case : -

Online booking. Name of Test: -

Online slot reservation. Item being tested: -

Content as an input. Sample Input: - Date. Service

Registration successful. Select date. Expected output: - Select services.

Registration successful. Actual output: -

Successful Remarks: -

Dept of CSE, NHCE Page 35

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

Table 6.5 check user detail

UTC-5 Sl # Test Case : -

Check user details. Name of Test: -

Check registries user details. Item being tested: -

Select user details option as an input. Sample Input: -

User details retrieve data successful. Expected output: - Select correct option.

Same as expected. Actual output: -

Successful Remarks: -

Dept of CSE, NHCE Page 36

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

CHAPTER 7

SNAPSHOTS

HOMEPAGE

REGISTRATION

Dept of CSE, NHCE Page 37

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

LOGIN FORM

USER DETAILS

Dept of CSE, NHCE Page 38

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

SLOT BOOKING SUCCESFUL

REGISTRATION NUMBER

Dept of CSE, NHCE Page 39

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

ALLOTED TIME

SLOT ALREADY BOOKED

Dept of CSE, NHCE Page 40

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

SLOT DETAIL

Dept of CSE, NHCE Page 41

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

CHAPTER 8

CONCLUSION AND FUTURE ENHANCEMENT

8.1 CONCLUSION

It was a wonderful and learning experience for us while working on this project. This project took us through the various phases of project development and gave us real insight into the world of software engineering. The joy of working and thrill involved while tackling the various problems and challenges gave us a feel of developers. It was due to this project we came to know how professional softwares are designed.

We enjoyed each and every bit of work we had put into this project and the project is further extendable. The project has a very vast scope in future. Project can be updated near future as and when requirement for the same arises as it is very flexible in terms of expansion.

The proposed system worked well on the test cases such as user registration, login for admin and user, booking appointment, and assigns the client with the experts. Currently the proposed system is not able not process cancellation request of client.

8.2 FUTURE ENHANCEMENT

Our future work will include:

 Facility for modifying user detail.  Access of data through Mobile device.  Facility to add different services.  Manage cancellation request.  More interactive user interface.

Dept of CSE, NHCE Page 42

SCHEDULING CLIENTS FOR APPOINTMENTS IN BEAUTY PARLOUR

BIBLIOGRAPHY

TEXT BOOKS:

1. Operations Research : An Introduction 9th Edition- Hamdy A. Taha, 9th Edition, 2014. 2. The Essential Guide to CSS and HTML Web Design (Essentials)- Craig Grannell 3. HTML and CSS: Design and Build Websites Paperback -Jon Duckett 4. J2Ee: The Complete Reference 1st Edition - Jim Keogh

Dept of CSE, NHCE Page 43