Architectural Modeling – First Step

Posted on May 10th, by Arnon Rotem-Gal-Oz in SAF. No Comments

Warning: file_get_contents( failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /home/arnon920/public_html/wp-content/plugins/custom-share-buttons/custom-share-buttons.php on line 873

The next step in SAF (after “quality Attributes”) is Modeling.  Webster’s dictionary defines “Model”  as (among other things) : “3 : structural design; 7 : Archetype ; 10b : a type or design of product (as a car);11 : a description or analogy used to help visualize something (as an atom) that cannot be directly observed” – as I mentioned in my what’s software architecture post there’s no single structure that IS the architecture – this means that we’ll have to look at the architecture from different angles (viewpoints) – for example a block diagram such as the diagram below  (accompanied with some documentation that explains it) may tell us something about the layers that will be used to solve a problem it tells us nothing about the business that we are trying to solve.

We need to augment with more views on the system (such as the next diagram) so that we can better visualize and convey the architecture of the system.

Sample package diagram

IEEE 1471-2000  “Recommended Practice for Architectural Description of Software Intensive Systems” defines the relationship between the Stakeholders, their concerns, viewpoints, views and models:

(IEEE 1471 model adapted from a presentation by Rich Hilliard )

IEEE 1471 model

By the way, the fact that we need to look at the architecture from different viewpoints doesn’t  necessarily  mean that the documentation isn’t just POW(“plain old whiteboard”) – The formality of the documentation is driven by the project style (agile/formal) and other stakeholder constraints (company standards, customer requirements  etc.)

Since models participate in views (which in turn conforms to viewpoints –  which address the stakeholder’s need/interested in) I consider choosing the views a prerequisite for modeling. Thus, on the next post on modeling I am going to talk a little about choosing views (suggested minimal set,  viewpoint library etc.). Once I’ll get that off the table I’ll try to talk a little on architectural styles and patterns and follow that with some strategies for dealing with quality attributes before moving to the next SAF phase (Mapping).

Tweet about this on Twitter0Share on LinkedIn0Share on Facebook0Share on Google+0Buffer this pageShare on Reddit0Share on StumbleUpon0Email this to someone