- What is GA?
- Capturing Information
- Structured Writing
- Mind Mapping
- Concept Mapping
- M++
- Organizing Information
- GA and Agility
- Bibliography
Organizing Information
The final piece that GA puts in place is a simple way of organizing the wealth of information that you collect during the course of OOAD. Of course, with time and experience, you will develop your own strategies for dealing with information, but GA tries to help right at the beginning of the learning curve by providing a small and manageable set of information types.
GA categorizes information as shown in Figure 5.
Figure 5 GA information categories
This is a summary of the categories:
- Information—unanalyzed or partially analyzed information
- Attributes:
- source—the Resource that supplied the information
- Attributes:
- Resource—something or someone of use to your analysis activity; a
source of information.
- Attributes:
- value—name of the Resource
- location—where to find the Resource
- use—what the Resource can do for your project
- Attributes:
- Proposition—a declarative statement about the system under
investigation. In GA, propositions have a quaternary truth value: true, false,
maybe, undefined. This is important because it’s quite reasonable for a
proposition to have the value "maybe" (you don’t have enough
information to decide) or "undefined" (the proposition just
doesn’t make sense and is therefore neither true nor false). These options
are often overlooked.
- Attributes:
- value—a statement of the proposition
- truth—true, false, maybe or undefined
- source—a Resource
- Attributes:
- Requirement—a definite, achievable, testable requirement for the
system; for example, "the system shall validate the user name and password
within three seconds."
- Attributes:
- value—a statement of the requirement
- priority—the importance of the requirement
- source—a Resource
- Attributes:
- Idea—a catch-all in which you can record ideas you might have about
the system. Ideas need to be further analyzed, ultimately resulting in
Propositions or Requirements.
- Attributes:
- value—a statement of the idea
- source—a Resource
- Attributes:
- Question—a question you have about the system.
- Attributes:
- value—a statement of the question
- source—a Resource
- Attributes:
- Glossary Entry—a component of a controlled vocabulary that contains
the key concepts related to your system.
- Attributes:
- value—the term
- definition—the definition
- status—candidate, primary or secondary. Candidate terms correspond to "maybe" in Propositions. They haven’t been analyzed sufficiently to be confirmed. The primary terms are those that constitute the controlled vocabulary for your project. The secondary terms are synonyms to the primary terms that are not used internally in the project, but can be used externally to communicate with particular stakeholders.
- source—a Resource
- partOfSpeech—noun/noun phrase or verb/verb phrase
- partOfModel—the model element (if any) that corresponds to the term
- Attributes:
We chose these categories by carefully considering how information is actually used in OOAD. In Secrets of Analysis, we describe and provide a very simple toolset that enables you to work with these categories relatively easily. However, the main point of the categorization process is to get you to think analytically about the different types of information and how you can use them in your analysis activities.
In GA, you identify chunks of information as you perform analysis, categorize them according to the above categories, and analyze them further—aiming ultimately to transform them into requirements, propositions, and glossary entries. These types of information are end states in the GA analysis process, because they constitute definite statements about the system.
Glossary entries are particularly important because one of the goals of GA is to arrive at an ontology (the things that exist) for the system. The glossary entries capture the things that make up the system and are a primary source of classes. The project glossary defines a controlled vocabulary that makes communication within your project easy and effective.
Typically, GA continues only until you have a sufficient understanding of the system to move on to more formal analysis activities such as use case and class modeling.