5
SOFTWARE QUALITY THROUGH THE TRACEA OF REQUIREMENTS SPECIFICATIONS T. T. Moores and R. E. M. Champion Department of Information Systems, City Polytechnic of Hong Kong, 83 Tat Chee Avenue, Kowloon Tong, HONG KONG. Abstract - This paper will argue that quality assuranoe‘ must begin with quality software requirements specification (SRS) and that by preseming the link between a customer’s requirements definition and the SRS, the quality of a software system can be assured beyond first release. Without such a link, it would be difficult to properly analyse the effect of related or inconsistent requirements because the reason for their existence in the final SRS document has been lost. An example of forward and backward tracing requirements through the business and system models developed during analysis and design is given. Areas of further research are then identified. L INTRODUCTION Proper means for assessing the quality of a software development product or process has yet to reach a mnsensns. Definitions of software ‘quality’ have ranged from hierarchical d&nitions[l,2], where quality is Mi as a range of related propezties such as “usability”, “efficiency”, etc. The problem with such a definition is that many of the attributes are related to each other (e.g., reliability and usability), while the list tends to he incomplete Other attempts to defiie quality have emphasised the competing views of customers and developers as to what’s importaut[3], where ‘quality’ often becomes a question of the .product matching user needs[43. This apprd to quality demands that the pmducis and processes are amenable to cbaoge in order to match the changing demands of user mpireanents, both Mug and after the construction of the Software lqlirements specification (SRS). ThIs paper will argue that a quality system begns with a quality software requirements speaficahon (SRS), and that the quality component acheved at h s point can be mantinned throughout the development process by ” g n g the effect of changes on the requirements The authors believe that this can be ache>& by retainmg the business and system models de>elopeddunng system analysis and design and mmntaimng the links between requirements statements and implemented funchonditj In this sense, it is the ‘meetmg customer needs and espectahous’ defimhon of quality whch is hug used here By linking requrements to subsequent products, it would then be possible to analyse the effect of requirements changes by traang thew effect throughout the entire life-cycle Thts would allow the consistency of any new reqwrements to be checked (fonrard traang), as well as the consistency of change and nmutenance requests for the implemented system aganst the ongnal stated business goals and processes (backward b a n g ) This paper will demonstrate the feasibility of mautrumng such traceability, and illustratethe process with an example II. REQUIREMENTS ANALYSIS AND DESIGN MODELS A requirements document is the mhal expression of a customer’s reqmments for an mformatzou system, wntten in natural language Understanding the content of the rquremeuts document is (often noted to be an art) referred to as requrements analysis This stage of the life-cycle attempts to convert the natural language expressions (or customer “wish- list”) contained w i t h the reqmrements document into more rigorous representations of the requred system Two important sets of models used in the requirements analysis and design phase are business and system models Figure 1 represents the relahouslup between these models. , 0-7803-2608-3 100

[IEEE 1994 1st International Conference on Software Testing, Reliability and Quality Assurance (STRQA'94) - New Delhi, India (21-22 Dec. 1994)] Proceedings of 1994 1st International

  • Upload
    rem

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: [IEEE 1994 1st International Conference on Software Testing, Reliability and Quality Assurance (STRQA'94) - New Delhi, India (21-22 Dec. 1994)] Proceedings of 1994 1st International

SOFTWARE QUALITY THROUGH THE TRACEA OF REQUIREMENTS SPECIFICATIONS

T. T. Moores and R. E. M. Champion

Department of Information Systems, City Polytechnic of Hong Kong,

83 Tat Chee Avenue, Kowloon Tong, HONG KONG.

Abstract - This paper will argue that quality

assuranoe‘ must begin with quality software

requirements specification (SRS) and that by

preseming the link between a customer’s

requirements definition and the SRS, the quality of

a software system can be assured beyond first

release. Without such a link, i t would be difficult

to properly analyse the effect of related or

inconsistent requirements because the reason for

their existence in the final SRS document has been

lost. An example of forward and backward tracing

requirements through the business and system

models developed during analysis and design is

given. Areas of further research are then

identified.

L INTRODUCTION

Proper means for assessing the quality of a software

development product or process has yet to reach a mnsensns.

Definitions of software ‘quality’ have ranged from hierarchical

d&nitions[l,2], where quality is M i as a range of related

propezties such as “usability”, “efficiency”, etc. The problem

with such a definition is that many of the attributes are related

to each other (e.g., reliability and usability), while the list

tends to he incomplete Other attempts to defiie quality have

emphasised the competing views of customers and developers

as to what’s importaut[3], where ‘quality’ often becomes a

question of the .product matching user needs[43. This

a p p r d to quality demands that the pmducis and processes are

amenable to cbaoge in order to match the changing demands of

user mpireanents, both M u g and after the construction of the

Software lqlirements specification (SRS).

ThIs paper will argue that a quality system begns with

a quality software requirements speaficahon (SRS), and that

the quality component acheved at h s point can be mantinned

throughout the development process by ” g n g the effect of

changes on the requirements The authors believe that this can

be ache>& by retainmg the business and system models

de>eloped dunng system analysis and design and mmntaimng

the links between requirements statements and implemented

funchonditj In this sense, it is the ‘meetmg customer needs

and espectahous’ defimhon of quality whch is h u g used here

By linking requrements to subsequent products, it would then

be possible to analyse the effect of requirements changes by

traang thew effect throughout the entire life-cycle Thts would

allow the consistency of any new reqwrements to be checked

(fonrard traang), as well as the consistency of change and

nmutenance requests for the implemented system aganst the

ongnal stated business goals and processes (backward b a n g )

This paper will demonstrate the feasibility of mautrumng such

traceability, and illustrate the process with an example

II. REQUIREMENTS ANALYSIS AND DESIGN

MODELS

A requirements document is the mhal expression of a

customer’s reqmments for an mformatzou system, wntten in

natural language Understanding the content of the

rquremeuts document is (often noted to be an art) referred to

as requrements analysis This stage of the life-cycle attempts

to convert the natural language expressions (or customer “wish-

list”) contained w i t h the reqmrements document into more

rigorous representations of the requred system Two important

sets of models used in the requirements analysis and design

phase are business and system models Figure 1 represents the

relahouslup between these models.

, 0-7803-2608-3

100

Page 2: [IEEE 1994 1st International Conference on Software Testing, Reliability and Quality Assurance (STRQA'94) - New Delhi, India (21-22 Dec. 1994)] Proceedings of 1994 1st International

Figure 1. The requirements-analysis phase

It should be noted that while relationships also exist

between the business models and project “agement models

(such as GANTT and PERT), these are not discussed within

this paper and so are not represented in the model.

Business models include those of the organisation,

business process and business rules, and are needed in orda to

understand the context in which the information system is

required. The organisation of a company represents the

structure that is imposed on the individuals in their execution

of thk Wks necessary for the functioning of the business.

Typically, an enterprise will be organised into a hierarchy or

network of specialised subunits, aud organisational hierarchy

diagrams may be used to model these.

Within the context of a particular company, a business

process is the set of tasks by which a company seryes an

internal or external customer and has a w e l - d e f d outcame or

set of outcomes, such as manufaEturing, marketing or des.

Models for representing business processes will typically use

dataaud resouTces flow diagrams. Busihess rules are specified

for the efficient operation of the business procaw and m

usually written docwnents developed by the organisation to

their own standards.

System models represent the solution space for

information systems implied witbin the requimne-ots document and use techniques which take a particular view. For instance,

a functional view may use data-flow diagram (e.g., [6]), a data

view may use entityrelationship diagrams (e.g., m), a

bebvionral view may use state charts (e.g., [8]). while an

object4ented view may use a synthesis of these techniques

(e.g., 191). The problem with these kfferent system views is

that they me selective about the type of i n f o d o n which is

repesenteil, while a complete view of the system may well

require more than one view to be taken. As such, recent

research has attempted to translate between these

techniqua[ll], and provide traceability from one f d model

to auother[l2].

The systems analyst is the person who carries out the

process of transformation from business to system model. It is

the job of the analyst to act as a “sieve” from the natural

language expression of the requirements to a represmtation of

the system in terms of data-flow models, logical data

structures, etc. The form and content of the system models are

checked for consistency against the business models. When the

customer is satisfied that the business models propaly reflect

the business, the analyst can verify that the system models are

consistent with this view. The result of this activity is a

software requirements specification written on the basis of the

business and system models.

The intermediate business and system models, however,

are typically viewed as ‘throw-away’, conl?ibuting simply to

the constrnction of the SRS. In the next section we will argue

that by preserving these intermediate models, the problem of

checking the consistency of new quests/requimuents bearmes

101

Page 3: [IEEE 1994 1st International Conference on Software Testing, Reliability and Quality Assurance (STRQA'94) - New Delhi, India (21-22 Dec. 1994)] Proceedings of 1994 1st International

easier.

possibiliq of measuring the quaIiq of the

development process, from reqpin“ts document to

With snch haceabilty in place, thae is (hen the

operational system.

HI. TRACING REQUIREMENTS THROUGH

ANALYSIS AND DESIGN

The snggestion to be made here is that since the d j - s t

must analyse the customer’s reqpkments in such a way that

the system models can be bnilt, &ere exists the possibility of

capturing the link between any part of the s$tem d (conshucted by the analyst), and any part of the business model

andrequirements doameat. his is becau~e t& d y s t must

perceive some part of the reqninments doaanent as an

expression of some functional requirement which is then

represeated in the system model. R‘i’ithout sllch a link, there is

no reason for the system model component to exist. This link

is represented in Figure 1 by each arrow.

when a change reqnest arrives, if the bnsiness d

system models are not retained it would be impossible to checg

the consistency of the request properly. This is becanse the

process of filtering and refining ihe mpimnmts doaawnt

towards the SRS has been lost If the models am retained,

however, it should then be possible to I%-: . whether the

change reqnest d d s which any part of thebusiness models.

If it does, then there will be a need to either:

reject the change request, became it does not

contribute to the stated organisatid or business

goals or objectives, or;

revise the business models, becanse ihe busiwss

models were shown to be incomplete b> the nem

chaogerecluest If the change request does not conflid with the b u s k s

models then it can be accepted as an additional r e m t .

Theneed then is to see if it relates to any Omer aka& stated

requirement. If i t does, then traceability wiU allow the d y s t . todetemme which part of the SRS needs to be changed to

mcorporate the new request. The following example iltnstrates

the process of fd&g infonuation s y s t q m s . r e q m s

through the business models, pior to their ~ m o n in

the systems models

A target information systemis tobedekgued to soppoa

the mannfachmng process of a company speaalrsing in sports

wear Part of the functionality of the sjstem is intended to

asmst m the a~tlvihes of predictmg demand for raw matenals,

and selecting swtable kendors It is intended that vendors will

be selected pnmanly on the basis of pnce quotatmns for the

quantities currentlj rqured The business model denved from

the anal)sis work will lnchde an organixihon herardly

shouvig the relatlonshp between production and purchasing

departments These are to be the p n m q customers of the

described functionality Analysis of the business d e s

asscxratd wth these departments has re\ealed the following

three rules among those felt to he relevant

“Qnauhhes of raw matenals ordered for each

monthll cycle should not exceed 1207 of estimated

demand for that month ”

“A vendor nil1 k. considered to be iinsabsfactorj If

the3 fad to deliler on time for two successive

orders ”

“A sati\factor) sendor will be chosen for a p e n

order i t thar pnce lor the spedicd qtlantztj of the

r a p r e d product is lotrer than all other satlsfactory

‘L endors -* I

An example of a requuement for the mformatmn slstem

mght be that the system will p o i idc the purchasing manager

with a list a 1 endors for a ~ 4 % en product The business models

(in particular ndes 2 and 3) wtll add to the rtyresentation of the

reqwement in the sjstem models, hj necessitatlng the

inclusion of hstoncal data on iendors’ deli\ er) times (nile 2),

and the mclusion of +anable pnce quanut) rather than one

pnce per product per tendor (rule 3) In a w ~ l a r may, the

process model for the target infonnatlon s)stem sill be affected

by the business model components Fonmng the list of

vendors must include a check on the status of each i endor The

smgle reqlurement statement IS thus Ctffused in the sjstem

models, and needs to be linked to the busiiiess models to allow

tracing through these models Figure 2 belou shows this

&ffusion

Subsequently, ad&tlonal funchonality may be q u u d

by the p n r c h n g manager The new reqlurement may be for

the system to provide assistance in the selechon of a vendor for

a given quantity of a gtven product T h ~ s will now invohe the

Conslderahon of rule 1, whch allow the effect of increasing

the quantity ordered on the mt pnce to be included in the

102

Page 4: [IEEE 1994 1st International Conference on Software Testing, Reliability and Quality Assurance (STRQA'94) - New Delhi, India (21-22 Dec. 1994)] Proceedings of 1994 1st International

system. No Connict cau be detected with the current business

or system models, and so the requirement may be

accommodated.

Figure 2. Diffusion bf requirements from initial statement to

system model

Fibre 3. Rate of change of system requirements specifications

Q: Once the initial system requirements speCificatiw has been agreed, how often are there changes to these requirements during development?

50s 47%

U

Rate

Backward tracing - from change reguests after the SRS

or system ha^ txxn produced to the business models oT initial

requirements document - is a vital process given the propensity

for customer’s to chauge their requirements. For instance, in a

survey of large UK corporations and computing companies by

e c w I n @ E $ ~ t h a t nSerq*ts change most or all of

the rime dming system development (see Figure 3).

complplainds made are thatr€*its are poorly dedined, too

maintenance is @ d v e ( i n e w l l s e r

r l 3 1 .

In the exanople, tbe pacha3ing lllioager may raluest @at the limit (111 plrchasing of 120% of estimate4j denlad be

The main

specolative. or kmplae. Perbps this is why 65% of

m v e d , to allow a 1- list of.suitable vendors to he

presented since it is known that a number of vendors have a

minimm delivay limit A larger v& list w d d allow the

p”6ng “ger to have more flexible n e e powers.

While the system models wiU contain a record of this limit,

In

&is c a e , it may be the case that the business p a w

the~lcati(111win be iwutded in the business models.

.poanmoa’bas mles linked to goals iy“hg the storage of exoessmatexds. Inotherwords,rule1basbeeoimposedon

the prching department as a result of its relationship with

theIEoddonaepaameat. Inordertoanalyse theimpact of

the pmposed change to the systd, backward tracing to d e

in Figne 4.

bpsiness model is vital. This backward tracing is represented

Figme4. Tracing a cbaage request to its impad on tbe business rules

IV. SUMMARY, CONCLUSIONS AND FUTURE

WORK

Thi.paper~arguedthat by retaining awl maintaining

the business and system models used during requ;ements

analysis ad design, it is possible to ensure the consistency of

the SRS docomeOt s u ~ h rhat it meets the changing needs and

e” of the customer. This is the definition of quality

the authors, of 54 replies it was found that 66% of the used throagbont the paper. Without a quality SRS it is not

103

Page 5: [IEEE 1994 1st International Conference on Software Testing, Reliability and Quality Assurance (STRQA'94) - New Delhi, India (21-22 Dec. 1994)] Proceedings of 1994 1st International

possible to prcdnce a quality system because without sufficient

justifcation for the content of the SRS the consistency of the

requirements remains in doubt and the project is being driven

by poorly defmed needs. In the worst case, the d e v e l o p will

deliver a wellcoded, well-tested failure.

With a quality SRS in place, the business and system

models can then be used to check each request for change that is

ge”& either during the analysis and design stage (and

forward tracing to the SRS document under construction), or

during implementation of the SRS (and backward tracing to the

original system models, business models or. requirements

document). The link between requirements document and SW

is a process already carried out by the analyst, and change

requests are ordinarily reviewed before implementation, so the

techniques described here can support quality SRSs ad

subsequent implementation with little additional work.

The need now is to validate the traceability technique by

implementing a means of capturing as complete a picture of

the business as possible. With this in mind, the authors are

developing an enterprise model which Mines the business

issues that need to be considered. In the model an enteqrise

has a mission which determines a number of business

objectives. Constraints placed on these objectives by the

business environment produce a number of quantifiable goals

xhich are targets for the relevant business processes.

Therefore, the enterprise model will act as a starting point for

determining what is required in the development of business

models for infokt ion systems development. Further

investigation will be aimed at produang process models for the

population and exploitation of this enterprise model.

Einpirid data wsill be Collected from case studies to validate

the stntcture and content of the enterprise model, before

applylug the traceability techniqnes to a live project.

An added value of implementing reqniremmts

traceability is that it would allow an analysis of which type of

qnirements represent a grater risk to systems development.

‘Risk‘ in this sense can be defined as either requirements which

translate into a high degree of functionality, those which are

liable to change, or those which are implemented as

components which a& error-prone. This can be deduced using

software. metria which measnre the number of requirements,

the size of the intermediate products and the size of the final

(opemtional) system. By tracing the effect of rquirements on

aspects of the fmal system, it would then be possible to weight

the cost of each requirement in terms of the implementation

e€fort, number of change requests received, and the number of

errors uncovered during the testing phase. The authors are

attempting to incorporate this analysis in their investigation.

REFERENCES

Mccatl, J. A. et d (1977) “Concepts and definitions of

software quality.” Factors in Software Quality, NTIS,

1.

Boehm, B. et al (1978) “Characieristics of Software

Quality.”Nortl-Holland, New York, NY. Watts, R. (1987) “Measuring Software Quality.” NCC

F’nblications, Manchester.

Gawim, D. A. (1%) ‘What does ‘product quality’ really

mean?’ Sloan Management Review, 26(4)), ZS43.

Kitchenham, B. A. (1989) “Software quality assnrance.”

Microprocessors and Microcomputers, 13(6), 373-381.

Gillies, A. C. (1992) “Software Quality: Theory and

Management.” Chapman & Hall, London.

DeMarco, T. (1978) “Structured Analysis and System

Specification." Yourdon Press, New York, NY. Yourdon, E. (1989) ‘Modern Structured Analysis.’’

Rentice-Hall, Englewood Cliffs, NJ.

Harel, D. (1987) “Statecharts: A visual formalism for

complex systems.” Science of Computing.

C o d , P. and Yourdon, E. (1990) “Object-oriented

Analysis.” Prentice-Hall, Englewood Cliffs, NJ.

Jordan, K. A. and Davis, A. M. (1991) “Requirements

engineering metamodel: An integrated view of

requirements.” In Proceedings, 15th A ~ u a l

International Computer Software and Applicatious

C d e m c e , Tokyo. Japan, 11-13 September, 1991,

pp472478.

Border, J. and Janning, T. (1992) ‘Traceability

behveen requirmaits and design: A transformational

approach.” In Proceedings, 16th Annual International

Compnter Software and Applications Conference,

Chicago, IL, 21-25 September, 1992, pp362-368.

Lientz, B. P. and Swanson, E. B. (1980) “Software

Maintenance Management.” Addison-Wesley, Reading,

MA.

1 04