First of all I want to welcome all back and in a few days we all will be welcoming new year. Close to the end of year, I have a few things to finalize and an assignment from the Advance Software Paradigm class. Yay, a lot of joy. The assignment is about the software architecture description and I decided to learn about it and at the same time teach others.
When I first saw the phrase, I was confused to be honest because of the word “description” at the end, but in reality it has totally different meaning in this 3 words combination.
Let’s start then…
But first I want you to be familiar with the terminologies(I will also explain then in the context):
- architecture description: work product used to express an architecture
- architecture description language: any form of expression for use in architecture descriptions
- architecture viewpoint: work product establishing the conventions for the construction, interpretation and use of architecture views to frame specific system concerns
- architecture view: work product expressing the architecture of a system from the perspective of specific system concerns
- model kind: conventions for a type of modeling. An architecture view consists of multiple models, each following one model kind.
- stakeholder: individual, team, organization, or classes thereof, having an interest in a system
When I was searching I faced with a Wikipedia definition and will quote it as it is
Software architecture description is the set of practices for expressing, communicating and analyzing software architectures(also called architectural rendering), and the result of applying such practices through a work product expressing a software architecture.
But you are still not satisfied, which I was, lets scrutinize even further.
Basically to say, use can understand “architecture description” as a document which indeed defines the practices, techniques and types of representations used by software architects(engineers) to record and document a software architecture. It is believed that “architecture description” is just a largely used modeling activity. As a reminder, architecture models can take various forms, including text, informal drawings(this one I have to have for sure), diagrams or other modeling languages. In every speech as we try to use different words to express what we are intended to say even further, the same logic is used here too. An architecture description will often employ several different model kinds to address a variety of audiences, the stakeholders(such as end users, system owners, software developers, system engineers, program managers) and a variety of architectural concerns(such as functionality, safety, delivery, reliability, scalability) in a more efficient way.
So, now you can ask a question like you use the word “stakeholder” since your birth
Is it like the same file for all stakeholders?
I can say that often, the models of an architecture description are organized into multiple views of the architecture such that “each [view] addresses specific concerns of interest to different stakeholders of the system”. And there is another sophisticated phrase called “architecture viewpoint”. It is just a way of looking at a system. Each view in an architecture description should have a viewpoint documenting the concerns and stakeholders it is addressed to, and the model kinds, notations and modeling conventions it utilizes.
- Rozanski, N. (2014). Software systems architecture: Working with stakeholders using viewpoints and perspectives. Place of publication not identified: Addison-Wesley.
- ISO/IEC 42010. (2020, December 16). Retrieved December 28, 2020, from https://en.wikipedia.org/wiki/ISO/IEC_42010