13
Knowledge-based support for requirements engineering P Loucopoulos and R E M Champion The accurate capture and representation of user requirements plays a critical role in the construction of effective and flexible information systems. Despite the introduction of development methods and CASE tools in the project life-cycle, the process of developing a requirements specification remains problematical. The paper proposes that the process of requirements specifica- tion should be considered from a viewpoint that is close to an analyst's cognitive processes. To this end the paper presents a requirements specification support environment that is based on the premise that it is advantageous to carry out modelling at the early stages of development independent of any particular software engineering method. This support environment, known as the Analyst Assist system, exploits knowledge-based paradigms for the capture and modelling of facts about an application domain, which are then transformed into a functional specification represented in the Jackson System Development method. information systems, systems development methods, requirements engineering, knowledge-based environments In recent years there has been a growing realisation that the development of large information systems is becoming increasingly more difficult as user requirements become broader and more sophisticated. The complexity that is exhibited by most contemporary application domains and the subsequent problem of developing automated information systems for these domains has proved that the traditional, informal approach to development (as shown in Figure l(a)) is no longer feasible. The gap between the initial statement for the requirement of an automated information and its eventual implementation is far too great for this approach to be feasible. Obviously, there is a need for a discipline that establishes the appropriate procedures for managing large development teams within a systematic framework that recognises well identified tasks and milestones. The major response to such a need has been the emergence of a number of system development methods, each consisting of meta- models for system representation, a process by which to construct specifications and a set of computer-assisted Department of Computation, UMIST, PO Box 88, Manchester, M60 IQD, UK software engineering (CASE) tools to aid develop- ment ~-3. Examples of such methods are Informa- tion Engineering 4, JSD 5, NIAM 6, SADT 7, SASD s, STRADIS 9, and a plethora of other more or less similar methods (see Layzell and Loucopoulos ~° for a bibliog- raphy). These methods and associated CASE tools pay particular attention to the construction of a high-level specification of a system before this system is developed. This is shown in Figure l(b) as the 'system specification' component. Such a component normally contains a functional specification of the intended information system. Despite the increasing use of these methods and the undisputed advantages that these methods bring to the management of a project, however, users continue to experience major difficulties~ ~. It has often been reported that over 50% of software malfunctions have their origin in the process of requirements capture, although the effect is not detected until later stages, giving rise to a figure of 80% of personnel resources being committed to the debugging and testing of source code 12'13. In essence the difficulty with the model of development shown in Figure l(b) is that there is a large gap between the user's world (the application domain) and the developer's objective (the target system). A more appropriate approach to development would be one that explicitly recognised requirements analysis and specification and that provided formalisms and tools for the effective undertaking of these activities. This approach, shown schematically in Figure l(c), is increas- ingly receiving attention by researchers in the field of software technology13 - t 6 According to the paradigm of Figure l(c), the tasks associated with requirements specification fall into two areas, namely, modelling and analysis ~7. Modelling refers to the mapping of real world phenomena onto basic concepts of a requirements specification language. Such concepts serve as the means of building various structures that, in their totality, constitute the requirements specifi- cation for a problem domain, while analysis refers to the techniques that are used to facilitate communication between requirements engineers and end-users for the purpose of verification. Following these views, require- ments engineering can be defined as the systematic process vol 31 no 3 april 1 9 8 9 0950-5849/89/030123-13 $3.00 © 1989 Butterworth& Co (Publishers) Ltd 123

Knowledge-based support for requirements engineering

Embed Size (px)

Citation preview

Knowledge-based support for requirements engineering

P Loucopoulos and R E M Champion

The accurate capture and representation of user requirements plays a critical role in the construction of effective and flexible information systems. Despite the introduction of development methods and CASE tools in the project life-cycle, the process of developing a requirements specification remains problematical.

The paper proposes that the process of requirements specifica- tion should be considered from a viewpoint that is close to an analyst's cognitive processes. To this end the paper presents a requirements specification support environment that is based on the premise that it is advantageous to carry out modelling at the early stages of development independent of any particular software engineering method. This support environment, known as the Analyst Assist system, exploits knowledge-based paradigms for the capture and modelling of facts about an application domain, which are then transformed into a functional specification represented in the Jackson System Development method.

information systems, systems development methods, requirements engineering, knowledge-based environments

In recent years there has been a growing realisation that the development of large information systems is becoming increasingly more difficult as user requirements become broader and more sophisticated. The complexity that is exhibited by most contemporary application domains and the subsequent problem of developing automated information systems for these domains has proved that the traditional, informal approach to development (as shown in Figure l(a)) is no longer feasible. The gap between the initial statement for the requirement of an automated information and its eventual implementation is far too great for this approach to be feasible. Obviously, there is a need for a discipline that establishes the appropriate procedures for managing large development teams within a systematic framework that recognises well identified tasks and milestones. The major response to such a need has been the emergence of a number of system development methods, each consisting of meta- models for system representation, a process by which to construct specifications and a set of computer-assisted

