Introduction to Geocaching
Geocaching is stated as the outdoor recreational activity that helps participants to use a Global Positioning System through mobile device and other navigational tools so that they could easily hide and seek containers i.e. geocaches or caches. Business analyst plays a crucial role within firm's productivity, efficiency and profitability so that desired objectives could be attained (Robinson and Hardcastle, 2016). However, it is essential for individual to develop skill sets range from communication and interpersonal skills in regard to carry out problem solving and critical thinking. Professionals are required to develop effective skills in regard to choose appropriate career so that specific results could be attained. Present report is based upon undertaking different professional skills in order to improve the capabilities and competency of individual.
Here, the case provided is in relation to improve the overall approach to software development so that geocaching outings could be traced. Wayne Johansen received a new Garmin Handheld GPS system gifted by his dad due to his interest in geocaching activities. Geocaching is a high tech version of treasure hunts (Kocurek, 2013). In respect to this, Wayne wants to develop his own cache and post them for people to find and thus for that uses different websites to obtain geocaching information. Later, Wayne joined his brother Nick and plans to develop a system that could keep track of all his geocaching activities.
If your dream is to get top grades, get a rewarding assignment service from us.Brilliant Assignment Services
Toll Free: +61 879 057 firstname.lastname@example.org
Task 0 Define The Vision
Here, it has been evaluated that Wayne Johansen has become a fan of geocaching and would like to keep track of all of his geocaching activities. It has been identified that rather using one of the free website of geocaching, Wayne like to have his own geocaching system on his own computer. However, the system aims to support different geocaching types of activities, involving listing interesting geocaches and trips that Wayne wants to do (Falcão, Damásio and Melo, 2015). Additionally, Wayne also like to create his own geocaches and also be able to create and describe his own geocache and track those that he has posted for the use of public. The prepared system obtains all the essential information tracking system. It helps in developing own database so that they could keep track of all the information regarding his activities and geocaches. However, for the first version, Wayne did not know more about computers and thus he decided to build a system in regard to run the same upon laptop (Kramer and Kowatsch, 2017).
Capabilities of system
Following are the activities that should be done by the new system-
- To keep track of all the interesting geocaching location which have not been located yet.
- Also, keeping track of geocaches which have already been located (Cord, Roeßiger and Schwarz, 2015).
- To help in recording all the information about geocaching location.
- To keep record of all the new geocaching which are developed by Wayne.
- To keep track of posted geocaching location which have been posted by Wayne on the geocaching websites.
- Provide information in the form of reports regarding Wayne geocache activities (Telaar, Krüger and Schöning, 2014).
Benefits of application
Following are the different application benefits that should be provided to Wayne such as-
- It would enable Wayne to easily track all of his geocaching trips and find geocaching location
- Further, enabling Wayne to easily create and post new geocaches
- It helps Wayne to share his geocaching experience with other friends
- Further, Wayne focuses upon updating the geocaching information while travelling with the help of laptop (Clough, 2015).
Geocaching system is carried out as an outdoor activity that helps participants to use GPS system in order to receive a signal and other navigational techniques so that they could easily hide and seek containers called caches that are being marked at particular locations through identifying the coordinates (Flynn and Popp, 2016). However, geocaching carries out different functions such as identifying the caches hidden around 161-meter circle, helps participants in navigating towards specific coordinates, every user will get their own log text and images to earn more points, develops graphical computations when solving caches. The vision of of carrying out geocaching system in to develop two different subsystems and plans to run one upon computers in the form of developing online programming so that individuals could carry out geocaching activity through computers while other on smartphones in the form of physical availability of person and using their smartphones through downloading particular application and then carrying out geocaching activity physically (Slone, 2016). Thus, first programming version could easily run upon a laptop and search for different caches through making team and playing from their home itself. While, the second version would be made that involves mobile components for a smartphone and thus prepare application that could be downloaded to carry out geocaching activity live.
Thus, planning the main vision of this project through identifying the scope within the System Vision Document that helps in dividing the project into at least two separate subsystems which could be done in different iterations. Thus, developing the first version that could be run upon laptop within which individual could run the geocaching program and thus play it from their home itself (Battista and et. al., 2016). It will provide opportunity to get connected with different friends and make a group and carry out geocaching play through sitting at different locations. While, another version that could be made in the form of application and thus it could be installed on smartphones and helps individual to play it physically. Thus, here smartphones will be used as geocaching device and it would be used for searching caches (Sherman-Morris and et. al., 2017).
Task 1 Plan The Project
Divide the system into at least two separate components or subsystems
Iteration is stated as the action of a process of iterating or repeating a procedure in which repetition of series of operations that yields results in a successful manner to attain desired results. Here, in order to complete the project, Wayne and his brother Nick requires at least two separate components or subsystems i.e. laptop and smartphone. Thus, through evaluating the system vision document it could be assessed that Wayne requires understanding the concept of his project and for that adopting both these subsystems helps in accomplishing the system so that the set vision could be completed (Garney and et. al., 2016). The aim of developing the project of geocaching system so that caches could be developed by Wayne himself. Later, with the help of laptop it is easy for Wayne to access to different websites and thus gain information about the functioning of particular system so that project could be completed efficiently. Also, planning for completing the project needs to be identified such as initiation, planning, analysis, design, implementation and deployment (Mendesa, Rodriguesa and Rodriguesa, 2013). All these activities are considered as a process that helps in designing the project. It could be assessed that the selected system would be divided in the form of functionality. The first iteration helps in capturing the information regarding geocaches that has been completed by Wayne. While, the second iteration will lead to allow Wayne in regard to create and post his own geocaching information for other friends (Green and et. al., 2016).
Here, selecting the two subsystems in which the first version helps in maintaining the history of past geocache hunts while the second version helps in allowing Wayne to record geocaches that is being created by him.
- However, for the first version it could be created upon a simple database system and the second version could improve it by linking to photo albums or different blog posts. Subsystems are considered as the group of interconnected and interactive parts that helps in performing a crucial task that is involved within large component (Santos, Mendes and Vasco, 2016). Here, the first version is made that would be run on laptop it means that through developing appropriate programming, people who are interested in playing geocaching outing they could play it while sitting at their home. It would be similar as physical experience as they will be searching for cache from their laptop as GPS device (DOnADELLI, 2014).
- While, second version will be made for smartphone in the form of mobile application so that whenever individual is interested in playing geocaching they would log in within the application. Thus, they will use their smartphone as geocaching device that will be connected with other mobile system as a tracker so that they could play the game live and search for caches (Ihamäki, 2015).
Create a work breakdown structure that lists all the steps to complete the first iteration
Here, the first iteration is to develop programming for geocaching activity that could be run upon laptop. Hence, it is beneficial for users in the form that geocachers could play this activity while sitting at home and thus play with other geocachers. Therefore, proper planning needs to be done in relation to develop proper work breakdown structure and list all the steps to complete the first iteration of programming the geocaching activity that could run on laptop (Bengs and et. al., 2015). There are different steps which are being involved in order to support and complete the iterations.
|Discover and analyse||It assesses that Wayne's needs are required to be recorded to complete geocaches (Gillin and Gillin. 2010).||6 months|
|Designing components of solution||Here, Wayne and his brother Nick decides to design database tables so that input and output designing could be done.||9 months|
|Program the system||It is essential to create the database and computer programming (Passarella. 2014).||7 months|
|Testing and using it||It is the last step in which testing the data has been done so that it could be used by Wayne (Rodman, 2011).||12 months|
Following is the work breakdown structure and listing all the steps in regard to complete first iteration of working on laptop. It is as follows-
- Discovering and analysing which means that Wayne's needs should be recorded so that geocaches could be completed.
- Wayne and his brother Nick come together to view geocaching websites and identify the desire of Wayne (Tahernia. 2013).
- Assessing the information that Wayne wants to keep.
- Also, evaluating the use of cases to capture and store that information.
- Developing workflows for identifying the use cases.
- Designing components of solution
- Designing the database tables
- Designing the input and output screens to watch geocaching activities
- Designing the configuration for the laptop software application
- Designing the program details (Hoevener and Weeks. 2010).
- Programming the system
- Creating the database
- Writing the computer program which involves both user interface and database updating.
- Testing and using it
- Testing it with good and bad data in regard to check validation
- Wayne requires testing it with some of his real data
- Turning it over so that it could be used by Wayne (Robinson and Hardcastle, 2016).
Task 2 Define and Understand the Requirements
Create a simple use case diagram from the list of cases
Case diagrams are stated as the behaviour diagram that is being used in regard to describe the set of actions that helps in developing some system so that they could perform in collaboration with one or more external users of system. However, use of case diagram helps in representing the users' interaction with the system so that it helps in showcasing the relationship between user and thus use different cases so that results could be attained (Kocurek, 2013). Here, Wayne needs to identify the geocaching solutions so that it helps them to carry out the process in an effective way. Thus, Wayne identifies the different case and assess that it helps users to enter geocache experience, enter individuals who have geocache interest, print the list of geocache so that it could help in attracting geocachers. Further, Wayne also helps in printing geocache experience reports so that others could have a look over it. Thus, it would result in identifying different cases so that Wayne could identify different geocache components and prepare cases so that desired results could be attained (Falcão, Damásio and Melo, 2015). There is different list of cases involved in geocache system that has been described underneath-
- Through preparing system, it helps Wayne to enter his own geocache experience so that it could be useful for others.
- Different people who are interested in geocache could enter the information they have so that it could help other individuals.
- It also provides opportunity to print geocache list that involves the different coordinates where clues are hidden etc (Kramer and Kowatsch, 2017).
- Also, Wayne could print his own geocache experience report so that it could be viewed by others.
Create a simple class diagram from the list of classes
Class diagram is termed as a specific type of static structure diagram that helps in describing the structure of system through showcasing the system's classes, attributes and operations in regard to form effective relationship within objects. Within the class diagram it involves different geocache experience that involves important details such as name, person posting, GPS coordinates, description, interest comments, visit status, visit date, difficulty etc. so that it could help in providing their detailed information within such website before playing the geocaching outing (Telaar, Krüger and Schöning, 2014). Thus, preparing a simple class diagram that helps in involving different list of classes within which geocaching event was divided. It would help in determining the static relations between them so that retailed modelling could be done in the form of splitting into different number of subclasses. Here, geocaches experience has been related to geocache picture information that involves geocache code, picture type, description, picture ID and picture path. All these elements are considered as effective part and thus helps in improving the geocache experience of individuals so that it could be entered in detail (Clough, 2015).
Task 3 Define The User Experience
Select a single use case and identify the steps required to perform the use case
Here, the selected single use case is entering geocache of interest info and thus it would help individual to enter their own experience in the form of entered geocache of interest info (Slone, 2016). Thus, it involves different steps involved for the use case is as follows-
- Entering basic geocache information from source information
- Reviewing the available information
- Enter reason for interest in comments
Thus, the selected case helps geocache to enter detailed information so that interest could be identified that helps in recording the case and identifying the steps which is useful for performing the use case. It helps in accomplishing the activities and thus helps in identifying different options that are available with the case and display the same so that results could be attained (Battista and et. al., 2016). Also, it would be entered upon the laptop and the data entry screens would look like other internet games screens look like. Thus, it helps in attracting individuals towards the geocaching website and register themselves so that they could use and enter their experience of playing the same. Below presented is the screen that would help individuals for entering information related to geocache (Sherman-Morris and et. al., 2017).
Make a workflow diagram of the selected use case
Workflow diagram is considered as the simple form of flowchart that depicts the flow of tasks or actions from one individual to another. Thus, it helps in carrying out typical actions so that it represents different actions or individuals that are connected with the help of arrows that indicates the flow of direction (Mendesa, Rodriguesa and Rodriguesa, 2013). It is essential for geocachers to enter their own experience in the form of entered geocache of interest info and thus prepare a workflow diagram so that it could b easy to understand the direction where it will go. Thus preparing workflow diagram for the selected case helps in improving the efficiency so that it could help users to develop interest and thus enter their own experience so that it could prove to be useful for other friends who are interested in carrying out geocaching activity (Green and et. al., 2016). Workflow diagram showcases the flow of information from step by step and thus review the information in relation to enter the reason for interest in comments and thus following proper step by step results in completing the diagram and thus results in attaining desired results.
Task 4 Develop The Software Architecture Design
Design a preliminary database schema for the classes in this iteration
Preliminary database schema is considered as the step that involves the design in regard to concern with the way data is physically stored. Also, it is concerned as the physical view that helps in recording the structure that shows the logical model that needs to be implemented. Therefore, it is essential for them to adopt effective preliminary database schema for all the classes that have been involved within the classes in the iteration (DOnADELLI, 2014). There are different classes involved such as name, category, description, state, city, visitdate, visitstatus, difficulty etc. All these classes of geocaching would involve and thus with the help of preliminary database schema has been provided for all the classes related to geocaching. It is essential to create a preliminary database schema and thus helps in providing tables.sql programming language so that it helps in adding any data to them. Therefore, it is being stated as the way through which geocaching application could be developed (Bengs and et. al., 2015).
Decide whether you will build a desktop system or browser based system
It could be assessed that from desktop or browser based system, individual would selected browser based system as it proves to be useful for individual to access from different locations. As compared to desktop system, browser based system is more useful because it is essential for users to carry out the selected iterations i.e. adopting the first version of laptops for carrying out the geocaching activity (Gillin and Gillin. 2010). It is the best way through which desktop system would not be much effective while browser based system would prove to be useful in terms of adopting effective responses. Thus, for geocaching activity browser based system has been selected because it benefits individuals to get connected from multiple location and also easy to share each other data and information as it is required to share cache (Rodman. 2011). Following are the pros and cons of desktop and browser based system-
- Main advantage of desktop solution is that it is a single machine with easy deployment
- It also has single database location
- It is easy to build
- It is a secure system of working
- Also, it is easier to build automated interface to download the data upon computer
- Limitation is that it always requires internet access
- Browser restricts to displaying the information
- Server is required
- Security of data is the main issue
- formatting the reports is the main problem with browser
Task 5 Develop The Detailed Design and Program the System
There is different type of languages that with the help of which the system that is currently working on can be completed in effective manner. With this respect, it refers to high level languages that each them have unique set of key words. Some of the programming language that can be used are SQL, Java, C++ and C# (Tahernia. 2013). Below given are the explanation for these programming languages:
SQL: This is a type of language that enables to communicate with database. This is an standard language that is used for relational database management system. More specifically, it enables to perform tasks like retrieving data, updating data on a data base, etc. further, there are different type of relational management system which are Sybase, Ingres, Access, Oracle, etc (Hoevener and Weeks.2010).
JAVA: This is a high level programming language that was developed by Sun Micro systems. It is helpful enough to develop content for websites. Further, this can be determined to be the most used programming language around the globe. Further, with time there are many changes that are identified and these are done in order to protect the interest of users (Robinson and Hardcastle, 2016).
C++: It is a type of general purpose programming language. In order to make use of this language, there are very easy steps that are included in it. In includes generic programming features, object oriented and imperative. One of the key strength of this language is that it is resources constrained application and software infrastructure (Kocurek, 2013).
C#: This is a type of multi paradigm language. With this respect, it includes functional, declarative, strong typing, object oriented, etc. This programming language was developed for common language infrastructure (Falcão, Damásio and Melo, 2015).
Among all these programming language, for the current system, JAVA should be made used. This is a type of language that is used commonly around the world. Further, it enables to understand the system and develop an effective programming that will enable to complete the system effectively and efficiently. In JAVA, the user can implement of Eclipse, this is a type of software and is an integrated development environment that is used in computer programming. Software can be developed on the eclipse platform which is widely used in development process of software (Kramer and Kowatsch, 2017). Its basic use in developing Java applications. It can also be used to develpe applications of programming language other than Java such as Ada, C, fortran, Lua , PHP and many more.
Task 6 Test and Deploy the System
Describing the difference between programmer testing and user testing
- It tends to test only good data
- It also tends to test with artificial data
- It tends to carry out limited testing
- It could not verify answers that are correct
- It tends to test for crashing versus correctness
- It could not always test various combinations
- It tends to use in complex ways
- Also, it tends to use more complex data
- Further, it tends to make mistakes
- Could be tested based upon work procedures
Other issues need to be addressed to deploy this type of website
There are different issues that need to be addressed in regard to deploy to such type of website-
- Issues related to operating system
- Setting up database
- Developing script to starting database engine
- Restoring data
- Developing paths and libraries for storing image
- It identifies same issues related to desktop
- It helps in deploying the server
- Identifying the login function
- Security issues
Multiple user site-deployment issue
- It identifies the same issues as browser based
- Developing multiple browsers
- Growth and scalability
It can be concluded from the study that geocaching outing is considered as a recreational activity that helps participants to get involved within the activity so that effective experience could be obtained. Further, using class and case diagram helps in representing different geocaching experience that needs to be entered within the geocaching experience. Here, two different subsystems are being developed. The prepared system obtains all the essential information tracking system. It helps in developing own database so that they could keep track of all the information regarding his activities and geocaches. However, for the first version, Wayne did not know more about computers and thus he decided to build a system in regard to run the same upon laptop.
- Battista, R.A. and et. al., 2016. Is This Exercise? No, It's Geocaching! Exploring Factors Related to Aspects of Geocaching Participation. Journal of Park & Recreation Administration. 34(2).
- Bengs, A. and et. al., 2015. Designing for Suburban Social Inclusion: A Case of Geo-Located Storytelling. IxD&A. 25. pp.85-99.
- Clough, G., 2015. MOBILE INFORMAL LEARNING THROUGH GEOCACHING. Mobile Learning: The Next Generation. pp.43.
- Cord, A.F., Roeßiger, F. and Schwarz, N., 2015. Geocaching data as an indicator for recreational ecosystem services in urban areas: Exploring spatial gradients, preferences and motivations. Landscape and Urban Planning. 144. pp.151-162.
- DOnADELLI, G., 2014. Outdoor learning and geocaching. Primary geography. pp.22.
- Falcão, A.L., Damásio, A.S. and Melo, R., 2015. MOTIVATIONS FOR PARTICIPATING IN GEOCACHING ACTIVITIES IN PORTUGAL. Sport Tourism: New Challenges in a Globalized World. pp.176.
- Flynn, K.C. and Popp, J., 2016. An Experiential-Based Learning Method Aiming to Improve Spatial Awareness Utilizing GPS, Geocaching, and Geo-Selfies. The Geography Teacher. 13(2). pp.61-71.
- Garney, W.R. and et. al., 2016. A Qualitative Examination of Exergame Motivations in Geocaching.Games for health journal. 5(1). pp.34-39.