Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 22

Design Qualities

Design process needs high standards of quality

“how much better” the one is than the other??


Contd…
Quality cannot be measured in ‘absolute Scale’.
- construction quality (How it is made?)
- aesthetic value ( physical appearance)
- fit for purpose(comfortable, serves the purpose?)

Software
construction quality?
- software is not manufactured
aesthetic value?
- most of the software is invisible
- user interface (marginal concern)
fit for purpose?
- Understand the purpose of
customers
Fitness for Purpose

“Predict” how well the software will fit its purpose


Measure the relationship between software and its
application domain
Assessing Design Quality
Objects are measured in terms of Physical Properties
like length, weight, mass etc (ratio scales)

Ordinal scale – elements can be ranked

‘measurement is concerned with capturing


information about attributes of entities’
(Pfleeger,1997)
Framework for Assessment
Quality concepts - abstract ideas about ‘good’ and
‘bad’ properties of a system.

Design attributes - provide a set of characteristics


of the design entities (metrics).

Counts - realizing the design attributes


Measuring Quality
Fuller Mapping
Contd…
Use - identifies the purpose of making
measurements.

quality factors - determine the quality concepts that


are associated with the purpose (‘ilities’).

quality criteria - relate the requirements-oriented


properties of the intended system (the ‘ilities’) to the
solution-oriented properties of the design.
Mapping from Quality Factors to Quality Criteria
The Goal of fitness for purpose needed to recognize
the “nature of the problem” and its “domain”.

Efficiency - greater importance(embedded control


system)
Reliability – Lesser importance than other factors
Aircraft autopilot - Lesser
The ‘ilities’
The ‘ilities’ form a group of quality factors - assess
design quality.

Reliability
Efficiency
Maintainability
Usability
Reliability
Designer predicts How the system works?

 completeness - does it do everything it is supposed to do?


(e.g. handle all possible inputs)
 consistency - does it always behave as expected? (e.g.
repeatability)
 robustness - does it behave well under abnormal conditions?
(e.g. resource failure)
Efficiency & Maintainability
Efficiency
resources like processor time, memory,
network access, system facilities, disk space etc.

Maintainability
How easy will it be to modify in the future?

perfective, adaptive, corrective


Usability
How easy is it to use?

user interface (Human–Computer Interaction, or


HCI) will form an important component
Cognitive Dimensions framework
It gives design principles for notations, user interfaces
and programming language design.

It provide a set of ‘discussion tools’ - evaluating


quality concepts.

It provide a way in which some evaluation can be


done by the designers themselves

Thomas Green originally defined 14 cognitive


dimensions
Quality attributes of
design product
Simplicity
Simplicity can be accessed by the complexity of the
product
complexity measurements are
1. complexity of control flow
2. complexity of structure ( information flow)
3. complexity of comprehension
4. complexity of structure ( relationship between
system elements)

SWE401 - Software Architecture & Design 18


Quality attributes of design
product
Modularity
Modules Are easy to replace
Each module captures one feature of a problem
 reusable well structured module

Information hiding

SWE401 - Software Architecture & Design 19


Assessing design quality
Technical review
 which is concerned with assessing the quality of a design
Management reviews
 which is concerned with issues such as project deadlines and
schedule
Characteristics of good design
 Well structured
 Simple
 Efficient
 Adequate
 Flexible
 Practical
 Implementable
 Standardized

SWE401 - Software Architecture & Design 20


Characteristics of good Design
 well structured consistent with chosen properties such as
information-hiding;
 Simple : as simple as possible
 efficient: providing functions that can be computed
using the available resources
 adequate: meeting the stated requirements;
 flexible: able to accommodate likely changes in the
requirements
 practical: module interfaces should provide the
required facilities, either more nor less;
 implementable: using current and available software and
hardware technology;
 standardized: using well-defined and familiar notation
for any documentation.

SWE401 - Software Architecture & Design 21


Assessing design process
Software process maturity level
Initial
Repeatable - repeat earlier success on similar on
projects
Defined – both management & engineering activity
is documented ,standardized
Managed – SW process and product quality are

controlled using detailed measures


Optimizing – continuous process improvement is done
quantitative feedback

SWE401 - Software Architecture & Design 22

You might also like