Department of Computation, UMIST, PO Box 88, Manchester, M60 IQD, UK

software engineering (CASE) tools to aid develop- ment ~-3. Examples of such methods are Informa- tion Engineering 4, JSD 5, NIAM 6, SADT 7, SASD s, STRADIS 9, and a plethora of other more or less similar methods (see Layzell and Loucopoulos ~° for a bibliog- raphy).

These methods and associated CASE tools pay particular attention to the construction of a high-level specification of a system before this system is developed. This is shown in Figure l(b) as the 'system specification' component. Such a component normally contains a functional specification of the intended information system. Despite the increasing use of these methods and the undisputed advantages that these methods bring to the management of a project, however, users continue to experience major difficulties ~ ~. It has often been reported that over 50% of software malfunctions have their origin in the process of requirements capture, although the effect is not detected until later stages, giving rise to a figure of 80% of personnel resources being committed to the debugging and testing of source code 12'13. In essence the difficulty with the model of development shown in Figure l(b) is that there is a large gap between the user's world (the application domain) and the developer's objective (the target system).

A more appropriate approach to development would be one that explicitly recognised requirements analysis and specification and that provided formalisms and tools for the effective undertaking of these activities. This approach, shown schematically in Figure l(c), is increas- ingly receiving attention by researchers in the field of software technology13 - t 6

According to the paradigm of Figure l(c), the tasks associated with requirements specification fall into two areas, namely, modelling and analysis ~7. Modelling refers to the mapping of real world phenomena onto basic concepts of a requirements specification language. Such concepts serve as the means of building various structures that, in their totality, constitute the requirements specifi- cation for a problem domain, while analysis refers to the techniques that are used to facilitate communication between requirements engineers and end-users for the purpose of verification. Following these views, require- ments engineering can be defined as the systematic process

vol 31 no 3 april 1 9 8 9 0950-5849/89/030123-13 $3.00 © 1989 Butterworth & Co (Publishers) Ltd 123

a

Build

Verify

_1 -I Automated information

system

Analyse a n d

j 4 1 1 Vet i fY ''

b

1 System specification

- - B u i l d

91~----Ve r i fy

_I -I Automated information

system

S Observe /

rify

S'v, ½

C - -

Universe of discourse

model Constrain

-.. - . . . . Build

Design specification

,41~-- Ve r i fy

D e s i g n ~ ~

Functional system model ~ e r i f y

Figure 1.

Verify

Paradigms for developing automated information system

Automated information

system

of developing requirements through an iterative process of analysing a problem, documenting the resulting observations, and checking the accuracy of the under- standing gained.

It is becoming increasingly obvious that a requirements specification should be more than just a functional specification of the system. What is also required is a model of the application domain that expresses clearly the domain's properties and constraints that, together with a set of nonfunctional requirements, dictate the behaviour of the system. It is the authors' belief that such a view should be supported by requirements elicitation techniques and computer-assisted tools that support this process. In addition to this, there is a need to provide facilities that better reflect the problem-solving behaviour of requirements analysts. Vitalari and Dickson 1 a showed that experienced analysts exhibit five major types of behaviour:

• analogical reasoning • planning, goal setting, and strategy formulation • hypothesis management • operative knowledge for the application of heuristic

knowledge • problem facilitation

This behaviour is supported by different 'knowledge bases', which fall under the following categories' 9:

• organization-specific knowledge • functional domain knowledge • application domain knowledge • development method knowledge

An emerging theme from most studies on the task of requirements specification is the importance of applica- tion domain. In a recent field study of the software design

124 information and software technology

process for large systems, Curtis e t al . 2° report that to build successful systems, a developer needs to be familiar with application-specific knowledge and in particular must be able to integrate knowledge from different domains. The study in Curtis e t aL 2° revealed, however, that in most cases application domain knowledge is thinly spread throughout the development team, with the result that the productivity and quality are compromised.

From the preceding analysis of the requirements specification task, it becomes obvious that the current state of the art in CASE environments scarcely addresses any of the issues of concern. Simplistic reasoning, found in most contemporary tools, merely serves as a passive agent (i.e., a data dictionary of specification components), and therefore a new approach that recognises the issues discussed above must be sought. A prototype system known as Analyst Assist has been developed to provide a richer environment for the capture and specification of requirements. This system provides novel facilities for the acquisition and modelling of domain-specific facts and their integration into specifications following the Jackson System Development (JSD) method syntax.

The remainder of this paper describes this prototype system, its basic architecture, and functionality of one of its main components, namely, the requirements elicitation subsystem. The next section gives an overview of the entire system, together with an introduction to the requirements elicitation subsystem. The section 'Model for fact representation' briefly introduces the formalism used for modelling any captured facts about an applica- tion domain. The section 'Requirements modelling using Analyst Assist' gives a detailed description of the requirements elicitation subsystem. This is done in terms of the three main facilities of concept elicitation, concept resolution, and decision tracing.

