Sie sind auf Seite 1von 52

Project Report on

ONLINE LAUNDARY
MUSKAN KHADKA
00168817
Computing Project
Level 5 Diploma in Computing
Softwarica College of IT & E-Commerce
Kathmandu, Nepal
January 19, 2010

January 19, 2010


Abstract

A web-based application has been developed for Online Laundry. The site offers people
to book the service of laundry and dry cleaning. People usually busy and doing laundry
consumes a lot of time. Online Laundry is a PHP web-based application developed in order to
manage these issues. This system is built on OOP concept. MySQL is used as its database
server. The system can register a new account for the customer and book the service. A
documentation is presented where it reports how the system can do the required functionality.
Contents
Chapter 1 – Introduction............................................................................................................. 6
1.1. Background ..................................................................................................................... 6
1.2. Features .......................................................................................................................... 6
1.3. Aims and Objectives ........................................................................................................ 7
Chapter 2 – Analysis .................................................................................................................. 8
2.1. Introduction...................................................................................................................... 8
2.2 Information Gathering Techniques .................................................................................... 8
2.3. System Requirements Specification (SRS) ...................................................................... 8
2.3.1. Functional Requirement ............................................................................................ 8
2.3.2. Non-functional Requirement .....................................................................................11
2.4. Prioritization ....................................................................................................................12
2.5. Use Cases ......................................................................................................................13
2.5 System Architecture ........................................................................................................14
2.7. Initial Class Diagram .......................................................................................................16
Chapter 3 – Design ...................................................................................................................17
3.1. Introduction.....................................................................................................................17
3.2. Tools ..............................................................................................................................17
3.3. Structural Model .............................................................................................................17
3.3.1. Class diagram ..........................................................................................................17
3.3.2. Data Flow Diagram ..................................................................................................18
3.4. Behavioral Model ............................................................................................................19
3.4.1. Activity Diagram .......................................................................................................19
3.4.2. Sequence diagram ...................................................................................................23
3.5 Database Design .............................................................................................................25
3.6 Data dictionary.................................................................................................................25
3.7. Entity Relationship Diagram............................................................................................25
3.8. UI Design........................................................................................................................26
Chapter 4 – Coding ...................................................................................................................34
Chapter 5 – Testing ..................................................................................................................35
5.1 Unit Testing .....................................................................................................................35
5.2 Blackbox Testing .............................................................................................................35
Chapter 6 – Other Project Issues ..............................................................................................37
6.1 Risk Management............................................................................................................37
6.2 Future Work.....................................................................................................................39
6.3 Configuration Management .............................................................................................40
Chapter 7- Conclusion ..............................................................................................................41
TABLE OF FIGURES
Figure 1:Use Case of Online Laundry Service...........................................................................14
Figure 2:MVC Architecture ........................................................................................................15
Figure 3: Initial class diagram....................................................................................................16
Figure 4: Class diagram ............................................................................................................18
Figure 5: Data flow diagram ......................................................................................................19
Figure 6:Activity Diagram for Login ...........................................................................................20
Figure 7:Activity Diagram for register ........................................................................................21
Figure 8:Activity Diagram for Request .......................................................................................22
Figure 9:Sequence diagram for login ........................................................................................23
Figure 10:Sequence diagram for login ......................................................................................23
Figure 11:Sequence diagram for register ..................................................................................24
Figure 12:Sequence diagram for Change password..................................................................24
Figure 13:Sequence diagram for register ..................................................................................25
Figure 14: Entity diagram ..........................................................................................................26
Figure 15: Configuration management ......................................................................................40
Chapter 1 – Introduction
Online Laundry service is an ultimate solution to get your laundry done. It will be an online and
retail laundry service provider. It will help users by picking up the laundry from home and save
their time from busy schedules. The laundry service here will be nice and clean so that users do
not need to worry about their stuffs. It will assure about the quality of booking the laundry dates
for laundry. It will enlarge the ability of laundry services by making easier user convenient
system. Effective functions will be implemented in this system which will result it as a worth
system for users to use it. It will be a reliable, secure, affordable and efficient system with a
different way of helping people incrementing to achieve higher quality of life.

1.1. Background
I performed couple of researches about online laundry system in Nepal which were
implemented and used before. I was sort out of my expectations from those websites which I
thought were better in use. They were completely an incomplete website without proper booking
functionality and improper user interface. It was not too easy to use for users. It was an
inconsistent system. It will not be the new system in Nepal, but this newly generated online
laundry service will be much better than those previous ones. Users will be able to perform
every task in this website by sitting in their home. It will also be an easy service for users which
results in saving their time. It will be a very user friendly and interacting system. It would provide
much relief for users when their laundry is picked at their door and dropped clean.

1.2. Features
This web-application has following features:

 Register and login functionality.


 Booking for laundry and dry-cleaning services
 Viewing previous records of customers.
 Review: Customers can review others honest opinion and make their own as well.
 Newsfeed and notice about laundry services.
 Online chat system with admin.
 View details about laundry services.
 Home delivery.
1.3. Aims and Objectives
The aim and objective of this project are as follows:

 A reliable and user-friendly website.


 Customers can login and fill the form for the service they want.
 Help customers get good laundry service.
 Calculate the amount of charge according to no of items to get cleaned.
 To help people with laundry chores.
Chapter 2 – Analysis
2.1. Introduction
The detailed examination and valuation of the data in order to understand its nature an analysis
is done. The project life cycle starts in analysis. It gathers requirements for the overall direction
of work. The requirements of end-user, quality and analysis are identified and works on who it
will be accomplished. The over view of the system is analyzed and the it helps in decision
making and risk finding of the system.

2.2 Information Gathering Techniques


The gathering information and requirements for the project are done through different
techniques and I used the following techniques:
1. Interviews: A formal meeting where questions are asked by the interviewer to the interviewer
to find out the opinion on something. A significant amount of information can be gathered
from interviews.
2. Focus groups: A group of gathering of selected people who participate in a planned
discussion. The information can be gathered
3. Questionnaires: A collection of question with multiple answers, devised for multipurpose of a
survey. This process is time saving and collects many opinions.
4. Observations: It is the process of closely monitoring something. It helps understand the
working environment.

2.3. System Requirements Specification (SRS)


A System Requirements Specification describes the features and behavior of the system. It is a
set of documentation that defines the intended functionality and non-functionality required in the
system. It gives the high-level detail information of the requirements of the project. It is produced
to help put a common idea to the development team to explain the business ideas into a
software product System Requirement Specification helps accomplish the project goals.

2.3.1. Functional Requirement


A Functional Requirements are the intended requirements of the system. The components and
the function of the system are defined. It also explains the expected types of inputs and outputs.
The functional requirement is the function of the project that need to be fulfill so that it meets the
desire of both the clients and company. The business requirements, Interface requirements,
Security requirements and Compliance requirements of the included in functional requirements.
The table below provides the functional requirements of Online Laundry Service.

Rr1: User Registration


Description: Any user can register through which user can login into the accounts
Input: First name, Last name, Email, Username, Password
Output: New user will be registered.
Rational: To record the data of valid customers only.

Dependencies: N/A

Rr2: User Login


Description: Any user who has register can login to access through their username and
password.
Input: Username and Password
Output: Login successfully
Rational: To secure the system.
Dependencies: R1

Rr3: Admin Login


Description: Admin can login and gets notified.
Input: Admin username and password.
Output: Login and view successfully
Rational: To get notifications.
Dependencies: N/A
Rr4: Delete request
Description: Users can delete their request of service.
Input: Login and cancel the request form
Output: delete successfully
Rational: To edit the information.

Dependencies: R2
Rr6: Delete User
Description: Admin should can delete the user.
Input: User account that is to delete
Output: Deleted successfully
Rational: To delete the user.
Dependencies: R3

Rr7: Logout
Description: Users and admins should be able to logout after they have login.
Input: N/A
Output: Log out successfully
Rational: To be able to logout

Dependencies: R2 and R3
2.3.2. Non-functional Requirement
Non-functional requirements describe the performance of attributes such as security, accuracy,
reliability, performance, maintainability and scalability. It doesn’t describe the features of the
system. The usability and effectiveness of the system are defined in the non-functional
requirement. The mechanism of the system is controlled by non-functional requirement.

+Rq-non1: Security
Description: The system is protected from disturbing faults that is created from internal and
external source.
Rational: The system should highly secured.

Rq-non2: Performance
Description: The system response time and the action of the system is analyzed.

Rational: The systems performance should run successful.

Rq-non3: Availability
Description: The availability of the system is defined.

Rational: To maintain the system availability to the customers.

Rq-non4: Reliability
Description: It defines how reliable is the system is while performing specified functions.

Rational: To remove the problems.

Rq-non5: Scalability
Description: System should update according to the new change.
Rational: With additional change the system should work properly.
Rq-non6: Usability
Description: System should be easy to use and learn.
Rational: To make the system user friendly.

