System analysis and project management

profileArupsh
UMLModelsforCurrentGasBuddySystem3.docx

UML Models for Current Gas Buddy

Context Diagram

Use Case Diagram

Use Case Descriptions

Use Case: 1

Name: Authorize Sign In

Description: Authenticates members

Trigger: A member wants to sign in

Normal Flow:

1. Display Login Screen

2. Accept Nickname and Password

3. Verify Nickname and Password using the member data file

Exception Flow:

3.a1. If Invalid Verification Then display Failed Authentication message and Login Screen.

Use Case: 2

Name: Search Gas Prices

Description: Displays gas prices in a location

Trigger: A use clicks search gas price button

Normal Flow:

1. Accept location

2. Get locations within 25 miles using Google Maps.

3. Retrieve price list of the closest 15 gas stations in these locations using the gas price file

4. Retrieve map info for each of the 15 gas stations from Google Maps

5. Display the Gas price Info in the order of distance, closest being at the top

Use Case: 3

Name: Report Gas Price

Description: processes gas price reported by a member

Trigger: A member wants to report a gas price

Normal Flow:

1. If not already signed in, execute Authorize Sign In use case

2. Display the Report Gas Price Screen

3. Accept Gas Price Data

4. Store the data in the gas price file

5. Add 200 points to the member’s accumulated reward points and add report transaction detail

Use Case: 4

Name: Calculate Trip Cost

Description: calculates the cost estimate for a trip

Trigger: A user clicks the calculate trip cost button

Normal Flow:

1. Display Trip Cost Request Screen

2. Accept Trip Data

3. Retrieve Route Data from Google Maps

4. Retrieve Vehicle Data from Vehicle file

5. Compute Fuel Requirement

6. Compute the locations where the gas tank will be between 25% and 10% full.

7. Retrieve Gas Station Data on those locations using Gas Price file

8. Select the gas station with the cheapest price and compute the cost for a fill up

9. Repeat steps 6 – 8 for the whole trip

10. Compute the total cost for the trip using costs calculated in step 8 and the cost for the distance remaining after the last fill up.

11. Display the Trip Cost Data

Exception Flow

2.a1. If multiple destinations, execute Add Intermediate Destinations use case

4.a1. If user provides own data, use user provided vehicle data for vehicle data

Use Case: 5

Name: Add Intermediate Destinations

Description: processes multiple destinations for a trip

Trigger: A use wants to add intermediate destinations

Normal flow:

1. Display the intermediate destinations screen

2. Accept the intermediate destination data

3. Prepare the Trip Data with Stops

Use Case: 6

Name: Remove Gas Price

Description: removes has prices more than 24 hours old

Trigger: Every hour

Normal Flow

1. For every gas station in the gas price file,

Delete prices more than 24 hours old

Data Dictionary

Use case 1: Authorize Sign In

Nickname: Data Element

Password: Data Element

Member date file = Nickname + Password + AccumulatedRewardPoints + {Report Transaction Detail}

Report Transaction Detail = ReportDate + ReportTime + Gas Station ID + Gas type + Gas Price

Use Case 2: Search Gas Prices

Location = [Zipcode | City+State | GPS location]

Locations = 0{Location}

Price list = 1{Gas Station ID + Gas Brand + Gas Station Location + MapInfo + Regular Gas Price + MemberNickname + ReportTime}15 + 1{Gas Station ID + Gas Brand + Gas Station Location + MapInfo + MidGrade Gas Price + MemberNickname + ReportTime}15 + 1{Gas Station ID + Gas Brand + Gas Station Location + MapInfo + Premium Gas Price + MemberNickname + ReportTime}15 + 1{Gas Station ID + Gas Brand + Gas Station Location + MapInfo + Diesel Price + MemberNickname + ReportTime}15

Gas Price File = {Gas Station ID + Gas Brand + Gas Station Location + {Regular Gas Price + MemberNickname + ReportTime}+{MidGrade Gas Price + MemberNickname + ReportTime}+ {PremiumGas Price + MemberNickname + ReportTime}+ {Diesel Price + MemberNickname + ReportTime}

Map info = Data Element

Gas Price Info = Price list

Use Case 3: Report Gas Price

Gas price Data = Gas Station ID + Gas Brand _ Gas Station Location + Gas Type + Gas Price + Time

Gas Type = [Regular | MidGrade | Premium | Diesel]

Gas Price File = {Gas Station ID + Gas Brand + Gas Station Location + {Regular Gas Price + MemberNickname + ReportTime}+{MidGrade Gas Price + MemberNickname + ReportTime}+ {PremiumGas Price + MemberNickname + ReportTime}+ {Diesel Price + MemberNickname + ReportTime}

AccumulatedRewardPoints = Date Element

Report Transaction Detail = ReportDate + ReportTime + Gas Station ID + Gas type + Gas Price

Use Case 4: Calculate Trip Cost

Trip Data = Route + Vehicle Data + Options Data

Route = Origin + Intermediate destination data + Final destination

intermediate destination data = 0{Stop Number + Stop Location}

Vehicle Data = [System Determined Vehicle Data | User Provided Vehicle Data]

System Determined Vehicle Data = Vehicle Year + Vehicle Make + Vehicle Model + City mpg + Hwy mpg + tank capacity

User Provided Vehicle Data = City mpg + Hwy mpg + tank capacity

Route Data = {Route Sequence # + Route Location}

Fuel Requirement = Data element

Locations = {Route Location}

Gas Stations Data = {Gas Station ID + Gas Brand _ Gas Station Location + Gas Type + Gas Price}

Gas Price File = {Gas Station ID + Gas Brand + Gas Station Location + {Regular Gas Price + MemberNickname + ReportTime}+{MidGrade Gas Price + MemberNickname + ReportTime}+ {PremiumGas Price + MemberNickname + ReportTime}+ {Diesel Price + MemberNickname + ReportTime}

Gas station = Gas Station ID

Cost = data element

Total cost = data element

Trip Cost data = Origin + Destination + distance + time taken + total cost + fuel used + 0{fueling station # + Gas Brand + Gas station address + Gas price + amount to be filled + cost}

Use Case 5: Add Intermediate Destinations

intermediate destination data = 0{Stop Number + Stop Location}

Trip Data with Stops = Origin + Intermediate destination data + Final destination

Use Case 6: Remove Gas Price

Gas Price File = {Gas Station ID + Gas Brand + Gas Station Location + {Regular Gas Price + MemberNickname + ReportTime}+{MidGrade Gas Price + MemberNickname + ReportTime}+ {PremiumGas Price + MemberNickname + ReportTime}+ {Diesel Price + MemberNickname + ReportTime}

Prices = 0{Regular Gas Price}+0{MidGrade Gas Price}+0{PremiumGas Price}+0{Diesel Price}

Class Diagram

C:\Users\sraghu\AppData\Local\Temp\GasBuddy_Class Diagram1.jpg

Sequence Diagram for Calculate Trip Cost

C:\Satz-UTD\4thSem\TA\Sequence Diagram1.jpg

Gas BuddyUserMemberGoogle MapsVehicle Database

Gas Buddy User Get gas price Get trip cost Member Sign In Report gas price Google Maps Get route and map info Vehicle Database Get vehicle data