Abstract
Use-case driven software development processes can seriously compromise the ability of systems to evolve if a careful distinction is not made between “structure” and “use”, and this distinction is not reflected immediately in the first model and carried through to the implementation. By “structure”, we are referring to what derives from the nature of the application domain, i.e. to what are perceived to be the “ invariants” or core concepts of the business domain, as opposed to the business rules that apply at a given moment and determine the way the system (solution) will be used.
This paper shows how the notion of coordination contract can be used to support the separation between structure and use at the level of system models, and how this separation supports the evolution of requirements on “use” based on the revision or addition of use cases, with minimal impact on the “structure” of the system.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Andrade, L.F. and Fiadeiro, J.L.: “Interconnecting Objects via Contracts”, in UML’99 — Beyond the Standard, R. France and B. Rumpe (eds), LNCS 1723, Springer Verlag, 1999, pp. 566–583
Andrade, L.F., Fiadeiro, J.L. and Wermelinger, M.: “Enforcing Business Policies through Automated Reconfiguration”, in 16th Int. Conf. On Automated Software Engineering, IEEE Computer Society Press 2001, 426–429.
Booch, G., Rumbaugh, J., and Jacobson, I.: The Unified Modeling Language User Guide, Addison-Wesley, 1999
Chandy, K. and Misra, J.: Parallel Program Design — A Foundation, Addison-Wesley, 1988
Clark, R. and Moreira, A.: “Constructing Formal Specifications from Informal Requirements”, in proc. Software Technology and Engineering Practice, IEEE Computer Society, Los Alamitos, California, 1997, pp. 68–75
Elrad, T., Filman, R., and Bader, A.: “Theme Section on Aspect-Oriented Programming”, Communications of ACM, Vol. 44,No. 10, 2001
Francez, N. and Forman, I.: Interacting Processes, Addison-Wesley, 1996
E., Gamma, Helm, R., Johnson, R. and Vlissides, J.: Design Patterns: Elements of Reusable Object Oriented Software, Addison-Wesley 1995
Gelernter, D. and Carriero, N.: “Coordination Languages and their Significance”, Communications ACM 35(2), 1992, pp. 97–107
Gouveia, J., Koutsoukos, G., Andrade, L. and Fiadeiro, J., “Tool Support for Coordination-Based Software Evolution”, in Technology of Object-Oriented Languages and Systems — TOOLS 38, W. Pree (ed), IEEE Computer Society Press 2001, 184–196
Jacobson, I.: Object-Oriented Software Engineering — a Use Case Driven Approach, Addison-Wesley, Reading Massachusetts, 1992
Katz, S.: “A Superimposition Control Construct for Distributed Systems”, ACM TOPLAS 15(2), 1993, pp. 337–356
Magee, J. and Kramer, J.: “Dynamic Structure in Software Architectures”, in 4th Symp. on Foundations of Software Engineering, ACM Press, 1996, pp. 3–14
Perry, D. and Wolf, A., “Foundations for the Study of Software Architectures”, ACM SIGSOFT Software Engineering Notes, 17(4), 1992, pp. 40–52
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Moreira, A., Fiadeiro, J.L., Andrade, L. (2003). Evolving Requirements through Coordination Contracts. In: Eder, J., Missikoff, M. (eds) Advanced Information Systems Engineering. CAiSE 2003. Lecture Notes in Computer Science, vol 2681. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45017-3_42
Download citation
DOI: https://doi.org/10.1007/3-540-45017-3_42
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40442-2
Online ISBN: 978-3-540-45017-7
eBook Packages: Springer Book Archive