ArticleslgStudy

computer science

Software architectural model

Software architectural model is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Software architectural model rather than just read about it. In short: An architectural model (in software) contains several diagrams representing static properties or dynamic (behavioral) properties of the software under design. The diagrams represent different viewpoints of the system at the appropriate scope of analysis.

Key takeaways

  • Software architectural model belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Software architectural model to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Software architectural model from memory before moving on to harder problems.

Reference excerpt

An architectural model (in software) contains several diagrams representing static properties or dynamic (behavioral) properties of the software under design. The diagrams represent different 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 architects utilize architectural models to facilitate communication and obtain peer feedback. Some key elements in a software architectural model include:

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. A test of rigorousness may state that if two architects, in different cities, were describing the same thing, the resulting diagrams would be nearly identical (with the possible exception of visual layout, to a point). 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 extremely rich in content. 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 does not 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: 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 design for all occasions. 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, they should be prepared to describe, in words, which tradeoffs they are attempting to illustrate in this model. Tradeoffs Inherent in the Structure and Design: A component is not a tradeoff. Tradeoffs rarely translate into an image on the diagram. Tradeoffs are the first principles that produce the design models. When an architect wishes to describe or defend a particular tradeoff, the diagram can be used to defend the position. System or Ecosystem: Modeling in general can be done at different levels of abstraction. It is useful to model the architecture of a specific application, complete with components and interactions. It is also reasonable to model the systems of applications needed to deliver a complete business process (like order-to-cash). It is not commonly useful, however, to view the model of a single component and its classes as software architecture. At that level, the model, while valuable in its own right, illustrates design much more so than architecture.

See also Service-oriented modeling framework (SOMF)

References

External links SEI published Software Architecture Definitions contains a list of definitions of architecture used by classic and modern authors. Architectural Model contains a definition of an architectural model from the University of Ottawa's Object Oriented Software Engineering database. Architectural Tradeoff Analysis Method (ATAM) is a method by which architecture can be evaluated for suitability and fit to requirements.

Worked examples

Example 1 — a first encounter with Software architectural model

Start with the simplest possible case. Write down what Software architectural model claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Software architectural model before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Software architectural model ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Software architectural model

In research
Software architectural model appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Software architectural model in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Software architectural model is common in secondary-school and first-year university syllabi. It links to neighbouring topics Software architecture, Software design patterns, Software development, so understanding it makes those chapters shorter.
In everyday life
Look for Software architectural model outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Software architectural model in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Software architectural model means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Software architectural model out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Software architectural model in simple terms?

An architectural model (in software) contains several diagrams representing static properties or dynamic (behavioral) properties of the software under design. The diagrams represent different viewpoints of the system at the appropriate scope of analysis.

Why does Software architectural model matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Software architectural model?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Software architectural model.

Tags

  • Software architecture
  • Software design patterns
  • Software development

Keep exploring