Abstract
Distributed software development raises new software engineering challenges resulting from the difficulty of making several teams cooperate across different countries, time zones and cultures. These obstacles can lead to critical delays or even failures. One of the most effective techniques for overcoming them is to improve the quality of software specifications. Our experience with a distributed software project in an educational environment suggests that Design by Contract techniques provide a promising solution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
DOSE 2007 (2007), http://se.ethz.ch/teaching/2007-f/outsourcing-0273/index.html
DOSE 2008 (2008), http://se.ethz.ch/teaching/2008-h/dose-0273/index.html
Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# programming system: An overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)
Bruegge, B., Dutoit, A.H., Kobylinski, R., Teubner, G.: Transatlantic project courses in a university environment. In: 7th Asia-Pacific Software Engineering Conference (APSEC 2000), pp. 30–37 (2000)
Ciupa, I., Leitner, A., Oriol, M., Meyer, B.: ARTOO: Adaptive Random Testing for Object-Oriented Software. In: Proceedings of the 30th International Conference on Software Engineering 2008 (ICSE 2008) (May 2008)
Corriveau, J.P.: Testable Requirements for Offshore Outsourcing. In: Meyer, B., Joseph, M. (eds.) SEAFOOD 2007. LNCS, vol. 4716, pp. 27–43. Springer, Heidelberg (2007)
Damian, D., Lanubile, F., Mallardo, T.: Investigating IBIS in a Distributed Educational Environment: the Design of a Case Study. In: Workshop on Distributed Software Engineering, vol. 1 (2005)
Computer Science Event, http://www.informatics-europe.org/cgi-bin/informatics_events.cgi
Gotel, O., Kulkarni, V., Neak, L.C., Scharff, C., Seng, S.: Introducing Global Supply Chains into Software Engineering Education. In: Meyer, B., Joseph, M. (eds.) SEAFOOD 2007. LNCS, vol. 4716, pp. 44–58. Springer, Heidelberg (2007)
Gotel, O., Kulkarni, V., Scharff, C., Neak, L.: Students as Partners and Students as Mentors: An Educational Model for Quality Assurance in Global Software Development. In: Berkling, K., Joseph, M., Meyer, B., Nordio, M. (eds.) SEAFOOD 2008. LNBIP, vol. 16. Springer, Heidelberg (2009)
Guttag, J.V., Horning, J.J., Garl, S.J., Jones, K.D., Modet, A., Wing, J.M.: Larch: languages and tools for formal specification. Texts and Monographs in Computer Science (1993)
Hawthorne, M.J., Perry, D.E.: Software engineering education in the era of outsourcing, distributed development, and open source software: challenges and opportunities. In: International Conference on Software Engineering, vol. 27, p. 643. Springer, Heidelberg (2005)
Herbsleb, J.D., Moitra, D.: Global software development. IEEE Software 18(2), 16–20 (2001)
Holt, A.: Formal verification with natural language specifications: guidelines, experiments and lessons so far. South African Computer Journal, 253–257 (1999)
IEEE: IEEE Recommended Practice for Software Requirements Specifiations. IEEE Std 830 (1998)
Introduction to Programming (Einführung in die Programmierung) - Chair of Software Engineering - ETH Zurich, http://se.ethz.ch/teaching/2008-h/eprog-0001/index.html
Jackson, D.: Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(2), 256–290 (2002)
Leavens, G., Baker, A., Ruby, C.: JML: A notation for detailed design. Kluwer International Series in Engineering and Computer Science, pp. 175–188. Kluwer Academic Publishers, Dordrecht (1999)
Leavens, G.T., Baker, A.L., Ruby, C.: Preliminary design of JML: A behavioral interface specification language for Java. ACM SIGSOFT Software Engineering Notes 31(3), 1–38 (2006)
Traffic Library, http://traffic.origo.ethz.ch/
Meyer, B., Piccioni, M.: The allure and risks of a deployable software engineering project. In: Proceedings of the 21st IEEE-CS Conference on Software Engineering Education and Training (2008)
Meyer, B.: On formalism in specifications. IEEE Software 2(1), 6–26 (1985)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)
Meyer, B.: The unspoken revolution in software engineering. IEEE Computer 39(1), 121–124 (2006)
Meyer, B.: Design and Code Reviews in the Age of the Internet. In: Berkling, K., Joseph, M., Meyer, B., Nordio, M. (eds.) SEAFOOD 2008. LNBIP, vol. 16. Springer, Heidelberg (2009)
Meyer, B., Ciupa, I., Leitner, A., Liu, L.L.: Automatic testing of object-oriented software. In: van Leeuwen, J., Italiano, G.F., van der Hoek, W., Meinel, C., Sack, H., Plášil, F. (eds.) SOFSEM 2007. LNCS, vol. 4362, pp. 114–129. Springer, Heidelberg (2007)
Meyer, B. (ed.): ISO/ECMA Eiffel standard (Standard ECMA-367: Eiffel: Analysis, Design and Programming Language) (June 2006), http://www.ecma-international.org/publications/standards/Ecma-367.htm
BTW Project, http://score.elet.polimi.it/projects.html
Richardson, I., Milewski, A.E., Mullick, N., Keil, P.: Distributed development: an education perspective on the global studio project. In: ICSE 2006: Proceedings of the 28th international conference on Software engineering, pp. 679–684. ACM, New York (2006)
Richters, M., Gogolla, M.: On formalizing the UML object constraint language OCL. In: Ling, T.-W., Ram, S., Li Lee, M. (eds.) ER 1998. LNCS, vol. 1507, pp. 449–464. Springer, Heidelberg (1998)
Saeki, M., Horai, H., Enomoto, H.: Software development process from natural language specification. In: ICSE 1989: Proceedings of the 11th international conference on Software engineering (1989)
SCORE, http://score.elet.polimi.it/
Sutherland, J., Viktorov, A., Blount, J., Puntikov, N.: Distributed scrum: Agile project management with outsourced development teams. In: HICSS 1940, Hawaii International Conference on Software Systems (2007)
UML, http://www.uml.org/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nordio, M., Mitin, R., Meyer, B., Ghezzi, C., Di Nitto, E., Tamburrelli, G. (2009). The Role of Contracts in Distributed Development. In: Gotel, O., Joseph, M., Meyer, B. (eds) Software Engineering Approaches for Offshore and Outsourced Development. SEAFOOD 2009. Lecture Notes in Business Information Processing, vol 35. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02987-5_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-02987-5_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02986-8
Online ISBN: 978-3-642-02987-5
eBook Packages: Computer ScienceComputer Science (R0)