classification as an approachto requirements analysis

8
PROCEEDINGS OF THE 1ST ASIS SIG/CR CLASSIFICAnON RESEARCH WORKSHOP 131 Classification as an Approach To Requirements Analysis James D. Palmer, Yiqing li.ang, and Lillian Wang Center for Software Systems Engineering School oflnfonnationTechnology and Engineering George Mason University, Fairfax, VA 22030-4444, USA A CLASSIFICATION APPROACH TO PROBLEM SOLVING Oassification schemes have proven immensely useful in computerized systems for problem solving in the physical and biological sciences. A typical example is found in the medical domain where various taxonomies have been created for diseases, symptOms, laboratory tests, drugs, and so forth. These taxonomies may be used for characterizing specific clinical situations in expert systems that assist physicians and other health professionals in diagnosis and treatment. Oassification can be divided into several phases. The activities in the first phase are to find a category structure which can fit observations. This phase is called "cluster analysis", or "typology", "learning", "clumping", "regionalization", etc., or "classification (construction)" in our paper, depending on the field to which it is applied. There are many approaches to this cluster analysis. These include approaches such as numerical taxonomy and conceptual clustering. Once this category structure has been established, the next phase is to classify new observations, that is, recognize them as members of one category or another. There are two different situations for the activities in this phase: 1) when the category structure is completely known, this kind of activity is called "classification", "indexing", or "classifying" in this paper, and 2) if category structure is partly known or only part of the information of the observation is known, this kind of activity is called "discriminant analysis" [AND73] [GOR81]. Oancey [CLA84] has characterized classification problem solving as making a selection from a set of pre-enumerated solutions (in contrast to constructing new solutions). If the problem solver has a priori knowledge of existing solutions and is able to relate these to the problem description by data abstraction and refinement, then the problem can be solved using classification. Other artificial intelligence researchers, especially those investigating machine learning, have developed new techniques such as conceptual clustering [MIC86] (in contrast to numerical/statistical clustering), which might be used for developing classification schemes for problem solving. CLASSIFICATION AS AN APPROACH TO REQUIREMENTS ANALYSIS Software requirement<; analysis (or requirements analysis briefly) is the first important stage in the whole software development life cycle. During this stage, requirements analysts, working closely with users and customers, define a complete description of the external behavior of the software system to be built. This description is usually called software requirements, software definition, or software specification. For example, one of the requirements of a software system Howitzer Improvement Program (HIP) for upgrading the Howitzer capability is defined as: Requirement No.1) Default CP initialization parameters shall be stored in nonvolatile memory to maximize user friendliness. TORONTO, NOV. 4,1990 J. PALMER, Y. LIANG & L. WANG Palmer, J. D., Liang, Y., & Wang, L. (1990). Classification as an approach to requirements analysis. Proceedings of the 1st ASIS SIG/CR Classification Research Workshop, 131-138. doi: 10.7152/acro.v1i1.12472 ISSN: 2324-9773

Upload: others

Post on 11-Dec-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Classification as an ApproachTo Requirements Analysis

PROCEEDINGS OF THE 1ST ASIS SIG/CR CLASSIFICAnON RESEARCH WORKSHOP 131

Classification as an Approach To Requirements Analysis

James D. Palmer, Yiqing li.ang, and Lillian Wang

Center for Software Systems EngineeringSchool oflnfonnationTechnology and Engineering

George Mason University, Fairfax, VA 22030-4444, USA

A CLASSIFICATION APPROACH TO PROBLEM SOLVING

Oassification schemes have proven immensely useful in computerized systems for problem

solving in the physical and biological sciences. A typical example is found in the medical

domain where various taxonomies have been created for diseases, symptOms, laboratory tests,drugs, and so forth. These taxonomies may be used for characterizing specific clinical situations

in expert systems that assist physicians and other health professionals in diagnosis and treatment.

Oassification can be divided into several phases. The activities in the first phase are to find acategory structure which can fit observations. This phase is called "cluster analysis", or"typology", "learning", "clumping", "regionalization", etc., or "classification (construction)" in

our paper, depending on the field to which it is applied. There are many approaches to this

cluster analysis. These include approaches such as numerical taxonomy and conceptual

clustering. Once this category structure has been established, the next phase is to classify new

observations, that is, recognize them as members of one category or another. There are twodifferent situations for the activities in this phase: 1) when the category structure is completelyknown, this kind of activity is called "classification", "indexing", or "classifying" in this paper,and 2) if category structure is partly known or only part of the information of the observation is

known, this kind of activity is called "discriminant analysis" [AND73] [GOR81].

Oancey [CLA84] has characterized classification problem solving as making a selection from

a set of pre-enumerated solutions (in contrast to constructing new solutions). If the problem

solver has a priori knowledge of existing solutions and is able to relate these to the problem

description by data abstraction and refinement, then the problem can be solved using

classification. Other artificial intelligence researchers, especially those investigating machinelearning, have developed new techniques such as conceptual clustering [MIC86] (in contrast to

numerical/statistical clustering), which might be used for developing classification schemes for

problem solving.

CLASSIFICATION AS AN APPROACH TO REQUIREMENTS ANALYSIS

Software requirement<; analysis (or requirements analysis briefly) is the first important stage

in the whole software development life cycle. During this stage, requirements analysts, working

closely with users and customers, define a complete description of the external behavior of the

software system to be built. This description is usually called software requirements, software

definition, or software specification. For example, one of the requirements of a software system

Howitzer Improvement Program (HIP) for upgrading the Howitzer capability is defined as:

Requirement No.1) Default CP initialization parameters shall be stored in nonvolatilememory to maximize user friendliness.

TORONTO, NOV. 4,1990 J. PALMER, Y. LIANG & L. WANG

Palmer, J. D., Liang, Y., & Wang, L. (1990). Classification as an approach to requirements analysis. Proceedings of the 1st ASIS SIG/CR Classification Research Workshop, 131-138. doi: 10.7152/acro.v1i1.12472

ISSN: 2324-9773

Page 2: Classification as an ApproachTo Requirements Analysis

132 PROCEEDINGS OF TIlE 1ST ASIS SIG/CR CLASSIFICAnON RESEARCH WORKSHOP

Many people have proposed different requirements taxonomies [SOM85] [ROM85] [FAI85]

for use during this phase. Basically requirements can be classified into functional and

nonfunctional. Each of these two categories can be sutxlivided into subclasses and so on.

Samson [SAM89] gave a rather comprehensive taxonomy of requirements. Following is a

segment of the taxonomy:

FunctionalSoftware Utility

Software Perfonnance

External Interface Requirements

Data Requirements

Logical Data Sttueture

Data Management

NonfunctionalDesign Constraints

Quality GoalsLife-cycle Constraints

SecurityOperational

Operational Constraints

Even so, requirements analysis has generally been a neglected phase for software

development. The consequences of this neglect are so serious that no one involved in software

engineering can afford to ignore them. Based on this, we suggest an early fix of such errors as

ambiguities, inconsistencies. incompleteness and incorrect facts is required (PAL88] in the

requirements analysis phase of the software engineering life-eycle.

The requirements analysis problem seems to be a good application for a knowledge-based

system for detecting conftiC$ among requirements. A proper taxonomy would provide factual

knowledge concerning this. Procedural knowledge would consist of rules for identifying

potential conflicts.. A taxonomy would facilitate evaluation of rules applied to large-scale

systems where there are thousands of requirements, and where rules that apply to top-level

conceptual nodes in the taxonomy would probably apply to descendants as well. Thus, a

taxonomy lends itself to systems that feature inheritance. Samson (SAM89] first ,Suggested a set

of rules indicating how conftiets among requirements in a taxonomy may be resolved. If such a

taxonomy were used for classifying (indexing) the requirements for a specific software system,

these rules would use this classifying (indexing) method as access points to the requirements, and

identify potential conflicts among requirements for that system. We will return to the taxonomy

problem in the next section.

The application just described, for use in requirements conflict resolution, uses a one-step

inference and a single classification structure, namely, the requirements taxonomy. Requirement

No. I can be classified asfunctional / output I data storage. Another HIP requirement is:

Requirement No.2) Automated fire control system for the MI09 self-propelled howitzer

shall require real-time processing.

This is defined as a real-time system, thus it is classified as non-functional I process

constraints I real-time. In this case, conflict is identified directly between these two

requirements. They are in conflict because Requirement No. I calls for a static system while No.

2 calls for a real-time system. This is reflected in the following conflict identification rule:

CLASSIFICAnON AS AN APPROACH TO REQUIREMENTS ANALYSIS TORONTO, NOV. 4, 1990

Palmer, J. D., Liang, Y., & Wang, L. (1990). Classification as an approach to requirements analysis. Proceedings of the 1st ASIS SIG/CR Classification Research Workshop, 131-138. doi: 10.7152/acro.v1i1.12472

ISSN: 2324-9773

Page 3: Classification as an ApproachTo Requirements Analysis

PROCEEDINGS OF TIIE 1ST ASIS SIG/CR CLASSIFICATION RESEARCH WORKSHOP 133

IF there is a requirement that is classified as functional I output I data storageAND IF there is a requirement that isclassified as non-functional! process constraint I real-time

THEN there is a conftict between these two requirements

In addition to conflict resolution, we believe classification is a powerful tool that may beapplied to the more complex task of software validation and verification. with the ultimateobjective of arriving at a software test plan. TIlls application would use multiple taxonomies andperform multi-stage inference. The remainder of this section describes the problem-solving steps

for this expanded application. including identifying the different taxonomies that would beneeded.

Conflict resolution as part of the activity of requirements validation is carried out in therequirements analysis stage. The implications of software validation and verification in softwarerequirements prompt another more complicated task, that of generating software test plan fromso~are requirements in requirements analysis stage.

Some ground work has been done for the implementation of this task. Much research hasbeen carried out on software metrics and testing. Many software metries have been defined andthere are several hundred commercial test tools available. However, software metries and testtools are generally applied to software projects that have been completed. Our plan is to utilizethis technology, but rather than apply it to software, we would move the operations ofmeasurement and testing to the requirements analysis stage, prior to the labor-intensive task ofwriting software. The basic idea is to apply these operations, in effect, to the softwarerequirements rather than the software itself at a much later time in the software developmentcycle. Armed with these ideas. a test plan for the software system is generated in therequirements analysis stage. resulting in the parallel development of software testing withsoftware development. Problems in identifying the testability of requirements volatility early inthe initial stage of development will encourage refinement of those requirements before muchdevelopment has been done.

At this stage, software requirements are not written in a formal language of any kind.Therefore. the problem is how to apply current technology that depends on existence of software.Our approach is to use three different taxonomies representing. respectively, softwarerequirements, software metrics, and software test tools. The following diagram shows the flow ofinference between these taxonomic components, in order to achieve software validation andverification resulting in a software test plan. Instead of one heuristic association or "great leap"(CLA84] of an abstract problem statement into features that characterize a solution, we useseveral "small leaps". As shown in the follOWing diagram, one such association occurs betweenrequirements taxonomy and software metries taxonomy, and another, between software metriestaxonomy and software test tools taxonomy.

TORONTO, NOV. 4, 1990 J. PALMER, Y. LIANG & L. WANG

Palmer, J. D., Liang, Y., & Wang, L. (1990). Classification as an approach to requirements analysis. Proceedings of the 1st ASIS SIG/CR Classification Research Workshop, 131-138. doi: 10.7152/acro.v1i1.12472

ISSN: 2324-9773

Page 4: Classification as an ApproachTo Requirements Analysis

134 PROCEEDINGS OF THE 1ST ASIS SIG/CR CLASSIFICATION RESEARCH WORKSHOP

virtual match

software requirements .----.> software test planI ~

I II Iv I

requirements taxonomy I refinement

I II Iv I

software metrics taxonomy ---> software test tools taxonomy. heuristic match

heuristic match

data abstraction(reqt indexing)

The doned arrow labeled vinual match indicates the final match we see as the result of a series ofheuristic matches and other steps and does not exist in itself.

An example using Requirement No. I can be traced through the whole process.. Initially thisrequirement is classified, as described earlier., as junctional/output / data storage. A heuristicmatch from this classification against the software memcs taxonomy would result in selection ofa metrics of "completeness". This. in tum, is mapped by a heuristics match to a test planconsisting of test tools such as inspection, snapshot, test case generator. Validation of thesoftware would occur when test attributes are satisfied.

Thus, completion of the steps of data abstraction, multi-stage heuristic match betweendifferent taxonomies, and refinement would provide a satisfactory solution in the form ofa testplan for the software requirements.

BRIDGING THE GAP BETWEEN REQUIREMENTS AND TAXONOMY

Oassification problem solving for requirements analysis is based on the supposition thatindividual requirements for a software system are indexed according to a taxonomy; Obviously,

classifying (indexing) requirements is the bottle-neck to the whole approach. It is especiallyprohibitive for large scale systems with thousands of requirements as the object. Neither a classicnumerical taxonomy nor conceptual clustering may apply, as observing the attributes and thevariable values of each requirement is impractical. Manual processing is certainly neithermanageable nor dependable. Natural language processing to understand requirements so as toclassify is impossible at this stage.

Our approach to classifying (indexing) a large set of software requirements specifications is to

use semi-automatic narurallanguage processing, based on syntactic analysis, coupled with humaninput using a human-computer interface. From comprehensive reading of several existingrequirements specifications, we find that individual non-functional requirements are oftencharacterized by nouns that indicate their quality goals. Thus, identification of these nounsrepresents a good first approach to classifying non-functional requirements. A requirement suchas: "The system should have the maximum availability" clearly indicates it could be classified asa non-functional quality goal with the noun "availability" as indicator. Functional requirements

CLASSIFICATION AS AN APPROACH TO REQUIREMENTS ANALYSIS TORONTO, NOV. 4, 1990

Palmer, J. D., Liang, Y., & Wang, L. (1990). Classification as an approach to requirements analysis. Proceedings of the 1st ASIS SIG/CR Classification Research Workshop, 131-138. doi: 10.7152/acro.v1i1.12472

ISSN: 2324-9773

Page 5: Classification as an ApproachTo Requirements Analysis

PROCEEDINGS OF TIlE 1ST ASIS SIG/CR CLASSIFICATION RESEARCH WORKSHOP 135

should, in most cases, imply an action or perfonnance attribute required for the system. Thus,verbs in functional requirements statements should reflect the requirements classification..

Reading of requirements specifications proves this assumption: verbs in the statements or thenouns or gerunds following cenain verb patterns can be used as a means to classify the

requirement

We have investigated using verbs which have been identified in previoUS research. Studies

indicate that verbs can be classified according to their functions (CH081]. But we are interested

more in software function related verbs and their taxonomy. For example, the verb CLUSTER is

most often related to software requirements that can be classified as: functional / datarequirement I data management I processing. PSUPSA (Problem Statement Language I Problem

Statement Analyzer), an automated requirements specification tool developed at the University ofMichigan [TEI77], recognizes 58 relationship types. PSL relationships may be likened to "verb"

which, together with PSL objects, serves to generate "sentence". For the Requirement No.1·example, identifying "memory" and "parameters" as PSL objects, we can relate them to one

another with the PSL relationship type "CONTAINED" to fonn the PSL sentenee "parametersCONTAINED-BY memory". However. this relationship does not indicate the functions for the

entire requirement, as we do by classifying it as functional I output I data strorage. Wood andSommerville [W0088] and Maarek and Kaiser [MAA87] have identified some basic functionsfor software components, such as control, communicate, search, etc., but do not systematically

relate them to as many verb classifications as possible.

We believe a Unix* system to be a more comprehensive system that can be used to describevarious kinds of software functions. Verb selections used in describing Unix commands provide

a list of more than 100 verbs related to and covering most software functions. Efforts were madeto generate a verb taxonomy according to their semantic functions. As discovered by [CH08t],

this taxonomy is rather bushy, not deep. For example, the verb CLUSTER has such subconceptsas categorize, classify. collect, gather, group, etc. These may be called synonyms to the primary

verb.

From this we manually map this verb taxonomy onto a software functional requirements

taxonomy and discover a set of rules. This set of rules is empirical and based on experience. It

corresponds most closely to the "rule of thumb" approach from AI. Experience to date shows thatbased on a set of 8t software requirements for HIP, this set of heuristic rules is able to correctly

classify more than 50% of the requirements. Eleven of them had apparent problems that could be

recognized; these were identified by the system. The system could resolve the problems with

these problematic requirements and classify seven of them correctly.

The approach we adopt is as follows: Lhe set of heuristic rules is first used to automaticallyclassify (index) as many requirements as possible.. For requirements that the system is not sure

how to classify, the system prompts the user with several options. And it identifies to users those

requirements it cannot classify at all and requests a rephrasing of the requirement from the user

according design templates.

• Unix is a Trade Mark of AT&T

TORONTO, NOV. 4,1990 J. PALMER, Y. LIANG & L. WANG

Palmer, J. D., Liang, Y., & Wang, L. (1990). Classification as an approach to requirements analysis. Proceedings of the 1st ASIS SIG/CR Classification Research Workshop, 131-138. doi: 10.7152/acro.v1i1.12472

ISSN: 2324-9773

Page 6: Classification as an ApproachTo Requirements Analysis

136 PROCEEDINGS OF TIlE 1ST ASIS SIG/CR CLASSIFICATION RESEARCH WORKSHOP

FUTURE WORK

This research is supported by the Virginia Center for Innovative Technology and the USArmy. George Mason University is working on the part of automatically classifying

requirements and metrics taxonomy, while Sonex Enterprises Inc. is working on the tools

taxonomy part. A prototype has been constructed and has been successfully demonstrated. A

system to implement the system is now under development

The three taxonomies of software requirements, software metrics, and software test tools,

especially the latter two, need much more refinement The verb taxonomy needs enhancement as

well. 1be same is troe with the roles that implement the mappings between these taxonomies.

A more schematic approach should be sought for automatically classifying requirements.

Automatic indexing teehniques in information retrieval, with a knowledge-based system to assistmay provide a good guide for future direction.

