How to use Questions to drive Generative Analysis
Question is the Information Type that is the primary generator of all other Information Types in Generative Analysis. In this article, the author of Generative Analysis: The Power of Generative AI for Object-Oriented Software Engineering with UML expands on the discussion in his book and introduces the notion of the AbstractQuestion, Why, and the ConcreteQuestions, Who, What, How, When, and Where.
1. Introduction
In our latest book, Generative Analysis [Arlow 1], we look in detail at the kinds of information you need to capture to successfully deliver a software engineering project. This is described by our Information Model shown in Figure 1. We discuss each type of information, and how to process it, in detail in the book. In this article, we will consider the Question in more detail. First, to set the scene, we will give a brief overview of the Information Model as a whole. We will use the Literate Modeling convention that text that refers to a model element is always in a special font (e.g. Question).
2. The Generative Analysis Information Model
Figure 1: The Generative Analysis Information Model
Click to open full-sized image
The Information Model identifies a set of eight specific Information Types summarized in Table 2 1.
Information Type | Semantics |
---|---|
Information | A communication of some sort. This is subject to the three filters of distortion, deletion, and generalization. It is uncategorized and after analysis will normally become one of the seven types below. Each piece of Information may have an associated toDo list of Actions. |
Action | An Action on some Information that needs to be recorded and tracked. Actions define things that you need to do that are related to some Information you have gathered. |
Question | Questions arise from considering Information and applying M++. They generate answers that might comprise instances of any of the other Information Types. |
Proposition | A Proposition is a statement about the system or problem domain that can have one of the following four truth values:
|
Resource | Resources are any things that you identify that may help you in your project. |
Idea | Ideas are just that – things that come to you when you are performing analysis that might be useful later. This is a catch-all where you can keep just about anything. It is all about creativity. |
Requirement | A statement of what the system should do (functional requirement) or how the system should do it (non-functional requirement). |
Term | Terms are words or phrases defined in the ProjectGlossary. |
Table 2-1: Information Types in Generative Analysis
Of course, you might need fewer or more Information Types than these depending on the specific details of your project, but the eight types in the Information Model comprise a useful set that we find is sufficient in most cases. The Question is indispensable to Generative Analysis, which is why we want to say more about it here.