A R C H I T E C T U R E O F K N O W L E D G E -

B A S E D R E Q U I R E M E N T S E N G I N E E R I N G

E N V I R O N M E N T

The hypothesis of the work presented in this paper is that a knowledge-based approach, with appropriate techniques and tools, shows considerable promise in aiding the process of requirements capture. This hypothe- sis is partly based on the results of a number of empirical studies that set out to investigate the process of requirements analysis. In two such studies the differences in behaviour between high- and low-rated analysts were investigated in an attempt to identify efficient prac- tices 18'21. In a similar study, Adelson and Soloway 22 looked at the differences between novice and expert analysts. Gibson and Harthoorn 23 carried out a task analysis of the way that experienced analysts apply the JSD method in large application domains.

Based on the results of these studies, several major types of reasoning process and behaviour that contribute to the performance of experienced and expert analysts have been identified 24, including analogical reasoning, hypothesis formulation, summarization, and the use of

domain knowledge. Therefore, CASE tools should possess not only the standard documentation and consistency checking capabilities found in many contemporary tools, but that they should also have a reasoning capability based on expert analysts' knowledge. To this end, a prototype system, Analyst Assist, has been developed to provide assistance during the phases of requirements elicitation, modelling, and verification 25"26. The main objectives of the system are:

• to validate the specification animating the specification

to capture informal requirements and improve the transition from informal requirements capture to formal representation through the use of domain and analysis knowledge to specify and document requirements using the JSD method

by prototyping and

Analyst Assist system architecture

The architecture of the system for meeting these objectives is shown in Figure 2, which, for convenience, is divided into two realms the user's realm and the analyst's realm, each of which is intended to represent the different levels of abstraction involved in knowledge capture.

The user's) realm part of the system is concerned with the elicitation of facts about an application domain from users. The typical processes involved in this activity are the questioning of users, recording of answers, and validation of gathered information. It is assumed that the questioning and recording activities will be conducted by analysts with machine-assistance (fact gathering) in the construction of question checklists and a facility for the summarizing and recording of users' answers in a structured fashion. Central to this activity is the use of domain knowledge. In the validation activity, the models produced through the analysis of gathered information are presented to users for checking, either in static form (specification presentation) or through dynamic presenta- tion, simulation, and execution (specification execution).

The analyst's realm is concerned with the structuring of gathered facts into a consistent specification of a system, primarily driven by method knowledge, in this case knowledge that pertains to JSD. Typical processes involved in this activity are structuring of gathered facts in a form consistent with JSD constructs (specification building) and consistency checking (specification verifica- tion). The functionality of the modules in the analyst's realm is analogous to that of current CASE tools. The specification building component provides the means of generating and recording a specification in terms of the entity structure diagram and the system structure diagram. In addition to this standard facility, however, the specification verification module provides the means of animating a specification. The functionality of the specification building and specification verification modules is described elsewhere 27,2s.

Arguably the most problematic of requirements engin- eering activities is the capture of pertinent facts about an

vol 31 no 3 april 1989 125

User's realm

Analyst knowledge

Specification representation

Specification execution

Figure 2.

Specification verification

Analyst Assist architecture

Specification translation

Implementation environment

Specification building

AnalysPs realm

application domain. The Analyst Assist system provides a number of powerful facilities that attempt to ease the task of requirements capture, and the remainder of this paper concentrates on this critical function.

Requirements elicitation subsystem

Central to the Analyst Assist system in the Requirements Elicitation and Specification Tools (REST), which is a composite term to refer to a number of software modules, each contributing towards the interpretation of facts in a user fact base and the development of a JSD specification. An abstract architecture of REST is shown in Figure 3.

The user fact base is concerned with the storage of application-dependent concepts before these concepts are interpreted in terms of JSD constructs. This database is populated using a fact input tool. This tool is guided by an elicitation dialogue formulator, which makes use of the domain knowledge base and current state of the user fact base.

The JSD specification holds an evolving system specifi- cation in terms of JSD structures for the model and network stages of that method. This specification is developed via the REST (making use of the user fact base) and with the assistance of two diagramming tools shown in Figure 3 as the JSD input tool component. The JSD method advisor acts as an assistant on the method steps

of JSD and provides consistency checking on the evolving JSD specification. The JSD to fact base tracing facility is used to link a JSD specification to the concepts in the user fact base from which it was derived and to update or annotate information held in it due to information input by the analyst using the JSD input tool.

M O D E L F O R F A C T R E P R E S E N T A T I O N

To simplify the system architecture, the knowledge bases and user fact base share the same underlying representa- tion. The formalism chosen is broadly based on the use of conceptual structures 35 for knowledge representation and reasoning. While conceptual structures are often associated with the understanding of natural language, involving large semantic nets, comprehensive lexicons, and precise grammar rules, it is important to emphasize that the use of conceptual graph theory within require- ments elicitation and formalization does not involve the same degree of complexity. The concepts and relation- ships employed can be limited to those that are relevant to the current domain of interest.

