Become a member

Wednesday, May 12, 2010

Architecture Requirements

An applications requirements can be classified in different ways. But the most clear demarcation is to divide them between functional and non functional requirements. The functional requirements address all the business problems or support the systems is meant to address. The non functional requirements form the basis of the Architecture of the system.

Thus the non-functional requirements are the requirements for the software architecture. Typically an architect will work with all stakeholders to come with these requirements( called somestimes concerns). From these requirements a list of ilities or Quality Attributes is derived.

These quality attributes can range from Scalability to Offshoreability. The best strategy is to prioritise these based on stakeholder input and knowledge of the domain. There has to be trade off in certain cases to optimise the cost of developing the architecture to satisy these attributes to the fullest.

Various tactics can be used to architect for these Quality attributes. Tactics are means of controlling  the parameters of a model of Quality Attribute.  These tactics and techonologies and patterns that are best fit and best practise to implement these tactics are part of the repertoiore of an Architect.

For example let us take the Scalability as a Quality Attribute

No comments: