The Leather and Jewelry Repair shop needs an application to track service orders and maintain customer data. Epison Software
proposes the solutions explained in this document to help business owners, employees and customers. It aims to give the Leatehr Bags business owners a new platform to work in, to make the different orders run faster in an organized manner, and to save effort and
time for the customers so the repair service provider will always be their choice of service.
List of Leather Store Requirements
- Level1 (admin) users shall change the order status from a configurable list.
- An orders status shall be configurable. The system shall allow the following options for an order’s status:
- pending
- accepted
- awaiting_parts
- in_progress
- completed
- canceled
- deleted
- unrepairable
- There shall be a mechanism for password retrieval for both Level1 (admin) and Level2 (customer) users.
- Customer users shall have the option to pay for an Leatehr or jewelry order by one the following payment methods: cash, check, credit card
- The customer shall not be prompted for any additional information (i.e. credit card /
check number).
- Store information details shall be configurable. The following data shall be stored: owner
name,
address,
phone number,
homepage
- The list of services offered and the list of repair parts shall be configurable. Only admin users may add new parts or services.
- The default parts list shall contain the following options:
- zipper
- buckle
- shoulder strap
- The default services list shall contain the following options:
- zipper repair
- buckle repair
- shoulder strap repair
- Admin users shall not have the ability to remove items from the parts list nor the services list, once they have been added.
- The system shall be available online.
- The customer’s information shall be saved in a database.
- The dates of all work done to a customer shall be recorded in the order.
- Each repair order shall be tracked with an ID, date, description, list of parts used, status, total charges and a payment indicator.
- The system shall be secured as the access shall be controlled using a user ID and password.
- Customers shall be able to view their orders.
- Customers shall be able to update their personal information.
- Alphanumeric key fields shall be automatically generated for each object in the database.
- The system shall respond to all requests within 10 seconds.
- Admins shall be able to view a report for the list of all customers.
- Admins shall be able to view a report for the list of all customers with orders that are not completed.
- Admins shall be able to view a report for the list of all comments for a given customer.
- Every order shall have a priority (High or Normal).
- If the priority is High, the total amount shall be 1.5 times the normal amount.
- No data shall be deleted from the database.
- If an item cannot be repaired, the order shall be marked unrepairable.
- The system shall support a warranty for repair services. If the same service is requested on the same item within one year, then the amount of the new order shall be 0.
- The orders shall be categorized by the method in which the order was received. The categories are: phone, store walkin, email, web form
- There shall be a rating system to keep track of service based on customer comments.
- There shall be 2 parts for the amount: an estimate defined at the time the order is created, and the actual amount defined at the time the order is completed.
- There shall be an order inventory management functionality within the system.
- Customers shall be able to view their orders’ comments about the work being done at any stage.
- The record of work done to a customer’s work order shall include the amount of time spent by a worker on it.
- An order may contain multiple tasks.
- All passwords shall be encrypted and stored in the database using an encryption algorithm.
- Admins shall be able to view a report for the current orders grouped and the ability to filter by state.
- Admins shall be able to view a report for the list of inventory levels.
Software context
software is developing an application for a jewelry and leather repair shop which provides various services for the
customer, including repairs for zippers, shoulder straps, earrings, rings, and other jewelry. The system will be accessible through
both a webapp
and an iOS app. The software will allow customers to log in to view the status of an order and pay for it. Store
employees will be able to enter new orders, start work on orders, or assign orders to repair workers. The system will help store
owners keep track of all orders, and customer information. Reports are also available to allow admins to view easily access
information about the store’s order history.
Major constraints
The main constraint is the time allowed to complete the required features before presenting them to the customer. The schedule
allows approximately one month to design, code and test the application, as well as produce functional and design
documentation. Since the application is being designed for a repair shop, long term usage and maintenance is another constraint.
Epison will design a system that is configurable as possible given time and budget constraints, but if major changes take place
within the business, the store may incur additional development costs to implement those changes. Other constraints include
limited resources and limited skills of the team members.
User profiles
There are two kinds of user profiles, Customer and Employee/Admin.
The Customers shall be able to sign up for the application, obtain their username and password and then
view their orders, check the status, and pay for it. Customer shall also be able to update their personal
information and retrieve their passwords if needed.
The Admins shall be able to place an order , change the status of an order, view customers information,
comment on a certain order and view previous comments. Admins shall also be able to retrieve their
passwords if needed.
Use Cases

