2016MIT011
2016MIT011
web application
i
ABSTRACT
Preparing for weddings is always tedious, especially when it does not involve hired help. Long
checklists await soon-to-be brides and grooms before their auspicious wedding ceremony. Without
experienced assistance, these brides and grooms face frustrating situations in hunting for suitable bridal
products and services. This work presents an ideal one stop solution, called the “Wedding organizer”,
for the brides and grooms to retrieve information on available bridal products and services in the
shortest possible time. This web based wedding planning system provides a platform for brides and
grooms to acquire information on bridal products and services, as well as information of vendors
registered with wedding organizer. The couple has the ability to filter favorite wedding vendors by
shortlisting them and then contact them for best quotes. The system provides the checklist feature with
detailed task of what the couple has to do to prepare for the special day. Also, has the ability to add
own items or remove existing ones, add notes, see what percentage have finished, and keep track of
what still needs to be done. The system assists brides and grooms in making decisions based on their
preferences and budget function can manage the cost of individual expenditure items and all the
amounts are immediately added once the couple finalize the vendor.
ii
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:
_____________________
Signature: Date:
iii
TABLE OF CONTENTS
iv
CHAPTER 4 – EVALUATION
4.1 Testing ………………………………………………………………………………………...31
4.1.1 Introduction ……………………………………………………………………………....31
4.1.2 Test Plan ………………………………………………………………………………….31
4.1.3 Scope of testing ………………………………………………………………………..32
4.1.3 Test Strategy …………………………………………………………………………......33
4.1.4 Test Approach …………………………………………………………………………...33
4.1.4.1 Unit Testing ………………………………………………………………………....33
4.1.4.2 Integration Testing ………………………………………………………………….33
4.1.4.3 Smoke Testing ……………………………………………………………………....33
4.1.4.4 System functional Testing …………………………………………………………..34
4.1.4.5 Regression Testing ………………………………………………………………….34
4.1.4.6 UI/Navigation Testing ……………………………………………………………....34
4.1.4.7 Browser compatibility Testing ……………………………………………………...34
4.1.4.8 User Acceptance Testing …………………………………………………………....34
4.1.5 Test Cases ……………………………………………………………………………….35
4.2 Critical Appraisal ……………………………………………………………………………37
4.2.1 Introduction ……………………………………………………………………………...37
4.2.2 System Evaluation ……………………………………………………………………….38
4.2.3 Analysis of the feedback ………………………………………………………………...39
4.2.4 Objectives Covered ……………………………………………………………………...43
4.2.5 Lesson Learnt ……………………………………………………………………………43
CHAPTER 5 – CONCLUSION
5.1 Conclusion ……………………………………………………………………….…………..44
5.2 Future Work …………………………………………………………………………………44
REFERENCES ………………………………………………………………………….……….…..45
APPENDIX A – Use Case Narratives ………………………………………………….……………48
Use case narrative – Login …………………………………………………………….…………….48
Use case narrative – Add checklist …………………………………………………….……………48
Use case narrative – Search vendor …………………………………………………………………49
Use case narrative – Assign task ……………………………………………………………………49
v
LIST OF FIGURES
vi
Figure 3.31 – Dashboard of the administrator panel ………………………………………………...30
Figure 4.1 – Ease of use of the wedding planning system …………………………………………..39
Figure 4.2 – Errors clearly described in the wedding planning system ……………………………..40
Figure 4.3 – Navigation ratings of the wedding planning system …………………………………..40
Figure 4.4 – User interfaces ratings of the system …………………………………………………..41
Figure 4.5 – Security ratings of the wedding planning system ……………………………………...41
Figure 4.6 – Maintenance ratings of the system …………………………………………………….42
Figure 4.7 – Easy to learn ratings of the system …………………………………………………….42
vii
LIST OF TABLES
viii
ACKNOWLEDGEMENT
I wish to express my sincere appreciation and deeper gratitude to Dr M G N A S Fernando, the
supervisor of my project and his invaluable guidance, advice and constant encouragement throughout
this study which enabled me to successfully accomplish this project.
I would also like to thank the project coordinators Mr Malik Silva and Mr Viraj Welgama for the
immense support and help that he rendered to make this project a success.
Last but not least I wish to avail myself of this opportunity, express a sense of gratitude and love to
my friends, who support me throughout the project and my beloved parents for their support, strength,
and help and for everything.
ix
CHAPTER 1 - INTRODUCTION
1.1 Introduction
This chapter provides the introduction of the project, what is it, why is it needed, and who is the client.
Going through this chapter, the reader can get a clear understanding about the key modules of the
project and its feasibility. Also, this chapter addresses about the problem domain and the criteria of the
proposed solution to overcome it.
1.3 Motivation
Wedding arrangements are the most important things in one’s life and it should be perfect without any
mistakes and flaws that needs you to be a magician for managing budgets, bookings, suppliers, guest
list and to-do list on a daily basis [1].
Nowadays couples face frustrating situation in looking for wedding products and services here and
there and they want support from some other person. Unfortunately, the professional wedding planners
are quite expensive and not provide much relevant ideas and schedule to the couple. Even though,
there are handful websites which provide information to the user are not more popular in the Sri Lankan
culture and they have so many issues as not much user friendly ,questionable relevance to the specific
user and doubt with reliability.
“Wedding organizer” web application has been proposed as a solution to the current issues which
provide important key features which are expected from young couples. They are notifications sending
facility as a reminder of events, managing to-do list, manage guest list and enable to find the vendor
details.
1
1.4 Problem Domain
Traditionally, planning a wedding has always been a long process which involves a lot of time, money,
effort, stress and high risks. In the modern society due to competitive vendors the wedding has become
a fashion for both the couple and their parents [2]. Many brides do not want to take on the stress of
planning and stage managing their own wedding. Wedding planners help by providing planning
services up to the wedding and coordinating the event on the big day. A wedding planner is a
professional who assists with the design, planning and management of a client’s wedding. But their
cost is very high and the couple cannot afford it. They provide a key role in making sure that you enjoy
your wedding day as you have dreamt of, and they will make sure that all things will go smoothly
according to the plan [2]. But wedding planners give their own suggestions and they control the
couple’s ideas with their own planning. They are ready to introduce their own dealers who provide
commissions for them once the wedding planner will arrange clients. A wedding planner can charge a
flat fee for services, tact a percentage on to the key wedding expenditures. Therefore, there is always
chance the couple will go over budget and not even realize it.
Arranging bridal materials, making guest list and send the invitations are very challenging tasks but
wedding planning applications make it too easy. At the wedding day there are series of activities such
as speeches, dances, family pictures etc to be done involving many guests but the couple does not have
time to waste on finding the right guest for each activity. The proposed system has ‘Task Management’
function that assign ownership of each task to the couple’s family members and keep track of their
progress. It will help the wedding couple to enjoy the wedding day without any hassle.
1.5.1 Aim
The aim of this project is to help wedding couples to specify their desires and needs of every aspect of
the wedding such as themes, styles, locations, dates, vendor brands and more and vendors to expand
their market.
1.5.2 Objectives
The “wedding organizer” is a web based platform that aims to help organize successful wedding event.
The system assists the couples in the decision making and planning processes associated with all
aspects of a wedding organization. The system offers features that the couples can retrieve information
for wedding products and services as well as information of vendors in the shortest possible time. Also,
vendors can gain benefit of getting more recognition from clients and generating more revenue. The
proposed system has the ability to explore wedding goods/service suppliers (Vendors) across thirteen
relevant categories and allow vendors to enter and manage all relevant information such as price, client
list, models, previous work details, locations, exhibition details and more.
2
Wedding couple has the ability to register themselves in the web application by entering name of the
bride, name of the groom, and date of wedding. Managing the guest list is another important task
provide by the proposed system. Check who has already confirmed and who has not.
Balancing the budget is one of the hardest aspects of planning a wedding. The wedding couple has not
experience of dealing with paying vendor in the countdown to a wedding. Most couples have never
thrown a celebration like a wedding before. Therefore, they do not know how to budget for a wedding
[2]. The proposed system will help the wedding couple to figure out a budget for the event that is just
right for them. It will also help them to stay within budget when planning their big day.
So many things that need to be done on the wedding and prior this day. So planning is very important
to make the wedding day special and memorable. The wedding checklist is generated for that. It helps
to prepare for the big day without missing any of the bits and pieces that involved in planning.
Wedding couples have ability to register themselves in the web application. Name of the bride and
groom, wedding date, and homecoming date are needed.
The bride or groom will be able to find suppliers across thirteen relevant categories using extensive
filters such as cost, location or other required factors. Following are the thirteen categories:
- Venues
- Catering
- Photographers
- Videographers
- DJ/Band
- Wedding car
- Flowers & decorations
- Wedding jewelry
- Wedding cakes
- Wedding invitations
- Bridal Accessories
- Groom Accessories
- Health & Beauty
3
Wedding Checklist
Check items as done, and keep a track of the pending ones with own wedding countdown. See what
percentage have finished, and keep track of what still needs to be done.
Guest List
Keep track of guest status. Build your wedding guest list and easily keep track of guest attendance.
Task management
Has the ability to assign ownership of each task with your family members and keep track of their
progress.
Budget Calculation
Manage the cost of individual expenditure items (DJ, Florist, photographers …etc,) and all the amounts
are immediately added once the couple finalize vendors
Keep the track of payments such as actual cost incurred, estimated cost, amount paid and amount need
to be paid.
4
CHAPTER 2 – BACKGROUND
2.1 Background Study
Weddings have forever been a significant and important celebration for many people around the world.
They celebrate the binding love between two people and the journey into a new life together. Often
times, weddings are events that brides have been dreaming about and looking forward to their entire
lives. Many brides would even agree that, “a wedding is the celebration of a lifetime, and whether that
celebration is a grand fete for hundreds or an intimate gathering of family and friends, it is a day when
dreams come true” [3].
This idealistic, romantic view about weddings has not always been the way it is today. For much of
human history it was rare that love was the main reason for people to get married. Until very recently,
many civilizations believed in the economic functions of a marriage over personal satisfactions [4].
Marriages were made for family and economic benefits, with the hope that the marriage would result
in love later on [5]. As a result of this traditional approach, arranged marriages were very common for
many years. Only in recent years did the idea of marriage for love become popular.
This new concept of a wedding speaks to many brides and encourages them to make their fantasy
weddings come true. The feeling of a dream wedding as a necessity intensifies the lavishness of
weddings each year. Significantly more money is spent to create a dream wedding [6]. The average
budget for a wedding is now estimated at nearly $27,000 [7]. Couples are going above and beyond to
make their weddings perfect. Every year is different when it comes to creating a dream wedding. In
order to keep up with the changes, brides now tend to follow popular trend throughout their planning
process.
The wedding budget can be the biggest limiting factor for a bride when planning a wedding. The
budget is considered in every decision about the wedding and determines how big and extravagant or
simple and small the wedding must be [8]. Normally, the wedding planning period is thought of as a
period of overwhelming excitement during which couples are much more likely to forget about their
worries and go on a wedding planning spending spree [9]. It is becoming more apparent in recent
recessionary years that couples have had to become more aware of their wedding-related expenditures
[9]. Although the overall wedding budget is much higher than budgets of the past, couples are still
leaning toward the new trend of stricter, mindful wedding budgets. In order to stay within their budgets,
brides are spending more time in their wedding planning process to make sure they avoid any extra
spending [10]. Some brides are even cutting costs by adopting a “good enough” attitude when planning
their wedding [10]. Weddings can be a daunting expense for many couples. Luckily, new trends are
helping couples tighten up their budgets by finding new cost-effective ways to make their wedding
special.
Venues are also key to the celebration of a wedding. They create the atmosphere that is forever linked
to the memories of the wedding [9]. According to Daniels et al., “the venue is generally one of the first
decisions made, thus driving many other wedding purchases”. Couples can choose to be as traditional
or creative with their venues as they wish. It has even recently become popular to choose a venue based
off of a wedding theme [11]. Destination weddings have also become popular in recent years.
Destination weddings are weddings that are held in a location that the couple does not reside in, often
in an exotic or popular tourism destination. These kinds of weddings allow many couples to live out
their dream wedding. In order to accommodate for these new venue desires, most couples will choose
a venue early in the planning process so that there is more flexibility in dates [11].
5
2.2 Review of Similar Systems
A brief literature review has been done on the conventional practice of wedding planning and existing
online wedding planning systems.
In the conventional practice of wedding planning, soon-to-be brides and grooms have to face some
common hassles, including registration of their marriage, taking wedding photographs, sourcing a
location for the occasion, planning the dinner ceremony, finalizing guest lists, planning seat
placements and so on. Without expert guidance and recommendations, these soon-to-be brides and
grooms face the unpleasant experience of hunting for suitable bridal products and services, either from
the internet or from visiting one bridal service provider to another simply to complete the check list.
They usually have to come up with a wedding plan from the available information based on trial and
error. Most of the time, this cumbersome task often leads to frustration and failure.
Alternatively, a better way for these soon-to-be brides and grooms to find the most suitable products
and services is from the bridal expo. From the point of view of the wedding service providers, they are
losing out potential clients in the long run if they have to wait only for the expo event to promote their
products. Setting up booths and advertising at bridal fair are limited to printed materials,
recommendations and word of mouth marketing strategies to attract customers to their services.
Another method of marketing wedding products and services is through the internet. Currently, there
are many web based planners available on the internet such as WedNet, Wedding Planning Software,
WeddingChannel.com and Easyweddings.
The table 2.1 shows the comparison between WeddingChannel.com and Easyweddings.
WeddingChannel.com Easyweddings
1) Embeds the DSS function under the Embeds the DSS function under the wedding
budget calculator module [12]. budget calculator module [13].
2) Users are only required to fill in their Easyweddings only required users to provide
expected budget amount and the number total budget and total number of guests’
of expected guest. information when performing budget planning.
3) The system will assist the users to The total budget for Easyweddings will be
calculate and distribute the budget distributed based on pre-fix weightage into the
amount into the Fashion, Ceremony, Fashion and Beauty, Reception, Ceremony,
Reception, Food and Drink, Invitations Wedding Rings, Photo and Video, Decorations,
and Stationery, Flowers and Decorations, Flowers, Entertainment, Stationery, Gifts,
Music, Photo and Video, Wedding Wedding Cake, Transport and Accommodation
Rings, Transportation and Lodging, and Miscellaneous Items categories.
Gifts, Other Common Expenses and
Tax/Tips/Etc categories.
4) Users are allowed to remove any Users are allowed to remove any unnecessary
unnecessary allocation from the related allocations from the related categories and redo
category and redo the budget planning. the budget planning.
5) WeddingChannel.com has poor Easyweddings has better organization of
organization of information. information.
6
6) Users are not allowed to allocate higher Users are not allowed to allocate higher
weightage for their preference categories weightage for their preference categories when
when performing the budget planning. performing the budget planning.
The table 2.2 shows the comparison between WedNet and Wedding Planning Software.
1. WedNet is a web based portal whereby Wedding Planning Software is also a web portal
it provides in-depth wedding that allows users and vendors to search and
information [14]. It also has a vendor advertise their products or services respectively
module which allows vendors to [15].
advertise their products or services and
upload their company web links.
2. Provides only static information with It provides static information with very limited
very limited interactivity. interactivity
3. Poor organization of information. The organization and presentation of the
information in the Wedding Planning Software
is less complex
4. WebNet only works as an informative It does not have a budget planning system.
portal and it does not have a budget
planning system to help in the
calculating and planning of expenditure
for these soon-to-be brides and grooms.
7
The table 2.3 demonstrates the some more wedding planning systems with their features and functions.
An Interactive Web-Based System for providing Internet-based wedding
Wedding Planner with wedding management planning device with
Comparative Analysis multiple-interactive
Decision Support System capabilities and method of
use
1) This web based A system including a terminal An internet-based, inter- active
wedding planner and a network configured to wedding planning and
provides a platform for communicatively couple with management program [18].
brides and grooms to the terminal [17].
acquire information
on bridal products and
services, as well as
information of vendors
registered with
Wedding Arc [16].
2) Make wedding planning Network including a database Allows a wedding group,
reservations online with configured to store information including the brides, grooms,
the simple click of a concerning the user and a guest, and wedding planner to
mouse wedding card interactively plan the wedding.
3) Long and tedious task Server configured to provide The bride is the primary
of information web services that include account owner and can give
gathering has been receiving personal information each invited guest different
shortened and made concerning a user, determining usernames and passwords,
more convenient whether to authorize the user along with the ability to give
based on the personal administrative access to others.
information, granting a
wedding card to the user
based on the determination to
authorize the user
4) Functions as a web Website provides a wedding The bride and her
based comparative management system assisting administrative users can assign
analysis decision the user in planning the tasks to various guests.
support system. upcoming wedding.
5) Allows the brides and Provides online and interactive
grooms to subscribe to a features to assist in wedding
service that will assist planning and management,
them in the process of including budget calculators,
wedding planning and wedding item organizers, task
preparations. lists, calendar functions, guest
The system assists manager functions, a message
brides and grooms in center and community chat,
making decisions based printing managers, wedding
on their preferences and day schedulers, and a wedding
budget. checklist.
Table 2.3 - Wedding planning systems with their features and functions
8
2.3 Alternative Technologies
There are various types of technologies that are used to implement web-based wedding planning
systems. One of the most popular one is Content Management System (CMS). There are benefits as
well as drawbacks of using these technologies. CMS is a system that needs periodic upgrades such as
security patches, upgrades. In that case system has to undergo certain regular maintenance. Hence, the
proposed system will be based on PHP and Mysql. PHP is one of the robust tools for developing
dynamic websites. Many of the large and most successful commercial websites running on internet
today were in built in PHP. PHP provides fast and robust performance in comparison with other server
side languages. As the proposed system is a web application that deals with database, PHP was a good
option as developing tool. PHP even supports good database connectivity with the MYSQL database.
Questionnaires
Set of questions are given to the recently married couples and get their opinions.
Interviews
Several interviews are taken place between married couples and the some people those are willing to
marry. Get their ideas and ask about the problems they are encountered while planning their wedding.
Gather data from existing wedding planning websites
Go through the existing wedding planning websites and see the reviews of clients and get the clear
understanding of the couple’s requirements.
9
2.5 Functional Requirements
Functional and non – functional requirements need to be carefully selected in order to ensure that they
make sense in the context of the final outcome of the project.
Functional requirements are functions or features that must be included in the developed system to
satisfy the business needs and be acceptable to the users. Functional requirements may be calculations,
technical details, data manipulation and processing and other specific functionality that defines what
a system is supposed to accomplish. Functional requirements are expressed by the users of the system.
As a result of the requirements elicitation techniques that are used, following are the key functional
requirements.
Wedding couple Registration
Explore wedding goods/service suppliers (Vendors)
Wedding Checklist
Check items as done, and keep a track of the pending ones. Add notes, see what percentage have
finished, and keep track of what still needs to be done. Also, has the ability add own items or
remove existing ones.
Wedding guest list
Keep track of guest status. Build your wedding guest list and easily keep track of guest attendance.
Task management
Budget calculation
10
CHAPTER 3 – METHODOLOGY
3.1 Introduction
This chapter describes the methodology that is used to develop proposed web-based wedding planning
system. It also explains the consisting techniques that have used to design the system such as use case
diagrams, ER diagram and activity diagrams to illustrate the new system. Consequently, design of the
database, table structures and the user interfaces also describe here.
RAD methodology is a way to create software quickly and efficiently, without having to resort to
development models like the Waterfall model, which is inflexible, making it difficult to change
functions and features once you’ve built the software. RAD methodology is designed to be flexible to
changes and to accept new inputs, like features and functions, at every step of the development process
[22].
11
3.3 Selected Technologies and Architecture for the system
“Wedding organizer” is a web-based wedding planning system which will use PHP, Apache and
MySQL as web technologies. Nowadays, most people have access to internet. Therefore, the system
can be used by anyone whenever they want. Hence, there are no boundaries for people to use this
service.
There are various programming languages such as Java, .NET, PHP, C#, C++ for developing web-
based systems. In this project PHP is used as the programming language. Hypertext Preprocessor
(PHP) is a programming language that allows web developers to create dynamic content that interacts
with databases. PHP is basically used for developing web- based software applications [23]. There are
many benefits that can be gain from using PHP as the programming language. Some of them are Easy
and simple to learn, extremely flexible, easy integration and compatibility and efficient performance.
This system is a three-tier architecture that consists of client, web server and a database which is shown
in Figure 3.2. Three-tier architecture is a client–server software architecture pattern in which the user
interface(presentation), functional process logic ("business rules"), computer data storage and data
access are developed and maintained as independent modules, most often on separate platforms [24].
12
Here are 5 benefits of separating an application into tiers.
It gives us the ability to update the technology stack of one tier, without impacting other areas
of the application.
It allows for different development teams to each work on their own areas of expertise. Today’s
developers are more likely to have deep competency in one area, like coding the front end of
an application, instead of working on the full stack.
We will be able to scale the application up and out. A separate back-end tier, for example,
allows us to deploy to a variety of databases instead of being locked into one technology. It
also allows us to scale up by adding multiple web servers.
It adds reliability and more independence of the underlying servers or services.
It provides an ease of maintenance of the code base, managing presentation code and business
logic separately, so that a change to business logic, for example, does not impact the
presentation layer [25].
13
Following are the Use cases diagrams related to major functionalities performed by main actors.
14
Use case diagram for Vendor
15
Use case diagram for Admin
Figure 3.5 shows the use case diagram for admin.
16
3.4.2 Sequence Diagrams
17
Sequence diagram for vendor
Figure 3.7 shows the sequence diagram for vendor.
18
3.4.3 Activity Diagrams
Following are the important activity diagrams of the proposed wedding planning system.
19
Activity diagram for add checklist.
Figure 3.10 shows the activity diagram for add checklist.
20
Activity diagram for update guest list
Figure 3.12 shows the activity diagram for update guest list.
21
3.5 Database Design
A database is a collection of information that is organized so that it can be easily accessed, managed
and updated. Data is organized into rows, columns and tables, and it is indexed to make it easier to
find relevant information. Data gets updated, expanded and deleted as new information is added.
Databases process workloads to create and update themselves, querying the data they contain and
running applications against it [26].
Figure 3.14 shows the database structure of the proposed wedding planning system.
Figure 3.15, Figure 3.16, Figure 3.17, Figure 3.18, Figure 3.19, Figure 3.20, Figure 3.21, and Figure
3.22 show budget table structure, checklist table structure, guest table structure, task table structure,
user_details table structure, wedding_details table structure, vendor_registration table structure, and
payment table structure respectively.
22
Budget table
23
User_details table
Wedding_details table
Vendor_registration table
24
Payment table
25
Home page
Figure 3.24 shows the home page of the user.
26
Add New Expense
The cost of individual expenditure items (DJ, Florist, Photographers, etc) can be added to the system
using add new expense form which is shown in Figure 3.26
27
Vendor Manager page
User has the ability to explore wedding goods/service suppliers across thirteen categories using the
vendor manager page which is shown in Figure 3.28
28
Payment details page
User has the ability to keep track of the payment details and the summary of the payment details are
displayed in the tabular format in the system which is shown in Figure 3.29
29
Dashboard of the Administrator Panel
The administrator panel allows system administrator to maintain and update the information for
the web based wedding planning system. Maintenance of the system includes keeping track of the
registration – both vendors and users for the system. Figure 3.31 shows the dashboard of the
administrator panel.
30
CHAPTER 4 – EVALUATION
4.1 Testing
4.1.1 Introduction
Software testing is defined as an activity to check whether the actual results match the expected results
and to ensure that the software system is defect free. It involves execution of a software component or
system component to evaluate one or more properties of interest. Software testing also helps to identify
errors, gaps or missing requirements in contrary to the actual requirements. It can be either done
manually or using automated tools. Some prefer saying Software testing as a White Box and Black
Box Testing. In simple terms, Software Testing means Verification of Application under Test (AUT)
[28].
It can also be stated as the process of validating and verifying that a software program or application
or product:
Meets the business and technical requirements that guided it’s design and development
Works as expected
Can be implemented with the same characteristic.
31
4.1.2.1 Scope of Testing
Testing for the system will be limited to the items listed under the following three sections.
1. Functional Testing
2. UI / Navigational Testing
3. Non - functional Testing
Functional Testing
It is a type of software testing whereby the system is tested against the functional
requirements/specifications. Functions (or features) are tested by feeding them input and examining
the output. Functional testing ensures that the requirements are properly satisfied by the application
[30].
All the functionalities related to the system is listed in the below table 4.1
No Function
1 Validations
2 Error messages
3 Click on
4 Key press
5 Data filtering
6 Checklist - add, delete, view progress
7 Budget - add, update, delete, view progress
8 Vendor Manager - search vendors, request for pricing, hire vendors
9 Guest List - add, update, delete, view progress
10 Task Management - assign task, update, delete, view progress
13 Login & Log out
14 User registration
15 Vendor registration
UI / Navigational Testing
Test all links in webpages are working correctly and make sure there are no broken links. Links to be
checked will include -
Outgoing links
Internal links
Anchor Links
MailTo Links
32
Non –functional Testing
Manual testing is performed on whole web-based wedding planning system. It is a testing process that
is carried out manually in order to find defects without the usage of tools or automation scripting [33].
This testing strategy gives the best opportunity to check every page thoroughly and make sure it works
in the expected manner. Manual testing is selected as the testing strategy considering the fact that it is
one of the best methods of testing suggested for a beginner. And also, due to the complexity of the
various automation tools and the available time frame for testing.
Unit testing is a level of software testing where individual units/ components of a software are tested.
The purpose is to validate that each unit of the software performs as designed. A unit is the smallest
testable part of any software. It usually has one or a few inputs and usually a single output [34].
Integration testing is a level of software testing where individual units are combined and tested as a
group. The purpose of this level of testing is to expose faults in the interaction between integrated units
[35]. Wedding organizer web application is tested with test data that made expected results.
33
4.1.4.3 Smoke Testing
Smoke testing is the initial testing process exercised to check whether the software under test is
ready/stable for further testing. Prior to start Smoke testing few test cases need to created once to use
for smoke testing. These test cases are executed prior to start actual testing to
check critical functionalities of the program is working fine. This set of test cases written such a way
that all functionality is verified but not in deep [36].
The smoke testing is carried out to validate below points.
34
4.1.5 Test Cases
A test case is a document, which has a set of test data, preconditions, expected results and post
conditions, developed for a particular test scenario in order to verify compliance against a specific
requirement [39].
Table 4.3 illustrates the test case for user login.
No: 01 Test case: User login
Test case Steps to follow Expected results
Successful login verification Enter correct username and Display particular client profile
correct password page.
Enter incorrect username or Error message and redirect to
incorrect password login page
Attempt to login without user Error message and redirect to
name or password login page
Table 4.5 illustrates the test case which was conducted to demonstrate how the system display data
when the user assign task to family members.
35
Figure 4.6 illustrates the test case which was conducted to demonstrate how the system display data
when the user add new guest details to the system
No: 04 Test case: Add new guest
Test case Steps to follow Expected results
User add new guest with valid Successful message and
information display entered data
Table 4.7 illustrates the test case which was done to test input validations when user was expected to
fill the form to request pricing from vendors through the system.
No: 05 Test case: Request for pricing from vendors
Test case Steps to follow Expected results
Fill all the required fields in Display the successful message
the form and submit it
36
Table 4.9 illustrates the test case which was conducted to demonstrate how the system display search
results when the user select the required vendor category.
No: 07 Test case: Search vendors
Test case Steps to follow Expected results
User select the required vendor Display the suitable results.
category If there are no vendor for that
category display a message
that there are no matching
results
Table 4.10 illustrates the test case which was conducted to demonstrate how the system display data
when the user add new task.
No: 08 Test case: Add new task
Test case Steps to follow Expected results
User add new task with valid Successful message and
information display entered data
Analyze the successfulness of the current project and determine reward schemes for those
involved.
Identify weaknesses and take corrective measures in order to improve future performance.
37
4.2.2 System Evaluation
User evaluation was carried out mainly to identify how much users are satisfied with the system. The
decision to proceed with this project was dependent on critical evaluation. The problems associated
with the user interface can be identify by the informal method called heuristic evaluation. Jacob
Nielsen’s Heuristic Evaluation would be the based on usability evaluation which will carry out with a
sample of users by means of a set of designed questionnaire which can be found in Table 4.2.
Select the group of vendors that provide services to the wedding planning and ask them to
evaluate the web application.
Randomly select some newly married couples and ask them to give their reviews about the web
application.
Finally select group of event planners and ask them to give their feedback of the complete
system.
Ratings
1. Bad
2. Ok
3. Average
4. Good
5. Excellent
38
4.2.3 Analysis of the Feedback
A total of fifteen questionnaires were handed out to potential users of the web application. Out of the
fifteen questionnaires, thirteen were filled and returned by the users. Feedback from the user evaluation
questionnaire will be processed to summaries the data to observe in pictorial form. Pie charts will use
to clearly distinguish between user responses. Three main areas of the system will be studied user
friendliness, error handling and overall view or the user interfaces of the system.
Table 4.11 discusses the results from the field work.
Description Ratings
Bad Ok Average Good Excellent
Easy to Use 8% 23% 8% 53% 8%
Errors Clearly Described 7% 31% 8% 47% 7%
Easy to Navigate 8% 25% 8% 52% 7%
User Interfaces 1% 30% 8% 54% 7%
Security 8% 23% 15% 47% 7%
Maintenance 8% 23% 15% 47% 7%
Easy to Learn 8% 31% 8% 46% 7%
Table 4.11 – User evaluation result summary
Easy to Use Ratings
Figure 4.1 is a chart showing how the users rated the ease of use of the wedding planning system.
Easy of Use
8% 8%
23% 53%
8%
39
Errors Clearly Described
Figure 4.2 is a chart showing how the users rated errors appear in the wedding planning system.
7% 7%
31%
47%
8%
Easy to Navigate
8% 7%
25%
52%
8%
40
User Interfaces Rating
Figure 4.4 is a chart showing how the users rated the user interfaces of the wedding planning system
User Interfaces
1%
7%
30%
8% 54%
Security
8% 7%
23%
47%
15%
41
Maintenance Rating
Figure 4.6 is a chart showing how the users rated the maintenance of the wedding planning system.
Maintenance
8% 7%
23%
47%
15%
Easy to Learn
8% 7%
31%
46%
8%
42
4.2.4 Objectives Covered
Ensuring that all objectives of this system were covered, namely:
i. Providing the facility to enter vendor’s services and goods to the web application.
ii. Provide facilities to register the wedding couple, view required goods & services and
managing guest list.
iii. Manage the budget against supplier’s goods and services
iv. Planning, scheduling, monitoring and evaluating all the activities related to the wedding
43
CHAPTER 5 – CONCLUSION
5.1 Conclusion
The goal of this project is to build a web based wedding planning system to help organize successful
wedding event. The system assists the couples in the decision making and planning processes
associated with all aspects of a wedding organization. The system offers features that the couples can
retrieve information for wedding products and services as well as information of vendors in the shortest
possible time. Also, vendors can gain benefit of getting more recognition from clients and generating
more revenue. The system enables wedding users to manage guest list, checklist and task management.
The users can request for pricing from vendors through the system and manage their budget for the big
day. The system enables all users to access to it any time anywhere.
In previous chapter, the design and implementation of this system is discussed by using conceptual
methodology. Many challenges faced during the design and implementation phase of this system.
Dealing and understanding the end user requirements was a major concern. Even though there are
many existing components available in the market users do have lots of problems in those modules.
As mentioned in the literature reviews there are some open source components available for this type
of wedding planning systems, it is unable to apply the end user requirements, due to the complexity.
Therefore system was developed from the scratch according to the requirements by using web
programming languages. So, had to go through a detailed learning of PHP, java Scripts, Ajax, Html &
MySQL databases.
The system was unit tested properly during the development stages. It helped to reduce the number of
defects in the final product. However while the implementation was in progress, errors that were not
anticipated in the testing plan cropped up. Those errors would have to fix before final release of the
system.
44
References
[1] "What are some good wedding planning apps," Quora, [Online]. Available: www.quora.com/what-are-
some-goog-wedding-planning-web-apps. [Accessed 20 August 2018].
[2] "Home:Our Wedding Sri Lanka- For All Your Wedding Dreams," 2010-2016 ourweddingsrilanka.com. All
right reserved., 2010. [Online]. Available: https://ourweddingsrilanka.com. [Accessed 18 May 2018].
[4] S. Coontz, Marriage, a history: How love conquered marriage. New York, NY:, Penguin Books..
[5] Stephanie Coontz, "Bridezilla’s revenge. Psychology Today, 38(3), 80-82.," 1 may 2005. [Online].
Available: https://www.psychologytoday.com/us/articles/200505/bridezillas-revenge. [Accessed 5
september 2018].
[6] E. P. (. Cele C. Otnes (Author), Cinderella Dreams:The allure of the lavish wedding, octomber, 2003.
[7] C. Grossman, "Average couple spends $26,989 on wedding; many break budget. USA Today.," 10
August 2012. [Online]. Available: http://usatoday30.usatoday.com/money/perfi/basics/story/2012-08-
09/wedding-costs/56921020/1. [Accessed 30 10 2018].
[8] E. Engstrom, "Unraveling the knot: Political economy and cultural hegemony in wedding media -Journal
of Communication Inquiry, 32(1), 60-82.," 2008. [Online]. Available:
http://jci.sagepub.com/content/32/1/60.abstract. [Accessed 30 10 2018].
[9] M. J. L. S. &. C. T. Daniels, "The attributes influencing wedding reception venue selection. Event
Management, 16(3), 245-258.," 2012. [Online]. Available:
https://www.cognizantcommunication.com/journal-titles/event-management.
[10] C. Dosh, "Counting change. Successful Meetings, 57(6), 40-45.," May 2008. [Online]. Available:
http://www.successfulmeetings.com..
[11] M. &. L. C. Daniels, Wedding planning and management: Consultancy for diverse clients ,, Burlington:
MA: Buttersworth-Heinemann, 2007.
[12] "wedding planner - your wedding planning website," 1997-2018 XO Group Inc., [Online]. Available:
https://www.theknot.com/. [Accessed 27 May 2018].
[14] "WedNet, The WedNet Wedding Store," [Online]. Available: http://www.wednet.com/.. [Accessed 12
May 2018].
[16] "An Interactive Web-Based Wedding Planner with Comparative Analysis Decision Support System," 05
May 2008. [Online]. Available: http://www.google.com/patents?hl=en&lr&vid=USPAT78819
45
79&id=IE3AAAAEBAJ&oi=fnd&dq=wedding+planning+sys
tems&printsec=abstract#v=onepage&q=wedding%20planning%.
[21] K. Anderson, "What is Rapid Application Development and When Should You Use It?," Capterra, 4
Octomber 2017. [Online]. Available: https://blog.capterra.com/what-is-rapid-application-
development.. [Accessed 28 December 2018].
[22] "6 Essential Questions to Understand Rapid Application Development Methodology," KiSSFLOW, 24
April 2018. [Online]. Available: https://kissflow.com/rad/rapid-application-development-methodology-
essentials.. [Accessed 28 December 2018].
[25] M. Kapahi, "5 Benefits of a 3-Tier Architecture," Izenda, 17 March 2017. [Online]. Available:
https://www.izenda.com/blog/5-benefits-3-tier-architecture. [Accessed 29 December 2018].
[26] "Home> Database Design and Modeling> Database management> database (DB)," TechTarget, 2005.
[Online]. Available: https://searchsqlserver.techtarget.com/definition/database. [Accessed 30
December 2018].
[27] "User Interface (UI) Design," INTERACTION DESIGN FOUNDATION, [Online]. Available:
https://www.interaction-design.org/literature/topics/ui-design. [Accessed 31 December 2018].
[28] "What is Software Testing? Introduction, Definition, Basics & Types," Guru99, [Online]. Available:
https://www.guru99.com/software-testing-introduction-importance.html. [Accessed 02 February
2019].
[29] "What is Test Plan?," Software Testing Mentor -A comprehensive website for Software Testing Folks!,
[Online]. Available: http://www.softwaretestingmentor.com/what-is-testplan/. [Accessed 02 February
2019].
46
[30] "Functional Testing," software testing - fundamentals, [Online]. Available:
http://softwaretestingfundamentals.com/functional-testing. [Accessed 02 February 2019].
[31] "What is Non Functional Testing? Types with Example," Guru99, [Online]. Available:
https://www.guru99.com/non-functional-testing.html. [Accessed 02 February 2019].
[32] "CROSS BROWSER AND COMPATIBILITY TESTING," App Perfect, [Online]. Available:
http://www.appperfect.com/services/web-testing/cross-browser-testing.php. [Accessed 02 February
2019].
[36] "Smoke testing," Software Testing Class, 16 June 2012. [Online]. Available:
https://www.softwaretestingclass.com/smoke-testing/. [Accessed 03 February 2019].
[38] "What is Regression Testing? Definition, Test Cases (Example)," Guru99, [Online]. Available:
https://www.guru99.com/regression-testing.html. [Accessed 03 February 2019].
47
APPENDIX A - Use case Narratives
Use case narrative - Login
48
Use case narrative – Search vendor
49
APPENDIX B – Entity Relationship Diagram
ER diagram of the implemented wedding planning system
50