Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

The Role of Contracts in Distributed Development

  • Conference paper
Software Engineering Approaches for Offshore and Outsourced Development (SEAFOOD 2009)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. DOSE 2007 (2007), http://se.ethz.ch/teaching/2007-f/outsourcing-0273/index.html

  2. DOSE 2008 (2008), http://se.ethz.ch/teaching/2008-h/dose-0273/index.html

  3. 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)

    Chapter  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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)

    Google Scholar 

  8. Computer Science Event, http://www.informatics-europe.org/cgi-bin/informatics_events.cgi

  9. 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)

    Chapter  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Herbsleb, J.D., Moitra, D.: Global software development. IEEE Software 18(2), 16–20 (2001)

    Article  Google Scholar 

  14. Holt, A.: Formal verification with natural language specifications: guidelines, experiments and lessons so far. South African Computer Journal, 253–257 (1999)

    Google Scholar 

  15. IEEE: IEEE Recommended Practice for Software Requirements Specifiations. IEEE Std 830 (1998)

    Google Scholar 

  16. 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

  17. Jackson, D.: Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(2), 256–290 (2002)

    Article  Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Article  Google Scholar 

  20. Traffic Library, http://traffic.origo.ethz.ch/

  21. 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)

    Google Scholar 

  22. Meyer, B.: On formalism in specifications. IEEE Software 2(1), 6–26 (1985)

    Article  Google Scholar 

  23. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  24. Meyer, B.: The unspoken revolution in software engineering. IEEE Computer 39(1), 121–124 (2006)

    Article  Google Scholar 

  25. 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)

    Google Scholar 

  26. 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)

    Chapter  Google Scholar 

  27. 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

  28. BTW Project, http://score.elet.polimi.it/projects.html

  29. 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)

    Google Scholar 

  30. 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)

    Chapter  Google Scholar 

  31. 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)

    Google Scholar 

  32. SCORE, http://score.elet.polimi.it/

  33. 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)

    Google Scholar 

  34. UML, http://www.uml.org/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics