Beruflich Dokumente
Kultur Dokumente
Article Summary
page
A good architecture for an information system tries to balance the conflicting criteria of functionality, usability, reliability, performance, portability, and maintainability. A perfect architecture is a myth, and creating a future-proof solution even more so. Ultimately, an architects goal is to understand the different demands upon a system, and selecting the most important criteria to create a balanced solution.
Oleg Verbitsky
robust
beautiful
A systems usefulness depends upon its functionality (the functions provided by the system), usability (the ease with which functionality can be used) , and maintainability (how easy it is to fix the system if things go wrong). A systems robustness depends upon performance and reliability. When the system ceases to be effective, it must be portable and replaceable. A designer of an Information System must consider these architectural criteria to design effective Information Systems.
VisualSpec.org
page
complimentary conflicting
Functionality
Performance
Maintainability
ISO 9126, an open standard for software quality, provides 6 primary architectural criteria that system designers can use to find the best fit. These criteria, and some of their primary concerns, are as follows: Functionality: What should the system do? Usability: How easy it is to understand the system? Reliability: How consistent is the system in doing what it is supposed to do? Maintainability: How easy is to maintain the system? If things go wrong, is it easy to find out why things went wrong? How easy is it to change the systems configuration? Performance: How quickly does the system serve the needs of its users? Portability: How easily can the system be moved from one environment to another?
VisualSpec.org
page
Maintainability Portability
Performance
Selecting the right criteria gives real meaning to Better, Faster, Cheaper
A system that tries to fulfill every architectural criteria will be a failure. A system designers primary task is to determine the primary criteria for a given system, and to determine the sequence in which each priority will be addressed. In most cases, functionality should go first, and performance should go last. Customerfacing systems should focus on minimizing functionality to the most necessary, and maximizing usability. Highvolume transaction processing systems that do not require human intervention should focus on reliability before any other criteria. The inability of a designer to select the appropriate initial criteria to focus will ultimately result in higher realization costs and poor adoption.
VisualSpec.org
Fig.5: Too much functionality results in poor usefulness, robustness, and aesthetics