|
ABSTRACT
In practice, pure top-down and refinement-based development processes are not sufficient. Usually, an iterative and incremental approach is applied instead. Existing methodologies, however, do not support such evolutionary development processes very well. In this paper, we present the basic concepts of an overall methodology based on component ware and software evolution. The foundation of our methodology is a novel, well-founded model for component-based systems. This model is sufficiently powerful to handle the fundamental structural and behavioral aspects of component ware and object-orientation. Based on the model, we are able to provide a clear definition of a software evolution step.During development, each evolution step implies changes of an appropriate set of development documents. In order to model and track the dependencies between these documents, we introduce the concept of Requirements/Assurances Contracts. These contracts can be rechecked whenever the specification of a component evolves, enabling us to determine the impacts of the respective evolution step. Based on the proposed approach, developers are able to track and manage the software evolution process and to recognize and avoid failures due to software evolution. A short example shows the usefulness of the presented concepts and introduces a practical description technique for Requirements/Assurances Contracts.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
K. Bergner, A. Rausch, M. Sihling, A. Vilbig, and M. Broy. A formal model for componentware. In Formale Beschreibungstechniken f. ur verteilte Systeme FBT'99. Herbert Utz Verlag, 1999.
|
| |
2
|
|
| |
3
|
|
| |
4
|
M. Broy, F. Dederichs, C. Dendorfer, M. Fuchs, T. Gritzner, and R. Weber. The design of distributed systems - an introduction to FOCUS. Technische Universit. at M. unchen, January 1992.
|
| |
5
|
M. Broy, E. Denert, K. Renzel, and M. Schmidt (eds.). Software architectures and design patterns in business applications. Technische Universit. at M. unchen, 1997.
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
Frank Buschmann , Regine Meunier , Hans Rohnert , Peter Sommerlad , Michael Stal, Pattern-oriented software architecture: a system of patterns, John Wiley & Sons, Inc., New York, NY, 1996
|
| |
10
|
D. Flanagan. Java in a Nutshell. O'Reilly & Associates, Inc., 2nd edition, 1996.
|
| |
11
|
|
 |
12
|
|
 |
13
|
Richard Helm , Ian M. Holland , Dipayan Gangopadhyay, Contracts: specifying behavioral compositions in object-oriented systems, Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications, p.169-180, September 1990, Ottawa, Canada
|
| |
14
|
|
 |
15
|
|
| |
16
|
JavaSoft. Enterprise JavaBeans website, <http://java.sun.com/~products/~ejb/>, 1999.
|
 |
17
|
|
| |
18
|
G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specisification language for Java. Iowa State University, 1999.
|
| |
19
|
C. Lucas, P. Steyaert, and K. Mens. Managing software evolution through reuse contracts. Vrije Universiteit Brussel Faculteit Wetenschappen, BELGIUM, 1997.
|
| |
20
|
|
| |
21
|
G. Neumann. 500 Europa: Der Club der Innovatoren. Information Week, pages 10{12, Jan. 1999.
|
| |
22
|
OMG. The Common Object Request Broker: Architecture and Specication. Object Management Group, February 1998.
|
| |
23
|
OMG. OMG Unified Modeling Language Specification. Version 1.3, Object Management Group, 1999.
|
| |
24
|
|
| |
25
|
|
| |
26
|
A. Rausch. Executive Summary: Software Evolution in Componentware { A Practical Approach. In Software Change and Evolution 1999 Workshop Proceedings, 1999.
|
| |
27
|
James Rumbaugh , Michael Blaha , William Premerlani , Frederick Eddy , William Lorensen, Object-oriented modeling and design, Prentice-Hall, Inc., Upper Saddle River, NJ, 1991
|
| |
28
|
B. Rumpe. Formale Methodik des Entwurfs verteilter objektorientierter Systeme. PhD thesis, Technische Universit. at M.unchen, 1996.
|
 |
29
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.1
Requirements/Specifications
Subjects:
Methodologies (e.g., object-oriented, structured)
Additional Classification:
D.
Software
D.1
PROGRAMMING TECHNIQUES
D.2
SOFTWARE ENGINEERING
K.
Computing Milieux
K.6
MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS
K.6.3
Software Management
Subjects:
Software development
General Terms:
Design,
Management,
Performance,
Theory
Keywords:
componentware,
contracts,
description techniques,
formal methods,
object-orientation,
software architecture,
software evolution
|