MITexam PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 82

Salon Management System

for Salon Chami

A dissertation submitted for the Degree of Master of


Information Technology

W.Y.N Silva
University of Colombo School of Computing
2018
DECLARATION

The thesis is my original work and has not been submitted previously for a degree at this or any
other university/institute.
To the best of my knowledge it does not contain any material published or written by another
person, except as acknowledged in the text.

Student Name: W.Y.N Silva


Registration Number: 2015/MIT/056
Index Number: 15550561

_____________________
Signature: Date:

This is to certify that this thesis is based on the work of


Mr./Ms.
under my supervision. The thesis has been prepared according to the format stipulated and is of
acceptable standard.

Certified by:
Supervisor Name:

_____________________
Signature: Date:

i
ABSTRACT
‘Salon Chami’ is a developing and well-known salon in Panadura area, where customers can fulfill
themselves look beautiful and other needs. As the sudden increment of the industry, for this salon,
it was a huge task to keep the efficiency with the existing manual documenting operations. Because
of this, most of the time they were unable to build up a long-term relationship between customers.
Managing appointment details, managing details of transactions and reminding the details of
received appointments, lack of decision making support and resource wastage were the main
problems faced by the staff who work for the salon when dealing with the daily activities of
customers.

The intention of this project was to overcome those problems by providing a computerized web
based system that will handle most of the related tasks efficiently and automatically with the
capability of online management of appointments.

The system designed based on Object Oriented Analysis and developed based on the iterative
waterfall model. Hypertext Preprocessor is chosen as the main programming language with other
supportive languages and technologies. Apache has been used as the web server and MySQL was
used to handle database. Model-View-Controller used to build the system architecture.

Overall system functionalities mainly focused on the requirements of the client. The site is focus
to convince visitors to value proportion of the business, background, offering promotions and direct
communication. Apart from the site, the system mainly facilitates the appointment management,
transaction management, promotion management, customer management and user management
etc. This software solution will mainly handle the problems of their day today routine and will
focus to capture the different audiences.

ii
ACKNOWLEDGEMENT
First of all I am grateful to Mrs.C.Priyanwadha the client of this project and without whom this
project wouldn’t have been a success. The support she had given during the project and the time
spent in requirement gathering were the main factors for the success of this project. I also express
my gratitude to members of the staff who gave me immense support and guidance towards the
success of this project.

I must also mention my deep sense of appreciation to Dr.K.L.Jayaratna, the project supervisor who
had provided guidance from the very beginning of this project.

I would like to express my sincere thanks to MIT Coordinator of the University of Colombo School
of Computing (UCSC) ,Project Coordinator and the project examination board of the Masters of
Information Technology(MIT) for giving me this opportunity to apply the knowledge which I
gained through my studies.

Finally I would like to thank all the colleagues who have been with me in all difficult times with
suggestions, encouragement and unconditional support they have extended to me in numerous
ways.

iii
TABLE OF CONTENT

LIST OF FIGURES ....................................................................................................................... vii


LIST OF ABBRIVIATION ............................................................................................................. x
CHAPTER 1 - INTRODUCTION .................................................................................................. 1
1.1. INTRODUCTION ............................................................................................................ 1
1.2. PROBLEM DOMAIN AND THE MOTIVATION ......................................................... 1
1.3. GOALS AND OBJECTIVES ........................................................................................... 1
1.4. PROJECT SCOPE ............................................................................................................ 2
1.5. STRUCTURE OF THE THESIS ...................................................................................... 4
CHAPTER 2 - BACKGROUND .................................................................................................... 5
2.1. THE CLIENT AND BUSINESS BACKGROUND ........................................................... 5
2.2. SIMILAR SYSTEMS ........................................................................................................ 5
2.3. SUMMERY ...................................................................................................................... 8
2.4. SYSTEM DESIGN STRATERGY ................................................................................... 9
2.5. TECHNICAL FINDINGS ................................................................................................. 9
CHAPTER 3 - ANALYSIS AND DESIGN ................................................................................. 10
3.1. INTRODUCTION .......................................................................................................... 10
3.2. REQUIREMENT GATHERING AND FACT FINDING ............................................. 10
3.3. CURRENT BUSINESS PROCESS................................................................................ 11
3.4. FUNCTIONAL REQUIREMENTS ............................................................................... 12
3.4.1. Appointment Management ...................................................................................... 12
3.4.2. Finance Management ............................................................................................... 12
3.4.3. Customer Management ............................................................................................ 12
3.4.4. User Management .................................................................................................... 12
3.4.5. User Availability ..................................................................................................... 13
3.4.6. Maintain Reference Data ......................................................................................... 13
3.5. NON-FUNCTIONAL REQUIREMENTS ..................................................................... 13
3.5.1. Maintainability ........................................................................................................ 13
3.5.2. Accuracy and Consistency....................................................................................... 13
3.5.3. Usability .................................................................................................................. 13
3.5.4. Platform Independency ............................................................................................ 14
3.6. ALTERNATIVE SOLUTIONS AND JUSTIFICATION .............................................. 14

iv
3.7. SYSTEM DESIGN METHODOLOGY ......................................................................... 15
3.8. METHODOLOGY FOR THE PROPOSED SYSTEM .................................................. 15
3.9. THE DELIVERABLES .................................................................................................. 16
3.9.1. Entity Relationship Diagram for the System ........................................................... 16
3.9.4. Database Design ...................................................................................................... 19
CHAPTER 4 – IMPLEMENTATION .......................................................................................... 21
4.1. INTRODUCTION .......................................................................................................... 21
4.2. SOFTWARE ENVIRONMENT..................................................................................... 21
4.2.1. Supported Languages and Technologies ................................................................. 21
4.2.2. Supported Browsers and Software .......................................................................... 21
4.3. HARDWARE ENVIRONMENT ................................................................................... 22
4.4. DEVELOPMENT TOOLS ............................................................................................. 22
4.5. MODEL-VIEW-CONTROLLER (MVC) ARCHITECTURE ...................................... 23
4.5.1. Pseudo code for Algorithm to Save system users.................................................... 24
4.5.2. Pseudo code for Algorithm to retrieve all system users .......................................... 25
4.5.3. Data Validation ........................................................................................................ 25
CHAPTER 5 - EVALUTION AND TESTING ............................................................................ 28
5.1. INTRODUCTION .......................................................................................................... 28
5.2. TECHNIQUES OF SOFTWARE TESTING ................................................................. 28
5.3. TYPES OF TESTING .................................................................................................... 28
5.3.1. Unit Testing ............................................................................................................. 28
5.3.2. Integration Testing................................................................................................... 29
5.3.3. System Testing ........................................................................................................ 29
5.3.4. Acceptance Testing.................................................................................................. 29
5.4. TEST PLAN AND TEST CASE .................................................................................... 29
5.5. MANUAL TESTING ..................................................................................................... 31
5.6. TEST AUTOMATION ................................................................................................... 32
5.7. USER EVALUATION ................................................................................................... 32
5.8. TECHNIQUES USED FOR THE EVALUATION ....................................................... 32
CHAPTER 6 – CONCLUSION AND FUTURE WORK ............................................................. 35
6.1. INTRODUCTION .......................................................................................................... 35
6.2. PROBLEM ENCOUNTERED ....................................................................................... 35
6.3. LESSON LEARNT ......................................................................................................... 35
6.4. CRITICAL ASSESMENT OF THE PROJECT ............................................................. 36
v
6.5. FUTURE WORK ............................................................................................................ 36
REFERENCES .............................................................................................................................. 38
APPENDIX A – SYSTEM DOCUMENTATION ........................................................................ 39
APPENDIX B – DESIGN DOCUMENTATION ......................................................................... 45
APPENDIX C - USER DOCUMENTATION .............................................................................. 54
APPENDIX D – MANAGEMENT REPORTS ............................................................................ 62
APPENDIX E - TEST RESULTS ................................................................................................. 64
APPENDIX F - CODE LISTING ............................................................................................ 68

