CIS5302 Professional Skills for Business Analysis Assignment 3
Assignment 3
Keeping Track of Your Geocaching Outings
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 coordinates 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.
Task 0: Define the Vision
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.]
Task 1: Plan the Project
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 runCIS5302 Professional Skills for Business Analysis Assignment 3
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.
Sub-Task 1.1: Divide the system into at least two separate components or subsystems, which can be
supported with two iterations. Briefly describe each.
Sub-task 1-2: Create a work breakdown structure that lists all the steps to complete the first iteration. Put a
time estimate on each step.
Task 2: Define and understand the Requirements
On task 2, you want to get an overall view of what the system needs to do for Wayne. There are two primary 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.
Sub-task 2-1: Create a simple use case diagram from the list of use cases.
Sub-task 2-2: Create a simple class diagram from the list of classes.
Task 3: Define the user experience
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.
Sub-task 3-1: Select a single use case and identify the steps required to perform the use case
Sub-task 3-2: Make a workflow diagram of the selected use case.
Task 4: Develop the Software Architecture Design
The high-level software architectural design of the system generally includes decisions about how the system 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.
Sub-task 4-1: Design a preliminary database schema for the classes in this iteration.
Sub-task 4-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.
Task 5: Develop the Detailed Design and Program the System
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.CIS5302 Professional Skills for Business Analysis Assignment 3
Task 6: Test and Deploy the System
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.
Sub-task 6-1: Write a paragraph describing the difference between programmer testing and user testing.
Sub-task 6-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?