Architecting and designing : Structured analysis and design
  
Minispecs: What are they and how to use them
A minispec is a statement that expresses the processing logic of a process symbol. Normally, it describes how the process transforms input data into output data. Minispecs are written using a formal syntax often referred to as Structured English. Minispecs define process symbols on data flow diagrams and SV-10a Systems Rules Models (C4ISR), module symbols on structure charts, and system functions on SV-1 diagrams (C4ISR).
The following is an example of a Structured English minispec, for the process named RECORD RESERVE REQUESTS, written using the CRUD verbs (Create, Read, Update, Delete).
Create "INVENTORY"
Create "Copies-Owned"
Create "Copies-In-Stacks"
Create "copies-On-Order"
Create "BOOK LOCATION"
Create "Owning-Branch-ID"
Create "Current-Copy-Location"
If ISBN number brand new, Create "ISBN MASTER LIST" Else Update "Borrower Request"
System Architect can balance the input and output flows of a process using the minispec words against the Data Elements and Data Structures on the data flows.
Because minispecs are written in the form of free-form text, the balancing function requires that the system analyze the text word-by-word, looking for significant words. Significant words are flagged by delimiting them with either single or double quotes. You can choose to have the system consider every word, or only the significant words flagged for consideration.
By default, the system considers only the significant words specifically flagged with quotes, for example:
Compute " extended_cost" = " unit_cost" times " quantity"
If you want the system to consider every word contained in minispecs, and not only those delimited by double quotes, you must set MinispecUsesQuotes to N in the SA2001.INI file. Using the sample minispec above, the first few lines could then be written:
Create INVENTORY Create Copies-Owned
List of Balance Check error codes
Code
Description
B13
The following are part of input flows, but are not in the Minispec.
B14
The following are part of output flows, but are not in the Minispec.
B15
The following are part of update flows, but are not in the Minispec.
B16
The following are part of unmarked flows, but are not in the Minispec.
B17
The following are in the Minispec as create or delete, but are not part of flows.
B18
The following are in the Minispec as read, but are not part of flows.
B19
The following are in the Minispec as update, but are not part of the flows.
B20
The following are input or output flows.
B21
The following are referenced in the Minispec.
B22
The following Minispec words are not in the dictionary.
See also
CRUD Key Verbs
MinispecCheckEnabled
MinispecUsesKeyVerbs
MinispecUsesQuotes