vi
LIST OF FIGURES
Figure 2-1:The Clientrack system screen ........................................................................................ 6
Figure 2-2 : Client Worksheet of the Leprechaun ........................................................................... 7
Figure 2-3 : The eLite system screen............................................................................................... 8
Figure 3-1: Iterative Waterfall Model ........................................................................................... 15
Figure 3-2 : Entity Relationship Diagram ..................................................................................... 16
Figure 3-3 : Class Diagram for the System ................................................................................... 17
Figure 3-4 : High-level Use Case Diagram for System ................................................................. 18
Figure 3-5 : Database Structure for System................................................................................... 19
Figure 3-6 : Wireframe of the login page ...................................................................................... 20
Figure 3-7 : Wireframe of the site home page ............................................................................... 20
Figure 4-1: MVC(Model-View-Controller) Architecture ............................................................. 23
Figure 4-2: MVC Structure: Sublime Text .................................................................................... 23
Figure 4-3: Pseudo code for save system users ............................................................................. 24
Figure 4-4: Screen for Add User ................................................................................................... 24
Figure 4-5: Pseudo code for retrieve all system users ................................................................... 25
Figure 4-6:Screen for retrieved all users ....................................................................................... 25
Table 5-1:High-level test plan of the System ................................................................................ 30
Table 5-2 : Test Case for System Login/Logout ........................................................................... 31
Figure 5-3 : User Feedback Form - Customer ............................................................................... 33
Figure 5-4 : User Feedback Form – Administrator ....................................................................... 33
Figure 5-5 : Average Rating of User feedback .............................................................................. 34
Figure A-1-Version description of the WAMP server .................................................................. 39
Figure A-2-License Agreement of the WAMP server .................................................................. 40
Figure A-3-Destination selection of the WAMP server ................................................................ 40
Figure A-4 - Installation confirmation .......................................................................................... 41
Figure A-5-Launch WAMP Server ............................................................................................... 41
Figure A-6-Starting process of workbench installation................................................................. 42
Figure A-7-Destination selection of the wizard ............................................................................ 42
Figure A-8-Setup selection of the wizard ...................................................................................... 43
Figure A-9-Installation Confirmation............................................................................................ 43
Figure A-10-Launch Workbench................................................................................................... 44
Figure B-1-Usecase diagram for the appointment module ............................................................ 46
Figure B-2-Usecase diagram for the user management................................................................. 48
Figure B-3-Usecase diagram for generate system reports ............................................................. 50
Figure B-4-Activity diagram for appointment module.................................................................. 51
Figure B-5-Activity diagram for add promotion ........................................................................... 52
Figure B-6-Sequence diagram for appointment module ............................................................... 53
Figure C-1-Site pages(Home,About us,Services,Contactus) ........................................................ 54
Figure C-2-Customer registration.................................................................................................. 55
Figure C-3-Login page .................................................................................................................. 55
Figure C-4-Customer profile screens ............................................................................................ 56
Figure C-5-New appointment adding screen ................................................................................. 57
Figure C-6-Appointment invoice................................................................................................... 57
vii
Figure C-7-All added appointments .............................................................................................. 58
Figure C-8-Rating table ................................................................................................................. 58
Figure C-9-Dashboard of an admin ............................................................................................... 59
Figure C-10-Promotion adding form ............................................................................................. 60
Figure C-11-All added promotions................................................................................................ 60
Figure C-12-Customer list ............................................................................................................. 60
Figure C-13-List of transactions .................................................................................................... 61
Figure D-1-Appointment report .................................................................................................... 62
Figure D-2-Regular customer report ............................................................................................. 62
Figure D-3: Income report ............................................................................................................. 63
Figure E-1:User feedback form ..................................................................................................... 67

viii
LIST OF TABLES
Table B-1-Table structure for Appointment .................................................................................. 45
Table B-2-Table structure for Rating ............................................................................................ 45
Table B-3 : Usecase narrative for Check availability .................................................................... 46
Table B-4 : Usecase narrative for Make appointment ................................................................... 47
Table B-5 : Usecase narrative for Pay amount .............................................................................. 47
Table B-6 : Usecase narrative for Receive appointment details .................................................... 48
Table B-7 : Usecase narrative for Add new user ........................................................................... 49
Table B-8 : Usecase narrative for Edit user ................................................................................... 49
Table B-9 : Usecase narrative for Delete user ............................................................................... 50
Table B-10 : Usecase narrative for Generate reports .................................................................... 51
Table E-1-Testcase for Customer Registration ............................................................................. 64
Table E-2-Testcases for email validation ...................................................................................... 67

ix
LIST OF ABBRIVIATION

AJAX – Asynchronous JavaScript and XML


CSS - Cascading Style Sheets
ERD - Entity Relationship Diagram
HTML - Hyper Text Mark-up Language
IDE - Integrated Development Environment
IT - Information Technology
JS - JavaScript
PDF - Portable Document Format
RAM - Random Access Memory
UML - Unified Modeling Language

x
CHAPTER 1 - INTRODUCTION

1.1. INTRODUCTION
The country’s beauty culture industry has moved forward to be part of the global trends. Many
ventures have emerged as representatives of the trade. The beauty industry employs a huge number
of workers nationwide, by revealing it is one of the most lucrative industries in the country. The
process of making ourselves look beautiful is an essential part of a human. There’s a lot more to
the concept of beauty than facial perfection. It is vital for keeping healthy, clean and hygienic as
well as playing a key role in social bonding by competent, likable and trustworthy. The paradigm
of beauty has been changed to the modern world and the needs and wants of the customer have
also been changed to making a specific market rapidly.

1.2. PROBLEM DOMAIN AND THE MOTIVATION


The salons provide men and women both with the variety of services. The customers would share
their favourable time with the salons. The hospitality and teamwork are key features of the success
of the business. Most of the customers are facing difficulties with improper management.

Presently, salon Chami is using a manual system for salon management. The manual system causes
numerous problems and it is time consuming inefficient process. Most of the customers are facing
difficulties when their appointments are not properly managed by the salon. Mostly they failed to
assign the earlier proposed beautician with the time. It will cause to make customer dissatisfaction
and moving for another salon. On the other hand, it will major impact to the goodwill of the
business. The owner tends to suffer financially because the payment details, customer
cancellations are not managed properly. Further, there is no proper process for announcing new
services, offers and discounts.

1.3. GOALS AND OBJECTIVES


Due to growing development of technology this client organization had been looking for an
economically feasible and time saving software solution to facilitate to handle their activities in
most efficient manner. The customer satisfaction and reduction of manual documentation are the
major objectives of this project. This software solution will provide secure, user friendly, reliable
and effective web based system for manage appointments, user management, announce
offers/promotions, maintain customer reviews and manage financial transactions.

1.4. PROJECT SCOPE


The scope of the project listed according to the website and the system. The system requirements
are listed with the user types.

Website

The Site should be displayed with the ‘Home’, ‘About us’, ‘Services’, ‘Specials’, ‘Contact us' and
Registration pages.
1. The ‘Home’ page should be displayed with value proportion of the business.
2. The ‘About us’ page should be displayed with the background of the business and
milestones which are offering to focus on customer value.
3. The ‘Services’ page should be revealed the services with the standard of the business.
4. The ‘Specials’ page should be displayed the offering deals or promotions to increase the
customer acquisition.
5. The ‘Contact us’ page should be able to provide the direct communication between
audiences.
6. The customer should be able to register to the system by using the site.

Appointment Management

User Type – Customer

1. The customer should be able make appointments.


2. The system should be able to facilitate with selecting staff, selecting services, viewing
assigned calendar details (availability), selecting date and time.
3. The customer should be able to receive the message for the confirmation of an appointment.
4. The system should be able to facilitate the cancellation process of appointments.

User Type – Admin / Staff

1. The user should be able to manage the appointments.

2
Finance Management

User Type – Customer

1. The customer should be able to process their payments by the system.


2. The customer should be able to manage the transaction by paying and cancelling.
3. The system should be able to display the transaction details

User Type – Admin

1. The user should be able to manage the transactions.

Customer Management

User Type – Admin

1. The user should be able to manage details of offers/discounts.


2. The user should be able to request reviews for the appointment.
3. The user should be able to receive reviews.
4. The user should be able to manage reviews.
5. The user should be able to manage customers.

User Type – Customer


1. The customer should be able to receive the information about seasonal promotions.
2. The customer should be able to facilitate with the rating facility.

User Management

User Type – Admin

1. The user should be able to manage system users by add/edit/delete.


