home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.umcs.maine.edu
/
2015-02-07.ftp.umcs.maine.edu.tar
/
ftp.umcs.maine.edu
/
pub
/
WISR
/
wisr6
/
proceedings
/
ascii
/
park2.ascii
< prev
next >
Wrap
Text File
|
1993-10-19
|
13KB
|
355 lines
Software Requirement Text Reuse
Sooyong Park
Center for Software Systems Engineering
George Mason University
4400 University Drive
Fairfax, VA 22030-444
Tel: (703) 993-3684
Fax: (703) 993-1521
Email: spark@mason1.gmu.edu
Abstract
Reuse is widely recognized as a solution to improving software productivity, quality and
reliability. While there has been much research on code and design reuse, there has been little
research effort extended in the requirement reuse. However, among the software development
phases, requirements analysis is one of the most important and least supported phase of the
software development process. The requirement reuse is proposed to increase productivity and
quality of requirement analysis phase.
We focus on requirement text reuse research since requirements are, inmost case, expressed
in natural language. We use conceptual and numerical clustering techniques to build reusable
requirement components. Automatic indexing techniques are applied to classify the components.
The architecture of a requirement reuse support system and the contributions of this research
are included in the conclusion.
Keywords: Software Reuse, Requirement Reuse, Text Reuse, Requirement Engineering, Re-
quirement Clustering and Indexing
Workshop Goals: Exchanging idea of current research issues
Working Groups: Domain Analysis/engineering, Reuse and OO Method
Park- 1
1 Background
The George Mason University (GMU)Center for Software Systems Engineering (CSSE) researchin
systems and software requirement engineering is directed to improve and promote the development
of requirements that reflect the needs of the user. The framework for this research is an Advanced
Integrated Requirement Engineering System (AIRES). AIRES includes requirement assessment,
prototyping, transformation and reuse. AIRES processes the requirements as a natural language
text.
The requirement reuse project was initiated by the observation that, even though there are many
common requirements, we do not haveany method to reuse. In development of complex software
system, eliciting and analyzing the system requirements has been a serious problem. In many
cases, erroneous requirements produced a wrong product[1]. One way to alleviate that problem
is to reuse requirements from an already-developed system. The reused requirement can be used
as an example so that it can be a solution of the well knownproblem "users often do not know
what they want". For example, in development of an Automatic Gas Station(AGS), users knew
that they needed a security system but, in many cases, they did not know what sp ecific security
they wanted. If we had security requirements in an Automatic Teller Machine (ATM) system, the
security requirements of ATM system could be a good example in AGS system.
2 Approach
Since we are dealing with natural language requirement, it is very to abstract or parameterize the
natural language requirement automatically. But our purpose in requirement reuse is to provide
requirement examples. Therefore, parameterization or abstraction of natural language require-
ment are not necessary. The issue is how to cluster the requirement sentences to build reusable
requirement components. For example, a requirement about security can appear through out the
requirement document. Extraction of these requirements is a key to building reusable requirement
components.
Our approach to requirement text reuse has two phases - the requirement component extraction
phase, and the classification and retrieval phase.
2.1 Requirement Reuse Process
The requirement reuse process consists of four steps. These are;
STEP 1: Text Analysis
STEP 2: Component Extraction
STEP 3: Component Classification
STEP 4: Retrieval
The step 1 is to identify requirement concepts. We userequirement concepts for objects, functions,
and quality goals of the system requirements. Based on the requirement concepts, clustering is
Park- 2
performed to create reusable components. The reusable components are indexed by automatic
indexing techniques. Following subsections discuss each processing step in detail.
2.2 Text Analysis
The purpose of this process is to develop the rules and algorithms to identify the requirement
concepts automatically. In the identification of requirement concepts, there are two approaches;
1. Using extensive domain knowledge and reasoning process. - This is an AI approach.
2. Using lexical analysis and syntactic pattern analysis.
We adopted the second approach since it is typically more practical and also domain independent.
The object and function concepts can be identified by syntactic patternanalysis and noun and verb
classification. The identification of quality goals use of a quality goal table, thesaurus analysis, and
syntactic pattern analysis.
2.3 Reusable Component Extraction
Reusable component extraction is performed by clustering requirement with respect to identified
requirement concepts. We use both numerical clustering and conceptual clustering. >From these
two clustering techniques, we can extract requirements that relate to each identified requirement
concept. The extracted requirements are body of reusable requirement component with respect to
the requirement concept.
2.4 Component Classification and Retrieval
This process is based on automatic text indexing techniques which have been established in informa-
tion retrieval area[2, 3 , 4 ]. The main technique is extracting lexical affinities from the requirement
component. The observation of lexical affinities in large textual document has been shown to convey
information on both syntactic and semantic levelsand provides us with a powerful way of taking
context into account[5]. Lexical affinities will serve as indices of the component.
3 Related Work
There is no known directly related work, but the research is related to two other areas of research;
fflInformal requirement specification process by linguistic analysis[6, 7 , 8 ].
fflSpecification reuse by analogy[9 , 10 ]
Since we are focusing on reuse in this paper, we will discuss the seconditem.
Maiden and Sutcliffe[9] proposed to reuse domain abstractions by analogy analysis. From the
description of the system, they try to find the similarities among the already prepared domain
Park- 3
abstractions. The system shows the domain abstractions with analogical mapping between the
retrieved domain abstract and the target system domain. They reported that it was useful for
novice software engineers in analyzing the problem domain since domain abstractions can be a
good example.
The problem is that preparation and representation of domainabstractions is a non-trivial task.
Also, there is no guidelines for domain abstraction. Tofind an analogy, the system need to be spec-
ified or understanding of the abstract requirements is need. This means the software engineer need
to understand the abstract requirement to reuse abstract requirement which can be contradiction.
Miriyala and Harandi[10 ] proposed specification derivation from the existing specification by anal-
ogy. The general concept is similar to that of Maiden and Sutcliffe but they found the similarity
in the specification structure instead of in the domain abstraction. They view the system as a tree
structure. By the similarities in edges and nodes, they retrieve the specifications. To be processed
by analogy reasoning, all the system specification need to b e represented as structured diagram like
tree structure. The target system needs to be represented in the same way. The problem is that
there is no unique system structure for a problem domain. In other words, the system structure
can be represented in different tree structures depending on the perspective.
In general, the analogy approach in specification sounds reasonable since we can only reuse when
there are similarities. However, these approaches need a lot of domain knowledge. Preparation of
that domain knowledge can be as difficult as requirement analysis.
4 Conclusion
Based on discussed requirement reuse process, we are developing a supporting tool called the
Requirement Reuse System (Re2S). The general architecture of Re2S is shown in figure 1.
Component Extractor Repository Component Finder
_________________________ __________________________ __________
___________________ ________________
Index
Text Analyzer Builder Retrie-
val
____________________ __________- ________________ _ oe________-
____________________? _______________________6_? Proces-
sor
Clusterer Component
Base
___________________ _
________________________
__________________________ ___________________________ ___________
Figure 1 General Architecture of Requirement Reuse System
The contribution of this research includes
1. Increased productivity by reducing the risk and effort needed to develop requirements.
2. Increased reuse effect by improved cross-referencing of requirement comp onent to design,
code, and test segment.
Park- 4
3. Text reuse method can be applied to various software documentation reuse.
Besides implementation of Re2S, the future research will include an empirical study of requirement
elicitation and analysis by reuse, andstudy of traceability between reusable requirement and design
components.
References
[1] A. Davis, Software Requirements Analysis and Specification. Englewood Cliffs, New Jersey
07632: Prentice Hall, 1990.
[2] Y. Maarek, D. Berry, and G. Kaiser, "An in formation retrieval approach for automatically
constructing software libraries,"IEEE Trans. on Software Engineering, pp. 800-813, Aug 1991.
[3] M. Luhn, "The automatic creation of literature abstracts," IBMJ. Res. Develop., pp. 159-165,
Apr 1958.
[4] J. Palmer and Y. Liang, "Indexing and clustering of software requirements specification,"
Information and Decision Technologies, vol. 18, pp. 283-299, 1992.
[5] F. Smadja, "Lexical co-occurrence: The missing link," J. Assoc, Literary andLinguistic Com-
puting, vol. 4, no. 3, 1989.
[6] M. Saeki, H. Horai, and H. Enomoto, "Software development process from natural language
specification," 11th International Conferenceon Software Engineering, pp. 64-73, 1989.
[7] R. Abbott, "Program design by informal english description," Communication of ACM,
pp. 882-894, November 1983.
[8] C. Rolland and C. Proix, "A natural language approach to requirement engineering," 4th
International CAiSE Conference, pp. 257-277, 1992.
[9] N. Maiden and A. Sutcliffe, "Exploitung reusable specifications through analogy," Communi-
cation of ACM, April 1992.
[10] K. Miriyala and M. Harandi, "The role of analogy in specification," 6th Annual Know ledge-
Based Software Engineering Conference, pp. 117-126, 1991.
5 Biography
Sooyong Park is a research assistant and doctoral student in the School of Information Technology
at George Mason University. His research interests are software reuse, requirement engineering,and
Object-Oriented domain analysis in real-time system. He has been researched in software reuse area
for three years.
Sooyong received a BS in computer science from the Sogang University in Seoul Korea, an MS in
computer science from the Florida State University.
Park- 5