Introduction to Geocaching
When Wayne Johansen turned 16, his dad bought him a new Garmin handheld GPS system. His family had always enjoyed camping and hiking, and Wayne was usually the one who monitored their hikes with his dad’s GPS system. He always liked to carry the GPS to monitor the routes, distances, and altitudes of their hikes. More recently, though, he had found a new hobby using his GPS system: geocaching.
Geocaching is a high-tech version of the treasure hunts that most of us did when we were kids. Participants search for geocaches or caches that are small, hidden, waterproof containers that typically contain a logbook and perhaps a small item. When found, the participant sometimes gets instructions for the next move—to either enter information into a logbook or to look for the next cache.
As Wayne became more involved with his hobby, he discovered that there are many different kinds of activities for geocaching enthusiasts. The simplest ones are those that involve caches found by using GPS co- ordinates, although even some of these tasks can be difficult if the caches are well hidden. Some of the activities involve multipoint drops where there is a set of clues in multiple locations that must be followed to arrive at the final cache point. Some activities involve puzzles that must be solved to determine the coordi-nates of the final cache.
Before long, Wayne wanted to make his own caches and post them for people to find. He discovered that there were several Web sites with access to geocaching information, caches, and memberships. He joined one of the geocaching Web sites and used it to log his finds. But he decided he would like to create his own system for tracking all the information he had about his caches. Conveniently, Wayne’s older brother Nick, a college student majoring in information systems, was looking for a semester project for one of his programming classes. The two of them decided to develop a system to help Wayne keep track of all his geocaching activities.
In this case, you will go through the various core processes of an SDLC and perform some of the activities of a development project. The project is divided into tasks and sub-tasks, as was our Tradeshow System project. The daily assignments for this case should be considered as preliminary efforts and rough drafts. The objective of these assignments is to help you remember the overall approach to software development. Several assignments have been listed for each task to allow your instructor to select those that best meet the objectives of the course.
Either by yourself or with another class member, brainstorm all the functions this geocaching system might do. Keep it at a very high level. These activities closely relate to Core Process 1: Identify problem and obtain approval. Write a rough draft of the System Vision Document based on your brain- storming ideas. [Hint: Think of what Wayne wants the system to do and why this helps him.]
Based on the scope and vision you described in the System Vision Document, divide the project into at least two separate subsystems that can be done in separate iterations. For example, perhaps a first version can run on a laptop, with a second version that includes mobile components for a smartphone. These activities are related to Core Process 2: Plan and monitor the project—what to do, how to do it, and who does it.
1: Divide the system into at least two separate components or subsystems, which can be supported with two iterations. Briefly describe each.
2: Create a work breakdown structure that lists all the steps to complete the first iteration. Put a time estimate on each step.
On task 2, you want to get an overall view of what the system needs to do for Wayne. There are two pri-mary areas to focus on to obtain this high-level understanding of the system: a list of use cases and a list of domain classes. You could document this information in lists, but diagrams provide a visual representation that is often easier to remember and understand. These activities support Core Process 3: Discover and understand details.
1: Create a simple use case diagram from the list of use cases.
2: Create a simple class diagram from the list of classes.
These activities are a continuation of what you began in task 2. The objective here is to further define what Wayne will need and how he will actually use the system. You will determine exactly how each use case works—what steps and options are available with the use case and even what the display and data- entry screens will look like. These activities primarily support Core Process 3: Discover and understand details.
1: Select a single use case and identify the steps required to perform the use case
2: Make a workflow diagram of the selected use case.
The high-level software architectural design of the system generally includes decisions about how the sys-tem will be built and what the database will look like. Design is a technical activity that requires experience in programming, database development, and software architecture. These activities support Core Process 4: Design system components.
1: Design a preliminary database schema for the classes in this iteration.
2: Decide whether you will build a desktop system or a browser-based system. Write a couple of paragraphs listing the pros and cons of each alternative to defend your decision.
You probably have had many class projects where you designed a system and then programmed it. These kinds of activities support Core Process 5: Build, test, and integrate system components. Write a paragraph describing what programming language(s) you would recommend and what development environment you prefer. For this answer, draw on your previous programming and development experiences.
You may have had opportunities to perform comprehensive testing of your programming class projects, especially if you have developed systems that integrated with other systems. These activities support Core Process 6: Complete system tests and deploy solution. Obviously, you can only do this if you have programmed the system.
1: Write a paragraph describing the difference between programmer testing and user testing.
2: Look at www.geocaching.com, which is a commercial Web site. What other issues need to be addressed to deploy this type of Web site?
Introduction to Geocaching
Geocaching is used for to determine the location and altitude and it communicates with the satellite for determining the location. The data is received from four different satellites and the accuracy is better calculated. There are some constraints that can affect the GPS signals such as bad weather, canyons, trees and high rise buildings. None of the GPS device shows the exact location, mostly the location is bound to 20 feet of the geocache area. The main vision of the system is to develop the new system such that it can communicate with the components used in the system and can record or track the trails of the aches and information about the searches. The electronic computer device is required to be implemented with the geocaching system and the new system should be able to store the collect and store the information about the logs of the geocaches. The geocaches should also be able to communicate and review the difficulty. The GPS device is also required to be permitted to access the geocaching location for increasing the functionality of the system.
The min scope of the project is to develop the system to record all the geocaching activity and analyze all the software development life cycle activity to develop the system according the requirement of the client “Wayne Johansen”. An analysis is done on the geocaching to understand the activities required to be implemented for the development of the application. The SDLC model is selected for planning the development process and the core process involved in the SDLC model are as follows:
- Identification of the problem associated with the development of the project
- Planning and monitoring the progress of the project
- Analysis of the problem and mitigation of the risk for starting the development process.
- Preparation of the design and the core components that is required to be involved for the development of the application.
- Development, integration of the module and testing the components
- Completion of the development process and the testing for deploying the solution.
The system is required to be created for running in desktop version and mobile application. The global positioning system is analyzed and the segments used for the constellation of the satellite, receiving the equipment and the controlling and monitoring the network is analyzed for the creation of the system. A programming team is required to be created for the placing an operational control and control the equipment’s. The system is designed to send and receive signals from the GPS receiver and track the speed of the user and the distance travelled by the user. The project is designed for two version, the first one is designed for desktop PC to track the system from web browser and the second one to connect the system with mobile device to increase the portability of the system.
The web based system is developed to connect with the key loggers that have a basic type of GPS tracking device and it is required to log the position of the GPS tracking device. The GPS loggers uses flash memory for recording the data and transmits it to the central database for updating the location and the speed. The web based system is required to handle two types of users that is the manager and the user (Shi et al. 2013). The user is required to login into the system with their registered user ID and password. Logging into the system the user is able to add track or delete track or view different records.
Creating Your Own Geocaching System
The mobile application is developed and comprised of the same features as provided by the web based system. The mobile application is required to run in android platform and with minimum android version of 4.0. The inbuilt gps system can be used for tracking the position and activity of the user.
2: Work breakdown structure
1: Use case diagram from the list of use cases.
2: Create a simple class diagram from the list of classes.
1: Select a single use case and identify the steps required to perform the use case
Add track use case:
Once the user registered into the system the user can login into the system and create a track and there are two possible ways to create the track such as;
- From the mobile app using the mobile phone
- From the web browser using the web client
The user needs to create the new track from the mobile application using the application and logging into the application.
The server is required to be ready for storing the log position and the date according to the coordinates.
The user using the web browser the user need to manually set the coordinates for tracking the position. The north and the east coordinates is required to be set manually and it is set as the start point and the tracking can be started.
2: Workflow diagram of the selected use case.
1: Design of preliminary database schema for the classes in this iteration.
2: Selection of the system to be developed
It is decided that we would focus on development of a browser based system because for the development of the software for a desktop based system the application is required to be installed on standalone PC whereas the development of a browser based system would help to access the system from any remote location with an active internet application. The browser based system takes less development time and it does not have the requirement to lock on the proprietary software and lock on the same platform for using the system (Fischer et al.2015). The browser based system is required also cannot be hacked but the desktop system can be hacked or torrented. Moreover the desktop based application development needs different hardware devices to run the system and increases the development cost.
JavaScript can be used for development of the browser based system and the dialect is equipped for accomplishing a few things including controlling the program, altering content on a report that has been shown, permitting customer side scripts to speak with clients and furthermore offbeat correspondence. It was produced by Netscape and obtains a considerable measure of its sentence structure from C dialect. JavaScript is utilized broadly and adequately in making desktop applications and additionally to develop amusements. Development of the web based system using JavaScript would help to run the system without installing any plugins into the system. The java script can be used for developing the system using object oriented style or by using functions.
For the development of the previous assignment we also used JavaScript and thus gained knowledge and is compatible to use it for the development of the program. It is a structured language and is dynamic and finds its best place in the development of the browser based system.
1: Write a paragraph describing the difference between programmer testing and user testing.
The programmer testing is done by the software development testing and the errors in the software codes are identified and resolved during the development stage. The programmer testing also identifies the correctness and the quality of the developed software product. Programming analyzer works with the new programming and help in repairing the mistakes happened in it while Software designers are the experts who build up the new programming items relying upon the customer prerequisites. Programming engineers' obligations likewise incorporate more extensive angles being developed of programming items. Programming improvement accompanies engineer, programming distributer, developer and framework advancement life cycle. Programming testing is finished by programming analyzers, director, test lead, test creator, analyzer, automated system engineer, and test head.
The user testing is done by a group of friendly user or the stakeholders involved with the development of the system. The main aim of the user testing is to analyze the usability of the prepared software and add some improvement by taking feedback from the user. The user testing mainly focuses on the interface used for operating the software application. The user testing is done on the prototype model created for the system and an analysis is done on the requirement and applied in the final stage of development of the project.
2: Issues need to be addressed to deploy this type of Web site
The issues that are required to be addressed for the development of the website similar to geocaching.com are as follows:
- Creation of the test plan and identification of the primary and the secondary features that are required to be developed for the deployment of the website.
- Following the test plan and develop the system according to the requirement
- Implementation of the unit testing and analyze the critical function and the complex logic for the development of the system
- Building a profile for targeting the system and use it during the testing of the system
- Manual coding of the program and implement it for the development of the module
- Performing penetration testing and test the system before the deployment of the system.
Bahir, E. and Peled, A., 2013. Identifying and tracking major events using geo-social networks. Social science computer review, 31(4), pp.458-470.
Barve, V., 2014. Discovering and developing primary biodiversity data from social networking sites: A novel approach. Ecological Informatics, 24, pp.194-199.
Fischer, E., Berkefeld, T., Feriencik, M., Feriencik, M., Kaltenbach, V., Soltau, D., Wandernoth, B., Czichy, R., Kunde, J., Saucke, K. and Heine, F., 2015, October. Development, integration and test of a transportable adaptive optical ground station. In Space Optical Systems and Applications (ICSOS), 2015 IEEE International Conference on (pp. 1-6). IEEE.
Joshi, N., Tripathy, A.K., Sawant, S., Patel, T., Waghmare, S. and Clusher, B., 2015, February. Near real time vehicle tracking using GIS. In Technologies for Sustainable Development (ICTSD), 2015 International Conference on (pp. 1-6). IEEE.
Shi, C., Zhao, Q., Hu, Z. and Liu, J., 2013. Precise relative positioning using real tracking data from COMPASS GEO and IGSO satellites. GPS solutions, 17(1), pp.103-119.
To export a reference to this article please select a referencing stye below:
My Assignment Help. (2021). Tracking Geocaching Outings: An Essay.. Retrieved from https://myassignmenthelp.com/free-samples/cis5302-professional-skills-for-business-analysis/track-geocaching-outings.html.
"Tracking Geocaching Outings: An Essay.." My Assignment Help, 2021, https://myassignmenthelp.com/free-samples/cis5302-professional-skills-for-business-analysis/track-geocaching-outings.html.
My Assignment Help (2021) Tracking Geocaching Outings: An Essay. [Online]. Available from: https://myassignmenthelp.com/free-samples/cis5302-professional-skills-for-business-analysis/track-geocaching-outings.html
[Accessed 12 November 2024].
My Assignment Help. 'Tracking Geocaching Outings: An Essay.' (My Assignment Help, 2021) <https://myassignmenthelp.com/free-samples/cis5302-professional-skills-for-business-analysis/track-geocaching-outings.html> accessed 12 November 2024.
My Assignment Help. Tracking Geocaching Outings: An Essay. [Internet]. My Assignment Help. 2021 [cited 12 November 2024]. Available from: https://myassignmenthelp.com/free-samples/cis5302-professional-skills-for-business-analysis/track-geocaching-outings.html.