Conceptual graphs are finite, connected bipartite graphs, and the two nodes of the bipartite graph are concepts and conceptual relations. Every conceptual relation has one or more arcs, each of which must be linked to some concept. The collection of all the

126 information and software technology

G

Figure 3.

Ana lys t

Fact i npu t too I

E l ic i ta t ion d ia logue

fo rmu la to r

Domain knowledge exp lo i t e r

I

I I a

I I

i I I

!

I Fact base I

to JSD I t r ans la to r I

I REST

I JSD to I

fact base I t r ac ing I fac i l i t y I

I I

JSD p r im i t i ve iden t i f i e r

JSD method adv iso r

(model and ne two rk )

Requirements Elicitation and Specification Tool architecture

JSD inpu t tool

Ana lys t

G

relationships that concepts have to other concepts is called the semantic net. All conceptual graphs are linked to the semantic net, and so access to any graph is possible from any concept or relation.

The following components of conceptual graph theory have been implemented to provide a representation and reasoning medium for use by the domain knowledge base and user fact base that directly support the process of fact gathering.

• Separate hierarchies of concept types and relation types, which define the relationships between domain concepts and relations at different levels of generality.

• Prototype descriptions of each concept, which can be linked to the concept type hierarchy.

• Formation rules to determine how each type of concept may be linked to conceptual relations and to other concepts.

• Conceptual graphs linked to each concept, defining how the concept should be used in a domain (canonical graph) or how it may be used (scenario graph).

A detailed description of the conceptual structures employed in the model for REST is beyond the scope of this paper. The interested reader is referred to Champion et aL 29 for a comprehensive description of these conceptual structures.

REQUIREMENTS MODELLING USING ANALYST ASSIST

Requirements elicitation in Analyst Assist is based on the premise that an analyst should be able to define any 'thing' of the modelled application domain as a potential concept of interest and that the final set of concepts can only be decided on after careful considera- tion of various scenarios about the role that these concepts play. Therefore, 'concepts capturing and resolution' uses:

• The semantics of conceptual graphs. Concepts are placed in semantic networks with the top-level concepts

vol 31 no 3 april 1989 127

being predefined as those of ENTITY, EVENT, QUANTIFIER, VALUE, STATE, and TIME. Con- ceptual relations are also classified by type. A hierarchy is defined over the type labels of the conceptual relations defined for the current domain.

• The domain knowledge base. The domain knowledge base may contain information about one or more concepts about the current application domain. This knowledge is used in automatically deriving conceptual graphs for these concepts and later on for their resolution.

• A natural language output facility. All information presented to the analyst during an input session and subsequent resolution is shown in such a way as to hide the underlying formalism. Where possible, general rules for translating conceptual graphs into English are used; however, where more complicated representa- tion is required in the user fact base, for example, in the representation of constraints, these must be dealt with by special purpose rules.

nature of the process of facts gathering it is advantageous to permit an analyst to carry out this process in a variety of ways. Analyst Assist provides the following three tools.

Text analyser This tool allows an analyst to highlight keywords and phrases from a document. Single words are stored in the user fact base as concepts. Phrases highlighted by the analyst are analysed by the system to find known concepts and to insert the appropriate conceptual relations between them. The concepts include those identifed by the analyst and those that are known to the system as part of the domain knowledge. Where the concepts are known to the domain knowledge base, the appropriate conceptual relations can also be derived. Otherwise the conceptual relations have to be derived from the concept hierarchy or by use of the elicitation dialogue formulator. The concepts and relations thus derived are used to produce conceptual graphs for storage in the user fact base.

Capture and representation o f domain-specific

facts

The purpose of capturing facts about an application domain is to allow an analyst to reason with all information that is perceived to be relevant so that a system specification can be constructed. Because of the

Hierarchy editor The concepts known to the system are described in terms of their relationships with other concepts and are arranged in a concept hierarchy. This tool allows an analyst to classify concepts by placing them directly in the hierarchy, thus bypassing the text analyser.

Analyst Assist = Stage II Fact Gathering Prototype vorslon 112.o-o /

Analymt : bob

I°m ~'*"" I I 'nmu~ II ~.o,ve l I ~ee*e ]l beoo,e I

Figure 4. Text analyser

128 information and software technology

Eiieitation dialogue formulator In situations where more information about a concept is required, and neither of the tools described above are appropriate, it may be necessary for an analyst to be asked specific questions to elicit the information. This tool uses the information contained in the user fact base and the domain knowledge base to construct these questions as they are needed.

As an example of the fact gathering process using Analyst Assist, consider the case of a university library. Text about this application domain is shown in the text analyser window in Figure 4. The underlined text signifies that an analyst has highlighted these concepts as being of interest. The process of storing these concepts in the user fact base is demonstrated graphically in Figure 5.

