Abstract
We present two concepts that help software engineers to perform different software development activities systematically. The concept of an agenda serves to represent technical process knowledge. An agenda consists of a list of steps to be performed when developing a software artifact. Each activity may have associated a schematic expression of the language in which the artifact is expressed and validation conditions that help detect errors. Agendas provide methodological support to their users, make development knowledge explicit and thus comprehensible, and they contribute to a standardization of software development activities and products.
The concept of a strategy is a formalization of agendas. Strategies model the development of a software artifact as a problem solving process. They form the basis for machine-supported development processes. They come with a generic system architecture that serves as a template for the implementation of support tools for strategy-based problem solving.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Astesiano, E., Reggio, G.: Formalism and Method. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 93–114. Springer, Heidelberg (1997)
Broy, M., Jähnichen, S. (eds.): KORSO 1995. LNCS, vol. 1009. Springer, Heidelberg (1995)
Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., Jeremaes, P.: Object-Oriented Development: The Fusion Method. Prentice Hall, Englewood Criffs (1994)
Chernack, Y.: A statistical approach to the inspection checklist formal synthesis and improvement. IEEE Transactions on Software Engineering 22(12), 866–874 (1996)
Davies, J.: Specification and Proof in Real-Time CSP. Cambridge University Press, Cambridge (1993)
Finkelstein, A., Kramer, J., Nuseibeh, B. (eds.): Software Process Modeling and Technology. Wiley, Chichester (1994)
Fuggetta, A., Wolf, A. (eds.): Software Process. Trends in Software 4. Wiley, Chichester (1996)
Grieskamp, W., Heisel, M., Dörr, H.: Specifying safety-critical embedded systems with Statecharts and Z: An agenda for cyclic software components. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 88–106. Springer, Heidelberg (1998)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns Elements of Reusable Object-Oriented Software. Addison Wesley, Reading (1995)
Garg, P., Jazayeri, M.: Process-centered software engineering environments: A grand tour. In: Fuggetta, A., Wolf, A. (eds.) Software Process, Trends in Software, vol. 4, ch. 2, pp. 25–52. Wiley, Chichester (1996)
Gries, D.: The Science of Programming. Springer, Heidelberg (1981)
Heisel, M.: Methodology and Machine Support for the Application of Formal Techniques in Software Engineering. Habilitation Thesis, TU Berlin (1997)
Heisel, M., Lévy, N.: Using LOTOS patterns to characterize architectural styles. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 818–832. Springer, Heidelberg (1997)
Heisel, M., Sühl, C.: Formal specification of safety-critical software with Z and real-time CSP. In: Schoitsch, E. (ed.) Proceedings 15th International Conference on Computer Safety, Reliability and Security (SAFECOMP), pp. 31–45. Springer, London (1996)
Heisel, M., Sühl, C.: Methodological support for formally specifying safety-critical software. In: Daniel, P. (ed.) Proceedings 16th International Conference on Computer Safety, Reliability and Security (SAFECOMP), pp. 295–308. Springer, London (1997)
Heisel, M., Souquières, J.: Methodological support for requirements elicitation and formal specification. In: Proc. 9th International Workshop on Software Specification and Design, pp. 153–155. IEEE Computer Society Press, Los Alamitos (1998)
Heisel, M., Santen, T., Zimmermann, D.: Tool support for formal software development: A generic architecture. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989, pp. 272–293. Springer, Heidelberg (1995)
Humphrey, W.S.: A Discipline for Software Engineering. Addison-Wesley, London (1995)
Kanellakis, P.C.: Elements of relational database theory. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, ch. 17, pp. 1073–1156. Elsevier, Amsterdam (1990)
Milner, R.: Logic for computable functions: description of a machine implementation. SIGPLAN Notices 7, 1–6 (1972)
Osterweil, L.: Software processes are software too. In: 9th International Conference on Software Engineering, pp. 2–13. IEEE Computer Society Press, Los Alamitos (1987)
Reggio, G.: A method to capture formal requirements: the Invoice case study. In: Allemand, M., Attiogbe, C., Habrias, H. (eds.) Proceedings Workshop on Comparing Specification Techniques. IRIN – Université de Nantes (1998)
Rich, C., Waters, R.C.: The programmer’s apprentice: A research overview. IEEE Computer, 10–25 (November 1988)
Shaw, M., Garlan, D.: Software Architecture. IEEE Computer Society Press, Los Alamitos (1996)
Souquières, J., Lévy, N.: Description of specification developments. In: Proc. of Requirements Engineering 1993, pp. 216–223 (1993)
Smith, D.R.: KIDS: A semi-automatic program development system. IEEE Transactions on Software Engineering 16(9), 1024–1043 (1990)
Sutton, S., Osterweil, L.: The design of a next-generation process language. In: Jazayeri, M., Schauer, H. (eds.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301, pp. 142–158. Springer, Heidelberg (1997)
Spivey, J.M.: The Z Notation - A Reference Manual, 2nd edn. Prentice Hall, Englewood Cliffs (1992)
Wile, D.S.: Program developments: Formal explanations of implementations. Communications of the ACM 26(11), 902–911 (1983)
Winter, K., Santen, T., Heisel, M.: An agenda for event-driven software components with complex data models. In: Ehren-berger, W. (ed.) SAFECOMP 1998. LNCS, vol. 1516, p. 16. Springer, Heidelberg (1998) (to appear)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Heisel, M., Jähnichen, S. (1998). A Two-Layered Approach to Support Systematic Software Development. In: Broy, M., Rumpe, B. (eds) Requirements Targeting Software and Systems Engineering. RTSE 1997. Lecture Notes in Computer Science, vol 1526. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10692867_8
Download citation
DOI: https://doi.org/10.1007/10692867_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65309-7
Online ISBN: 978-3-540-49439-3
eBook Packages: Springer Book Archive