Task 0: Define the Vision
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.
Task 1: Plan the Project
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.
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
Task 2: Define and understand the Requirements
1: Use case diagram from the list of use cases.
2: Create a simple class diagram from the list of classes.
Task 3: Define the user experience
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.
Task 4: Develop the Software Architecture Design
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.
Task 5: Develop the Detailed Design and Program the System
Task 6: Test and Deploy the 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.