2. The user should be able to manage the daily availability of the user.
3. The staff members should be able to login to the system by the created account.

3
Administration

User Type – Admin


1. The user should be able to generate the reports.
2. The user should be able to manage the site ‘Specials’

1.5. STRUCTURE OF THE THESIS


This thesis organization will provide the overall knowledge about the implemented system as
follows,

Chapter 2 – Background
This chapter explains the background of the client and business, alternative solutions and selected
technologies.

Chapter 3 – Analysis and Design


This chapter explains the requirement gathering techniques, manual business process, functional,
non-functional requirements, system methodology, design strategy and alternative solutions.

Chapter 4 – Implementation
This chapter explains selected languages and technologies, supported software, hardware
environment, development tools and system architecture.

Chapter 5 – Evaluation and Testing


This chapter explains techniques of testing, types of testing, test plan and test cases , details of
manual and automation testing and user evaluation.

Chapter 6 – Conclusion and future work


This chapter explains the future enhancement of the system and lesson learnt of the overall
project work.

Appendixes
These contains details about supplementary of the thesis chapters which were not included in the
chapters.
4
CHAPTER 2 - BACKGROUND

2.1. THE CLIENT AND BUSINESS BACKGROUND


The salon Chami has become a well-known venture in highly competitive beauty culture industry.
The guarantee of quality services for the patron’s money worth is the vision of the business. The
proud owner of the salon has been able to improve her business within last few years. She started
her journey as a small bridal salon and expanded it with several staff members. It leads to create
them to a huge customer base. They are using a manual system for salon management. They
maintain manual documentation for their each and every business activities like making
appointments, cancel appointments, managing customer payments, tracking customers, managing
complaints, managing personal documentation of staff etc. The social media marketing is a highly
valued element of an advertising strategy. The business not taken the opportunity of it and total
profit depends on the consumer recommendations.

2.2. SIMILAR SYSTEMS


By studying similar solutions there were identified other approaches to meet the client
requirements. It was an opportunity to build the software solution in better way.

Case Study 1: Clientrack

The ‘Clientrack’ is a spa and salon software which is only for manage clients and business salon
processes built from the ground up exclusively for spas, salons. As well as this is support for the
medical practices. The Client management, Employee Management, Caller ID, Payroll and
Inventory Management are key features of the system. The cash drawers, hand-held scanners and
high speed receipt printers should be able to use as hardware requirements [1].

5
Figure 2-1:The Clientrack system screen

Pros

i. Users will be able make appointments 24/7 with fast, well-functioning.


ii. All the information and reports are stored in the computer.

Cons

i. Free trial version is not available to the clients.


ii. The most extensive features are wrapped only with the full-package.
iii. Complex and complicated user interfaces are designed for major screens like dashboard
(Figure 2-1), client worksheets, schedule overview etc.

Case Study 2: Leprechaun

The Leprechaun is spa and salon management software which is facilitates daily spa and salon
management functions. It was developed in 1980 and continuous by improving hardware,
technology and network developments [3].Track Sales, Track Clients, Manage Marketing and
Calculate Payroll are the key functions of the system [4]. Users will be able to operate it in
Windows 2000 to Windows 10.The bar code scanner, cash drawer, back-up devices, 256MB RAM
used as hardware requirements of the system [4].

6
Figure 2-2 : Client Worksheet of the Leprechaun

Pros

i. Providing comprehensive training and ongoing phone-based technical support


ii. No internet access required

Cons

i. Monthly subscription fee will be added to every system update.


ii. Live telephone support available only on working hours.

Case study 3: eLite salon and spa management

The eLite salon and spa management is designed to handle client files, inventory, cash register,
appointment and payroll. This is function independently as stand-alone product. Pentium class CPU
(133MHz) and 128MB RAM are used as requirements of the program. [6]

Pros

i. Elite salon and spa management included with a payroll system. It can be purchased
separately.
ii. User-friendly interfaces allow users to interact with the system.

7
Cons

i. Newly updated version only supports for windows 7 Professional or 64 edition of


windows.
ii. The 24hour tech support available only for Monday to Friday from 9am to 5pm.
iii. Refuse to give tech support or cording without charging user.

Figure 2-3 : The eLite system screen

2.3. SUMMERY
There are many salon management software created by many companies around worldwide.
Mostly the low budget salon management software was built for primary requirements. To change
it to customizable manner will be highly cost task. There were some downloadable systems
available on the internet for short period. Most of them are not provide all the same features of
regular copy. The high budget products also have bulk of additional features that will not be related
to the client organization. Some system have the least friendliness interfaces.

8
This system will be low cost, simple, custom software solution for the client organization with all
necessary requirements in the domain of salon management.

2.4. SYSTEM DESIGN STRATERGY


The design phase translates requirements into representation of the software. There are two
approaches to the design phase, Object oriented and structured [7]. The structured method is a
conceptualization of problems into several well organized elements of solutions such as modules,
stages, steps and tasks. Additionally well-structured design follows specific rules, cohesion and
coupling involve to communicate among modules. Object oriented method is selected for this
project, because object oriented design method is a widely-used standard computer application
development method. OOD has many advantages against structured approach. This is used to
collaborate objects and attributes and methods of their objects [8].Improve project management
and control, Make more effective use of development and develop better quality systems are major
objectives of this method. Unified Modeling Language (UML) is the widely used designing tool to
depict the model of the objects with collection of graphical symbols. This design approach is very
efficient way to implement designing phase.

2.5. TECHNICAL FINDINGS


The Hypertext Pre-Processor (PHP 5.6.25) is chosen as the main programming language with other
supportive languages and technologies [4.2.1]. Apache(Version : 2.4.23) is used as the web server
and MySQL(Version : 5.7.14) is used to handle the database[4.2.2].A proprietary cross-platform
source code editor (Sublime) is chosen as IDE [4.4].When building an enterprise application it is
necessary to use proper hardware configurations.3GM RAM, Intel(R) Core(TM)i5 CPU 2.66GHz
processor,64-bit operating system, Hard disk, keyboard and mouse are using as hardware
requirements[4.3].

9
CHAPTER 3 - ANALYSIS AND DESIGN

3.1. INTRODUCTION
The analysis is provided information about existing manual system as well as the fact gathering
techniques and collected functional requirements, non-functional requirements. This is very
important procedure for success of the project, but most critical activity of software development
process is designing the system according to identified requirements of analysis phase. This will
be the key factor to complete the software system successfully. The system design provides the
detail and description of the system including components, interface, modules, architecture and
data. A best system design makes the software solution more efficient.

3.2. REQUIREMENT GATHERING AND FACT FINDING


Gathering client’s requirements by using the fact finding techniques are the most critical part in the
analysis phase. There should be a proper way to handle these techniques to avoid conflict client
requirements. Various techniques were used to gather the requirements to identify the project scope
clearly.

 Interviews

Interviews are most commonly used technique in requirements gathering. This is a fact finding
technique whereby collects information from individuals through face to face interaction. This
interviews can follow both structured and unstructured way. It was great aid to clarify the facts
avoid ambiguities. It becomes greater advantage to the project.

 Observation

Mostly the target audience were express requirements in their own terms and also there were
conflict requirements. This method can be very reliable in those situations. The existing manual
system was observed to identify the tasks that have been missed or inaccurately described by
customers.

10
 Sample documentation

This method would help to get a clear idea about the system by studying the relevant documents
and reports. Sample documents such as daily appointments book, account book used in order to
clarify gathered requirements.

3.3. CURRENT BUSINESS PROCESS


The client currently uses a manual appointment management system for their day to day activities.
The client should have to maintain paper works for each and every reservation their customer made.
The customer will be able to interact with the system in two ways such as contact staff member by
phone or reaches to the place. The services of the saloon categorized into several sub-categories.
All these details should have to notify when they record reservation information. And also the client
receives about fifteen cash payments on average every day. The authorized employee who
maintains these cash payments have to refer the reservation book for more details. It is time
consuming inefficient process. The client also should have to maintain the personal details of their
customers. These records using for their loyalty programs, rewards and promotion campaigns. The
client doesn’t has any mechanism to maintain customer complaints, suggestions to their future
improvements. The personal details of staff members also have to maintain by the client using
separate file for each employee.

