In practice, a pure top-down and refinement-based development process is not applicable. A more iterative and incremental approach is usually applied with respect to changing requirements. We call such an approach an evolutionary approach. As existing methodologies rely on refinement concepts they do not support an evolutionary development. In this paper, we present the basic concepts of a suitable overall methodology based on componentware and software evolution. We clarify the difference between refinement steps and evolution steps in a document-based development methodology. We propose an evolutionary development process during system design. To support this process at the best, we need to be able to model and track the dependencies between the various development documents. Currently there is no adequate modeling technique available. To close this gap, we introduce the concept of Requirements/Assurances Contracts. These contracts could be rechecked whenever the specification of a component evolves. This allows the impacts of that evolutionary step to be determined. Developers are able to track and manage the software evolution process. A short example shows the usefulness of the presented concepts and introduces a description technique for requirements/assurances contracts in componentware. 1.
|
1555
|
Object-oriented modelling and design
– Rumbaugh, Blaha, et al.
- 1991
|
|
1219
|
Object-oriented Software Construction
– Meyer
- 1988
|
|
894
|
Component software: beyond object-oriented programming. Second Edition
– Szyperski
|
|
767
|
Object-Oriented Software Engineering: A Use Case Driven Approach
– Jacobson
- 1995
|
|
553
|
The Common Object Request Broker: Architecture and Specification
– OMG
- 1995
|
|
503
|
On Visual Formalisms
– Harel
- 1988
|
|
424
|
The Unified Software Development Process
– Jacobson, Booch, et al.
- 1999
|
|
419
|
Real-Time Object-Oriented Modeling
– Selic, Gullekson, et al.
- 1994
|
|
243
|
Preliminary design of JML: A behavioral interface specification language for Java
– Leavens, Baker, et al.
- 1998
|
|
203
|
Client/Server Programming with Java and CORBA, Second Edition
– Orfali, Harkey
|
|
119
|
The design of distributed systems - an introduction to FOCUS
– Broy, Dederichs, et al.
- 1992
|
|
104
|
Programs, Life Cycles, and Laws of Software Evolution
– LEHMAN
- 1980
|
|
98
|
Reuse Contracts: Managing the Evolution of Reusable Assets
– Steyaert, Lucas, et al.
- 1996
|
|
95
|
Software Aging
– Parnas
- 1994
|
|
59
|
Unified Modeling Language Specification
– OMG
- 2003
|
|
56
|
The object-oriented systems life cycle
– Henderson-Sellers, Edwards
- 1990
|
|
43
|
Objektorientierte Software-Entwicklung am Beispiel von ET++: Klassenbibliothek, Werkzeuge, Design
– Gamma
|
|
41
|
Formale Methodik des Entwurfs verteilter objektorientierter Systeme
– Rumpe
- 1996
|
|
39
|
Java in a Nutshell. O'Reilly
– Flanagan
- 1996
|
|
36
|
Object-oriented software evolution
– Lieberherr, Xiao
- 1993
|
|
32
|
A componentware development methodology based on process patterns
– Bergner, Rausch, et al.
- 1998
|
|
21
|
A plea for Grey-Box components
– Buechi, Weck
- 1997
|
|
18
|
An integrated view on componentware - concepts, description techniques, and development process
– Bergner, Rausch, et al.
- 1998
|
|
15
|
A Formal Model for Componentware
– Bergner, Rausch, et al.
- 2000
|
|
15
|
Modeling Software Evolution by Evolving Interoperation Graphs
– Rajlich
|
|
13
|
Interaction Interfaces - Towards a scientific foundation of a methodological usage of Message Sequence Charts
– Broy, Krger
- 1998
|
|
12
|
Using extended event traces to describe communication in software architectures
– Broy, Hofmann, et al.
- 1997
|
|
9
|
Managing componentware development – software reuse and the V-Modell process
– Ansorge, Bergner, et al.
- 1999
|
|
8
|
Essential COM. Object Technology Series
– Box
- 1998
|
|
8
|
Managing Software Evolution through Reuse Contracts
– Lucas, Steyaert, et al.
- 1997
|
|
7
|
Java Enterprise in a Nutshell. O’Reilly & Associates
– Flanagan, Farley, et al.
- 1999
|
|
6
|
Managing requirements evolution: Formal support for functional and non-functional requirements
– Ghose
- 1999
|
|
3
|
Object evolution by model evolution
– Mittermeir, Pirker, et al.
- 1998
|
|
3
|
Inkrementelle und objektorientierte Vorgehensweisen mit dem V-Modell 97. Oldenbourg
– Dörschel, Heuser, et al.
- 1998
|