2.4. Prioritization
Prioritization evaluates the collection of functional and non-functional requirements and
classifies them according to their function to cope up with available resources. The overall
system is prioritized to the function and non-functional requirements. The cost, value, time and
risk will be properly utilized by following the prioritized requirement list. The current and long-
term requirements of the system are analyzed. Prioritization is a main attribute of each
requirement that includes SRS.
There are numerous types of prioritization techniques such as Needs-based MoSCoW and
opportunity scoring. We have used MoSCoW for prioritizing the requirements for this project.
MoSCoW prioritization is specific. According to this technique, the requirements are categorized
into following groups.

 M - Must have: It deals with the main business requirements


 S – Should have: They are important but not necessary to launch.
 C – Could have: It is less important and can be removed when time scale of the project is at
risk.
 W – Won’t have: It can be considered in the future.
The prioritization of functional and non-functional requirements is given below.

ID Functional Requirement MoSCoW


Rr1 Customer registration Must have
Rr2 Login Must have
Rr3 Admin Login Must have
Rr4 Delete request Must have
Rr5 Delete User Could have
Rr6 Logout Could have

ID Non-Functional Requirement MoSCoW


Rr-non1 Performance Must have
Rr-non2 Scalability Could have
Rr-non3 Availability Must have
Rr-non4 Reliability Must have
Rr-non5 Security Must have
Rr-non6 Usability Must have

2.5. Use Cases


It is a Unified Modelling Language (UML) diagram which provides a standard way to visualize
the design for the system. It is the pictorial representation of functionalities of the system. Use
case is used to manage the abstraction. User interaction is demonstrated and illustrates the
behavior of the system. The identification of the system requirements is clarified by using
notations such as:

 Actors – Actors are the individuals whose roles are identified and are involved with the
system.
 Use cases – It is the role which is played by the actor.
 Relationship – It defines relationship between the actors and the use cases.
 The Boundary - It is the box where use cases are created.
Figure 1:Use Case of Online Laundry Service.

In the above use case there are two actors, the admin and the user. The actor admin can sign
up, login, manage profile and get notifications. The actor user can sign up, log in, fill forms.

2.5 System Architecture


System architecture is a model that helps to analyze a system. System Architecture is
done using Model View Controller (MVC) pattern. Its fundamental principle is based on
arranging the data in various folder. Which make the code more manageable. MVC
principle separates the application into three different parts known as the model, the view
and the controller. It allows both front end and back end developing to work on the same
system without interfering, sharing or editing files either party is working on. It makes code
presentation and layout simple as well as system maintainable too.
Figure 2:MVC Architecture

Model
In model data and business logic is stored. It keeps the application data of a system.
Model objects also save and retrieve model state in a database.

View
View is a user interface. It uses model to view the display data to the user. It also allows
the view data to be modified by user. It refers to User interface that are seen by the user.

Controller
User requests are handled by a controller. User usually interact with the view those view
requests are handled by a controller. Controller then provides appropriate view as a
response with the model data. It keeps interaction and control logic in the system.

The data structure, control logic and UI are separated in 3 different folders. Model,
controller and view respectively. This made testing and implementation work more
efficient and well managed it also helped in documentation.
2.7. Initial Class Diagram
The static view representation of the project. It visualizes and describes the features, qualities,
and the attributes of the project. The construction of codes is made easier with the help of class
diagram. The attributes and the operations of the classes and relationships are described with
different aspect of the application. It helps convert diagrammatic view into executable code.
Initial class diagram is the first draft class diagram which is not complete. Initial class diagram
consists of potential main class, their attributes, constraints and associations.
The diagram of Initial Class:

Figure 3: Initial class diagram

The initial class diagram consists of three classes. The user class, The cloth class, and the
request class.
Chapter 3 – Design

3.1. Introduction
Design is an important phase in a software development. Design Phase defines the physical
specification of the system. The key problems in the project are identified in this phase. The
design phase helps in developing the overall architecture of the system. The defined scope and
purpose of the project are illustrated in this phase. This stage helps to identifies all the user
interaction and the functions required to meet the requirements are fulfilled.

3.2. Tools
Following tools are used to develop Online Laundry Service

 Sublime text
 MySQL for database.
 StarUML for Class diagram, Activity diagram and Sequence Diagram
 Visual Paradigm for Entity Relationship Diagram

3.3. Structural Model


The static view of the system is captured in Structural Model. It is a systematic approach
for developing a software design. It is the static structure which defines the interaction, attributes
and relationship of the objects. Class diagram, Entity Relationship, Dataflow Diagram and
Concept Diagram etc. falls under structural Diagram. The have designed the Class diagram
and Entity Relationship diagram which is given below.

3.3.1. Class diagram


