When someone uses the term XXX architecture I tend to cringe. It often indicates that there’s another architectural discipline or perspective that I’m probably not considering. What perspectives of architecture are you considering and do you have any good resources for information on them?
I hope this helps others who are working their way through the architecture profession.
- Survivability
- Performance Management
- Operational Monitoring & Management
- Service Orientation
- TOGAF defines a number of quality of service attributes
Sorry for the edit, but your answers were spot on and I think the question needed to be refined.
Architecture and architectural decisions are primarily about the ‘non-functional’ requirements of a system; pace RoadWarrier, but each of the things he mentions are consequences of the architectural decisions more than independent in and of themselves. (Proof: what leads to a particular choice in any of those domains? It’s always the need to satisfy some nonfunctional requirement.)
With that in mind, it’s a two part issue. First, you need to decide what NFRs are important. preferably by stating them with some specificity using a rigorous method, eg, don’t just say ‘highly available’, say ‘the system must be available (MTTF/(MTTF+MTTR)) 99.99 percent, with the longest single duration outage being 4 minutes.’
Second, you need to consider what views will help you to design to satisfy these requirements and justify your decisions. Depending on the stringency of your requirements, this may be anything from a white board block diagram to a formal simulation study.
In a business domain, say in an IT system available over a web interface, you might, for example, want:
You should also, if you’re specifying the performance etc characteristics, describe the workload, ie, the size of a user’s data, the arrival rate of web requests, etc.