This article first appeared in IEEE Software magazine and was then published by InfoQ at their website.
In software engineering, a tight relationship exists between nonfunctional requirements (NFRs) and software architectures (SAs). As early as 1994, Rick Kazman and Len Bass asserted that SA is intimately connected to NFR achievement.1 This idea has pervaded software development over the years and explains why development projects invest a lot into fulfilling NFRs.
This general statement becomes more concrete when we consider how the concept of SA has evolved from a simple structural representation to a decision-centric viewpoint.3 In this perspective, NFRs serve as selection criteria for choosing among myriad designs and implementations. For instance, we can justify choosing a layered architectural style in terms of maintainability or portability, or choosing a particular database technology in terms of efficiency. Software architects must continually deal with NFRs as part of their SA design responsibility. They must know a systems NFRs and how architectural decisions affect the NFRs fulfillment.
Please click here to read rest of the article.
- Dimensions To Consider When Designing Applications For The Cloud Introduction - With the increasing maturity of cloud service offerings and realization by customers of the benefits of moving to cloud based applications/platforms/services it's not a surprise that IT shops around the world have cloud adoption some where on their agenda. In context of […]
- Questions To Ask When Comparing Vendor Solutions Introduction - Most of us would have been involved in production selection at one time or the other. Product selection could involve helping your organization or business short list and identify a suitable solution to meet an internal business need e.g. SaaS based Customer Relationship […]
- Let’s not go overboard with our investments in Non Functional Testing!!!! Background - When was the last time you were told, “Let’s not go overboard with out investments in a performance validation exercise.!!! On my last project we expended a lot of effort on various Non-Functional initiatives, however the issues we experienced in production were never picked […]
- HowTo Create A Performance Budget Launching HowTo's - We have just launched a new section here at Practical Performance Analyst called HowTo's. Howto's much like their counterparts (in the Open Source movement) will focus on the specifics around different SPE (Systems Performance Engineering) related tasks. There is a […]