The class diagram is a static structure diagram in a Unified Modelling Language that
demonstrates the classes, attributes, and operations of the system. The cardinality relationship
between the classes are also identified in class diagram.
The class diagram of Online Laundry service is given below.
Figure 4: Class diagram

The finial class diagram consists of 4 classes. The user class, the cloth class, the request class
and the service class.

3.3.2. Data Flow Diagram


Data Flow diagrams are used to graphically represent the flow of data in a system. It
demonstrates process, data flow, entities and data stores. Formal notations are used in Data
Flow diagram. Data Flow Diagram is divided into logical and physical diagram.
Figure 5: Data flow diagram

3.4. Behavioral Model


Behavioral Model defines the dynamic behavior of an executing system. They show the flow of
operation, and interactions of the objects. The interaction within the system is explained in the
behavioral model. It confers the real behavior of the system and describes the controller
structure and help overcome the desired needs of the it.

The activity diagram and sequence diagram fall under the behavioral models. The activity
diagrams shows the flow of activity to activity in the system. The sequence diagram shows the
collaboration of the object.

3.4.1. Activity Diagram


Activity Diagram shows the dynamic behavior showing the flow of control from its activity to
activity. It shows the diagrammatic outline of work process. It characterizes all the internal
process. It gives the flow of the diagram within the use case. The activity diagram of Online
laundry service is given below:
Figure 6:Activity Diagram for Login
Figure 7:Activity Diagram for register
Figure 8:Activity Diagram for Request
3.4.2. Sequence diagram
Sequence diagram are interaction diagrams that detail how operations are carried out. It
captures the interactions between the objects and communication. Sequence diagrams are time
focused and shows the time interactions. It is also known as event diagram and can guess how
the system will behave and perform.
The Sequence diagram of Online Laundry Service is given below.

Figure 9:Sequence diagram for login

Figure 10:Sequence diagram for login


Figure 11:Sequence diagram for register

Figure 12:Sequence diagram for Change password


Figure 13:Sequence diagram for register

3.5 Database Design


It is the standardized form that makes data model flexible and makes working with data much
easier. It identifies entities and relationships. It determines the data that needs to be stored in
database.

3.6 Data dictionary


Data dictionary is the collection of description of data objects. It describes database and its
objects. Data dictionary carries the information of database and the data inside it.

3.7. Entity Relationship Diagram


The pictorial representation of the entities and their relationship is shown in an Entity
Relationship Diagram. It represents the conceptual and logical structure of the database.
An Entity Relationship Diagram of Online Laundry Service is given below.

Figure 14: Entity diagram

3.8. UI Design
User Interface is everything designed into an information device. It is a way through user
interacts with an application or a website. The Ui designs of Online Laundry Service is given
below:

Home page
Sign up page

After sign up
After user sign up
User Filling request form

User filling the request form


After the request form notification is given

The request form page


Signing in for Admin

Showing the notification of the users to the admin


Request can be edited

Rate can be changed


Request can be edited by the admin

Back to the home page


Chapter 4 – Coding

After the design phase comes the implementation phase. In the implementation phase the
graphical representation are converted into machine-readable code. In the implementation
phase the information are organized. Implementation holds importance in a software
development as it brings consistency, extensibility, correctness to the system.
I have used PHP, HTML, CSS and Bootstrap for the programming language to develop the
project. Sublime Text was used to edit codes. Sublime Text is a cross-platform source code
editor with a python application programming language. For the database server I have used
MySQL. All the diagrams in the design phase such as class diagram, sequence diagram was
created in StarUML. Entity Relationship Diagram was created in Visual Paradigm. Project
Management Skills like WBS and Milestones was developed in ProjectLibre.
While coding, various problems were faced but were also solved while continuing the coding.
The screenshots of the coding are kept in the appendix below.
Chapter 5 – Testing
Software Testing is an important phase of software development. Software Testing is done to
free from the errors from the system, meets the design specifications and software quality.
Testing is done to validate and verify if the development solution meets the user requirement.
There is numerous testing that can be done to the software.
1. White box: White box testing does the test of internal and logical structure of software.
2. Black box: Black box testing focuses on the inputs and the outputs, but mainly focuses on
the output that is generated against the input.
3. Unit test: In unit testing an individual or group of related units are tested.
4. Integration test: A group of combined components is used to produce an output.
5. Functional test: The whole software is tested to ensure that required functionality works.
6. Usability test: It is the test done to check the developed solution is user-friendly.
7. Acceptance test: The evaluation test done by the client to check the requirement
specification.
I have done unit testing and black box testing for this project.

