stageAconnections

= Making Connections in Stage A =

Why is analysis necessary?
Software projects usually start out messy and unclear. There are needs and wishes but they are rarely clear and coherent. Users express their wishes in vague, possibly unrealistic terms. The overall purpose of the Analysis stage is to clarify the problem and set clear goals for a solution.

**A methodology for analysis**
A suggested methodolgy for doing the analysis involves 4 steps:
 * Describe the ** existing problem ** and **existing system** used for solving the problem
 * Interview the **intended users** and record **user stories** about what currently works well or badly
 * Create a **prototype** to **clarify** the needs and **facilitate** discussion with the user
 * Write **goals** that will ensure that the finished solution will **improve** the user's situation

Those steps can be completed in order, but that is not required. Another possibility is to work on various pieces in a cyclical fashion, completing a very simple version of each stage, then expanding each stage to be more complete.

**Criteria for Success (Goals)**
At the end of the Analysis Stage, you have the **Goals** (Criteria for Success) that will guide you through the rest of the project. These **Goals** are mentioned specifically in later stages of the project (dossier), so it's important that the Analysis stage finishes with a good set of Goals - clear, specific and complete.

**Connecting the pieces**

The four steps above might sound like 4 separate tasks - e.g. extra work. However, they are connected to each other, leading from a vague and unclear problem to clear and specific goals.

. || #2 - User story || #3 - Prototype / features || #4 - Goal || more practice || Students never practice math enough. --> Normal homework is tedious and boring. Making practice more fun might lead to students who are willing to spend more time and effort practicing. . || Show a sample game --> || A fun game provides entertaining practice for math students. || math problems, for example fractions. || Teachers use a word-processor to type fractions, exponents, and special ---> math symbols. This is difficult and doesn't always produce good results. Many existing math practice programs don't allow special symbols or fractions. || Show how special -> symbols can be represented. || The program should provide a method for the teacher to create problems including special symbols, fractions and exponents. || These examples are based on this Sample SL Project about embedding math problems in a Tic-Tac-Toe game.
 * #1 - Problem/need
 * Math students need -->
 * It's difficult to type --->

It's not as simple and straightforward as the arrows above imply. Sometimes several issues (needs) get solved by one single feature. Other needs will simply be ignored because the the programmer and user agree it's too difficult or not important. Some needs are so important and difficult that they require several features and goals. But the model above can be used as a rough guide for developing the analysis.

**Maximum IB Marks**

In the end, you need to have all 4 pieces, however or whenever you complete them. Missing pieces receive a zero.

To get maximum marks, it's important that the various pieces fit together in a clear, meaningful and logical fashion. The system outlined above can help to ensure connections between the pieces.

It's best to read the **Assessement Criteria** to see exactly what is expected in each piece.