We have a number of objects created and have begun linking them into a model on our Decision Requirements Diagram. While these diagrams are powerful tools for describing your decision problem and solution, most projects will require more detail for each of the objects shown on the diagram. In this tutorial we will talk about the most important of those properties – the question and allowed answers specified for a Decision.
Tip: Always create a question and allowed answers for Decisions. Don’t neglect this step when building diagrams as failing to capture this information degrades the quality of your model rapidly – questions are the best way to make sure everyone really agrees on what a Decision is.
Right-click the Determine Refund Eligibility decision on the diagram and select "Open Tab". The object properties tab for that Decision will open. (A short video is also available.)
Tip: You can also double-click a node to open its edit tab
As we have created objects in this tutorial we have only entered a few properties for each. The full set of properties for each object is documented in the descriptions of those objects. This tutorial will spend some time showing you how to access them.
The Decision editing page, like all object editing pages, has two columns:
- A Jump-to list
- The properties and associations that can be edited
To edit an object you can scroll up and down the column on the right to see all the available properties and associations or you can use the Jump menu to quickly access specific property and association sets. One of the most important sets of properties for a Decision is the Question & Answers set. Click in the Jump menu on Questions & Answers and the central column will jump to the relevant properties of the Decision.
Tip: The jump will bring the relevant section to the top of the column unless there is insufficient content below the jump point to fill the available space in which case the jump will display the bottom of the central column and you will find what you are looking for in the middle of the page.
Questions are a powerful tool for explaining a decision. For each Decision, determine the question that must be answered to make it. Be precise and detailed in your questions – be clear about the subject of the decision, about timing and about the scope or limits. Avoid questions that start “How” or use I/We.
Each question implies a set of allowed answers. The allowed answers, the options from which the decision is selecting, should be documented for each question. The allowed answers are specified using one of the radio buttons under Answer Type – Yes/No (for binary or true false Decisions), Value from explicit list (where you will specify the possible answers), external value list (where the list of answers is in a system somewhere), a number in range (with minimum, maximum, and default values), text (a string), a date/time, or something else (for example, a structure with multiple fields). In addition, any answer may come with supporting information such as messages or explanatory text that can be specified in the Support Information field. Make sure the allowed answers follow from the question - that all answers are reasonable given the question. Additionally, the answer types can be a collection.
In this case the question is “Is this customer eligible for a refund on this specific billing item?” and the allowed answers are Yes/No so simply select that option. While you can specify a default answer, this is enough to create this object.
For the other three decisions, return to the Diagram fill in the Question and Allowed answers from the right panel by selecting each decision.
|Calculate Price||What is the total final price for this order?||Number in range|
|Determine Return Eligibility||Is this customer eligible to return this product?||Yes/No|
|Select Marketing Offer||What marketing offer should be made to this customer at this time?||External value list|
Tip: Notice that the Answer section changes as you pick options. This allows you to add explicit values, minimum or maximum values or note related to the values in a database for instance. Use these fields to fully quality your answer when you can.