One of the basic principles of Software Engineering is the creation of visual models to demonstrate the project team’s understanding of the discoveries we are collecting from the users who are driving our discussions.
The type of drawings were proscribed by several authors of the time but regardless of the style of the drawing, they all have a relatively consistent set of focal points:
- Process Definition where a step by step sequence of events was pictured with indications of the data or other resources being used for each process step. The fundamental assumption was that each process step DID something to input to create its output. For example: Calculate total line item cost, Apply local and country tax amounts, Add line item cost and taxes for line item total.
- Data Definition where a data subject or entity would describe all the details of each data element that was essential for that entry or entity to be “Complete”. An entity would represent data that was necessary for the functional and operational aspects of the solution without unnecessary redundancy. Examples are: Product Catalog, Customer Info, Order Details.
- State Transition diagrams are used to reflect what “State” each data entity is in when a process step starts and completes. These “State Conditions” are very useful for managing the evolution of each data entity and preventing some illogical transitions from occurring. Some examples: New Entry, Priced, Counted, Shipped.
- Event Diagrams are supplemental to the Process Diagrams and can initiate process steps depending on occurrences that happen outside of the planned application. Examples: Customer Submits Order from Web Site, Customer Credit Card fails Authentication.