first iteration of elaboration

25
FULLY DRESSED USE CASE: RESERVE CAR Use-case Name Reserve Car Scope Car Reservation System Level: User-goal Primary Actor Staff/Manager Stakeholders & Interest: Customer: Wants to reserve a car and fast service with minimum effort. Staff: Wants car reservation operations easily and quickly. Company: Wants accurate records of the cars and satisfy customer interests and wants to ensure that all the needed information is collected from the customer. Wants fast update of the car inventory. Manager: Wants to be able to quickly perform adding a car to the inventory and removing a car from the inventory. Preconditions: Staff is identified and authenticated. Success Guarantees: Car record updated. Customer information is taken. Updated car situation is prompted. Version Date Description Author Inception draft 9.10.2007 First Draft, will be a base for the second draft Safa Bacanlı, Tuna Karaman First Iteration of Elaboration 28.10.2007 Second draft, main success scenario and alternate extensions are revised. Receive car fully dressed use case is added Group

Upload: api-3724333

Post on 11-Apr-2015

156 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: First Iteration of Elaboration

FULLY DRESSED USE CASE: RESERVE CAR

Use-case Name Reserve Car

Scope Car Reservation System

Level: User-goal

Primary Actor Staff/Manager

Stakeholders & Interest:

Customer: Wants to reserve a car and fast service with minimum effort.

Staff: Wants car reservation operations easily and quickly.

Company: Wants accurate records of the cars and satisfy customer interests and wants to ensure

that all the needed information is collected from the customer. Wants fast update of the car

inventory.

Manager: Wants to be able to quickly perform adding a car to the inventory and removing a car

from the inventory.

Preconditions: Staff is identified and authenticated.

Success Guarantees: Car record updated. Customer information is taken. Updated car

situation is prompted.

Version Date Description Author

Inception draft 9.10.2007 First Draft, will be a base for the

second draft

Safa Bacanlı, Tuna

Karaman

First Iteration of

Elaboration 28.10.2007

Second draft, main success scenario

and alternate extensions are revised.

Receive car fully dressed use case is

added

Group

Page 2: First Iteration of Elaboration

Main Success Scenario:

1. Customer arrives at/ calls the office to rent a car.

2. Staff starts a new reservation.

3. Staff asks the group of the car, reservation period, delivery and return addresses.

4. System displays the result of the search and available dates for reservation and price.

5. Customer approves the reservation.

6. Staff checks system if customer already has an account.

7. System returns that customer does not have an account

8. Staff creates a new customer account and confirms the reservation.

9. System updates the status of the car to “Reserved”.

Alternate Extensions:

a) At any time customer changes his/her mind.

1. Staff cancels the reservation process.

3a. Customer has no idea about which group of car to reserve.

1. Staff searches the available cars for the period that customer wants.

2. Staff shows the list of available cars.

3. Customer chooses a car.

3a. Customer does not choose a car.

1. Customer leaves without renting a car.

4a. Required group of cars are not available for given period.

1. Staff offers the upper group for the same price.

1a. Customer leaves without renting a car.

2. Customer accepts the offer.

Page 3: First Iteration of Elaboration

3. Higher group of car is selected for the customer.

5a. Customer does not approve the price.

1. Staff shows the lower groups with fewer prices.

2. Customer chooses one of the lower model cars.

2a. Customer does not want to rent a lower model car.

1. Customer leaves without renting a car.

3. Staff starts a new reservation for that car.

7a. Customer already has an account in the system

1. Reservation is continued using existing customer account.

Special Requirements:

Large panel monitor. Text must be seen from 1 meter

Credit authorization response within 1 minute.

User-friendly system should be provided.

Technology and Data Variations List:

Different account types for Staff, manager and administrator

Credit card is read by POS machine or credit card number is entered from keyboard.

Customer information is taken from customer via telephone.

Open Issues:

Customer decides to pay by cheque or in cash.

Customer takes the car and never returns it back. Also the credit card is blocked.

Frequency of Occurrence: Occasionally

Page 4: First Iteration of Elaboration

FULLY DRESSED USE CASE DESIGN: RECEIVE CAR

Use case name: Receive car

Scope: Car Rental System

Level: User-goal

Primary Actor: Staff/Manager

Stakeholders and Interests:

Staff: Wants to receive the car and fast service with minimum effort.

Manager: Wants the receive process does not take much time.

Company: Wants to accurately update the records

Customer: Wants to return the car as fast as possible.

Preconditions: Staff is identified and authenticated. Customer came to office.

Success Guarantee: Car record is updated. Receipt is printed.

Main Success Scenario

1. Customer returns the car.

2. Staff checks whether the car return conditions are satisfied.

3. Staff searches the system for rent record of the customer.

4. System returns the rent record.

5. Staff checks if the return date and reservation deadline matches.

6. Staff updates the rent record.

7. System deletes the rent record, and car state is set free.

Page 5: First Iteration of Elaboration

Alternate Extensions

2a. Car is involved in a traffic accident..

1. Customer gives the accident report.

1a. Customer does not have the accident report.

1. Service price is charged from the customer.

2. Car status is changed to at service.

2. Car status is changed to at service.

2b. Customer expressed that car is broken down.

1. A new car is reserved and delivered to the customer.

2. Broken car is sent to service and car status is set to at service.

2c. Fuel level is below the required fuel level.

1. Customer is charged with a constant low fuel level fine.

4a. Rent record is not available.

1. Reservation record is checked.

2. Customer is asked to show receipt, so that it will be ensured that money is paid.

5a. Car is returned before return date.

1. Stoppage amount is calculated.

2. Unused day price is paid back without corresponding stoppage.

Page 6: First Iteration of Elaboration

Special Requirements:

Checking fuel level of the car.

Providing accident report and contacting to insurance company in case of an accident.

Technology and Data Variations List: None

Frequency of Occurrence: Occasionally

Open Issues:

-What are the tax law variations?

-What modifications are needed to be done for different companies?

Casual Format Use Cases

Cancel Reservation:

Main Success Scenario:

Customer contacts to the office, requesting a cancel of reservation. Reservation info is checked

in the system and the reservation is cancelled.

Alternate Scenarios:

If the reservation info is not found in the system, system returns a warning message, which

indicates that no matching reservation registry is found in the system. In that case, customer is

Version Date Description Author

Inception draft 9.10.2007 First Draft, will be a base for the

second draft

Yaşar Eren Biri,

Uğur Bilen

First Iteration of

Elaboration 28.10.2007

Second draft, three new casual use

cases added

Yaşar Eren Biri,

Uğur Bilen

Page 7: First Iteration of Elaboration

informed that he does not have an active reservation at the moment and no cancel operation is

necessary.

If the cancel operation is requested less than 24 hours before the delivery date, customer is

informed and charged the late cancellation fine. Fine is charged from the credit card whose

information taken from the customer during the reservation process.

Manage Rent Period

Main Success Scenario:

Customer contacts to the office, requesting to extend or reduce reservation period. Reservation

info is checked in the system and after checking that no period conflictions occur between other

reservations, reservation period is updated.

Alternate Scenarios:

If the reservation info is not found in the system, system returns a warning message, which

indicates that no matching reservation registry is found in the system. In that case, customer is

informed that he does not have an active reservation at the moment and a new reservation is

made according to the requirements of customer.

If the reserved car is not available in case of an extension request, customer is informed and

another (probably a higher model) car is provided for that period.

If the customer requests to reduce reservation period, customer will be charged with a slight

percentage of daily rental price for the number of days reservation is reduced.

Page 8: First Iteration of Elaboration

Manage Car:

Main Success Scenario:

Manager logs into system to add or remove a car. To add a new car, manager goes to add car

page and enters the properties of the new car to be added and confirms the operation. The system

adds the car to the car catalog.

To delete a car, manager selects the car from catalog or by search. Car can be deleted from the

system only if it is in free state.

Alternate Scenario:

The car, which manager wants to remove is on use or at service. Manager cannot remove the car

and cancels the operation.

Brief Format Use Cases

Reserve Fleet:

A customer who would probably be a company contacts to an office requesting to reserve

multiple number of cars. The staff member uses the car rental system to reserve multiple

numbers of cars. The system checks the availability of such reservation on given period of time

and required cars. If customer confirms reservation, staff member adds customer information to

reservation and saves the reservation.

Version Date Description Author