This manual system is not managed properly, most of their customers are not satisfy about their
service. The regular customers have their own beautician who can support with their maximum
capacity to fulfill their need. Most of the time the client will not be able to present the relevant
assigned staff member to the customer. Therefore the client is missing their huge customer base
from recently. And also there are no proper mechanism to retrieve information. It makes
uncomfortable as well as so much of time consuming when the client need a particular information
in some situation. And also confidential data recorded in insecure manner. All payments are
maintained manually in books and files. If any information needed in relevant time frame it is hard
to handle it with this manual system. And also it is difficult to make timely reports through the
system.

11
3.4. FUNCTIONAL REQUIREMENTS
A functional requirement, in software and system engineering, is a declaration of the intended
function of a system and its components. Following are the functional requirements that have been
identified through the system analysis.

3.4.1. Appointment Management


The appointments which are received from the customers will be managed by the system
administrator. The admin will be able to access all the relevant information of appointments for the
selected customer.

3.4.2. Finance Management


The payments of the customers will be managed by the system administrator. Administrator should
be able to view all the finance details. And also this will be helpful to the customers when
processing cancellation of appointments.

3.4.3. Customer Management


Customer management is the one of the most important operations in the salon. Because customer
satisfaction will be the key for the success of the business. The system should be able to maintain
personal details , complaints/suggestions, ratings, behaviors of the customer. They also should be
able to log in to the system using valid username and password.

3.4.4. User Management


All the identified users, in the staff, should be able to log into the system securely by validating
username and password. Identified user types should have certain authorization to access data from
the system. Administrator should be able to add, modify, view details of the users.

12
3.4.5. User Availability
The administrator should be able to maintain the availability of staff, when customer requesting
the salon services. It will be great opportunity to avoid dissatisfaction of customers and make
value of their schedule.

3.4.6. Maintain Reference Data


When using software system, there are many reference data to be maintained. Such as user type,
appointment type, service type, rating type etc. Users have to use these reference data in several
situations.

3.5. NON-FUNCTIONAL REQUIREMENTS


These are the constraints on the services or functions offered by the system.

3.5.1. Maintainability
Maintainability is the capacity of a system that can be maintained. Mostly this can be made to
satisfy new requirements or to correct deficiencies within effort and time.

3.5.2. Accuracy and Consistency


These are very important requirements for the system when storing the personal details of system
users, payment details of customers, complain managing, rating managing etc.

3.5.3. Usability
Mostly we can categorize system users as non-technical. Therefore system operations should easily
be understood by the user. Interfaces must not be complicated and flexible in proper way. The
system also should be able to respond at a considerable short period of time according to requests
made by users.

13
3.5.4. Platform Independency
The system will be capable of working irrespectively of the operating system used in the user
computer. Since this is a web solution only need a web browser to run the system.

3.6. ALTERNATIVE SOLUTIONS AND JUSTIFICATION


Several alternative solutions were gathered and compared to find out the most suitable method to
develop the system.

 Standalone Application

Standalone software is a computer program that can work offline. It does not necessarily require
network connection to function the requirement. According to the given requirements by the client,
system should not be running on a single computer because there are several members in the staff
and also the business running with timely receive requests. Standalone applications are platform
independent. Standalone applications also have high maintenance cost.

 Mobile Solution

When using mobile program as a solution, system will be available to access from anywhere. It is
incorporated with some problems. Main reason is there was not a requirement from client to build
up this kind of a solution. Users of the system required to have web accessible phones such as smart
phones, tabs to access the system.

 Web Based Solution

A web based system is any application software that runs in a web browser and is created in a
browser-supported programming language. It can be easily accessible by many users connected to
a network. These kinds of systems have central application server and database. It can be easily
maintained and will be system independent.

14
Justification

According to the above pros and cons the best solution would be a web based solution. There are
many supportive languages such as HTML, CSS, Java Script, PHP, .NET and java. Some
organizations offers development IDE’s such as Microsoft Visual Studio is relatively so high. PHP
is chosen as programming language and Sublime is chosen as development IDE.

3.7. SYSTEM DESIGN METHODOLOGY


The system development life cycle (SDLC) is a process that describes the activities performed at
each stages of an implemented project. It consists of six stages, Planning, Analysis, Design,
Implementation and Deployment, System testing and Integration and Maintenance. The objective
of the SDLC is producing the high quality software. There are various SDLC methodologies such
as Waterfall, Rapid application development, Extreme programming, Scrum etc.

3.8. METHODOLOGY FOR THE PROPOSED SYSTEM


Among many software development process models iterative waterfall model is selected for this
project. Derived from the classic Waterfall Model, Iterative Waterfall Model has many advantages.
Parallel and iterative development can be considered as the major advantage of this methodology.
In the classic Waterfall Model assumes that no defects are introduces during any development
activity. But in real development of a system, defects are occurred in every phase of the life cycle.
Thus we need feedback paths which included in the Iterative Waterfall Model (See Figure 3-1).

Figure 3-1: Iterative Waterfall Model

15
3.9. THE DELIVERABLES
The process modeling and data modeling are two modeling methods which will provide the
information about the deliverables of the proposed system. The data model is an abstract model
which shows physical and logical representation of the system entities and their relationships. This
modeling method used to design the Entity Relationship diagram and Class diagram to the system.
By using UML, Use Case Diagrams, Activity Diagrams, Sequence Diagrams will be able to design
for the proposed system under process modeling method.

3.9.1. Entity Relationship Diagram for the System


This Diagram illustrates the interrelationships between entities of the project and also helps to
understand the entire model. The following Figure 3-2 is presented the ERD for the proposed
system.

Figure 3-2 : Entity Relationship Diagram

16
3.9.2. Class diagram

The class diagram depicts the static structure of the system. A class is a representation of an object.
The classes in a class diagram (Figure 3-3) represents the main attributes and their interactions.

Figure 3-3 : Class Diagram for the System

3.9.3. Use case diagram

Use case diagram is a graphical representation of user’s interaction with the system. It depicts
different types of system users and various ways they interact with the system. (See below Figure
3-4 )
17
Figure 3-4 : High-level Use Case Diagram for System

Figure B-1-Usecase diagram for the appointment module, Figure B-2-Usecase diagram for the user
management, Figure B-3-Usecase diagram for generate system reports which were
designed for the system included in Appendix B

18
3.9.4. Database Design
Database design is the process of producing a detailed data model of a database. The main purpose
of this process is to understand data and relationship among the data. Figure 3-5 represent the table
structure of the database for proposed system is given below.

Figure 3-5 : Database Structure for System

3.10. Interface Design

Interface designing part is a critical part of the overall software designing process. Because many
user errors can be occurred, if the interface designing is poor. Users would not be bothered about
business logics or data accessing when they interact with the system.

Wireframe is a simplified version of the interface layout whose aim to represent the layout of the
designed website or application. These are applied the early stage of product design. Following
section will display the wireframes of login page (Figure 3-6) of the system and home page (Figure
3-7).

19
Figure 3-6 : Wireframe of the login page

Figure 3-7 : Wireframe of the site home page

20
CHAPTER 4 – IMPLEMENTATION

4.1. INTRODUCTION
This is the phase that software becomes executable. The goal of this phase is to implement the
design using selected programming language in the best possible manner. Implementation affects
both testing and maintenance phases and also it would be the most time consuming stage. This
phase was started with installing system environments and tools which were identified.

4.2. SOFTWARE ENVIRONMENT


The following software requirements were identified as the minimum software requirements for
the environment.
4.2.1. Supported Languages and Technologies
 PHP(Hypertext Preprocessor)
 HTML(Hyper Text Markup Languages)
 Javascript
 Ajax(Asynchronous JavaScript Technology and XML)

4.2.2. Supported Browsers and Software


Following browsers, software and development tools are also supported for the system.

 Windows 10 operating system


 WAMP server
 MySQL Workbench
 Google chrome
 Lucid chart
 Sublime Text
 Adobe Photoshop CS5
 Microsoft Office package

21
4.3. HARDWARE ENVIRONMENT
The system has developed using a computer with the following configurations,

 4GB RAM
 Intel(R) Core(TM)i5-5200U CPU 2.20GHz
 64-bit Operating System
 Hard disk
 Keyboard and Mouse
 Internet Connection

4.4. DEVELOPMENT TOOLS


When building an enterprise application, it is necessary to use development tools to minimize the
time and effort of the developer.

 Sublime Text

Sublime Text is a proprietary cross-platform source code editor with a Python application
programming interface (API). It natively supports many programming languages and markup
languages, and functions can be added by users with plugins, typically community-built and
maintained under free-software licenses [8].

 MySQL Workbench

It is a visual database design tool that integrates SQL development, administration, database design,
creation and maintenance into a single integrated development environment for the MySQL
database system.

 Adobe Photoshop CS5

Adobe Photoshop is a raster graphics editor developed and published by Adobe Systems for
Windows and OS X. Throughout the project development Adobe Photoshop CS5 is used as the
image processing software; to create images, edit pictures which required for the project.

22
4.5. MODEL-VIEW-CONTROLLER (MVC) ARCHITECTURE

Figure 4-1: MVC(Model-View-Controller) Architecture

The MVC is a software architecture which is used in software engineering, the fundamental
principle is based on the logic of an application separated from the presentation (See above Figure
4-1). The MVC proposes three types of objects in an application, the Model, Views and Controller.
The Model objects hold data and define the logic for manipulate the data. The View objects
represent the elements in the interface. The Controller objects acts as mediator between the Model
and View objects.

Figure 4-2: MVC Structure: Sublime Text

23
4.5.1. Pseudo code for Algorithm to Save system users
Following pseudo code shows (See below Figure 4-5) how insertion is happened when click on
save button on the screen. This is not an actual programming language code, pseudo code has
similar structural conversations of a programming language. The pseudo code does not run as a
real program, there is no standard way of writing a pseudo code.

Figure 4-3: Pseudo code for save system users

Below Figure 4-4 is presented the system screen of user save

Figure 4-4: Screen for Add User

24
4.5.2. Pseudo code for Algorithm to retrieve all system users
Following pseudo code shows (Figure 4-5) how all users retrieve from the database.

Figure 4-5: Pseudo code for retrieve all system users

Below Figure 4-6 is presented the system screen of user list

Figure 4-6:Screen for retrieved all users

4.5.3. Data Validation


Data validation is a most important and critical part of the implementation process. Because users
can enter unwanted values to the system, so that accuracy of the data can be loosed. The main
objective of the data validation is ensuring the input values in the correct format. Following code
shows the text field validations for the promotion adding page.

25
<script>
$(document).ready(function() {
$('#defaultForm').bootstrapValidator({
// live: 'disabled',
message: 'This value is not valid',
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
offer_title: {
validators: {
notEmpty: {
message: 'The title is required and cannot be empty'
}
}
},
offer_description: {
validators: {
notEmpty: {
message: 'The description is required and cannot be empty'
}
}
},
offer_discount: {
validators: {
digits: {
message: 'The value can contain only digits'
},
stringLength: {
min: 0,
max: 100,
message: 'The discount must not be more than 100'
},
integer: {
message: 'The value is not an integer'
},
}
},
offer_start_date: {
validators: {
date: {
format: 'YYYY/MM/DD',
message: 'The start date is not valid'
26
}
}
},
offer_end_date: {
validators: {
date: {
format: 'YYYY/MM/DD',
message: 'The end date is not valid'
}
}
},
offer_status: {
validators: {
notEmpty: {
message: 'The status is required and cannot be empty'
}
}
}
}
});
});
</script>

27
CHAPTER 5 - EVALUTION AND TESTING

5.1. INTRODUCTION
Software testing is a critical process involves executing an implementation of the software with
test data and examining outputs of the software to verify whether it satisfies the specified
requirements or not. Testing is a dynamic technique of validation and verification. Validation refers
whether the system satisfies the requirements and verification refers whether the system
implements the specified functions properly.

5.2. TECHNIQUES OF SOFTWARE TESTING


There are two techniques of software testing.

 Black box Testing

Black box testing is a testing technique that ignores the internal mechanism of the system and
focuses on the output generated against any input and execution of the system. It is also called
functional testing.

 White box testing

White box testing is a testing technique that takes into account the internal mechanism of a system.
It is also called structural testing and glass box testing.

Black box testing is often used for validation and white box testing is often used for verification.

5.3. TYPES OF TESTING


5.3.1. Unit Testing
Unit Testing is carried out as a part of the coding task. This phase is based on the design of the
software for a piece of code. Unit testing should prove the following about the code,

 Robust – the code should not fail under any circumstances.


 Functionally correct – the code should carry out the circumstances.

28
 Correct interface – the inputs and outputs from the code should be as defined in the
design.

5.3.2. Integration Testing


Integration Testing is carried out after the separated software modules have been tested. Integration
testing is based on the functional specification of the software. Bottom-up integration testing
approach was used in this level, low-level components are integrated and tested before the high
level components have been developed.

5.3.3. System Testing


System testing is carried out at the completion of the integration testing. This was used to test the
non-functional requirements of the system. The purpose of system testing is to prove that the
software meets the agreed user requirements and works in target environment. System testing
covers both functional and non-functional requirements.

5.3.4. Acceptance Testing


Acceptance testing is often done by the customer to ensure that the delivered product meets the
requirements and works as the customer expected. It falls under the class of black box testing.

5.4. TEST PLAN AND TEST CASE


Test plan is a detailed document about the scope, schedule of the testing and test deliverables. It
gives how the testing will proceed, who will do the testing, what will be tested, in how much time
the test will take place, and to what quality level the test will be performed. For this project, testing
will proceed with above mentioned test types. Following section will briefly discuss the test plan
for the main module functions of the system.

Module Name Function name Test


Priority
Customer Module Registration/Login High
Password reset High
Insert customer personal details High

29
update personal details High
Insert customer credit card data High
update credit card details High
make appointment High
make payments High
Make rate and review High
Appointment Module Insert appointment details High
Maintain appointment status High
View appointment details Medium
Cancel appointment High
Search appointment details High
Receive payment High
Administrative Model Add system users High
update system users High
view user details High
delete users High
receive rate and reviews High
View rate and reviews High
Maintain transaction details High
Perform transaction actions High
maintain customer details High
view customer details Medium
Add promotions High
Edit promotions High
Send promotions High
Delete promotions Low
Reports Module Generate monthly income report High
Generate appointment report High
Generate regular customer report High
Generate monthly services report High
Table 5-1:High-level test plan of the System

Creating test case is the most important part in the testing procedure. After creating the test plan,
test creation is done. The test case consists with description of the test case, test data (optional),
expected result, actual result and status. In order to reduce the complexity of the system, system
has divided into modules. Test cases were written for each module.

Test Case for System Login/Logout


No Description Expected Actual Result Pass/
Result Fail
1 Check whether the users are able to login Please fill out Please fill Pass
without email(Empty) and password(Empty) this field. out this field.