Figure 5 shows the basic types of data to be stored in the user fact base during an elicitation session. The schema 'cgl' represents the conceptual graph of the user-supplied information. As a direct result of this c o n c e p t t y p e , schemas are created for the concepts 'MEMBER', 'BORROW', and 'BOOK'. The conceptual graph cgl is linked to each of these as a scenario for the concept. The relevant domain knowledge for the concept 'BORROW' is shown as cg2 and is also provided as a scenario for the concept. The resolution of the two scenarios is trivial in this example, and the resulting conceptual graph, cg3, is linked to the current view slot of the concept schema. The schemas cgl and cg2 are then marked as 'shadowed', to indicate that they have been resolved with the current view.

The concepts represented in the user fact base may be viewed (and further extended) by using the hierarchy editor as shown in Figure 6. The hierarchy editor window shows the type of specialization of each concept in relation

to the predefined system concepts. This means that each new concept introduced in the user fact base inherits relationships with other concepts from its supertype. The placement of a concept in the hierarchy does not preclude subsequent alterations that would change its position in the hierarchy. Such a change may result from further analysis and resolution of requirements, which are handled by the resolution facility of the system.

As well as identifying individual concepts such as MEMBER, BORROW, and BOOK, it is possible to highlight phrases within the text that imply semantic links between the concepts. Then the system can be prompted to derive the nature of these links. An example of this is shown in Figure 7. The selected phrase window shows the highlighted phrase from the original text, together with a list of all currently known concepts. Links may be established between the three concepts, and the system's interpretation of these links is presented in the created scenario window. It is now up to the analyst, working with the end-user, to select the most appropriate interpretation, which will subsequently be stored in the user fact base.

Resolution of captured domain-specific facts

Resolution of information within the user fact base takes place under the supervision of the analyst, but some automatic checking of consistency can be carried out. These checks imply the need for a more formal representa- tion of facts in the user fact base. Where more complicated dependencies exist in the information, for example, in the interdependence of requirements and constraints, a set of rules is required to maintain consistency.

The current version of the prototype includes facilities for viewing the entire contents of the user fact base about

cgl

Input_ source I

From ~'¢ doma i n

knowledge

Figure 5.

I Concept_type 'BORROW'

Creation of C o n c e p t T y p e 'BORRO W" in user fact base

vol 31 no 3 april 1989 129

1~ Analyst Assist - Stage II Fact Gathering Prototype wr ,mn # e . ~ e

/

Anmlyat : bob

I ° p , , * . . I m . . , ~ m I . ° . * ' ~ . I I * ' 0 " II b . . ~ . . I

ADO -NEWOONOEPT| BOOK BORROM LORM MEHBER OVERDUE REMEW RE6ERVE RETURM GTflFF 6TU~ENT

e x l ~ xenu ® i F'RunlversitW l:

Books m~W be ~orrowed for UP to three wee~e0 A f t ° r whlc~ the~ must OO returned. ~ Member M~W borro W no More than 5 book8 ~ • time, BOOKS on loan w hich mr° B . ~ are eu~Ject to = d=ll~ flne, Book° MnU be rene~ed, if the~ ~re not elrea~ rem lrvmO b W mnother mem~lr.

I'~m, lu.ohy editor

COMMANO WINOOW

Figure 6. Hierarchy editor

Analyst Assist = Stage Ii Fact Gathering Prototype verWon #t.0-e - /

Anll~/ot : bob

l o p t , o - I [ , .pot J l " o ' ~ ' l [ ~ . * e II b .o . . . I

F.N~R |CENAR~ add to UFB

e x l t nenu

IWmrarol~ s d t o r

ul: PB,RB; LO.TENT#)

Crettod|oooar~| I 4b

bOokm # borrows #membere. ! members with ~ooke ~orrow. membere wlth booke are borroweo. CBO0~ * (PART) * [MEMBER] * (RGNT) * CBORRO

~soo~] • (eRm) • [MEMBER] • (OeJ) * [BORROW j. O00kB Wlth flembor8 Are Oorro~eo. booke of member° are Oorrowmd. Dook# ore Dorrowed OW memOers, bookm ewe borrowed mem~ere,

)elected PBraN

R unlvmrmlt W ~ibrarw ha| ~ember| who borrow bookm

MEMBER ~BORROW !BOOK

m WINDOW

Figure 7. Scenario formation

130 information and software technology

a particular concept and for the rationalization of this information. As an example, consider again the university library case study. Figure 8 shows the information stored in the user fact base, in the window labelled User Fact Base and Domain Knowledge Scenarios about the concept MEMBER. The window scenario options shows the available operations that can be performed on the user fact base knowledge about MEMBER. The 'make current view' option allows the analyst to mark a conceptual graph as that which represents the most accurate description of the concept; the 'shadow' option refers to those scenarios that have been previously discarded (but nevertheless saved); the 'join' option permits the merging of two or more existing scenarios. Figure 8 shows two unresolved scenarios for the concept MEMBER that may be joined and be made the current view.