UseCase Descriptions
Activity Diagrams or Sequence Diagrams
Admin Sequence Diagram

Custoemr Sequence Diagram

Data Model and Description
ERD Diagram Leather Store

Class Diagram Leather Store

Statechart Diagram

Restrictions, Limitations, and Constraints
Restrictions The response time for any process to complete shall not be more than 10 seconds. Customer users shall not have the ability to create orders. Admin users cannot delete an order object. Instead, users can change the order status to deleted. The system stores the username of the employee who deleted the order.
Passwords of Customers and Employees cannot be viewed. Forgotten passwords shall be reset by sending a temporary link to the user. Limitations Time allotted to complete this project is 1 month instead of the usual 4 months period. Project development is limited to 4 people and no Graphic Designers are available on the team. Since the Inventory class is low priority, it is not implemented. Thus, orders are entered into the system without knowledge of required part availability.
Constraints Employees can create new employees and customers. All items needing repairs must be delivered to the store before an Employee may create an order for the item. Employees can cancel orders. User must know English language to use the system properly. The username required to login will be an email address.
Class of Test
|
Description |
Priority |
Expected Software Response |
Performance Bounds |
Login Test |
The test verifies the given username and password. |
High |
Login successful with valid username and password. |
Login denied if login information is incorrect. |
Admin Login view |
If a user logs in with admin login credentials then the user must be directed to the admin level of the application. |
High |
With valid admin login credentials a view exclusive to administrators with admin options shall be displayed. |
A user with customer credentials cannot view the admin level of the application. |
Customer Login view |
If a user logs in with customer login credentials then the user must be directed to the customer level of the application. |
High |
With valid customer login credentials a customer view shall be displayed with customer options. |
A user with customer credentials cannot view the admin level of the application. |
Add admin Test |
An admin level user shall be added. |
Medium |
The user created by an admin user shall be a user of user type ‘admin’ and shall be able to access the admin level of the application. |
If not all fields are filled then the application will report an error. |
Delete user Test |
An admin level user can delete a user. |
Medium |
An admin level user can delete a user. |
An admin user cannot delete another admin user who has orders assigned. |
ustomer Test |
An admin level user can add user of user type customer. |
High |
A new customer is added to the database. |
If not all fields are filled then the application will report an error. |
Sign up customer test |
A user without any credentials can sign up as a customer. |
High |
A new customer is added . |
If not all fields are filled then the application will report an error. |
Add order test |
An admin user can add an order. |
High |
A new order is added, by filling all the fields in the form |
If not all fields are filled then the application will report an error and the order shall not be created. |
Update order test |
An admin user can update an order status or details. |
High |
An order is updated, by editing the order form. |
If not all fields are filled then the application will report an error and order shall not be updated. |
Delete order test |
An admin user can delete an order. High d. |
High |
The deleted order will not be displayed in the application. The orderDelete field will be changed to ‘true’ on the database.A alert before an order is deleted is displaye |
A customer cannot delete an order. |
Add order comments test |
An admin user can add comments related to the progress of the order. |
High |
A comment is displayed on the order details page when added to an order. |
A customer cannot edit the comments. Only the admin who made the comment can edit that comment. |
Database Update |
This test checks if an attempt to update the database was successful. |
Medium |
If the attempt is successful the program will resume to previous activity. |
If attempt fails an alert with an error will be displayed, allowing the user to make a second update. |
Classes of tests |
Leather Bags