30
2 Check whether the users are able to login Please fill out Please fill Pass
without password(Empty) and correct this field. out this field.
username([email protected])
3 Check whether the users are able to login Please fill out Please fill Pass
without password(Empty) and incorrect this field. out this field.
username([email protected])
4 Check whether the users are able to login Please fill out Please fill Pass
without username(Empty) and correct this field out this field
password(12345678)
5 Check whether the users are able to login Please fill out Please fill Pass
without username(Empty) and incorrect this field out this field
password(fhsjkdfh)
6 Check whether the users are able to login with Wrong email Wrong Pass
incorrect username(!#@gmail.com) and or password, email or
correct password(12345678) Please try password,
again. Please try
again.
7 Check whether the users are able to login with Wrong email Wrong email Pass
correct username([email protected]) and or password, or password,
incorrect password(sdhfkjsdhf) Please try Please try
again. again.
8 Check whether the users are able to login with Wrong email Wrong email Pass
incorrect username (!@!%@gmail.com)and or password, or password,
incorrect password(sdhfks) Please try Please try
again. again.
9 Check whether the users are able to login with Open the Open the Pass
correct username([email protected]) system, login system, login
and correct password(12345678) screen screen
change into change into
dashboard dashboard
screen screen
10 Logged and opened system, click Close opened Close opened Pass
logout(Username – [email protected], system and system and
Password - 12345678) dashboard dashboard
screen change screen
into login change into
screen login screen
Table 5-2 : Test Case for System Login/Logout

5.5. MANUAL TESTING


Manual testing is the process of using the functions and features of an application as end-user to
verify whether the requirements are achieved as required. With the manual testing, tester will
manually conducts tests on the software by pre-defined test cases. Above mentioned all test types
manually performed during the test cycle(Appendix B). It can be more tedious and time consuming,

31
but it gives visual feedback like look and feel, opinion of user interface which scripts can’t provide,
a tester is getting exact kind of a person who would use the system and less investment will require
for the tools/software. Tarantula, Testopia, qaManager etc. are freely available software for test
case management.

5.6. TEST AUTOMATION


Test Automation is a technique in software testing that makes use of special software tools to
control the execution of tests and then compares actual test results with expected results. It is
basically an automation process of a manual process. Test automation can automate some repetitive
tasks in formalized manner. There is a huge number of open source and paid tools in the market.
The Selenium, Watir, Windmill, SoapUI are the most popular open source tools and Ranorex ,
Tellurium are commercially available tools in the market.

The implemented system is tested by using manual testing process. It is a time consuming process.
The major benefit of manual testing is that it allows a human to capture the insights from a test that
might be missed by an automation testing program [2].

5.7. USER EVALUATION


The purpose of an evaluation is to inspect the effectiveness, efficiency, user friendliness of the
system and confirm whether the user requirement are achieved. Therefore the outcome of the
system evaluation is considered as the key factor of the success of the project. It is indicated as a
systematic achievement of the system. Normally user evaluation is done by selecting different users
of the system. In this system, owner has selected as an administrator of the system and other users
has taken as normal users with different privileges.

5.8. TECHNIQUES USED FOR THE EVALUATION


There are different types of techniques that can be used to evaluate the success of the project. The
customer evaluation need to be done under each identified user type. At the end of the final test
round a feedback form distributed to evaluate the success of the project. The user evaluation form
shown in below (Figure 5-3) was distributed among the various types of users.

32
Figure 5-3 : User Feedback Form – Customer

Figure 5-4 : User Feedback Form – Administrator

33
And also the evaluated user feedbacks that were taken among six members at the acceptance testing
as described in the above 5.7 can represent graphically as follows (Figure 5-5),

Average Rating
5

Ease of usage

Interfaces
Character readability

System navigation

Response time
Ease of learning
Overall reaction

Functionalities
Evaluation Item

Figure 5-5 : Average Rating of User feedback

34
CHAPTER 6 – CONCLUSION AND FUTURE WORK

6.1. INTRODUCTION
Salon Chami is a well-known salon in Panadura area. They need to enhance their business with
new technology. Earlier they faced many problems with manual system and heavy paper works.
But currently they are performing out their day to day activities effectively. Earlier they faced many
difficulties of transactions of payments and management of appointments. They have to spend lot
of time to handle this processes. Currently because of this management system, they can carry out
their processes effectively. Since including report generation process of the system, they can
analyze their business status, quality of services and forecasting about future business. Further
decision making ability is increased. The requirements which we identified during the analysis
phase under non-functional and functional were successfully covered. The additional
functionalities and features were proposed to the current system.

6.2. PROBLEM ENCOUNTERED


There were several problems encountered during this project design and implementation. Technical
knowledge had to be gathered heavily by online tutorials, forums and books and also there were
written sample programs to get experience. Unfamiliarity of using charting and mail function took
an average time early stage of development.

6.3. LESSON LEARNT


The project gave a vast amount of practical knowledge in software engineering disciplines.
Opportunity has gained working with client in their environment and gathered requirements in
effective way. Because users of the system, mostly are non-technical and they expressed
requirements in their terms. The implementation phase is most interesting phase of the project, it
allowed to try out practically gathered academic knowledge of programming languages such as
PHP, javaScript, MySQL and many development techniques. That wonderful experience cause to
decide to future enhancement of the system. And also gathered new knowledge in a different
domain area which will be helpful for further development of my carrier.

35
6.4. CRITICAL ASSESMENT OF THE PROJECT
There were many international and local alternative software solutions available for salon
management process. Most of them are highly customized for the client requirements and also they
are not easy to maintain with the price of it. So the system is developed as a web based software
solution with aim of easy maintenance. Almost all the objectives of the project will be completed
according to the user expectation. The system is facilitated for day today appointment management
and other main activities with highly secure accessible manner compared with other available
competitive systems. And also the system has highly customizable, user friendly interfaces. The
simple and easily understandable user interfaces causes to satisfactory of users.

This system also have a SMS notification engine which other systems not possess. It generates
notification SMS for confirmation of the appointment. The systems has many other interesting
facilities such as interactive dashboards, managerial reports to make it better than the other existing
software solutions. Up-to-date and accurate reports with different graphical views were generated
automatically to the authorized users in order to improve decision making.

Final output of this project is highly user friendly, reliable web based salon management system
for salon Chami. The system was developed according to the requirements of the client. The all
requirements of the salon are carefully analyzed and transformed in to a design phase and
implemented into executable source code using PHP language. The website is created to convince
the visitors that they should become customers of the business and portal is facilitated with the all
activities related to the management of appointments. Further, the system is properly tested
according to test cases to confirm functional and non-functional requirements. After that, system
will be developed at the client site to begin its operations.

6.5. FUTURE WORK


This system was developed in an open source environment to support mainly for platform
independency of the system. And also used comments line, meaningful variable names, table
names, fields are important facts for future enhancements. So it is hoped to establish following
improvements for the betterment of the system. Following are the some of the future enhancement
of the system.

36
 Introducing online appointment management through the mobile.
 Improving reports and showing graphs by using analytical tool.
 Improve the system with virtual hairstyling tool

37
REFERENCES

[1] "CilentTrack," 22 3 2010. [Online]. Available: https://www.slideshare.net/clientrak/clien-


trak-spa-and-salon-software.

[2] "Leprechaun Saloon Software," 21 10 2011. [Online]. Available: http://leprechaun-


software.blogspot.com/.

[3] "Leprechaun Saloon Software - Marketing fetures," [Online]. Available:


http://www.leprechaun-software.com/solutions/features-marketing.php.

[4] "Leprechaun Salon Software," Leprechaun Software, [Online]. Available:


http://www.capterra.com/p/20168/Leprechaun-Salon-Software/.

[5] "Elite-Salon-Spa-Management," [Online]. Available:


http://www.capterra.com/p/16143/Elite-Salon-Spa-Management/.

[6] "Strategies for Software Design," ProfessionalQA.com, 16 1 2018. [Online]. Available:


http://www.professionalqa.com/strategies-for-software-design. [Accessed 3 2 2018].

[7] "Software Design Strategies," Tutorials Point (PVT)Ltd, [Online]. Available:


https://www.tutorialspoint.com/software_engineering/software_design_strategies.htm.
[Accessed 3 1 2018].

[8] "Sublime Text," © Sublime HQ Pty Ltd , [Online]. Available:


https://www.sublimetext.com/.

[9] 7 Nov 2014. [Online]. Available: https://www.apicasystems.com/blog/automated-testing-


vs-manual-testing/.

[10] "Leprechaun Saloon Software Features," [Online]. Available: http://www.leprechaun-


software.com/solutions/features.php.

[11] "Leprechaun Saloon Software - Human Resources features," [Online]. Available:


http://www.leprechaun-software.com/solutions/features-hr.php.

38
APPENDIX A – SYSTEM DOCUMENTATION

Following list of software should be able to installed and running on the machine successfully,
before implementing the system,
 WAMP server
 MySQL Workbench

Installing WAMP server


WAMP Server can be downloaded from http://www.wampserver.com/en/download.php for free.
Before starting the download process, following screen will display to the users.

Figure A-1-Version description of the WAMP server

Once the download has completed, it will launch the following figure to start the installation
process.

39
Figure A-2-License Agreement of the WAMP server

It will be asked to accept the license agreement. Basically it’s a GPL license, by using it free to do
just about anything with it.
The next step is to select where we would like to install WAMP. The default will be
c:wamp however it can change to which ever directory or partition.

Figure A-3-Destination selection of the WAMP server

40
Click next and then confirm the installation settings again by clicking Install.

Figure A-4 - Installation confirmation

Once the installation finish, installed files on WAMP will displayed on default browser. But the
default browser will be able to change your way of navigation.
The next decision will have to make is to set the PHP mail parameters. Most people leave this set
to the defaults when setting up a testing server on their local computer. Now we can click next.
Using one of the icons you created or Start –> start WampServer, you can launch the management
console. Once opened, it will appear in the lower right hand corner of your screen.

Figure A-5-Launch WAMP Server

41
Installing MySQL Workbench 6.3 CE

Download MYSQL Workbench appropriate for your platform from


https://dev.mysql.com/downloads/file/?id=474210Fdgdfg
Open installation file for MySQL Workbench and press “Next”.

Figure A-6-Starting process of workbench installation

The destination folder default path displayed for the users and it will be able to change to any
desired location.

Figure A-7-Destination selection of the wizard

42
Choose ‘Complete’ setup and click ‘Next’ and ‘Install’

Figure A-8-Setup selection of the wizard

Figure A-9-Installation Confirmation

43
After completing the installation process ,click ‘Finish’

Figure A-10-Launch Workbench

Launch MySQL Workbench (in your start menu, choose MySQL from your installed programs,
and choose Workbench).By using this we can easily execute SQL queries before insert it to the
PHP page.

44
APPENDIX B – DESIGN DOCUMENTATION

Table Structure

Table Structure used to design for the appointment table and rating table displayed below as a
sample. All the other table structure were followed the following format.

Entity Appointment
Table Name tbl_appointment
Desription Appointments Details
Attribute Name Description Type Length Key
id Appointment Id INT 11 PK
customer_id Customer who INT 11 FK
made the
appointment
user_id Assigned staff id INT 11 FK
service_id Selected services VARCHAR 100 FK
list
app_date Appointment DATE
date
app_time Appointment DATETIME
time
transaction_id Transaction id INT 11 FK
app_status_id Status of the INT 11 FK
appointment
Table B-1-Table structure for Appointment

Entity Rating
Table Name tbl_rating
Desription Rating Details
Attribute Name Description Type Length Key
id Rating id INT 11 PK
rating_description Description of VARCHAR 200
the rated value
rating_type_id Rating value id INT 11 FK
user_id Assigned staff INT 11 FK
member id
customer_id Customer id INT 11 FK
app_id Appointment id INT 11 FK
Table B-2-Table structure for Rating

45
Use case Diagrams
 Use case diagram for the appointment module

Figure B-1-Usecase diagram for the appointment module

Use case name Check availability


Actors Customer
Description Customer check the availability of the session when make
appointment
Pre-conditions Customers should be logged into the system
Typical course of events Actor action System response
1.Click on new appointment
2.Select date
3.Check availability
4.System displays fixed times
of the sessions
Alternative courses 4.If there is not any available fixed appointments, system
displays the message
Post conditions All available fixed time sessions displayed on the screen
Table B-3 : Usecase narrative for Check availability

46
Use case name Make appointment
Actors Customer
Description Customer make appointment based on the time ,date and
services
Pre-conditions Customers should be logged into the system
Typical course of events Actor action System response
1.Click on new appointment
2.Select date
3.Check availability
4.System displays fixed times
of the sessions
5.Add services
6.Click to add appointment
Alternative courses 4.If there is not any available fixed appointments, system
displays the message
7.System displays error messages
Post conditions Appointment data displayed for the confirmation
Table B-4 : Usecase narrative for Make appointment

Use case name Pay amount


Actors Customer
Description Customer submit the payment after checking the confirmation
screen
Pre-conditions Customers should be logged into the system
Typical course of events Actor action System response
1.System displays the added
appointment details
2.Click to submit the payment
3.System displays the
payment details panel
4.Confirm the payment
5.System displays the success
message

Alternative courses 5.System displays error messages


Post conditions Appointment table updated
Table B-5 : Usecase narrative for Pay amount

47
Use case name Receive appointment details
Actors Staff
Description Staff
Pre-conditions User should be logged into the system
Typical course of events Actor action System response
1.Click on all appointments
2.System displays the added
appointment details
3.Refresh the page
4.System displays the newly
received appointments
Alternative courses 4.System displays already added appointments
Post conditions Appointment table updated on admin panel or relevant staff
member
Table B-6 : Usecase narrative for Receive appointment details

 Use case diagram for the manage system users

Figure B-2-Usecase diagram for the user management

48
Use case name Add new user
Actors Admin
Description Admin create a new user
Pre-conditions Admin should be logged into the system
Typical course of events Actor action System response
1.Enter the name,
designation, email address
and password
2.Assing user type
3.Click on save button
4.System displays successful
message

Alternative courses 3.System displays error messages


Post conditions The data saved in the database
Table B-7 : Usecase narrative for Add new user

Use case name Edit user


Actors Admin
Description Admin edit the existing user
Pre-conditions Admin should be logged into the system
Typical course of events Actor action System response
1.Update the name,
designation, email address
and password
2.Assing user type
3.Click on save button
4.System displays successful
message

Alternative courses 3.System displays error messages


Post conditions The data updated in the database
Table B-8 : Usecase narrative for Edit user

49
Use case name Delete user
Actors Admin
Description Admin edit the existing user
Pre-conditions Admin should be logged into the system
Typical course of events Actor action System response
1.Delete the selected user
2.System displays delete
confirmation message
3.Click for delete
4.System displays successful
message

Alternative courses 3.System displays error messages


Post conditions The data updated in the database
Table B-9 : Usecase narrative for Delete user

 Use case diagram for generate system reports

Figure B-3-Usecase diagram for generate system reports

50
Use case name Generate reports
Actors Admin
Description Generate the reports of the system
Pre-conditions Admin should be logged into the system
Typical course of events Actor action System response
1.Select the relevant report
2.System displays the report
generation form
3.Select date range
4.Click on search icon
5.Generate the report

Alternative courses Descriptive message displays when no data available to


display
Post conditions View report
Table B-10 : Usecase narrative for Generate reports

Activity Diagrams
 Activity diagram for appointment module

Figure B-4-Activity diagram for appointment module


51
 Activity diagram for add promotion

Figure B-5-Activity diagram for add promotion

52
Sequence Diagram
 Sequence diagram

Figure B-6-Sequence diagram for appointment module

53
APPENDIX C - USER DOCUMENTATION

This appointment management system is developed with lots of functionalities and feature in order
to carry out their day today processes smoothly. The scope of the project is consists with the site
and the system. The system will be able to available for the three types of users. The customers are
considered as external user and staff member, admin are considered as internal users of the system.

The site of salon consist with five main tabs with login page. The ‘Home’ page should be displayed
with basic introduction of the business. The ‘About Us’ page will display the starting and growth
of the business and owner details. The list of services should display in the ‘Services’ page. The
customers will be able communicate directly via contact us page.

Figure C-1-Site pages (Home, About us, Services, Contact us)

After reviewing the site information, customers will be able to register to the system by providing
their name, email address, mobile number and password. The error messages will be received

54
according to the invalid insertions and valid credentials redirect them to the system. Following
figure shows how page login and customer registration looks like

Figure C-2-Customer registration

Figure C-3-Login page

55
After login to the system, they will be able to change their personal details and add credit card
information. It is mandatory to manage those details, when making an appointment.

Figure C-4-Customer profile screens

There is a side bar, which differs according to the user authorization. It will be defined according
to the user type. As a customer, making an appointment is consider as the main process of the
system.

Appointment management

The customers will be able to make an appointment by selecting date, time, staff member and
services. The system will display the already reserved time slots for the selected date. After making
the confirmation of the appointment, they will be able to make the payment. The 2checkout
payment gateway is used for the transactions. The customers will be able to cancel the appointment
within announced time period.

56
Figure C-5-New appointment adding screen

Figure C-6-Appointment invoice

The admin of the system authorized to all the functionalities as an external user. All added
appointments are displayed in the table. The transaction records will maintain with status of the
payment. Following selection will discuss the information related to the system functionalities

57
Figure C-7-All added appointments

Rating management
The admin will receive all the ratings which customers assign to the appointments. These records
are displayed according to the specific appointment. These rating will receive with a description.
Then the admin will be able make decisions about staff of the salon and the quality of their services.
The total rating of the specific user will displayed with backend calculation.

Figure C-8-Rating table

58
Dashboard
The dashboard will be linked directly with the most relevant components.

Figure C-9-Dashboard of an admin

User management
The system users will be added by the admin of the system. All the user details can be stored via
following figure with name, email address, designation and image of the user. And the admin can
add, update and delete records. Further all the inserted data are displayed in the table. When clicking
on name of the user admin will be able see the brief description. If an admin enters invalid data system
displays the error message. If user trying to save with empty field system checks and display error
message. And also users can update details by their profile. Above Figure 4-4: Screen for Add User
and Figure 4-6:Screen for retrieved all users will show the screens for the management of system
users.

Promotion management
The promotions/offers will available for seasonal greetings and anniversaries. The admin will be
able to add, update and delete promotions. And also system supports to send the promotions to the
specific users.

59
Figure C-10-Promotion adding form

Figure C-11-All added promotions

Customer management
The system is listed all the customer records with a table. The admin will be able to view specific
customer details by their name. The customer search also available for this page.

Figure C-12-Customer list

60
Transaction management
The transaction history is updating with all the transaction which have done through the system.

Figure C-13-List of transactions

The customer will be able to receive promotional codes, seasonal offers according to their
interactivity.

61
APPENDIX D – MANAGEMENT REPORTS

Appointment report
Following figure shows succeeded appointments for the requested time range. All the relevant data
such as appointment no, customer name, requested services, appointment date and time are
displayed on the report.

Figure D-1-Appointment report

Regular customer report


This is mostly important to make decisions about the staff and quality of the service they provide.
And also this information is used when sending the seasonal offers.

Figure D-2-Regular customer report

62
Services report
This will show the mostly requested services according to the provided time frame. This
information will be used for making decision about price of the service and also increase the quality
of services.

Income report
This will show the income of appointments which related to provided time frame.These are mostly
uses for measure the growth of the business.

Figure D-3: Income report

63
APPENDIX E - TEST RESULTS

The following section will discuss the test cases which were used to test the system.
Test Case for Customer Registration
No Description Expected Result Actual Result Pass/Fail

1 Check whether the users Show error message Show error message Pass
are able to register
without inserting “Name”
2 Check whether the users Show error message Show error message Pass
are able to register
without inserting “email”
3 Check whether the users Show error message Show error message Pass
are able to register
without inserting
“Mobile”
4 Check whether the users Show error message Show error message Pass
are able to insert the
letters and symbols to the
“Mobile” field
5 Check whether the Show error message Show error message Pass
Validations are available for minimum length
for the min/max length of of 9
the mobile number
6 Check whether the Show error message Show error message Pass
validations are available for mismatched
for the mismatching of passwords
the password
7 Checck whether the Show error message Show error message Pass
validations are available
for min/max length for
the password
8 Check whether the user System not crashed System not crashed Pass
insertions are not able
cause the system crashes.
9 Check whether the users Successfully registered Successfully Pass
are able to register to the to the system registered to the
system by inserting the system
valid values
10 Check whether the Successfully redirect to Successfully redirect Pass
registered customers the valid page to the valid page
redirect to the valid
system page
Table E-1-Testcase for Customer Registration

64
Test Case for Validation of email address
No Description Test Data Expected Actual Result Pass/Fail
Result
1 Check whether [email protected] Success Success Pass
the users are
able to register
to the system
by valid email
2 Check whether [email protected] Success Success Pass
the users are omain.com
able to use the
email contains
dot with
subdomain
3 Check whether email@[123.123.12 Success Success Pass
the users are 3.123]
able to use the
email contains
with square
bracket around
IP address
4 Check whether "email"@domain.co Success Success Pass
the users are m
able to use the
Quotes around
email
5 Check whether 1234567890@domai Success Success Pass
the users are n.com
able to use the
digits in the
address
6 Check whether email@domain- Success Success Pass
the users are one.com
able to use the
Dash in
domain name
7 Check whether [email protected] Success Success Pass
the users are om
able to use the
Underscore in
the address
field
8 Check whether [email protected] Success Success Pass
the users are e
able to use the
.name in top
level domain
name
65
9 Check whether firstname- Success Success Pass
the users are [email protected]
able to use the om
dash in address
field
10 Check whether testemail Failed Failed Pass
the users are
unable to use
the plain
address as an
email
11 Check whether #@%^%#$@#$@#. Failed Failed Pass
the users are com
unable to use
garbage
characters in
the local part
12 Check whether @domain.com Failed Failed Pass
the users are
unable to use
an email
without
username
13 Check whether email.domain.com Failed Failed Pass
the users are
unable to use
an email
without @ sign
14 Check whether あいうえお Failed Failed Pass
the users are @@domain.com
unable to use
an email with
Unicode
characters
15 Check whether email@domain Failed Failed Pass
the users are
unable to use
an email
without top
level
domain(.net/.c
om/etc)
16 Check whether Failed Failed Pass
the users are
unable to use [email protected].
an email with 44444
invalid IP
format
66
17 Check whether [email protected] Failed Failed Pass
the users are
unable to use
multiple dot in
the domain
portion
18 Check whether [email protected] Failed Failed Pass
the users are
unable to use
leading dash in
front of
domain
Table E-2-Testcases for email validation

Following figure displays the user evaluation form which distributed among users.

Figure E-1:User feedback form

67
APPENDIX F - CODE LISTING

 Appointment model
The following code samples displays the major functionalities which use to retrieve the data
related to appointments.

public function view_appointment($appointment_id){


$this->load->database();
//where change as where_in for get rating cus_id and user_id,no issue occured on
appointment view
$db_appointment_id=$this->db->where_in('id', $appointment_id);
$query = $db_appointment_id->get($this->table);
return $query->result_array();
}
public function all_date_appointment($app_date){
$this->load->database();
//$this->db->select($data_appointment['fields']);
$db_app_date=$this->db->where('app_date', $app_date);
$query = $db_app_date->get($this->table);
return $query->result_array();
}
public function all_date_appointment_count($current_date){
$this->load->database();
//$this->db->select($data_appointment['fields']);
$db_app_date=$this->db->where('app_date', $current_date);
$query = $db_app_date->get($this->table);
$row_count = $query->num_rows();
return $row_count;

68
public function date_special_appointment_count($current_date,$special_id){
$this->load->database();
//$this->db->select($data_appointment['fields']);
$db_app_date=$this->db->where('app_date', $current_date AND 'service_id',
''.$special_id.'');
$query = $db_app_date->get($this->table);
$row_count = $query->num_rows();
return $row_count;

}
public function service_time_appointment($num){
$this->load->database();
//$this->db->select($data_appointment['fields']);
$db_id=$this->db->where('id', $num);
$query = $db_id->get($this->service_table);
return $query->result_array();

 Report model
All reports are managing through a same controller. Following code snippets use for capture the
data for the related reports. Controller code and model code for appointment report developed as
follows,
Controller code
public function date_range_appointments (){
$start_app_date = NULL;
$end_app_date = NULL;
$app_status_id = NULL;

extract($_POST);

69
$params['start_app_date']= $start_app_date;
$params['end_app_date'] = $end_app_date;
$params['app_status_id'] = $app_status_id;

$data['start_app_date']= $start_app_date;
$data['end_app_date']= $end_app_date;

if (isset($submit)) {
$date_range_appointments = $this->mod_appointments-
>date_range_appointments($params);
$data['date_range_appointments'] = $date_range_appointments;

//$data['date_range_appointments'] = $date_range_appointments[0];

$data['related_view']='system_appointment_report';
$this->load->view('template', $data);

}
Model code
public function date_range_appointments($params){

$start_app_date = $params['start_app_date'];
$end_app_date = $params['end_app_date'];
$app_status_id = $params['app_status_id'];

$this->load->database();
$date_range_data = $this->db->where("app_date BETWEEN '$start_app_date' AND
'$end_app_date' AND app_status_id = '$app_status_id'");
//$this->db->select($params['fields']);
70
$query = $date_range_data->get($this->table);

return $query->result_array();
}
public function all_cus_appointments($customer_id){
$this->load->database();
$customer_id=$this->db->where('customer_id', $customer_id);
$query = $customer_id->get($this->table);

return $query->result_array();
}

71

You might also like