The advantage of the resolution facility is that it allows the incremental development of information about each concept in the user fact base. The join operation includes functions to enforce consistency in the scenarios being joined, but in the case where conflicts arise, different views of the same concept may be developed in parallel.

T r a c i n g ana ly s t dec i s ions

During the development of a requirements specification, analysts adopt certain lines of action, decide which information is appropriate, discard previously considered

options, and so on. In other words, the construction of a requirements specification is nonmonotonic and, there- fore, tools to assist in the tracing of the diverse decisions taken by analysts in the process of deriving a specification are considered as providing another source of assistance.

The current version of the prototype system allows the source of information in the user fact base to be traced. This may include details of the source document, the analysis, or the date of the input session.

In addition to this, the system provides traceability of analyst decisions. These will correspond to two different additions to the user fact base. First, facts that the analyst wishes to add without providing a documentary source, i.e., the analyst's own ideas and notes. Second, there is a need to record information concerning the decisions made about the data in the user fact base, in particular decisions to do with the reconciliations of differing views or contradictory information. Figure 9 shows how this extra information will be stored in the user fact base.

In the diagram, since cg9 represents the current view of the concep t type 'BORROW', and cg9 is linked to a resolution of cgl, cg4, and cg5, these scenarios need not be considered unless an analyst wishes to investigate the origin of a current view. Scenarios can be shadowed by a decision in this way and so reduce the amount of information presented to an analyst at each session. New scenarios and old current views may be shadowed by subsequent decisions, but the traceability is maintained by the decision history.

Analyst Assist - Stage II Fact Gathering Prototype I ,,r, to, #~,0-p - /

A r m l . y l ¢ : b o b

