Content deleted Content added
m Capitalized words and reduced extra spcing |
m Open access bot: url-access updated in citation with #oabot. |
||
(20 intermediate revisions by 14 users not shown) | |||
Line 2:
{{Multiple issues|
{{tone|date=November 2011}}
{{
{{
}}
An '''architectural model''' (in [[software]]) contains several diagrams representing static properties or dynamic (behavioral) properties of the software under design.<ref>{{Citation |last=Hasselbring |first=Wilhelm |title=Software Architecture: Past, Present, Future |date=2018 |work=The Essence of Software Engineering |pages=169–184 |url=https://doi.org/10.1007/978-3-319-73897-0_10 |access-date=2025-02-10 |place=Cham |publisher=Springer International Publishing |doi=10.1007/978-3-319-73897-0_10 |isbn=978-3-319-73896-3|url-access=subscription }}</ref><ref>{{Cite web |title=About the Unified Modeling Language Specification Version 2.5.1 |url=https://www.omg.org/spec/UML/2.5.1/About-UML |access-date=2025-02-10 |website=www.omg.org}}</ref><ref>{{Cite book |last1=Hilliard |first1=Rich |last2=Malavolta |first2=Ivano |last3=Muccini |first3=Henry |last4=Pelliccione |first4=Patrizio |chapter=On the Composition and Reuse of Viewpoints across Architecture Frameworks |date=August 2012 |title=2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture |chapter-url=https://doi.org/10.1109/wicsa-ecsa.212.21 |publisher=IEEE |pages=131–140 |doi=10.1109/wicsa-ecsa.212.21|isbn=978-1-4673-2809-8 }}</ref> The diagrams represent different [[4+1 architectural view model|viewpoints]] of the system at the appropriate scope of analysis. The diagrams are created by using available standards in which the primary aim is to illustrate a specific set of tradeoffs inherent in the structure and design of a system or ecosystem. [[Software architect]]s utilize architectural models to facilitate communication and obtain peer feedback.
Some key elements in a software architectural model
*'''Rich''': For the viewpoint in question, there should be sufficient information to describe the area in detail. The information should not be lacking or vague. The goal is to minimize misunderstandings, not perpetuate them. See notes below on 'primary concern.'
* '''Rigorous''': The architect has applied a specific methodology to create this particular model, and the resulting model 'looks' a particular way.
* '''Diagram''': In general, a model may refer to ''any'' abstraction that simplifies something for the sake of addressing a particular viewpoint. This definition specifically subclasses 'architectural models' to the subset of model descriptions that are represented as diagrams.
*'''Standards''': Standards work when everyone knows them and everyone uses them. This allows a level of communication that cannot be achieved when each diagram is substantially different from another.[[Unified Modeling Language]](UML) is the most often quoted standard.
* '''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
* '''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:
*# see if they agree *# 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
* '''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==
Line 28 ⟶ 31:
==External links==
* [http://www.sei.cmu.edu/architecture/start/definitions.cfm SEI published Software Architecture Definitions] contains a list of definitions of architecture used by classic and modern authors.
* [http://www.csi.uottawa.ca:4321/oose/index.html#architecturalmodel Architectural Model] contains a definition of an architectural model from the University of Ottawa's Object Oriented Software
* [http://www.sei.cmu.edu/architecture/tools/atam/ Architectural Tradeoff Analysis Method] (ATAM) is a method by which architecture can be evaluated for suitability and fit to requirements.
[[Category:Software architecture|model]]
[[Category:Software design patterns]]
[[Category:Software development]]
|