Content deleted Content added
m Small grammar and punctuation errors. Removed unnecessary wording. Reworded some statements to avoid redundancy. |
Reduced opinionated words, removed gendered language |
||
Line 6:
}}
An '''architectural model''' (in [[software]]) is a
Some key elements in a software architectural model include:
Line 16:
* '''Primary Concern''': It is easy to be too detailed by including many different needs in a single diagram. This should be avoided. It is better to draw multiple diagrams, one for each viewpoint, than to draw a 'mega diagram' that is so rich in content that it requires a two-year course of study to understand it. Remember this: when building houses, the architect delivers many different diagrams. Each is used differently. Frequently the final package of plans will include diagrams with the floor plan many times: framing plan, electrical plan, heating plan, plumbing, etc. They ensure that the information provided is only what is needed. For example, a plumbing subcontractor doesn't need the details that an electrician would need to know.
* '''Illustrate''': The idea behind creating a model is to communicate and seek valuable feedback. The goal of the diagram should be to answer a specific question and to share that answer with others to (a) see if they agree, and (b) guide their work. Rule of thumb: know what it is you want to say, and whose work you intend to influence with it.
* '''Specific Set of Tradeoffs''': The [[architecture tradeoff analysis method]] (ATAM) methodology describes a process whereby software architecture can be peer-reviewed for appropriateness. ATAM does this by starting with a basic notion: there is no such thing as a 'one-size-fits-all' design. People can create a generic design, but then they need to alter it to specific situations based on the business requirements. In effect, people make tradeoffs. The diagram should make those specific tradeoffs visible. Therefore, before an architect creates a diagram,
* '''Tradeoffs Inherent in the Structure and Design''': A component is not a tradeoff.
* '''System or Ecosystem''': Modeling in general can be done at different levels of abstraction.
==See also==
|