Inception draft 9.10.2007 First Draft, will be a base for the

second draft

Uğur Bilen, Yaşar

Eren Biri

First Iteration of

Elaboration 28.10.2007

Second draft, main success scenario

and alternate extensions are revised

Safa Bacanlı, Yaşar

Eren Biri, Uğur

Bilen

Page 9: First Iteration of Elaboration

Set Service Period:

In cases like break down, accident or reaching casual service km; car will be sent to service.

Approximate service period of the car will be added to car description by staff.

Deliver Car:

A customer whose rent period begins arrives at an office to take his car. Payment is handled at

this point. Customer pays the rental price and system prints the receipt and adds the payment

type to customer account. System changes the car status from reserved to rented, after printing

the receipt. Car is delivered to the customer afterwards.

Deliver Fleet:

A customer (probably with multiple drivers) whose rent period begins arrives at an office to take

his fleet. Payment is handled at this point. Customer pays the rental price and system prints the

receipt and adds the payment type to customer account. System changes the fleet status from

reserved to on rent after printing the receipt, and updates the state of each car in the fleet. Fleet is

delivered to the customer afterwards.

View Car State:

A car’s current status may be required for several reasons. A staff member directly searches the

system from cars VIN number or selects the car from car catalog. The system presents the

information of the selected car.

Page 10: First Iteration of Elaboration

Receive Fleet:

A customer arrives at a return point with the fleet he rented. A staff member checks each car one

by one whether they satisfy returning conditions. The system makes the checkout of the

customer and updates state of each car in the fleet.

Manage Office:

Administrator logs into the system to add or remove an office. To add a new office, administrator

goes to add office page and enters the properties of the office. To create an office, at least one

manager and one staff member should be assigned to the office.

Manage User:

Administrator logs into the system to add or remove a user account. To add a new user,

administrator goes to create account page, enters personal information of the user, determines

whether the new user is a manager or staff member and assigns the new user to an office.

To delete a user account, administrator selects the user from the user catalog or by search and

deletes the account.

Version Date Description Author

Inception draft 9.10.2007 First Draft, will be a base for the

second draft Yaşar Eren Biri

First Iteration of

Elaboration 28.10.2007

Second draft, main success scenario

and alternate extensions are revised Yaşar Eren Biri

Page 11: First Iteration of Elaboration

Use Case Diagram

Page 12: First Iteration of Elaboration

Vision

Introduction:

In our project we design and implement a car rental system, which will be used in car renting

offices. The system keeps information about car and connects different offices through a

network.

Problem Statement:

In the car renting company, processes like reservation and connection between two offices are

managed by telephone calls between costumer-office and two different offices. This costs more

in terms of time and money. In addition to that, hardcopy files were used to keep track of rented

and available cars, which make workers’ life worse. Our system connects offices through

network and controls the status of cars so it is much easier to control the information and status

of cars.

Summary of System Features:

Rental Records

Customer Management

User Management (administrator, manager, staff)

Payment Registry (cash, credit, check)

Reservation Records

Accounting Records (income, expenditure)

System administration for users: security, information tables

High Level Goals and Problems of the Stakeholders.

Version Date Description Author

Inception draft 9.10.2007 First Draft, will be a base for the

second draft

Uğur Bilen Safa

Bacanlı

First Iteration of

Elaboration 28.10.2007

Human Factors removed, Information

in domains of interest and

functionality added

Yaşar Eren Biri,

Tuna Karaman

Page 13: First Iteration of Elaboration

High level goal Priority Problems and Concerns Current Solutions

Fast and integrated

renting process

High Slow processing speed of the needs of

the customer related

Building a car Rental

software that can

communicate with

other offices

Getting access to

car database easily

and faster

Medium Difficulty in keeping track of the cars,

reaching the record after some time, as

they were foldered manually by Staff.

Building a car Rental

software that keeps

the record of the cars

User Level Goals

The users (and external systems) need software to fulfill these goals.

Staff: process reservations, handle return of the car, update car state, manage reservation

and rental.

System Administrator: add or remove staff or manager accounts

Manager: add a new car record or remove a car record.

Page 14: First Iteration of Elaboration

SUPPLEMANTARY SPECIFICATION DOCUMENT

1. Other Requirements and Constraints

Introduction

