MITexam PDF
MITexam PDF
MITexam PDF
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.
_____________________
Signature: Date:
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
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
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.
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.
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
2
Finance Management
Customer Management
User Management
3
Administration
Chapter 2 – Background
This chapter explains the background of the client and business, alternative solutions and selected
technologies.
Chapter 4 – Implementation
This chapter explains selected languages and technologies, supported software, hardware
environment, development tools and system architecture.
Appendixes
These contains details about supplementary of the thesis chapters which were not included in the
chapters.
4
CHAPTER 2 - BACKGROUND
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
Cons
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
Cons
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
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.
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.
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.
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.
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.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.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.
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.
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.
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.
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.
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.
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
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.
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
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 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
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.
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.
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.
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.
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 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.
28
Correct interface – the inputs and outputs from the code should be as defined in the
design.
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.
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
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.
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].
32
Figure 5-3 : User Feedback Form – Customer
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
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.
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.
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
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
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.
40
Click next and then confirm the installation settings again by clicking Install.
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.
41
Installing MySQL Workbench 6.3 CE
The destination folder default path displayed for the users and it will be able to change to any
desired location.
42
Choose ‘Complete’ setup and click ‘Next’ and ‘Install’
43
After completing the installation process ,click ‘Finish’
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
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
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
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
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
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
Activity Diagrams
Activity diagram for appointment module
52
Sequence Diagram
Sequence diagram
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.
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
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.
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
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.
58
Dashboard
The dashboard will be linked directly with the most relevant components.
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
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.
60
Transaction management
The transaction history is updating with all the transaction which have done through the system.
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.
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.
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.
67
APPENDIX F - CODE LISTING
Appointment model
The following code samples displays the major functionalities which use to retrieve the data
related to appointments.
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