Deciding What to Design: Closing a Gap in Software Engineering Education

  • Mary Shaw
  • Jim Herbsleb
  • Ipek Ozkaya
  • Dave Root
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4309)


Software has jumped “out of the box” – it controls critical systems, pervades business and commerce, and infuses entertainment, communication, and other everyday activities. These applications are constrained not only by traditional capability and performance considerations but also by economic, business, market and policy issues and the context of intended use. The diver sity of applications requires adaptability in responding to client needs, and the diversity of clients and contexts requires the ability to discriminate among crite ria for success. As a result, software designers must also get out of their boxes: in addition to mastering classical software development skills, they must master the contextual issues that discriminate good solutions from merely competent ones. Current software engineering education, however, remains largely “in the box”: it neglects the rich fabric of issues that lie between the client’s problem and actual software development. At Carnegie Mellon we address this major shortcoming by teaching students to understand both the capabilities required by the client and the constraints imposed by the client’s context.


Software Engineering Software Engineer Distance Education Case Modeling Problem Frame 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akin, O.: The Psychology of Architectural Design, Pion (1987)Google Scholar
  2. 2.
    Armour, F., Miller, G.: Advanced Use Case Modeling: Software Systems. Addison-Wesley, Reading (2001)Google Scholar
  3. 3.
    Asada, T., Swonger, R.F., Bounds, N., Duerig, P.: The Quantified Design Space. In: Shaw, M., Garlan, D. (eds.) Software Architecture: Perspectives on an Emerging Discipline, Sec. 5.2, pp. 116–128. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  4. 4.
    Beyer, H., Holtzblatt, K.: Contextual Design: Defining Customer-Centered Systems. Morgan Kaufmann, San Francisco (1998)Google Scholar
  5. 5.
    Boehm, B.W., et al.: Software Cost Estimation with COCOMO II. Prentice Hall, Englewood Cliffs (2000)Google Scholar
  6. 6.
    Boehm, B.W., Basili, V.R.: Software defect reduction top 10 list. IEEE Computer, 2–4 (January 2001)Google Scholar
  7. 7.
    Bloom, B.S., Krathwohl, D.R. (eds.): Taxonomy of educational objectives: The classification of educational goals. Handbook I, cognitive domain. Longmans, Green (1956)Google Scholar
  8. 8.
    Brown, J.S., Duguid, P.: The Social Life of Information. Harvard Business School Press, Boston (2000)Google Scholar
  9. 9.
    Brooks, F.P.: The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary edn. Addison-Wesley Professional, Reading (1995)Google Scholar
  10. 10.
    Carnegie Mellon University. Distance Education in Software Engineering. Degree program description, Carnegie Mellon University,
  11. 11.
    Carnegie Mellon University. Master of Software Engineering. Degree program description, Carnegie Mellon University (February 2005),
  12. 12.
    Carnegie Mellon West. Management of Software Systems Development. Degree program description, Carnegie Mellon University (February 2005)Google Scholar
  13. 13.
    Carrol, J.M.: Making Use: Scenario-Based Design of Human-Computer Interactions. MIT Press, Cambridge (2000)Google Scholar
  14. 14.
    Christensen, C.: The Innovator’s Dilemma. Harper Business (2000)Google Scholar
  15. 15.
    Computer Science and Telecommunications Board, National Research Council. More than Screen Deep: Toward Every-Citizen Interfaces to the National Information Infrastructure. National Academy Press, Washington DC (1997)Google Scholar
  16. 16.
    Computer Science and Telecommunications Board, National Research Council. The Digital Dilemma. Intellectual Property in the Information Age. National Academy Press, Washington DC (2000)Google Scholar
  17. 17.
    Computer Science and Telecommunications Board, National Research Council. Global Networks and Local Values. National Academy Press, Washington DC (2001)Google Scholar
  18. 18.
    Cusumano, M., Yoffie, D.: Competing on Internet Time: Lessons from Netscape and its Battle with Microsoft. Touchstone (1998)Google Scholar
  19. 19.
    Davenport, T.H.: The case of the soft software proposal. Harvard Business Review (May-June 1989)Google Scholar
  20. 20.
    Hoffman, D.M., Weiss, D.M. (eds.): Software Fundamentals: Collected Papers by David L. Parnas. Addison-Wesley, Reading (2001)Google Scholar
  21. 21.
    IEEE Computer Society Professional Practices Committee. SWEBOK: Guide to the Software Engineering Body of Knowledge, 2004 version. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  22. 22.
    Jackson, M.: Problem Frames. Addison-Wesley, Reading (2001)Google Scholar
  23. 23.
    Joint Task Force on Computing Curricula. Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. A Volume of the Computing Curricula Series. ACM and IEEE Computer Society (August 2004)Google Scholar
  24. 24.
    Kidder, T.: Soul of a New Machine. Back Bay Books (2000)Google Scholar
  25. 25.
    Korba, L., Kenny, S.: Towards Meeting the Privacy Challenge: Adapting DRM. In: ACM Workshop on Digital Rights Management, Washington, DC (November 2002)Google Scholar
  26. 26.
    Lessig, L.: The Future of Ideas. Random House (2001)Google Scholar
  27. 27.
    The Localization Industry Standards Association (LISA). The Localization Industry Primer, 2nd edn. LISA (2003)Google Scholar
  28. 28.
    Moody, F.: I Sing the Body Electronic: A Year with Microsoft on the Multimedia Frontier. Penguin Books (1995)Google Scholar
  29. 29.
    Norman, D.: The Design of Everyday Things. Currency/Doubleday (1990)Google Scholar
  30. 30.
    Perrow, C.: Normal Accidents. Princeton University Press, Princeton (1999) (updated edition)Google Scholar
  31. 31.
    Petroski, H.: Design Paradigms: Case Histories of Error and Judgment in Engineering. Cambridge University Press, Cambridge (1994)Google Scholar
  32. 32.
    Poladian, V., Garlan, D., Shaw, M.: Software Selection and Configuration in Mobile Environments: A Utility-Based Approach. In: Position paper for the Fourth Workshop on Economics-Driven Software Engineering Research (EDSER-4), affiliated with the 24th International Conference on Software Engineering (ICSE 2002) (May 2002)Google Scholar
  33. 33.
    Poladian, V., Butler, S.A., Shaw, M., Garlan, D.: Time is Not Money: The Case for Multi-dimensional Accounting in Value-based Software Engineering. In: Position paper for the Fifth Workshop on Economics-Driven Software Research (EDSER-5), affiliated with the 25th International Conference on Software Engineering (ICSE 2003) (May 2003)Google Scholar
  34. 34.
    Reidenberg, J.R.: Resolving conflicting international data privacy rules in cyberspace. Stanford Law Review 52, 1315–1376 (2000)CrossRefGoogle Scholar
  35. 35.
    Shapiro, C., Varian, H.R.: Information Rules: A strategic guide to the network economy. Harvard Business School Press, Boston (1998)Google Scholar
  36. 36.
    Shaw, M. (ed.): The Carnegie-Mellon Curriculum for Undergraduate Computer Science, p. 198. Springer, Heidelberg (1985)Google Scholar
  37. 37.
    Shaw, M.: Software Engineering Education: A Roadmap. In: Finkelstein, A. (ed.) The Future of Software Engineering, pp. 371–380. ACM Press, New York (2000)Google Scholar
  38. 38.
    Shaw, M. (ed.): Software Engineering for the 21st Century; a basis for rethinking the curriculum. Technical Report CMU-ISRI-05-108, Institute for Software Research International, Carnegie Mellon University (March 2005)Google Scholar
  39. 39.
    Shaw, M., Arora, A., Butler, S., Scaffidi, C.: In search of a unified theory for early predictive design evaluation. Working paper (2004)Google Scholar
  40. 40.
    Shaw, M., Herbsleb, J., Ozkaya, I.: Methods: Deciding What to Design. Course home page. School of Computer Science, Carnegie-Mellon University (September -December 2005),
  41. 41.
    Simon, H.: The Sciences of the Artificial, 3rd edn. MIT Press, Cambridge (1996)Google Scholar
  42. 42.
    Simon, H.A.: What we know about learning. Journal of Engineering Education 87(4), 343–348 (1998), Cached at: Google Scholar
  43. 43.
    Snyder, C.: Paper Prototyping. Morgan Kaufmann, San Francisco (2003)Google Scholar
  44. 44.
    Suchman, L.: Plans and Situated Actions: The Problem of Human-Machine Communication. Cambridge University Press, Cambridge (1987)Google Scholar
  45. 45.
    Vincenti, W.: What Engineers Know and How They Know It. Johns Hopkins University Press, Baltimore (1990)Google Scholar
  46. 46.
    von Hippel, E.: The Sources of Innovation. Oxford University Press, Oxford (1994)Google Scholar
  47. 47.
    Mitchell Waldrop, M.: The Dream Machine: J.C.R. Licklider and the Revolution that Made Computing Personal. Penguin Books (2001)Google Scholar
  48. 48.
    Winograd, T. (ed.): Bringing Design to Software. Addison-Wesley, Reading (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Mary Shaw
    • 1
  • Jim Herbsleb
    • 1
  • Ipek Ozkaya
    • 2
  • Dave Root
    • 1
  1. 1.Institute for Software Research, School of Computer ScienceCarnegie Mellon UniversityPittsburghUSA
  2. 2.Software Engineering InstituteCarnegie Mellon UniversityPittsburghUSA

Personalised recommendations