Sunteți pe pagina 1din 3

Characteristics of Effective Information Systems

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

Characteristics of Effective Information Systems


A good structure is one that is useful, robust, and beautiful. This simple 2000 year-old definition attributed to the Roman architect Vitruvius, is also true of Information Systems. Users of Information Systems will judge its effectiveness by these 3 criteria, and acheiving a balance between the 3 is the mark of a good Information System.
useful

robust

beautiful

Fig.1: The balanced Information System

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

Indranil Bhattacharya, Coena BV.

Characteristics of Effective Information Systems


Criteria for user Experience Usability Aesthetics Functionality Robustness Criteria for user System Architecture Functionality Performance Reliability Maintainability Usability Portability Replaceability

page 

Fig.2: Top-level architectural criteria

Finding an architectural fit


Some architectural criteria complement each other, such as usability and maintainability. A system that is easy to understand is also one that is easy to maintain. Other architectural criteria are in direct conflict with each other. For instance, the greater the amount of functionality in a system, the poorer its maintainability and performance. Improving the maintainability of a system by making it easy to analyze reasons for unintended behaviour or making the system highly configurable to changing business situations work against the systems performance. A system designer must be able to select the applicable criteria to solve the posed problems most effectively.

complimentary conflicting
Functionality

Performance

Maintainability

Fig.3: An example of 3 conflicting architectural criteria

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

Indranil Bhattacharya, Coena BV.

Characteristics of Effective Information Systems


Functional Coverage Interoperability Compatibility Suitability Availability Fault Tolerance Recoverability Security Safety

page 

Functionality Reliability Usability

Understandability Customizability Operability

Analyzability Modifiability Stability Testability Serviceability Configurability

Maintainability Portability

Performance

Time Behaviour Resource Behaviour Scalability

Adaptability Co-existence Installability Reusability

Fig.4: Architectural Criteria as defined by ISO 9126

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.

Functionality first, but only so much of it


The more the functionality a system will try to cover, the poorer the usability, performance, portability, maintainability, and reliability. Whittling down the functionality of a system down to its bare essentials will help create an architectural balance, as other architectural criteria can also find their voices.

VisualSpec.org

Fig.5: Too much functionality results in poor usefulness, robustness, and aesthetics

Indranil Bhattacharya, Coena BV.

S-ar putea să vă placă și