Â
Simplify Trips!
MIS-6308
Professor Srinivasan Raghunathan
Group #4
Anisha Singhal |Dheeraj Manusanipalli |Paridhi Phapunkar |Uttam Bharadwaj|Viswatej Boyanapally
Fall  – 2016
The University of Texas at Dallas
Master of Science, Information Technology and Management
Index
1. Executive Summary        3
2. Problem Statement        5
3. BPMN Diagram        6
1. Process - Plan a trip        6
2. Process - On the way        7
4. Context Diagram        8
5. Use Case Diagram        9
6. Use Case Descriptions        10
7. Data Dictionary        19
8. Class Diagram        20
9. Interface Diagrams        21
1. Login Screen        21
2. Create a New Trip or view Trip History.        22
3. Create Trip Screen        23
4.  Final Route Map        24
10. Database Design        25
11. Functional Specifications        29
12. Sequence Diagram        31
13. Software Design        32
14. Project Management Deliverables        40
1. Allocations of activities to team members:Â Â Â Â Â Â Â Â 40
2. Minutes of the Meeting with planned timelines        41
Youtube link to our presentation:
Always wanted to travel across US but not sure if you have enough time for that? Did you ever try to plan a trip to drive from Yosemite to Yellowstone?
Simply enter where you are, where you want to go, and when you want to be there and create your own group, invite your friends in the trip or keep your trip open for others to join in through various social media and Trippr will do the rest.
Don't worry about putting stops in order. Trippr attempts to plan a route for your trip in the most efficient way. If you don't want efficient, you can drag your stops around or even reverse your itinerary.
Trippr makes it easier than ever to plan and organize your trips. It can help you map out and plan anything involving many destinations and stops along the way. It can offer you suggestions on what to see and do at these locations.
From cafes to parks to beaches to museums, Trippr shows you tons of cool things near and far, so you can find your next destination or halts faster. Tripr simply gathers your travel information then organizes it automatically giving you recommendations.
It syncs the GPS of all the vehicles involved in the trip. Another landmark feature it offers is the ability to locate every other driver involved in your trip, in real time, using GPS, on every device connected to Trippr from the group. Never again will you need to worry about where your co-Tripprs are during road trips.
Trippr requires you to register as a member. Once you’ve signed in, Trippr will show you a list of your upcoming and previously completed trips.
A plan for the future is to implement a Things to Do, which builds custom itineraries based on how long you’ll be in town, popular destinations. You can select a recommended itinerary or add your own options by drilling deeper into guides that focus on shopping, museums, or other activities. And each guide can be edited to include other destinations you’d like to visit.
Also, we have a feedback system where we encourage users to give their valuable feedbacks about the new places, hotels or restaurants they explored at the end of each trip, which we plan to use as a pre-trip advisor for our new trip events.
Currently there is no consolidated app that can help a user to plan a trip with friends and help execute it. A person planning a trip would need to use a pen and paper approach to listing out the locations they would like to go to and where they would stay for the night. It is also very cumbersome for the users to all interact and contribute to creating the route and places to visit. They would need to send out drafts to all the people involved in the trip until a final one was selected.
Also, during the trip, if there are multiple cars involved, it becomes very difficult to organise where to go and where everyone else is. If one car needs to take a rest stop or feels the need to have a bite to eat, the others may not be alerted and may result in the group getting split up.
There is a space in the market for an app which can help people to plan the trip from the planning phase to the execution phase.
By filling this space, Trippr will make the planning and execution of a trip very easy. Trippr aims to empower its users to go on better trips by suggesting locations to travel to along the route, hotels or motels to stay during the night depending on where they want to sleep, making a final trip plan, to the final execution phase by tracking users marked as drivers, and supporting real time addition of locations along the way during a trip.
Use Case ID: | Â TRIPPR_UC_001 |
Use Case Name: | Â Sign In |
Actors: | Â User |
Description: | Â This use case describes how user signs into the app |
Trigger: | Â User clicks on sign in |
Trigger Type: | Â Internal |
Relationship: | Â |
Normal Flow: |  1.User opens trippr app  2.User enters sign-in details.  3.User clicks sign-in |
Exceptions: | Â 3A. If user enters an incorrect UserID or Password, display error message and repeat step 2 |
Use Case ID: | Â TRIPPR_UC_002 |
Use Case Name: | Add members |
Actors: | User |
Description: | Â Adding members to the trip using social media |
Trigger: | Â User clicks on add members |
Trigger Type: | Â External |
Relationship: | Â |
Normal Flow: | 1.User plans for a trip. 2.User then adds members to the trip through Facebook. 3.A member list is populated.  |
Alternate flow: | 2A. If the user has no members to add, this step is skipped. |
Use Case ID: | Â TRIPPR_UC_003 |
Use Case Name: | Â Track Drivers |
Actors: | Â User |
Description: | Â Use Case describes the process of tracking users once the trip has started |
Trigger: | Â User clicks Start Trip |
Trigger Type: | Â Internal |
Relationship: | Â |
Normal Flow: |
|
Use Case ID: | TRIPPR_UC_004 |
Use Case Name: | Display Trip Summary |
Actors: | Trippr |
Description: | This use case describes how Trippr displays trip summary |
Trigger: | Internal |
Trigger Type: | User reaches the destination |
Relationship: | |
Normal Flow: | 1.User reaches destination 2.Trippr calculates time and distance of the entire trip 3.Trippr displays trip summary to the user |
Use Case ID: | Â TRIPPR_UC_005 |
Use Case Name: | Add/Remove intermediate location |
Actors: | Â User |
Description: | Â Use case describes the processes of adding intermediate locations to the trip. |
Trigger: | Â User selects add intermediate location |
Trigger Type: | Â External |
Relationship: | Â |
Normal Flow: | 1.The user adds an intermediate location to the trip. 2.The changed route is updated to the user. 3.Notify all the Trip Drivers. |
Alternate Flow: |  1A. The user removes an intermediate location from the trip. |
Use Case ID: | Â TRIPPR_UC_006 |
Use Case Name: | Â Join trip |
Actors: | Â User |
Description: | Â This use case describes how users join the trip |
Trigger: | Â User receives trip request |
Trigger Type: | Â Internal |
Relationship: | Â |
Normal Flow: | 1.User receives trip request  2.User clicks accept  3.Trippr app opens automatically and User can view trip details |
Exceptions: | Â 2A. If user is not a member of trippr , Trippr displays signup page. |
Use Case ID: | Â TRIPPR_UC_007 |
Use Case Name: | Â Plan trip |
Actors: | Â User |
Description: | Â This use case describes the process of planning the trip within Trippr |
Trigger: | Â User clicks create Trip |
Trigger Type: | Â External |
Relationship: |  Includes: TRIPPR_UC_004 Display Trip Summary  Extends: TRIPPR_UC_002 Add Members          TRIPPR_UC_005 Add/Remove Intermediate Destinations          TRIPPR_UC_006 Join Trip |
Normal Flow: |
|
Alternate Flow: | Â 1A1. User receives invite to a Trip. Â 1A2. User accepts Invite and is added to member list. |
Use Case ID: | Â TRIPPR_UC_008 |
Use Case Name: | Â Execute trip |
Actors: | Â User |
Description: | Â This use case describes the process of executing the trip within Trippr |
Trigger: | Â User clicks Start Trip |
Trigger Type: | Â External |
Relationship: |  Includes: TRIPPR_UC_004 Display Trip Summary          TRIPPR_UC_003 Track_Drivers |
Normal Flow: |
|
Alternate Flow: |  1A1. User receives invite to a Trip.  1A2. User accepts Invite and is added to member list. |
Â
Member (Member_ID, Username, Password, FirstName, LastName, PhoneNumber, Email)
Primary key: Member_ID(unique, Not null)
Username should be non-null
Password should be non-null
FirstName should be non-null
Email should be non-null
Â
Memberlist ( Member_ID, Trip_ID, IsDriver, MemberRating)
Primary key: Member_ID(unique, Not null), Trip_ID(unique, Not null)
IsDriver should be Boolean
MemberRating should be non-null
Â
Trip (Trip_ID, Tripname, Startlocation, Endlocation, Startdate, EndDate, Starttime, Endtime)
Primary key: Trip_ID(unique, Not null)
Startlocation should be non-null
Endlocation should be non-null
Startdate should be non-null
EndDate should be non-null
Starttime should be non-null
Endtime should be non-null
Â
Route (Trip_ID, IL_ID, Isstart, Isdestination)
Primary key: Trip_ID(unique, Not null), IL_ID(unique, Not null)
Isstart should be non-null
Isdestination should be non-null
IntermediateLocation (IL_ID, IL_Name, IL_GPSLoc)
Primary key: IL_ID(unique, Not null)
Â
Place of Interest (IL_ID, IL_Name, IL_GPSLoc, Pl_type, Pl_Fee, Pl_Rating)
Primary key: IL_ID(unique, Not null)
IL_Name should be non-null
Pl_type should be non-null
IL_GPSLoc should be non-null
Â
Gas Station (IL_ID, IL_Name, IL_GPSLoc, GS_Brand, GS_Gas Type, IsStoreAvailable)
Primary key: IL_ID(unique, Not null)
IL_Name should be non-null
GS_Brand should be non-null
GS_Gas Type should be non-null
IsStoreAvailable should be non-null
IL_GPSLoc should be non-null
Â
Hotel (IL_ID, IL_Name, IL_GPSLoc, HotelRating, HotelCityLocation)
Primary key: IL_ID(unique, Not null)
IL_Name should be non-null
HotelCityLocation should be non-null
IL_GPSLoc should be non-null
Â
Restaurant (IL_ID, IL_Name, IL_GPSLoc, RestaurantRating, RestaurantCityLocation)
Primary key: IL_ID(unique, Not null)
IL_Name should be non-null
RestaurantCityLocation should be non-null
IL_GPSLoc should be non-null
Sequence Diagram for planning a trip process
Â
Method Name: Create_Trip()              Class Name: Trip                         ID:  01 Clients (Consumers): Member Associated Use Cases: Plan_Trip Description of Responsibilities:
Arguments Received:Â Source location, Destination, Start Date Type of Value Returned:Â String Pre-Conditions:Â 1. Source location and Destination should not be NULL Â Â Â Â Â Â Â Â 2. Start Date should be valid Post-Conditions:Â Trip is Displayed to the Member. |
Â
IF Member clicks on Create trip
THEN
ACCEPT Source
ACCEPT Destination
ACCEPT Start Date
PROCESS Create new trip
Â
Method Name: Add_Member()        Class Name: Member List                        ID:  02 Clients (Consumers): Member Associated Use Cases: Add Members Description of Responsibilities:
Arguments Received:Â Trip ID, Member ID. Type of Value Returned:Â None Pre-Conditions:Â Valid Member ID, Valid Trip ID Post-Conditions:Â Trip Member list updated. |
Â
IF Member clicks on add member
THEN
DISPLAY Enter Member-ID
ACCEPT Member-ID’s
DISPLAY Member list
PROCESS update trip
Method Name: Add_intermediate_loc()             Class Name: Route                      ID:  03 Clients (Consumers): Member Associated Use Cases: Add/Remove Intermediate location Description of Responsibilities:
Arguments Received:Â IL_ID,Trip_ID Type of Value Returned:Â String Pre-Conditions:Â 1. Current Location should be available. Â Â Â Â Â Â Â Â Â 2. Trip ID should be a CHAR value. Post-Conditions:Â Update Route. |
Â
IF user clicks on add intermediate location
THEN
ACCEPT intermediate location
FETCH gpsloc
ADD gpsloc to the trip
PROCESS update trip
PROCESS notify drivers
Method Name: Remove_intermediate_loc()             Class Name: Route                   ID:  04 Clients (Consumers): Member Associated Use Cases: Add/Remove Intermediate location Description of Responsibilities:
Arguments Received:Â Selected intermediate location Type of Value Returned:Â None Pre-Conditions:Â Trip ID should be CHAR value. Post-Conditions:Â Update Route. |
Â
 IF user clicks on remove intermediate location
