23-08-2012, 12:51 PM
Understanding Quality Attributes
7-QualityAttributes.pdf (Size: 242.15 KB / Downloads: 39)
Quality Attributes
• Performance: the response time, utilization, and throughput
behavior of the system.
• Security: a measure of system’s ability to resist unauthorized
attempts at usage or behavior modification, while still
providing service to legitimate users.
• Availability: the measure of time that the system is up and
running correctly; the length of time between failures and the
length of time needed to resume operation after a failure.
• Usability: the ease of use and of training the end users of the
system.
• Interoperability: the ability of two or more systems to
cooperate at runtime
• Modifiability: the ease y with which a software system can
accommodate changes to its software
• Reusability: the degree to which existing applications can be
reused in new applications
• Testability: the ease with which software can be made to
demonstrate its faults
Architecture and Quality Attributes
• Achieving quality attributes c e g qua y a bu es must be considered
throughout design, implementation, and deployment.
• Satisfactory results are a matter of getting the big picture
(architecture) as well as the details (implementation)
correct
• For example:
– Usability involves both architectural and nonarchitectural
aspects. Making the user interface easy to use is
nonarchitectural, but providing the user with undo operations is
architectural.
Architecture and Quality Attributes
– Modifiability is determined by how functionality is
divided (architectural) and by coding techniques
within a module (nonarchitectural).
– Performance depends partially on how much
communication is necessary among components
and how shared resources are allocated
(architectural) and partially on the choice of
algorithms and how they are coded
(nonarchitectural)
General vs. Concrete Quality Attribute
Scenarios
• A general scenario is system independent and
can, potentially, pertain to any system.
• A concrete scenario is specific to the particular
system under consideration.
• Concrete scenarios are needed to make the
quality requirements operational.