5.1 Unit Testing


An individual or a group of related units of functionality are tested so that it gives required
output. Unit testing is done to isolate each part and make sure all individual parts are correct. A
unit is the smallest testable part of any software

5.2 Blackbox Testing


Blackbox testing is the testing where the functionality of the software is tested. Blackbox testing
is also called functional testing. The output is focused without the knowledge of internal
implementation. It tests the accuracy of the software.
Chapter 6 – Other Project Issues

6.1 Risk Management


Risk management is understanding, analyzing and taking safety steps to address the
dangers. This system helps to run efficiently in future and achieve its objectives. Risks
evolve quickly therefore risks should be managed to minimize their threats and get the
most out of their potential. In this project risk will be calculated by evaluating three factors
such as likelihood, consequence and impact. The risk are shown in the table.
Risk management is the identification, prioritization and evaluation of risks. Risks that
may arise while developing a project are shown below:
Data Theft: Data theft is occurred when information is illegally copied or taken from any
source. It includes user information such as passwords, credit card information and other
vital information.
Hard Drive crash: Hard drive crash is often caused when hard disk drive malfunctions
and the stored information cannot be accessed with a properly configured computer.
Which may lead to data loss.
Time Management: Time management is essentially the ability to establish and plan the
time spent on activities in a day throughout the project.
Hardware Failure: Hardware failure is a malfunction within electronic circuits or
electromechanical components (disk, tapes) of a computer system.
Natural Calamities: Natural calamities is the effect of a natural wizard resulting from
natural process of the earth which leads to higher risk. Examples include earthquake,
tornado, hurricanes, etc.
Software Crash: Software crash usually arises due to the malfunction of software and is
unable to work using the same software.
Lack of adequate Resources: A relative problem of lack of adequate resources is due to
the use of wrong resources or the use of limited resources which doesn’t fulfill the system
requirement.
System Update: While updating programs, firmware or driver there is a possibility that
will cause a problem with another program, device or the update may not install correctly.
Risk management table:
Risk Likelihood Consequence Impact Action
Data Theft High High Very Security measures should be up
High to date and strong password
should be implemented with
new encryption system
algorithm.
Hard Drive Low Very High High Decrease data load and monitor
Crash drive health. Defragment disk in
schedule.
Time High Very High Very Planning should be done and
Management High every task should be completed
according to the time estimation.
Hardware Low Medium High Good quality equipment should
Failure be used. Regular scheduled
maintenance should be there
Natural Low Low High Remote backup (offline) or
Calamities cloud-based services backup
should be done in schedule.
Software Crash Medium High High Genuine software product
should be used instead of third
party software which provides
data insurance.
Lack of Medium Medium Medium Planning should be done about
adequate what resources should be used
resources and how it should be utilized.
System Update Medium High Medium Automatic system update
should be turned off during the
development of project and
planned system update should
be launched.
6.2 Future Work

1) Enable Subscribe button:


Customer can subscribe to the package. Through subscription users can take packages like
“weekly”, ”monthly”, ”yearly” with certain discounts.

2) Customer Chat:
This is the communication part where customer can chat with each other and can share there
opinion about the laundry system that I have created. Customer can directly talk with admin and
other user and take reference about this online site. This will be real time communicating so I
will be doing it in coming future to develop my project.

3) Community Forum:
Forum is the question answer section where user can ask any doubt query and any member of
online laundry can reply to it accordingly. Admin will be supervising this forum and can edit
delete and update the reviewed answer.

4) Online payment:
Different user wants to pay from different source thus online laundry will be able to receive all
kinds of payment methods like PayPal, visa debit and credit etc. This will also be included in
upcoming work to make the online system more efficient.

5) SSL/TSL for encrypting and decrypting data:


Encrypting and decrypting the source and data will secure the web resource from the wrong
hand which increase security level of the system.
6.3 Configuration Management
Configuration management identifies the project requirements and design of the project.
Configuration management manages the system information and the changes to the system.
The performance of the system is improved. It helps in communicating the information to the
stakeholders. It helps the system to identify, track and protect the system from changes and
organizes the system.

Figure 15: Configuration management


Chapter 7- Conclusion
Online Laundry Service has a full documentation that explains the how the website has been
created and describes all the phases from implementation to testing phase. The website was
developed by fulfilling all the aims and objectives that were indicated in the proposal of the
website. The website is user-friendly and runs efficiently. The Online Laundry service can
register to the customer account, login and has a calculator that allocates the price. Customers
can view the services they can get. There were some features which I was unable to add due to
time issues.
Appendix

Das könnte Ihnen auch gefallen