THEN
ACCEPT intermediate location
FETCH gpsloc
DELETE gpsloc from the trip
PROCESS update trip
PROCESS notify drivers
Â
Method Name: Get_Suggested_Places()             Class Name: Route                 ID:  05 Clients (Consumers): Create_Trip() or Search_Trip() Associated Use Cases: Plan_Trip Description of Responsibilities:
Arguments Received:Â Source location, Destination. Type of Value Returned:Â String Pre-Conditions:Â Source location, Destination should not be NULL Post-Conditions:Â Suggested places displayed to the member. |
Â
 IF user clicks on create trip/ search a trip
 THEN
ACCEPT Source
ACCEPT Destination
ACCEPT Start Date
PROCESS Create new trip/search trip
FETCH suggested places
DISPLAY suggested places
All members of the team worked on all the parts of the project. We had meetings to make collaboration plans.
Meeting 1:
Meeting Date | 15th  Sept | ||
Meeting Time | 6:00 PM to 8:00PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussed on project ideas, their complexity, scope and implementation. | |||
Action Items | Person Responsible | Deadline | |
Research on project ideas | Anisha Singhal | 23rd Sep | |
Research on project ideas | Dheeraj Manusanipalli | 23rd Sep | |
Research on project ideas | Paridhi Phapunkar | 23rd Sep | |
Research on project ideas | Uttam Bharadwaj | 23rd Sep | |
Research on project ideas | Viswatej Boyanapally | 23rd Sep | |
 Next Meeting: | 23rd Sep, 6:00 PM to 8:00 PM |
