Zane Scott, Vitech Vice President of Professional Services
One of the quandaries regularly presented to systems engineers is which view or combination of views to use when representing the system model to others. In today’s practice, there is a blessing – and a curse – in the sheer number of views available for this purpose. The choice is varied and nuanced so views can be targeted to the job at hand. Despite that, engineers often make the choice of views based on their own personal preferences or pattern of practice.
By being intentional about the way we represent our system model, we can leverage the power of the model itself to communicate the principles and rationale behind the design. To begin, we consider what a view is in the context of systems engineering.
What is a View?
A view is a specific representation of a particular data set presented according to a set of rules that define that view. If we are using an integrated system model, the data set depicted in a view is a subset of the data contained in the model. The view is obtained by representing a defined subset of data in accordance with a predefined rule set dictating the structure and notation.
If, for example, we wanted to depict the requirements for a given system and how they relate to each other, we would focus on the requirements and their relationships to each other. This data would be formatted in accordance with the construction rules of the kind of view we want – in this case perhaps a requirements diagram, a traditional hierarchy diagram, or even a requirements table.
If using software in which the database is truly integrated (containing all the elements, relationships and attributes across the system design), a view generator can provide multi-class views like a hierarchy diagram showing the system functions mapped to the requirements on which they are based and the components to which they are allocated. To the extent that the tools used are divided – for example with requirements separated from the logical and physical architecture – it becomes impossible to query across the boundaries formed by that separation.
But, this discussion assumes an integrated database containing the elements, relationships, and attributes of the system of interest. This database is managed by a tool with a view generator capable of generating a variety of views. With the integrated database and a rich set of views, a view generator can produce views directly from the data reflecting the current state of design with guaranteed consistency. A view in this setting is a depiction of a specified subset of the system data presented according to a particular rules set that defines a specific view.
Criteria for Selecting the “Right” View
Given this understanding of the nature of a view, we turn to the choice of the view to be presented. The purpose of any view is to communicate information about the model to a given audience. The “right” view in any situation comes from the intersection between those views that depict the needed information, and the views that can be understood and absorbed by the audience.
As an example of this intersection, consider a situation where the team wishes to present the flow of system behavior. This can be depicted using functional flow block diagrams, enhanced functional flow block diagrams, or activity diagrams (amongst others). These choices will present overlapping subsets of a system’s logical architecture. But each of these has characteristics that make it more or less suitable in a given situation. This distinction rests largely on the composition of the audience.
An audience of business stakeholders who are expert in the mission and purpose for the system under design are generally more likely to grasp the simple, uncluttered picture offered by the enhanced functional flow block diagrams while a more technical audience may appreciate the detail and technical clarity around additional design depth and specialized notation present in an activity diagram.
The first principle in selecting a view is always found in the answer to the question, “Who is the audience, and what will they readily understand?” The next question has to do with what information is to be conveyed by the view. We ask, “What view(s) will contain the information we need to convey?” We use the first answer to narrow the choices that are returned by the second. So from the views that present the needed information, we choose the view or views that will resonate with and communicate to the audience. Such views are truly fit for their purpose. If any discussion with an audience requires the statement “let me explain how to interpret this,” you have likely chosen the wrong representation.
Several principles emerge from this discussion. First, the more representations in our toolbox, the greater our ability to reach our target audience. A rich palette of views will enhance our communication.
Second, the more integrated the system design database, the wider the variety of views that will be available. By segregating the data, we limit the views to the data inside the sector boundary. The wider the database, the less restricted are our choices.
The integration of a view generator with an integrated database produces views that accurately reflect the state of the system design in real time. There is no need to check and cross-check the diagrams and other artifacts because the data is drawn directly from the source without the need for human intervention or mediation. A single database held in a single repository and managed by a single tool offers this kind of integration and the resulting communication advantages.
That is the driving principle behind the design of Vitech’s tools CORE and GENESYS. “Insight through integration” means that consistency and completeness arise from the single database managed in a single repository. The single tool with its integrated view generator offers real insight and communication into and from the database. The unitary structure offers insight not possible in more fragmented approaches. The resulting variety of choices offers the systems designer the ability to provide views “fit for purpose” to any audience.