Multi-inheritance instances should be taken into consideration. Ranking techniques should be

included for the user's decision process iri selecting from matched results. This is particularlytrue when there is more than one hit resulting from a match. In our situation, where there are

several steps that do matching, with probably more than one hit from each match, this is a

necessity.

Qassification schemes other than the enumerative ones could be adopted for comparison.

The facet scheme [PRI87] should be one of those considered.

REFERENCES

[AND73] Anderberg, Michael R., Clustering Analysis for Applications, Academic Press, NY,

1973.

[CH081] Chodorow, Martin S., "Growing taxonomic word trees from dictionaries," wor1cshoppresentation, IBM Research Center, Yorktown Heights, NY, 1981.

[CLA84] Qancey, W. J., "Qassification Problem Solving," Proceedings of NationalConference on Artificial Intelligence, August 6-10, 1984, University of Texas atAustin, AAAI, Los Altos, CA, pp. 49-55.

[FAI85] Fairley, Richard E., Software Engineering Concepts, McGraw-Hill, 1985.

[GOR81] A. D. Gordon, Classification, Chapman and Hall, London, 1981.

[MAA87] Maarek, Yoelle and Gail E. Kaiser, "Using conceptual clustering for classifyingreusable Ada code," ACM SIGAda International Conference, Boston, MA, 1987,pp.208-215.

[MIC86] Michalski, Ryszard S. and Robert E. Stepp, "Learning from Observatin: Conceptual

Qustering," in Machine Learning - an Artificial Intelligence Approach, Ed. by

Ryzard S. Michalski, Jaime G. Carbonell and Tom M. Mitchell, Morgan Kaufmann,Los Altos, CA, 1986, pp.331-363.

CLASSIFICATION AS AN APPROACH TO REQUIREMENTS ANALYSIS TORONTO, NOV. 4, 1990

Palmer, J. D., Liang, Y., & Wang, L. (1990). Classification as an approach to requirements analysis. Proceedings of the 1st ASIS SIG/CR Classification Research Workshop, 131-138. doi: 10.7152/acro.v1i1.12472

ISSN: 2324-9773

Page 7: Classification as an ApproachTo Requirements Analysis

PROCEEDINGS OF THE 1ST ASlS SIG/CR CLASSIFICAnON RESEARCH WORKSHOP 137

[PAL88] Palmer, James, "Impact of Requirements Uncertainty on Software Productivity", inProductivity: Progress, Prospects, and Payoff, 27th Annual Technical Symposium

Sponsored by Washington, D. C. Chapter of the ACM and NBS. Gaithersburg, MD.June 1988, pp.85-90.

[PRI87] Prieto-Diaz, R. and P. Freeman, "A Software Oassification Scheme forReusability", IEEE Software, Vol. 4, No.1, January 1987, pp.6-16.

[ROM85] Roman, Gruia-Catalin, "A Taxonomy of Current Issues in RequirementsEngineering," IEEE Computer, Vol. 18, No.4, April 1985, pp. 14-22.

[SAM89] Samson, Donaldine E., Automated Assistance for Software Requirements Definition,Ph.D. Dissertation, George Mason University, Fairfax, VA, 1989.

[SOM85] Sommerville, I., Software Engineering, Addison-Wesley, 1982, 1985.

[TEI77] Teichroew, D. and E. Hershey, "PSLlPSA: A Computer Aided Technique forStructured Documentation and Analysis of Infonnation Processing System,", IEEETransactions on Software Engineering, Vol. 3, No.1, 1977, pp. 41-48.

[W0088] Wood, M. and I. Sommerville, "An Information Retrieval System for SoftwareComponents", Software Engineering Journal, Vol. 3, no. 5, September 1988, lEE,London, pp.198-207.

TORONTO, NOV. 4. 1990 J. PALMER, Y. LIANG & L. WANG

Palmer, J. D., Liang, Y., & Wang, L. (1990). Classification as an approach to requirements analysis. Proceedings of the 1st ASIS SIG/CR Classification Research Workshop, 131-138. doi: 10.7152/acro.v1i1.12472

ISSN: 2324-9773

Page 8: Classification as an ApproachTo Requirements Analysis

138 PROCEEDINGS OF TIIE 1ST ASIS SIG/CR CLASSIFICAnON RESEARCH WORKSHOP

TORONTO, NOV. 4, 1990

Palmer, J. D., Liang, Y., & Wang, L. (1990). Classification as an approach to requirements analysis. Proceedings of the 1st ASIS SIG/CR Classification Research Workshop, 131-138. doi: 10.7152/acro.v1i1.12472

ISSN: 2324-9773