Meeting 2:
Meeting Date | 23rd  Sept | ||
Meeting Time | 6:00 PM to 8:00PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussed the scope and challenges about two shortlisted projects. | |||
Action Items | Person Responsible | Deadline | |
Documentation of executive summary | Anisha Singhal | ||
Documentation of executive summary | Dheeraj Manusanipalli | ||
Documentation of executive summary | Paridhi Phapunkar | ||
Documentation of executive summary | Uttam Bharadwaj | ||
Documentation of executive summary | Viswatej Boyanapally | ||
 Next Meeting: | 7th Oct, 6:00 PM to 8:00 PM |
Meeting 3:
Meeting Date | 7th Oct | ||
Meeting Time | 2:00 PM to 5:00PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion:Â Discussed about the scope, difficulties in implementation, creative ideas, outline | |||
Action Items | Person Responsible | Deadline | |
Documenting problem statement | Anisha Singhal | ||
Documenting problem statement | Dheeraj Manusanipalli | ||
Documenting problem statement | Paridhi Phapunkar | ||
Documenting problem statement | Uttam Bharadwaj | ||
Documenting problem statement | Viswatej Boyanapally | ||
 Next Meeting: | 16th Oct, 6:00 PM to 8:00 PM |
Meeting 4:
Meeting Date | 16th Oct | ||
Meeting Time | 6:00 PM to 7:00PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussion on BPMN and context diagrams | |||
Action Items | Person Responsible | Deadline | |
Design BPMN Diagram | Anisha Singhal | 20th Oct | |
Design BPMN Diagram | Dheeraj Manusanipalli | 20th Oct | |
Design BPMN Diagram | Paridhi Phapunkar | 20th Oct | |
Design context Diagram | Uttam Bharadwaj | 20th Oct | |
Design context Diagram | Viswatej Boyanapally | 20th Oct | |
 Next Meeting: | 20th Oct, 6:00 PM to 8:00 PM |
Meeting 5:
Meeting Date | 20th Oct | ||
Meeting Time | 3:00 PM to 8:00PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion:Â Discussion on use case diagram | |||
Action Items | Person Responsible | Deadline | |
Design use case Diagram | Anisha Singhal | ||
Design use case Diagram | Dheeraj Manusanipalli | ||
Design use case Diagram | Paridhi Phapunkar | ||
Design use case Diagram | Uttam Bharadwaj | ||
Design use case Diagram | Viswatej Boyanapally | ||
 Next Meeting: | 24th Oct, 6:00 PM to 8:00 PM |
Meeting 6:
Meeting Date | Â 24th Oct | ||
Meeting Time | Â 6:00 PM to 8:00 PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussion on use case description | |||
Action Items | Person Responsible | Deadline | |
 Documentation of use case description | Anisha Singhal |  1st Nov | |
 Documentation of use case description | Dheeraj Manusanipalli |  1st Nov | |
 Documentation of use case description | Paridhi Phapunkar |  1st Nov | |
 Documentation of use case description | Uttam Bharadwaj |  1st Nov | |
 Documentation of use case description | Viswatej Boyanapally |  1st Nov | |
 Next Meeting: | 1st Nov, 6:00 PM to 8PM |
Meeting 7:
Meeting Date | 1st Nov | ||
Meeting Time | Â 6:00 PM to 8:00 PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: To work on data dictionary and come up with ideas for class diagram by next meeting | |||
Action Items | Person Responsible | Deadline | |
 Documentation of data dictionary | Anisha Singhal | ||
 Documentation of data dictionary | Dheeraj Manusanipalli | ||
Documentation of data dictionary | Paridhi Phapunkar | ||
Documentation of data dictionary | Uttam Bharadwaj | ||
Documentation of data dictionary | Viswatej Boyanapally | ||
 Next Meeting: | 21st Nov, 12:00 PM to 3:00PM |
