Architectural views represent a perspective of looking at a particular problem solution. There are different standards. And different versions of diagrams. That is because one diagram rarely would give you everything you'd want. So you sort of mix and match. We have to recognize that there are many stakeholders in the system: from architects themselves, ... Read more Architectural Views
Architecture Quality Attributes (a.k.a. QAs) are used to determine if our architecture is fit for a particular purpose. Qualities must be accommodated in a system's architecture over and above basic functionality. It is too often that functionality takes the front seat, indeed sometimes the only seat. The functionality, however, should be the primary concern of the ... Read more Architecture Quality Attributes
Attribute-driven design (ADD) process allows us to use a recursive method for explicitly representing of quality attributes as well as explicitly stating association between architectural decision and quality attributes. To begin the process of ADD, we need a set of functional requirements (e.g. use-cases), quality attributes (ideally expressed through design scenarios) and any further system constraints ... Read more Attribute-Driven Design Process
It is fairly meaningless to say 'System X is modifiable'. Firstly, with respect to what is it modifiable? Some of the changes will be handled more easily than others. If the system was designed with client-server pattern, then changing it to peer-to-peer is easy? It might be, but I find it rather unlikely. Even if ... Read more Scenarios - how to claim your architecture is good?
It really does depend on how we define usability. The configuration of the user interface is the details. As an architect, one would not worry about usability. Not in the sense, of where to place icons, what colours to use and what are which things to make bold. HOWEVER, what the user would do with ... Read more Is usability an architectural concern?
Architectures are the building blocks of software. Good architecture would likely result in reasonably pain free development as well as . However, perfect architecture is almost never possible. In this series of articles, I will describe the basic process for designing software architectures. There is little difference between software and system architectures. In this first ... Read more Business Drivers in Systems Architectures
Internal quality (aka structural quality or architectural quality) is an assessment on the quality of the code and its underlying architecture. It differs from external quality which assesses how good the software is in relation to the requirements. Nowadays, as building large scale applications is becoming increasingly common, assessing it, is becoming increasingly important. The ... Read more Ensuring internal quality of software