Professional Documents
Culture Documents
Software Quality
Software quality is the degree of conformance to explicit or implicit
requirements and expectations.
Definition by IEEE
The degree to which a system, component, or process meets specified
requirements.
Definition by ISTQB
The totality of functionality and features of a software product that bear
on its ability to satisfy stated or implied needs.
addressedbyanapplicationsarchitectureare:
Performance
Modifiability
AvailabilityandReliability
Usability
Portability
Security
Performance
Itrepresentstheresponsivenessofthesystem(e.g.,
thetimerequiredtorespondtoeventsorthenumber
ofeventsprocessedinsomeperiodoftime).
Performancemainlymeasuredintermsofruntime,
responsetimeandthroughput.
Performancehasbeenadrivingfactorinsystems
architectureandoftencompromisestheachievement
ofotherqualityattributes.
Source
Users
Stimulus
Initiate
1000
transactions
System
Environment
Under normal
operation
Response
Transactions
are
processed
Measure
With average
latency of
two seconds
Modifiability
Modifiability is a quality attribute of the software architecture that
relates to the cost of change and refers to the ease with which a
software system can accommodate changes.
It is the ability to grow an architecture over time.
A modifiable architecture can have new features added without
requiring architectural rework
Source
Developer
Stimulus
Wishes to
change UI
Code
Environment
At design time
Response
Modification
is made with
no side effects
Measure
In three hours
proportionoftimethesystemisupand
running.
Reliabilityisanattributethatmeasures
thesystemsabilitytocontinue
operatingovertime.
Source
External
to system
Stimulus
Unanticipated
message
Process
Environment
Under normal
operation
Response
Inform
operator,
continue to
operate
Measure
No downtime
Usability
Thistypicallyreferstotheusabilitywith
respecttotheenduser.
Itcanalsoaddressothersystemuserssuch
assystemmaintainers,operators,etc.
Source
Users
Stimulus
Input invalid
data
System
Environment
Under normal
operation
Response
Inform user,
Give instruction Measure
User enters
Data
successfully
Security
Itistheabilitytoenforceauthorization,
authentication,anddeliberatedenialofservice
attacks.
Securityrequirementscanaffectthefunctional
decompositionofthesystem
Portability
Itistheabilitytoreuseacomponentinadifferent
applicationoroperatingenvironment.
Itcanbeconsideredasaspecialkindofmodifiability.
Portabilityrelatedattributesare:
Adaptability
Installability
Conformance
Replaceability
productsbyemphasizingonbuildingprioritised
softwarefunctionalityratherthanfocusingonnonfunctionalaspectsofthesystem.
Afewoftherecentresearchesinagiledevelopment
haveproposedmethodsinidentifyingqualityissues
throughcategorisingqualityattributesintheearly
phasesofanagileproject.
Summary
Qualityattributesaremeasurableorobservable
characteristicsofproductsandprocesses.
Thequalityrequirementsspecificationgives
quantitativeorqualitativevaluesfortheseattributes
thatmustbesatisfiedbytheexecutablesystem.
Any Questions?
Thank You