Sale Module
Christys customers are individuals in her community, some of whom have have multiple pets.
Christy has developed a list of services by species. For example, she washes and grooms dogs, washes cats and trims nails, trims nails for guinea pigs and trims nails and files teeth for rabbits. Her prices depend on the size of the animal and the condition of animal.
Christy would like a system that helps her record sales for customers. Ideally, she would like to be able to retrieve sales for customers, so that she can see what happened in the past. Also, she would like to see how much money she makes working with different species.
Your task is to create a class diagram and sequence diagrams to support the following user stories and systems usecase specifications.
Use Case: Maintain Customer
User Story
As the owner of this business, I would like to record my customers contact information and a list of the pets that they own. Recording pet species, breed, gender and birth year will aid me in preparing for my customer visits.
Acceptance Criteria:
- Must be able to record multiple pets for a customer
- Must be able to flag a pet as not serviceable (example: dog bites)
- Must be able to query pets by species.
- Must be able to query sales by customer.
Use Case Descriptions
Use Case Name | Create Customer Information | ||
Triggering Event | New customer requests services. | ||
Brief Description | Allows the Owner to record a new customers information. | ||
Actors | Owner | ||
Related Use Cases | |||
Preconditions | Owner has opened the Main Menu. | ||
Post Conditions | Customer is saved to the database. Sales can be created for the customer | ||
Flow of activities | Actor | System | |
1. | Requests to add a new Customer | Prompts for Customer name, address, telephone and email address | |
2. | Enters customer name, address, telephone number and email address | Verifies that name, address, telephone number and email address have been entered.Creates a unique customer identifierDisplays the customers identifier, name, address, telephone number and email addressPrompts to add pets | |
loop | Chooses to add new pet | Displays a list of pet species for selection | |
3. | Selects a pet species | Prompts for pet name, breed, birth year, and colour. Displays a list of pet gender for selection. Displays a list of breeds for selection. | |
4. | Enters pet name, birth year and colour. Selects a breed, Selects a pet gender. Selects a breed. | Pet name must be entered, breed must be selected, birth year and colour must be entered. Gender must be selected. Data is validCreates a unique pet identifierDisplays the pets information including identifier, name, breed, birth year, colour and gender. | |
End loop | Request to save | Saves the customer and pets | |
Exception Conditions | Owner chooses to cancel adding the customer |
User Story
As the owner of this business, I would like to record my sales so that I can quickly see how much money Ive made.
Acceptance Criteria:
- Must be able to record multiple services for multiple pets belonging to a customer in one sale
- Must be able to query sales by customer.
Use Case Descriptions
Use Case Name | Create Sales | ||
Triggering Event | Customer has requested service and the service is complete | ||
Brief Description | Allows the Owner to record a new sales | ||
Actors | Owner | ||
Related Use Cases | |||
Preconditions | Owner has opened the Main Menu. | ||
Post Conditions | Sales is created and can now be queried | ||
Flow of activities | Actor | System | |
1. | Requests to add a new sale | Displays a list of customers and prompts for selection | |
2. | Selects a customer | Prompts for service date | |
3 | Enters service date | Verifies that service date has been entered and generates a unique ale number. Prompts to select pets. | |
loop | Chooses to add a pet | Displays a list of pets and prompts for selection | |
4. | Selects the pet | Prompts to select services | |
Loop2 | Chooses to add services | Displays a list of services including service name and price/hour prompting for selection | |
5. | Selects services that apply | Adds services to the invoice. | |
6. | Updates hours and price | Calculates the detail amount (hours * price). Calculates taxes and updates sale total. Displays the sale total, total taxes, sale service details, prompting for changes to hours and pricePrompts for another petPrompts to save | |
End2 | Until all services for a pet have been selected | ||
End | Until pets have been selected. | Displays the sale total, total taxes, invoice service details and prompts to save | |
5. | Chooses to save | Saves the sale.Return to the main menu | |
Exception Conditions | Owner chooses to cancel adding the sale invoice |
Use Case Name | Query Sales by Customer | ||
Triggering Event | Owner requires a list of sale details by customer | ||
Brief Description | Allows the Owner to retrieve sale details for a specific customer for a specified date range | ||
petActors | Owner | ||
Related Use Cases | |||
Preconditions | Owner has opened the Main Menu. | ||
Post Conditions | sales are retrieved, totaled and displayed | ||
Flow of activities | Actor | System | |
5. | Requests to query sales (by customer, by date) transactions | Displays a calendar | |
6. | Selects date range | Verifies that dates are selected. Displays a list of customers and prompts for selection | |
7. | Selects a customer | Retrieves sale detail in the specified date range for the specified customer.Calculate and displays totalsPrompts to exit | |
8. | Request to exit | returns to the main menu | |
Exception Conditions | Owner requests to cancel query |
Your tasks:
- Create a class diagram to support the above case study and Systems Use Case Specifications
- Create an object level sequence diagram, detailing the Create Customer systems use case specification
- Create an object level sequence diagram, detailing the Create Sales use case specification
- Create an object level sequence diagram, detailing the Query Sales (by customers) system use case specification.
Reviews
There are no reviews yet.