Geocaching System Project: Desktop Application Design and Development

Verified

Added on  2019/09/23

|24
|4129
|409
Project
AI Summary
This project report outlines the design and development of a desktop-based geocaching system for tracking and managing geocaching activities. The project begins with a system vision document, detailing requirements and system capabilities. It progresses through project planning, including work breakdown structures and iteration plans. The report then delves into understanding requirements, including use case diagrams, class diagrams, and user experience design. The software architecture design covers database design, and the report explores the rationale behind choosing a desktop-based system. Detailed design elements, including workflow diagrams, are provided, and the project concludes with a discussion of testing and deployment considerations. The system aims to allow users to log, track, and share geocaching information and activities, including creating new logs, sharing interests, and updating information from remote locations. The report includes various figures such as use case diagrams, class diagrams, and database schema to illustrate the system's design.
Document Page
[School]
[Course title]
[Document title]
[Document subtitle]
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Table of Contents
Task 0: System Vision document 2
Description 2
Following would be the system capabilities 2
Task 1 Plan the Project 4
Assignment D1-1: Iteration 4
Iteration 2 4
Assignment D1-2: Work Breakdown Structure 4
Task 2: understand the requirements 6
Sub task 2.1: Create use case diagram 6
Sub task 2.2: Class Diagram 100 7
Task 3: Define user experience 8
Sub-Task 3.1: Single use-case and identify the steps to do the use case 8
Sub Task 3.2: Workflow of the selected use case 10
Task 4: Develop the Software Architecture Design 11
Sub Task 4.1: Preliminary database 11
Sub Task: 4.2: desktop or browser based system 12
Task 5: Develop detailed design 13
Task 6: Test and Deploy the system 14
1
Document Page
List of Figures
Figure 1: Use Case Diagram 7
Figure 2: Class Diagram 8
Figure 3: Use Case Description 10
Figure 4: Workflow Diagram 11
Figure 5: Preliminary Database 12
Figure 6: User Interface 15
2
Document Page
Task 0: System Vision document
Description
As per the case study the Wayne Johansen has become great fan of geocaching and want to keep
all the geocaching activities being tracked and well managed. As the Wayne is looking for
developing his own website rather than using any free or commercial websites that are available
around internet. As per the requirement the system that would be developed for various of
geocaching activities that would include several interesting geocaches and along with the various
trips the Wayne have ever made and other trips he would like to go to, along with the places the
Wayne have discovered using the new device. As Wayne is looking forward to create his own
logs and geocaches, he wants to develop a portal that would create the portal for his purpose,
track other places that have been shared with public along with the updating of various geocache
logs. (Al-alshuhai & Siewe, 2015)
The system that would be developed is an information storing system with information being
provided in form of longitudes and latitudes along with the needs to store the databased to
manage all the information and video logs as well of the places. For the current approach of
Wayne, he has decided to develop the system that would work on laptop or desktop and mobile
version can be launched later. (Alhumaidan & Zafar, 2014)
Following would be the system capabilities
The system that would be developed should be able to provide following functionalities or
features:
Keep logs of the geocaches which have not been found/located by the Wayne
Keep the logs of the geocaches that have been found or located by Wayne
Record the details of the geocaches along with the supplementary information needed for
the geocache activities.
Keep logs of the geocaches that have been created by Wayne in recent past and marked
them as new.
Keep log of the geocaches that have been posted by Wayne over other geocaching
websites.
3
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Provide detailed reports of the information from various sources by the Wayne geocaches
activities.
Benefits of the Application developed
Following are benefits that system should be able to provide Wayne:
Wayne should be able to track his all the geocaching based activities and able to custom
search the activities logs
Able to create new activity logs and new geocaches.
Able to share his interest regarding the geocaches with his friends.
Able to update his log from remote based location, like travelling on a geocache based
activity and able to update on the run.
4
Document Page
Task 1 Plan the Project
Assignment D1-1: Iteration 1
As per the feasibility analysis of the vision document, the laptop based solution to be developed
seems to be ideal for the current case. The system would be developing from first to be Laptop or
Desktop based application and then can be further enhanced to mobile based system support.
Currently the major focus being the Desktop based application that can run on laptops as well.
(Ibrahim, Ibrahim, Saringat, Mansor & Herawan, 2011)
Iteration 2
The second iteration would be to develop the mobile based system that can support the features
of the laptop based applications. The user would be then able to perform all the actions as it
would have done on a laptop. (Ibrahim, Ibrahim, Saringat, Mansor & Herawan, 2011)
Assignment D1-2: Work Breakdown Structure
I. We need to check all the details Wayne wants to log for the geocaches that have been
completed:
1. Identify the requirements based on the discussions that have been made in order to
learn more about the expected system by the Wayne,
2. Identify the requirements regarding the data that Wayne would like to keep on the
system.
3. Identify the system use cases and develop the case around the requirements of the
system.
4. Later when the use cases have been defined develop the workflows for them.
II. Develop the various components of the system
1. Develop the database schema
2. Based on the schema develop the ERD
3. Develop the prototype based screens
4. Develop the specification based on the software applications
5. Develop the overall program details.
III. Develop the System for the laptop based system
1. Based on the ERD develop the physical schema
5
Document Page
2. Develop the system software or web based system that satisfies all the major
requirements.
IV. Test the overall system
1. Test the system using the unit testing
2. Test the system using the integration testing
3. Test the system using the system testing
4. Provide the running prototype to Wayne for final user based testing
6
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Task 2: understand the requirements
Sub task 2.1: Create use case diagram
Figure 1: Use Case Diagram
A use case diagram is the simple representation of the interactions of different elements among
themselves. The use case developed for the current case study are:
1. Login: this use case would enable the user to log in in the system
2. User Creation: this use case would allow the user to register for the current system
3. Update User Details: this use case would allow user or admin to allow the update of his
details.
7
Document Page
4. Content Management: the content management use case would allow the user to manage
the content that have been uploaded.
5. Data Creation: data regarding the video, geocache locations are being update and
uploaded on the system
6. Enter Geocaching Interest: user would be able to include their interest and interested
areas of the system.
7. Video Upload: the video upload will work along with the content management and data
creation and would allow users to upload videos on the system
8. Search and Print: reports and different locations would be given to user as per the
searched query on a particular geographical location.
8
Document Page
Sub task 2.2: Class Diagram 100
Figure 2: Class Diagram
The class diagram is the UML diagram that represents the structure of the classes of the system,
their different attributes and operators and their relationships among the different classes. The
class diagram is the main building block of the OOP modelling. It is efficient in developing the
conceptual modelling of the application and helps in developing the source code for the final
prototype and release application. Following are the classes for the application that have been
developed:
1. GeocachingExp
2. GeocachingInfo
9
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Task 3: Define user experience
Sub-Task 3.1: Single use-case and identify the steps to do the use case
Use Case ID: 3
Use Case Name: Enter Geocaching Information
Created By: Wayne Last Updated By: Wayne
Date Created: 05/31/2017 Last Revision Date:
Actors: User
Description: The system use case would allow the use to enter the Geocaching
information about the activity
Trigger: The trigger would be the data creation use-case that would trigger the
data entry for the geocaching based location
Preconditions: The pre-conditions are that system should be running and data creation
use-case have been activated.
Postconditions: The geolocation has been updated or created based on the user data
creation
Normal Flow: The normal flow of the use case is as follows:
I. User like to create a new geolocation based activity
II. User creates the new geolocation with the help of Data
Creation use case
III. Data creation trigger the geolocation updating form
IV. Form is filled with correct/acceptable values leading to
successful data creation
Alternative Flows: NA
Exceptions: Unacceptable values insertion:
10
Document Page
1. incorrect data updated
2. incorrect location longitude and latitude updated
Includes: Video Upload Use case is included in this use case
Frequency of Use: The frequency is quite high as the use case will define the overall
content of the website.
Special Requirements: Desktop based system
Assumptions: User can add/update records on the system
Notes and Issues: NA
Figure 3: Use Case Description
11
Document Page
Sub Task 3.2: Workflow of the selected use case
Figure 4: Workflow Diagram
The workflow diagram depicts the flow of the system in the use case. This case we are
explaining the creation of the geocaches. New geocaches is selected from the menu, the
information is being filled and location of the geolocation have been marked along with
longitude and latitude. Finally update with the comments and select save to save the new
geocache based location information.
12
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Task 4: Develop the Software Architecture Design
Sub Task 4.1: Preliminary database
Table: GeocchingExp Table: GeocacheInfo
cacheID integer (PK)
name: String
UserName: String
Longi: String
Latit: String
DateP: Date
Category: String
Sate: String
Country: String
Description: String
Difficulty: String
Comment: String
VDate: Date
Vcomment: String
InfoID: Integer (PK)
PicID: Integer
VideoID: Integer
Type: String
Descritpion: String
Path: String
Figure 5: Preliminary Database
13
Document Page
Sub Task: 4.2: desktop or browser based system
Desktop reasons:
The desktop based applications are the ones that are being available at all the times and provide
much faster and rich user based experience to the end user. (Jung & Kim, 2011)
Pros:
1. It does not require an internet connection all the time to operate
2. All the data is kept at the single location in single database that is always available for the application
3. It does not require any server in order to host the application.
4. The end use has the complete control over the data and communications.
5. The end user can make backups as and when required hence data is secure
6. Easy to automate many processes like data updation and backup.
7. It is quite easy to build as compared to the web based system
8. The desktop based applications ae much more secured than web based systems due to various security
risks that the web based application possesses.
9. The desktop based applications are generally single time purchase with updates being given free of
charge for the lifecycle of the software, (Konrad, Campbell & Cheng, n.d.)
Cons:
1. It cannot be access at multiple locations
2. The data sharing is quite difficult
3. Do not provide the universal access at all the location due to data limitations
4. The system is system software dependent like Linux based application won’t run over the
windows based systems and vice-versa. (Milicev, 2002)
Web based application reasons:
Pros:
Maintenance – the web based applications are easier to manage and maintain as these
require to be deploy only once, the rest of the incremental changes can be done easily.
The system reflections are being displayed throughout the systems, as the website is
browsed from browser hence no need to install on the individual machines.
14
Document Page
Ease of Use: the web based application can be accessed from anywhere where there is a
connectivity of internet. The desktop based application has the limiting geographic
limitations.
Connectivity: The Web based application are connected to internet hence the internet
connectivity provides the speed at which the data will be accessed and operated. Poor
connectivity may cause some issues but due to advancement in technology the
applications are quite well build to handle such scenarios
Cons:
1. Only available when there is an internet connectivity with the applications
2. Slower than desktop based application due to the fact of round trip time from server to
back to the system
3. Loss of data in case the service provider decides to close the server services
4. Security issues due to the fact the data theft is very common these days.
5. Various browsers limit the overall display of the information so custom definitions are
needed for the various browsers.
6. The servers need to up and running all the time with required internet connectivity
7. Formatting or developing reports are much more complex than desktop based
applications.
15
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
Task 5: Develop detailed design
Based over the various requirements the programming language selected would be PHP. It id an
interpreter based language that works without additional compiling. The application language eis
system independent hence can be used by any system application use. (Sengupta &
Bhattacharya, 2006)
Enter New Geocache
Posting Person:
Date Posted:
Category:
Type:
Waypoint Code:Name:
GPS Coordinates:
City:
State:
Country:
Difficulty:
Terrain:
Comment:
Figure 6: User Interface
The user interface prototype is displayed in the figure 6. This is the GUI for the form that would
be used for the new-user creation. The GUI provides different fields for the user values that are
needed to be uploaded. This form can also be used for the user fields updation as well so we
would not need any new form and use the same for another purpose defining the reusability
prospective of the development approach.
16
Document Page
Task 6: Test and Deploy the system
Sub task: 6.1: difference between programmer testing vs user testing
Programmer testing:
The programmer based testing is the testing in which the programmer himself test the code for
proper functioning of the code. As the developer has the mindset of “how to make this code
work” is biased towards his own code and refrain himself from inputting the values that would
disrupt the program working in any manner. Moreover, there are chances that programmer must
have misunderstood some of the requirements that could be found in the beta or user based
testing.
As the developers are not good enough to break their own code due to the mindset they have
developed in their coding ability. The mindset follows the correct path always and try to find the
easy way out to pass the checks. Many of the bugs have been found by the end users that
developers usually not able to find it as the developers are not normal users but being
professional users. (Singh, Sharma & Saxena, 2016)
This is why it is recommended to have a good testing team in place to double check the coding
of the developer before handling out the code to the client or end users. This helps in finding the
bugs and when user testing is done we are able to find the bugs that can be traced down to find
the maximum number of bugs as normal user would use the software as seems fit not by the code
or manual provided. As the testing user have no clue how the code has been done but have clear
concept of how the code should work leading to a best outcome. As the end user is aware of the
entire program and developer might have worked on small segment of the code. The integration
testing could find and trace the bugs but the user based testing is the most important aspect these
days. This means the programmer code might work individually but not compatible with other
pieces of codes.
Testing could be biased
Programmer may be limit to the data input
Limited coverage of the code while testing
Verification of data is rarely being done
No combinations can be tested for various other combinations.
17
Document Page
18
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
User testing:
The software development has many testing methods one of them is the User testing or User
acceptance testing in which only external users or users have not been involved in any part of
actual development of the code. This is the phase of software development is the testing of the
code known as the real-world testing and tested with the real intended audience. It can be done
by many individual or singe individual depending upon the application under development.
Generally, this type of testing is done by volunteers who download the code and test it on their
own machines. The experience of these early testers gives insight to the programmer and
development team what all bugs are being found and what can be done to make it fit for final
commercial purposes releases.
All the business functionality should be validated with the all due reasons that includes the
limited time frame that is needed to be completed in all-purpose practical nature. Hence the
meeting with clients and volunteers is also recommended to be held regularly in order to
minimize the bugs in the software. It is much more efficient testing than the programmer based
testing due to obvious reasons that have been discussed above. This helps in finding out the
important aspects that should be thoroughly tested so that which aspects being given more
importance to. (Xiaoshan Li, n.d.)
The end user or users are the ones who going to use the program after it is being releases for the
public. Another way of saying that is that these are the potential customers of the software
developed.
Complex in nature
May induce mistakes in testing
Required much skilled labour
Can test the system based on set procedures.
19
Document Page
Sub Task: 6.2: issues needed to be addressed before deploying the applications
The desktop based applications are generally being limited by number of hardware based
limitation on which they are being actually run. These are needed to be installed on the system
first in order to be used, these require strict hardware and software based limitations that should
be met in order to have the code working on the machine. The updates regarding the same for the
installations is required to be installed on each and every system of the machine that is running
the applications. This dependence on the hardware and machines has led to many legacies based
applications to limited functionality and have given rise to the complexity of the applications that
are being developed by the applications now a day. (Xiaoshan Li, n.d.)
On the other hand, web-based application is being deployed only once and can be accessed on
the different machines with the help of browsers. These application works over the client server
based architecture where the application is hosted at the server and client makes requests to
access the applications with the help of the resources that are available over the internet that also
include the system processing power and storage capabilities. This helps in having the thin
clients that client which have limited hardware capabilities to have access to the complex
applications as the major tasks is put at the end of the server and thin clients just receives enough
data that can be easily handled by them. As the browsers and web pages provide the interfaces
that are quite interactive and media rich users can easily communicate the requirements and can
get the processing done by the server and receive the result in such a manner that is easily being
understandable by the system. Some of these features have been introduced in the desktop based
applications but it still being limited to the machine only and require additional coding to be
done in order to make the application work correctly using the desktop based applications.
(Sengupta & Bhattacharya, 2006)
As these development features have their own pros and cons, the requirements specify what is
suited to the end user the most. These requirements are the main objectives that decide what
should be developed and what features the application would be able to produce. Example the
google docs Excel sheet and desktop based MS office excel sheet provides all the basic features
of the worksheets like calculations etc, but online application might have some limitations like
advance features and complex calculations that might led to server hang and not able to
communicate with other clients leading to server failure. Due to this some of the basic
20
Document Page
calculations and processing of data is done at the client end itself that means the client would
then be able to rectify the input given to the server like using the JavaScript to test the user input
and only forward if all the requirement based on the page have been fulfilled by the user at the
client end.
Desktop:
Operating System issues
Set up database
Startup script to start database engine
How to backup/restore data
Paths and libraries for image storage
Compiled/linked (e.g. binary) version versus interpreted language
Browser:
Same issues as desktop, except must be decided for server.
Where/how to deploy server (home based or hosted)
Domain name and address, possibly require virtual server
Login functions
Security issues for hacking and posting inappropriate data
21
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
References
Al-alshuhai, A., & Siewe, F. (2015). An extension of the use case diagram to model context-
aware applications. 2015 SAI Intelligent Systems Conference (Intellisys).
http://dx.doi.org/10.1109/intellisys.2015.7361247
Alhumaidan, F., & Zafar, N. (2014). Possible Improvements in UML Behavior Diagrams. 2014
International Conference On Computational Science And Computational Intelligence.
http://dx.doi.org/10.1109/csci.2014.113
Ibrahim, N., Ibrahim, R., Saringat, M., Mansor, D., & Herawan, T. (2010). On Well-Formedness
Rules for UML Use Case Diagram. Web Information Systems And Mining, 432-439.
http://dx.doi.org/10.1007/978-3-642-16515-3_54
Ibrahim, N., Ibrahim, R., Saringat, M., Mansor, D., & Herawan, T. (2011). Definition of
Consistency Rules between UML Use Case and Activity Diagram. Communications In
Computer And Information Science, 498-508. http://dx.doi.org/10.1007/978-3-642-20998-7_58
Jung, R., & Kim, J. (2011). Relation between UML Models. 2011 International Conference On
Ubiquitous Computing And Multimedia Applications. http://dx.doi.org/10.1109/ucma.2011.30
Köhler, H., Nickel, U., Niere, J., & Zündorf, A. (2000). Integrating UML diagrams for
production control systems. Proceedings Of The 22Nd International Conference On Software
Engineering - ICSE '00. http://dx.doi.org/10.1145/337180.337207
Konrad, S., Campbell, L., & Cheng, B. Automated analysis of timing information in UML
diagrams. Proceedings. 19Th International Conference On Automated Software Engineering,
2004.. http://dx.doi.org/10.1109/ase.2004.1342762
Milicev, D. (2002). Domain mapping using extended UML object diagrams. IEEE
Software, 19(2), 90-97. http://dx.doi.org/10.1109/52.991369
Sengupta, S., & Bhattacharya, S. (2006). Formalization of UML use case diagram-a Z notation
based approach. 2006 International Conference On Computing & Informatics.
http://dx.doi.org/10.1109/icoci.2006.5276507
Singh, M., Sharma, A., & Saxena, R. (2016). Formal Transformation of UML Diagram: Use
Case, Class, Sequence Diagram with Z Notation for Representing the Static and Dynamic
Perspectives of System. Advances In Intelligent Systems And Computing, 25-38.
http://dx.doi.org/10.1007/978-981-10-0135-2_3
Xiaoshan Li. A characterization of UML diagrams and their consistency. 11Th IEEE
International Conference On Engineering Of Complex Computer Systems (ICECCS'06).
http://dx.doi.org/10.1109/iceccs.2006.1690356
22
Document Page
23
chevron_up_icon
1 out of 24
circle_padding
hide_on_mobile
zoom_out_icon
logo.png

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]