System analysis and project management
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
Sequence Diagram for Calculate Trip Cost
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