Meeting 8:
Meeting Date | Â 21th Nov | ||
Meeting Time | Â 5:00 PM to 8:00 PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: To work on class diagram | |||
Action Items | Person Responsible | Deadline | |
Design class diagram | Anisha Singhal | ||
Design class diagram | Dheeraj Manusanipalli | ||
Design class diagram | Paridhi Phapunkar | ||
Design class diagram | Uttam Bharadwaj | ||
Design class diagram | Viswatej Boyanapally | ||
 Next Meeting: | 24th Nov, 12:00 PM to 2:00 PM |
Meeting 9:
Meeting Date | Â 24th Nov | ||
Meeting Time | Â 2:00 PM to 3:00 PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussion on designing interface screens and documenting functional specifications  | |||
Action Items | Person Responsible | Deadline | |
Design interface screens | Anisha Singhal | 30th Nov | |
Design interface screens | Dheeraj Manusanipalli | 30th Nov | |
Design interface screens | Paridhi Phapunkar | 30th Nov | |
Document functional specifications | Uttam Bharadwaj | 30th Nov | |
Document functional specifications | Viswatej Boyanapally | 30th Nov | |
 Next Meeting: | 30th Nov, 6:00 PM to 8:00 PM |
Meeting 10:
Meeting Date | Â 30th Nov | ||
Meeting Time | Â 6:00 PM to 10:00 PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussion on drawing sequence diagram | |||
Action Items | Person Responsible | Deadline | |
Draw sequence diagram | Anisha Singhal | ||
Draw sequence diagram | Dheeraj Manusanipalli | ||
Draw sequence diagram | Paridhi Phapunkar | ||
Draw sequence diagram | Uttam Bharadwaj | ||
Draw sequence diagram | Viswatej Boyanapally | ||
 Next Meeting: | 1st Dec, 6:00 PM to 8:00 PM |
Meeting 11:
Meeting Date | Â 1st Dec | ||
Meeting Time | Â 2:00 to 3:00 | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussion on contracts | |||
Action Items | Person Responsible | Deadline | |
Documenting contracts | Anisha Singhal | 7th Dec | |
Documenting contracts | Dheeraj Manusanipalli | 7th Dec | |
Documenting contracts | Paridhi Phapunkar | 7th Dec | |
Documenting contracts | Uttam Bharadwaj | 7th Dec | |
Documenting contracts | Viswatej Boyanapally | 7th Dec | |
 Next Meeting: | 7th Dec, 6:00 PM to 8:00 PM |
Meeting 12:
Meeting Date | Â 7th Dec | ||
Meeting Time | 12:00 PM to 4PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussion on database design and building final report | |||
Action Items | Person Responsible | Deadline | |
Work on Database design | Anisha Singhal | ||
Work on Database design | Dheeraj Manusanipalli | ||
Work on Database design | Paridhi Phapunkar | ||
Document Final Report | Uttam Bharadwaj | ||
Document Final Report | Viswatej Boyanapally | ||
 Next Meeting: | 8th Nov, 6:00 PM to 8:00 PM |
Meeting 13:
Meeting Date | Â 8th Dec | ||
Meeting Time | 12:00 PM to 4PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussion on building final report and ppt | |||
Action Items | Person Responsible | Deadline | |
Prepare PPT and Final Report | Anisha Singhal | ||
Prepare PPT and Final Report | Dheeraj Manusanipalli | ||
Prepare PPT and Final Report | Paridhi Phapunkar | ||
Prepare PPT and Final Report | Uttam Bharadwaj | ||
Prepare PPT and Final Report | Viswatej Boyanapally | ||
 Next Meeting: | 9th Dec, 12:00 PM to 2:00 PM |
Meeting 14:
Meeting Date | Â 9th Dec | ||
Meeting Time | 12:00 PM to 2:00PM | ||
Attendees | Â Anisha Singhal , Dheeraj Manusanipalli , Paridhi Phapunkar , Uttam Bharadwaj , Viswatej Boyanapally | ||
Discussion: Discussion on presentation | |||
Action Items | Person Responsible | Deadline | |
Record presentation | Anisha Singhal | ||
Record presentation | Dheeraj Manusanipalli | ||
Record presentation | Paridhi Phapunkar | ||
Record presentation | Uttam Bharadwaj | ||
Record presentation | Viswatej Boyanapally | ||
 Next Meeting: |