![]() |
What is Software Architecture | Characteristics of Software Architecture |
Philippe Kruchten, Grady Booch, Kurt Bittner, and Rich Reitman derived and refined a definition of architecture based on work by Mary Shaw and David Garlan (Shaw and Garlan 1996).
Their definition is:
"Software architecture encompasses the set of significant decisions about the organization of a software system including the selection of the structural elements and their interfaces by which the system is composed; behavior as specified in collaboration among those elements; composition of these structural and behavioral elements into larger subsystems; and an architectural style that guides this organization. Software architecture also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns.”
CHARACTERISTICS OF SOFTWARE ARCHITECTURE
CHARACTERISTICS |
DESCRIPTION |
FUNCTIONALITY |
The capability of the software product to
provide functions which meet stated and implied needs when the software is
used underspecified conditions (what the software does to fulfil needs)
|
RELIABILITY |
The
capability of the software product to maintain its level of performance
under stated conditions for a stated period of time
|
USABILITY |
The capability of the software product to be
understood, learned, used and attractive to the user, when used under
specified conditions (the effort needed for use)
|
EFFICIENCY |
The
capability of the software product to provide appropriate performance, relative to the amount of resources used, under stated conditions
|
MAINTAINABILITY |
The capability of the software product to be
modified. Modifications may include corrections, improvements or adaptations
of the software to changes in the environment and in the requirements and
functional specifications (the effort needed to be modified)
|
PORTABILITY |
The
capability of the software product to be transferred from one Environment to another. The environment may include organizational, hardware or software environment
|
Post a Comment