This document is the repository of all Car Rental Software requirements not captured in

the use cases.

2. Usability

Speed, ease and error-free processing are paramount in sales processing, as the customer

wishes to leave quickly.

3. Reliability

If there is a failure to use credit card transfer machine, try to solve it with a local solution

in order to complete a receive process.

4. Performance

As mentioned under human factors, customers want to complete the “taking the rented

car” or reservation process.

5. Supportability

5.1 Adaptability

Our software will work in every office. Adapting the software to new computers is not a

problem.

5.2. Configurability

Configuration is not a problem, as software does not need any hardware configuration

6. Implementation Constraints

Version Date Description Author

Inception draft 9.10.2007 First Draft, will be a base for the

second draft

Uğur Bilen, Safa

Bacanlı

First Iteration of

Elaboration 28.10.2007 Second draft, revised

Yaşar Eren Biri,

Tuna Karaman

Page 15: First Iteration of Elaboration

Software will be programmed in Java and XML will not be used. Excel or text file can be

used for database of the car records.

7. Interfaces

7.1 Noteworthy Hardware and Interfaces:

Receipt printer

7.2 Software Interfaces:

We will have different systems for different processes like making reservation, canceling

reservation, car search and etc. so we need to have different interfaces for these different

processes.

8. Information in Domains of Interest

Pricing

In addition to the pricing rules section, note that rental prices, fines and service price

equivalent has different values depending on the economical wealth at the location of the

office. Offices maintain original prices even if there is a markdown depending on the

season, for accounting and tax reasons.

Credit Payment Handling

Validity of the credit card information taken from the customer is checked. Even the

customer already has an account; credit card of the customer is validated before any

reservation is done for that customer.

Tax Regulations

Tax calculations can be very complex, and regularly change in response to legislation at

all levels of government. Therefore, delegating tax calculations to third-party software (of

which there are several available) is advisable. Tax may be owing to city, region, state,

and national bodies. Some items may be tax exempt without qualification, or exempt

depending on the buyer or target recipient (for example, a farmer or a child).

Page 16: First Iteration of Elaboration

Customer Identifiers

The Car Rental System identifies customers with several properties. Main identifier for a

customer is license number, which is unique for every individual. Having a validated

license number also verifies that customer is a legitimate driver.

Car Identifiers

The Car Rental System identifies cars with several properties. Main identifier for a car is

its VIN number which is unique worldwide. Plate number is also a unique identifier and

can be used.

9. Functionality

Customer Identification

License number is the major identifier of a customer.

Fine Calculation

Fine calculator calculates fine for inappropriate customer acts: early or late return,

unsatisfied car return conditions, late reservation cancellation.

Security

All usage requires user authentication.

Pluggable Rules

At various scenario points of several use cases ( to be defined) support the ability to

customize the functionality of the system with a set of arbitrary rules that execute at that

point or event

10. Documentation

Read me text file will be available with the program. Vision Report will also be ready for

further detail.

11. Packaging

Page 17: First Iteration of Elaboration

Software will be programmed in Java and can be prepared as exe, jar (JRE should be

installed to the system) or separate java files according to need of customer.

Business (Domain) Rules

ID Rule Changability Source

Rule1 Credit payment reversals may only be paid as a credit to

the buyer’s credit account, not as a cash.

Low Credit

Authorization

Company

Policy

Rule2 If car is returned late, customer will be charged with

15% fine per day

Low Credit

Authorization

Company

Policy

Rule3 Car is delivered to customer with fully loaded tank. Car

is received from customer with fully loaded tank.

Low Credit

Authorization

Company

Policy

Rule4 If customer does not return car back with fuel level full,

constant fine is charged from the customer: which is

taken from customer.

Low Credit

Authorization

Company

Policy

Rule5 If a car breaks down during customer use, customer is

immediately given a new car from the same group. If a

car in that group is not available, higher group of car is

provided.

Low Credit

Authorization

Company

Policy

Rule6 If reservation is cancelled in last 24 hours, 50% of the

rent fee is taken from customer.

Low Credit

Authorization

Company

Policy

Rule7 During reservation, even if the customer indicates that

he will pay by cheque or cash, credit card information is

still required for security reasons.

Low Credit

Authorization

Company

Policy

First Iteration of

Elaboration 24.10.2007

First Draft, will be a base for the

second draft

Safa Bacanlı, Tuna

Karaman

Page 18: First Iteration of Elaboration

Requirements

The requirements for the first iteration of the Car Rental System application follow:

Implement a basic, key scenario of the Reserve Car use case: customer contacts an office

and staff communicating with the customer reserves a car for the customer for a specific

period of time.

Implement a Start Up use case as necessary to support initialization needs of the iteration.

Nothing fancy or complex is handled, just a simple happy path scenario and the design

and implementation to support it.

There is no collaboration with external services, such as a tax calculator, fine calculator,

credit card authorization, accounting system.

Customer determines where the car will be delivered and returned and the reservation

period.

Customers are registered to system and are determined afterwards by their driver’s

license number if they are new or already have an account.

Car description includes properties of car. Included information is: brand, model, year,

color, state and most importantly VIN number for the car to be determined explicitly.

A car has four states: free, at service, reserved, rented.

In iteration-1 there is only one office, one manager, one staff, one type of car, there are

no previously registered customers.

Version Date Description Author

First Iteration of

Elaboration 28.10.2007

Second draft, requirements for the

fşrst iteration is written Yaşar Eren Biri

Page 19: First Iteration of Elaboration

Simulate car reservation requiring no actual car description, other than a specified car

group and an imaginary car.

Pricing regulations are not applied.

The design and implementation of the supporting UI, database, and so forth, would also be done,

but is not covered in any detail.

Page 20: First Iteration of Elaboration

Domain Model

Version Date Description Author

First Iteration of

Elaboration 28.10.2007

Second draft, domain model is

prepared Group

Version Date Description Author

Page 21: First Iteration of Elaboration

System Sequence Diagrams

Reserve Car:

First Iteration of

Elaboration 28.10.2007

Second draft, system sequence

diagram of two fully dressed use

cases prepared

Yaşar Eren Biri

Page 22: First Iteration of Elaboration

Receive Car:

Page 23: First Iteration of Elaboration

GLOSSARY

Term Definitions-information Format Validation

rules

Aliases

Administrator Computer specialist who add

/ remove user. Also manages

the system.

Office Car reservation and delivery

checkpoints. At least one

manager and one staff

member should work on the

office

Car Description Name, brand, model, year,

VIN number, plate number,

state

VIN number

(Vehicle

Identification

Number) is a

17 character

ID for

vehicles.

Plate number

depends on

the country

where car is

located.

Traffic

Department

validates

authenticity of

the VIN and

plate number

VIN:

Universal

Product

Code

Staff Worker in office who serves

the customers

Manager Director of the office

Manage Car

Service Period Times for car to go washing

and repair

Manage User Adding a new user to system

or deleting the existing one

from

Inception Draft 9.10.2007 First Draft, will be a base for the

second draft Uğur Bilen

First Iteration of

Elaboration 24.10.2007

Second draft, glossary is extended

with new terms Yaşar Eren Biri

Page 24: First Iteration of Elaboration

Check Car Controlling whether car is

brought how it is given to

customer

Car Return

Conditions

Customer should return the

car without any damage and a

full fuel tank.

Receive process Process of taking car from the

customer after rent period

Confirm

Reservation

Saving a reservation

including a specific car from

a car group, information of

customer reserving the car.

Customer

Information

Name, address, phone, valid

credit card info, license

number

Credit card

number is a

16 digit

number

Authorization

service checks

the validity of

the given 16

digit number

Universal

credit card

number

format

Car Status

Updated

Shows whether the car is

available or not

Page 25: First Iteration of Elaboration

Work Distribution

Total Hours Worked as a Group: 20.5 hours between 24/10/2007-28/10/2007

Safa Bacanlı: Elaboration of Receive Car 3, Business Rules 3, Elaboration of

Supplementary Specification Report 4.

Tuna Karaman: Elaboration of Receive Car 3, Business Rules 3.

Uğur Bilen: Elaboration of Reserve Car & Receive Car 4, Casual Format Use Cases 2,

Elaboration of Supplementary Specification Report 4.

Yaşar Eren Biri: Requirements of the first iteration 2, Drawing Domain Model 5,

System Sequence Diagrams 3.