I op~'*"'ll i.p., I - - - - - - - [ ' - * , I1 b . . , , ]

I O E N A N O 0 ~ |

R I k f o u r r e n t V I t w d l s o e P d J o i n

U . r Flct B i le &rid Dlmt41n Knowiodlle Iclk~4Plee of MEMRR

? books ~re renewed b W nombore, ? book l a r l ~ o r r o u l d b W R I R ~ I r l . lI

C M U W

Figure 8. Resolution options

vol 31 no 3 april 1989 131

I s Input-~ o u r c e _ l ~ From domain

knowledge

ConceptMype 'BORROW' cg6

Input_ source_2

Resolution between cgl, cg4, and cg5 Decision

linking cg9 with cgl, cg4 and cg5

Figure 9. Resolution and decision recording in user fact base

For the representation in the user fact base, conceptual graphs attached to concept types will be marked either 'shadowed' or 'current'. There may be only one current view for each concept type that is marked as current. Each current view will be linked to a decision, showing how it was derived and hence which scenarios and previous current views are shadowed by it.

The tracing of analysts' decisions in the current version of the prototype is shown in Figure 10. The 'decision history' window shows the details of the decision labelled 'd540', which has been selected by the analyst as relevant to the current view of the concept MEMBER. These details include a description of the type of decision made, the analyst responsible, the date, and a list of scenarios that have been shadowed as a result of the decision. Subsequently, the analyst can review any of the scenarios listed.

C O N C L U S I O N S

This paper has argued that the demand for more reliable and cost effective information systems should force

solutions to be sought in areas most likely to yield maximum benefits. One of the major emerging themes in the area of information systems development research is the realisation that correct requirements specification holds the key to the construction of effective and flexible systems. At the same time it is recognised that the area of requirements capture is fraught with problems such as uncertainty and vagueness in the users' requirements, complexity about the modelled domain, and lack of adequate techniques and tools that can bridge the gap between users and developers.

The work reported in this paper represents an attempt at improving requirements capture and specification through the use of knowledge engineering techniques. It is proposed that requirements specification is primarily a knowledge-intensive activity and the work reported here follows the premise that the next generation of requirements engineering environments will be knowl- edge-based environments. To this end, the work pre- sented complements other research efforts in the wider sphere of software engineering 3°-34.

In this paper a clear distinction is made between requirements and design specifications. It is argued that

132 information and software technology

Analyst Assist = Stage II Fact Gathering Prototype

I *P"*"" I I , .pu, I ~ m m . . m I b . ~ . I

eermJon I,P..O.P

/

Armlyat : bob

Oeolek~ Hlet~y

D e o l e l o n : ~54e

ShadowS: CG512

Ameer ts~ C0531

DECIBION DETRILS: reoson: user Oeclelon in resolve tool • n~Iwet: bOO O A t l Of I l l l l O n : ~ 9 e 9 / 1 / 2 3 . . . . . . . . . . . . . . . . . . . . . . . . .

OONOLrPT WFOOIMAIlON

R w s o l v s d I n f o r m a t i o n U n r e s o l v e d I n f o r m a t i o n D l s o a r d e d I n F o r n a t l o n 9 e o l s l o n s O r i g i n

e ~ l t nenu

moues information For furthmr OltAILll

Dsclslone rilAte~ to MEMgER#GENERIO e r e i . . . . . . . . . . . . . . . . . . . . . . . . . . . . O~g O524 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

moues lnformstlon for Further ~ e t = 1 1 e

Reeolveded Into

Current U1ew - C053! R s e e r t e O DW D e e l e l o n - 0540 . . . . . . . . . . . . . . . . . . . . . . . .

Doecrlpclon of ourront vlow I DooRs renews DW memOere Are OorrowmO DW meMOs

re. ........................

~ e c l s I Q n : e S a l l e , Rnmlwe t Involve: - : : D Robson for ~ o o l s l o n - N I L Date of D e c l e l o n - 1 9 8 9 1 1 / 2 3

a ,

COMMAND WINNOW

Figure 10. Tracing analysts' decisions

a requirements specification should be concerned with the understanding of a problem, whereas a design specification should pay attention to logical and physical structures that implement the requirements. Therefore, the development of a requirements specification involves modelling the relevant application domain, resulting in a model that is cognitive in nature. In the past, requirements specifications have played a passive role and have been viewed as fixed throughout the life of an information system. The thesis put forward in this paper is that a requirements specification needs to evolve to reflect changes in the application domain and that these changes must be implemented in such a way so as to ensure that users and developers are clear on the implications that the changes will have on the design and operational characteristics of the system. Because of the nature of requirements elicitation, the paper proposes that this objective can be achieved by a knowledge-based approach, such as that followed in the Analyst Assist system.

The system described in this paper has been developed on Texas Instruments Explorers using ART and Common LISP. The prototype system has also been ported on Sun workstations also running under ART and Common LISP. It has been the intention of the authors to adopt a single unifying representation formalism for the expression of facts in the user fact base and knowledge within the

domain knowledge bases since such an approach has several advantages. The informality that characterizes much of the initial requirements elicitation process is supported by the linguistic basis of conceptual structures. The representation is based on a user-defined type hierarchy of concepts occurring in the domain of interest. Linked to each concept in the hierarchy is a definition,

'together with examples of semantic and episodic informa- tion about the concept, all expressed as conceptual graphs. The choice of formalism also has implications for the validation of the requirements independent of a design method. The linguistic basis of the concept and relation- ship definitions allows both the domain knowledge and the existing application knowledge to be presented to the user in terms of the semantics of the domain rather than the semantics imposed by any design method, thus broadening the applicability of the general approach to any system development method.

A C K N O W L E D G M E N T S

The work reported in this paper was conducted as part of the Analyst Assist project. This is a collaborative project involving Data Logic, UMIST, Scicon, MJSL, MUD- (ARE), and Istel. The work undertaken by the authors of this paper is supported by the UK Science and

vol 31 no 3 april 1989 133

Engineering Research Council Grant No GR/D 72648- SE/113 as part of the Alvey Programme of Research and Development.

REFERENCES

10 l l e , T W, Sol, H G and Verrijn Stuart, A A Information systems design methodologies: a compara- tive review (IFIP WG 8.1 CRIS I) North Holland, Amsterdam, The Netherlands (1982)

2 0 l l e , T W, Sol, H G and Tully, C J Information systems design methodologies: a feature analysis (IFIP WG 8.1 CRIS II) North Holland, Amsterdam, The Neth- erlands (1983)

3 0 l l e , T W, Sol, H G and Verrijn-Stuart, A A Proc. IFIP WG 8.1 Working Conf. Comparative Review o[ Information Systems Design Methodologies: Improv- ing the practice Noordwijkerhout, The Netherlands (5-7 May 1986)

4 MacDonald, I 'Information engineering an impro- ved, automatable methodology for designing data sharing systems' in Olle, T W, Sol, H G and Verrijn- Stuart, A A (eds) Information systems methodologies." improving the practice IFIP-North Holland, Amster- dam, The Netherlands (1986) pp 173-224

5 Jackson, M System development Prentice-Hall, Englewood Cliffs, N J, USA (1983)

6 Verheijen, G and van Bekkum, J 'NIAM: an inform- ation analysis method' in Olle, T W, Sol, H G and Verrijn-Stuart, A A (eds) Information systems metho- dologies: improving the practice IFIP-North Holland, Amsterdam, The Netherlands (1986)

7 Ross, D T 'Structured analysis: a language for communicating ideas' IEEE Trans. Softw. Eng. Vol SE-3 No 1 (1979)

8 DeMareo, T Structured analyis and system specific- ation Yourdon Press, New York, NY, USA (1978)

9 Gane, C and Sarson, T Structured systems analysis: tools and techniques Prentice-Hall, Englewood Cliffs, NJ, USA (1979)

10 Layzeil, P J and Loueopoulos, P Systems analysis and development (2nd edition) Chartwell-Bratt, Bromley, UK (1987)

I 1 Morris, E P 'Strengths and weaknesses in current large DP' in Proc. Alvey/BCS SGES Workshop Sun- ningdale, UK (January 1985)

12 Chapin, N 'Software lifecycle' in Proc. INFOTEC Conf. Structured Software Development (1979)

13 van Assche, F, Layzell, P J, Loucopoulos, P and Speltincx, G 'RUBRIC: a rule based representation of information system constructs' in Proc. 5th Annual ESPRIT Conf. Brussels, Belgium (14-17 November 1988) North-Holland, Amsterdam, The Netherlands (1988) pp 438-452

14 Greenspan, S 'Requirements modeling: a knowledge representation approach to software requirements definition' Technical Report No CSRG-155 University of Toronto, Toronto, Canada (1984)

15 Hagelstein, J 'Declarative approach to information systems requirements' Knowl.-Based Syst. Vol 1 No 4 (September 1988) pp 211-220

16 Jarke, M, Jeusfeld, M and Rose, T 'Modelling software processes in a knowledge base: the case for information systems' Knowl.-Based Syst. Vol 1 No 4 (September 1988) pp 197-210

17 Dubois, E et al. 'The ERAE model: a case study' in Olle, T W, Sol, H G and Verrijn-Stuart, A A (eds) Information systems methodologies: improving the practice IFIP-North Holland, Amsterdam, The Netherlands (1986) pp 87-106

18 Vitalari, N P and Dickson, G W 'Problem solving for effective systems analysis: an experimental explor- ation' Commun. ACMVo126 No 11 (November 1983) pp 948-956

19 Vitalari, N P 'Knowledge as a basis for expertise in systems analysis: an empirical study' MIS Q. (September 1985) pp 221-241

20 Curtis, B, Krasner, H and lscoe, N 'A field study of the software design process for large systems' Commun. ACM Vol 31 No 11 (November 1988) pp 1268 1287

21 Fickas, S 'Automating the analysis process: an example' in Proc. 4th Int. Workshop Software Specific- ation and Design Monterey, USA (1987)

22 Adeison, B and Soloway, E 'The role of domain experience in software design' IEEE Trans. Softw. Eng. Vol SE-11 No 11 (November 1985)

23 Gibson, M and Harthoorn, C 'The use of JSD' Analyst Assist internal report AA-UO010 UMIST, Manchester, UK (1987)

24 Loucopoulos, P and Champion, R E M 'Knowledge- based approach to requirements engineering using method and domain knowledge' Knowl.-Based Syst. Vol 1 No 3 (June 1988) pp 179-187

25 Flynn, D J, Layzell, P J and Loucopoulos, P 'Assisting the analyst the aims and objectives of the Analyst Assist project' in Proc. BCS Conf. Software Engineer- ing Southampton, UK (1986)

26 Loueopoulos, P, Layzell, P J, Champion, R E M and Gibson, M 'A knowledge-based requirements engineering environment' in Proc. Conf. Knowledge Based Software Assistance (KBSA) Utica, USA (2-4 August 1988)

27 Adhami, E 'An environment for the execution and graphical animation of JSD specifications' in Proc. Int. Workshop on Knowledge-Based Systems in Soft- ware Engineering UMIST, Manchester, UK (March 1988)

28 Bird, B 'Building of JSD specifications' in Proc. Int. Workshop on Knowledge-Based Systems in Software Engineering UMIST, Manchester, UK (March 1988)

29 Champion, R E M, Gibson, M and Harthoorn, C 'Conceptual structures in the fact gathering system' Analyst Assist internal report AA-UO067 UMIST, Manchester, UK (1987)

30 Waters, R C 'The Programmer's Apprentice: a session with KBEmacs' IEEE Trans. Softw. Eng. Vol 11 No 1 (November 1985)pp 1296-1320

31 Rich, C, Waters, R C and Reubenstein, H B 'Toward a

134 information and software technology

requirements apprentice' in Proc. 4th Int. Workshop Software Specification and Design Monterey, USA (1987)

32 Pietri, F et ai. 'ASPIS: a knowledge-based environ- ment for software development' in Proc. ESPRIT "87: Achievements andlmpact North Holland, Amsterdam, The Netherlands (1987) pp 375 391

33 Kaiser, G E and Feller, P H 'An architecture for intelligent assistance in software development' in Proc. 9th Int. Conf. Software Engineering Monterey, USA (30 March--2 April 1987)

34 Lubars, M D and Harandi, M T 'Knowledge-based software design using design schemas' in Proc. 9th Int. Conf. Software Engineering Monterey, USA (30 March 2 April 1987)

35 Sowa, J F Conceptual structures: information process- ing in mind and machine Addison-Wesley, Woking- ham, UK (1984)

B I B L I O G R A P H Y

Roseh, E et ai. 'Basic objects in natural categories' Cog. Psychol. Vol 8 No 3 (July 1976)

Rzepka, W and Ohao, Y 'Requirements engineering environments: software tools for modelling user needs' IEEE Computer (April 1985)

Wetherbe, J C Systems analysis and design." traditional, structured and advanced concepts and techniques West Publishing Co (1979)

vol 31 no 3 april 1989 135