Difference between standard and non-standard diagrams in Software engineering

212 Views Asked by At

I am writing a documentation for my Software engineering subject. My project is on a Hospital Managements System. Here is the question that is making me confused.

(2. Architectural design) Present the overall software architecture, stating whether it’s Layered, Repository, Client-Server, or Pipe and Filter architecture( – skim through pages 155 to 164 of our text reference book to see descriptions of these different architectures).
Describe and present it on a standard or non-standard diagram.

So what is the difference between standard and non-standard diagram?

1

There are 1 best solutions below

2
Christophe On

The question is indeed confusing, since it presents architectural models as if they were mutually exclusive (i.e. it can be at the same time layered and client-server) and relies on ambiguous terminology.

When it comes to architectural diagrams, there are standard diagrams, which follow a well known formal graphical notation. Typical examples are:

  • UML
  • Older OO notation (e.g. Booch, Rumbaugh or Objectory - it's really old because these have been merged together to make UML).
  • Non OO notations, such for example the IDEF suite (which was enriched in the meantime with an OO layer), SADT, Gane & Sarson (it's also quite old, less and less used, except in some niche markets).

Among those, the only which qualifies officially and unambiguously as a standard is UML: it's the only one that is recognized by an international standard setting body (ISO/IEC 19505).

But in architecture you have also a fair bunch of non-standard diagrams that convey graphically the structural intent. Typically, a layered arrangement of services, or an hexagonal or a concentric presentations are frequently used. Sometimes it's even more visual with clients shown as PC, and several servers in the network. All these use non-standard notations.