Abstract
The design of software has been one of the greatest challenges in the development of information systems. From its fairly primitive beginnings in the form of toggling on/off switches and punching holes in paper tapes, software has come to dominate the cost of all forms of information systems. Yet, instead of gaining increasing mastery over the processes of software design, we continue to be challenged by new software technologies, greater quality expectations, and higher complexities of integrated systems. Thus, software design remains an essentially wicked problem that is typically crafted to each software-intensive system developed.
A fact in itself is nothing. It is valuable only for the idea attached to it, or for the proof which it furnishes.
– Claude Bernard
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Agile Manifesto (2001) Manifesto for Agile Software Development, http://agilemanifesto.org.
Bach, M. (1987) The Design of the UNIX Operating System, Prentice Hall, Englewood Cliffs, NJ.
Backus, J. (1979) The history of FORTRAN I, II, and III, IEEE Annuals of the History of Computing 1 (1), pp. 21–37.
Barrett, D., L. Clarke, P. Tarr, and A. Wise (1996) A framework for event-based software integration, ACM Transactions on Software Engineering and Methodology 5 (4), pp. 378–421.
Baskerville, R. and J. Stage (1996) Controlling prototype development through risk analysis, MIS Quarterly 20 (4), pp. 481–504.
Bass, L., P. Clements, and R. Kazman (2003) Software Architecture in Practice, 2nd edn, Addison-Wesley, Reading, MA.
Beck, K. and C. Andres (2005) Extreme Programming Explained: Embrace Change, 2nd ed, XP Series, Addison-Wesley, Inc., Boston, MA.
Bergin, T. and R. Gibson (eds) (1996) History of Programming Languages II, ACM Press, Addison-Wesley, Reading, MA.
Boehm, B. (1988) A spiral model of software development and enhancement, IEEE Computer 21 (5), pp. 61–72.
Boehm, B. and R. Turner (2004) Balancing Agility and Discipline: A Guide for the Perplexed, Addison-Wesley, Inc., Boston, MA.
Boehm, C. and G. Jacopini (1966) Flow diagrams, turing machines, and languages with only two formation rules, Communications of the ACM 9 (5), pp. 366–371.
Booch, G., R. Maksimchuk, M. Engel, B. Young, J. Conallen, and K. Houston, (2007) Object-Oriented Analysis and Design with Applications, 3rd edn, Addison-Wesley, Inc., Boston, MA.
Brown, A. (2000) Large Scale Component Based Development, Prentice-Hall PTR, Upper Saddle River, NJ.
Buxton, J. and B. Randell (1970) Software Engineering Techniques: Report on a Conference Sponsored by the NATO Science Committee, Rome, Italy, 1969, NATO.
Campbell-Kelly, M. and W. Aspray (1996) Computer: A History of the Information Machine, Basic Books, New York.
Codd, E. (1970) A relational model of data for large shared data banks, Communications of the ACM 13 (6), pp. 377–387.
Cusumano, M. and D. Yoffie (1999) Software development on Internet time, IEEE Computer 32 (10), pp. 60–69.
Dijkstra, E. (1968) The Go-To statement considered harmful, Communications of the ACM 11 (3), pp. 147–148.
Erl, T. (2005) Service-Oriented Architecture (SOA): Concepts, Technology, and Design, Prentice-Hall PTR, Upper Saddle River, NJ.
Fitzgerald, B., N. Russo, and T. O’Kane (2003) Software development tailoring at Motorola, Communications of the ACM 46 (4), pp. 65–70.
Fitzgerald, B., G. Hartnett, and K. Conboy (2006) Customizing agile methods to software practices at Intel Shannon, European Journal of Information Systems 15 (2), pp. 200–213.
Fowler, M. (2003) UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edn, Addison-Wesley, Inc., Boston, MA.
Gerhart, S., D. Craigen, and A. Ralston (1993) Observation on industrial practice using formal methods, Proceedings of the 15 th International Conference on Software Engineering, Computer Society Press, Silver Spring, MD.
Gosling, J., B. Joy, G. Steele, and G. Bracha (2005) The Java Language Specification, 3rd edn, Addison-Wesley, Boston, MA.
Gray, J. (1996) Evolution of data management, IEEE Computer 29 (10), pp. 38–46.
Haeckel, S. and R. Nolan (1996) Managing by Wire: Using IT to Transform a Business from “Make and Sell” to “Sense and Respond”, Chapter 7 in J. Luftman (ed.) Competing in the Information Age: Strategic Alignment in Practice, Oxford University Press, Oxford.
Harris, M., A. Hevner, and R. Collins (2009a) Controls in flexible software development, Communications of the Association for Information Systems 24 (43), pp. 757–776.
Harris, M., R. Collins, and A. Hevner (2009b) Control of flexible software development under uncertainty, Information Systems Research: Special Issue on Flexible and Distributed Information Systems Development 20 (3), pp. 400–419.
Henderson, J. and N. Venkatraman (1993) Strategic alignment: leveraging information technology for transforming organizations,” IBM Systems Journal 32 (1), pp. 4–16.
Hevner, A. and D. Berndt (2000) Eras of Business Computing, in M. Zelkowitz (ed.) Advances in Computers, Vol. 52, Academic Press, Inc., San Diego, CA, pp. 1–90.
Jacobson, I. and P. Ng (2005) Aspect-Oriented Software Development with Use Cases, Addison-Wesley, Inc., Boston, MA.
Kast, F. and J. Rosenzweig (1972) General systems theory: applications for organization and management, Academy of Management Journal 15 (3), pp. 447–465.
Kruchten, P. (2000) The Rational Unified Process: An Introduction, 2nd edn, Addison-Wesley, Inc., Reading, MA.
Luqi and J. Goguen (1997) Formal methods: promises and problems, IEEE Software 14 (1), pp. 73–85.
Martin, J. (1989) Information Engineering: Books 1-3, Prentice-Hall, Englewood Cliffs, NJ.
Mills, H. (1986) Structured programming: retrospect and prospect, IEEE Software 3 (6), pp. 58–66.
Mills, H., R. Linger, and A. Hevner (1986) Principles of Information Systems Analysis and Design, Academic Press, Inc., Boston, MA.
Myers, B. (1998) A brief history of human-computer interaction technology, Interactions 5 (2), pp. 44–54.
Naur, P. and B. Randell (1969) Software Engineering: Report on a Conference Sponsored by the NATO Science Committee, Garmisch, Germany, 1968, NATO.
Orr, K. (1977) Structured Systems Development, Yourdon Press, Prentice-Hall, Englewood Cliffs, NJ.
Paulk, M. (ed.) (1994) The Capability Maturity Model: Guidelines for Improving the Software Process, Addison-Wesley, Reading, MA.
Peebles, R. and E. Manning (1978) System architecture for distributed data management, IEEE Computer 11 (1), pp. 40–47.
Pfleeger, S. and L. Hatton (1997) Investigating the influence of formal methods, IEEE Computer 30 (2), pp. 33–43.
Prowell, S., C. Trammell, R. Linger, and J. Poore (1999) Cleanroom Software Engineering: Technology and Process, Addison-Wesley, Inc., Reading, MA.
Ritchie, D. and K. Thompson (1974) The UNIX time-sharing system, Communications of the ACM 17 (7), pp. 365–375.
Royce, W. (1970) Managing the development of large software systems: concepts and techniques, Proceedings of IEEE WESTCON, Los Angeles.
Scherr, A. (1978) Distributed data processing, IBM Systems Journal 17 (4), pp. 324–343.
Schwaber, K. (2004) Agile Project Management with Scrum, Microsoft Press, Inc, Redmond, WA.
Shaw, M. and D. Garlan (1996) Software Architecture: Perspectives on an Emerging Discipline, Prentice-Hall, Englewood Cliffs, NJ.
Stevens, W., G. Myers, and L. Constantine (1974) Structured design, IBM Systems Journal 13 (2), pp. 115–139.
Stonebraker, M. (1996) Object-Relational DBMSs: The Next Great Wave, Morgan Kaufmann, San Francisco, CA.
Taylor, R., N. Medvidovic, and E. Dashofy (2009) Software Architecture: Foundations, Theory and Practice, John Wiley & Sons, Hoboken, NJ.
Trammell, C., M. Pleszkoch, R. Linger, and A. Hevner (1996) The incremental development process in cleanroom software engineering, Decision Support Systems 17 (1), pp. 55–71.
Wexelblat, R. (ed.) (1981) History of Programming Languages I, Academic Press, Boston, MA.
Wing, J. (1990) A Specifier’s introduction to formal methods, IEEE Computer 23 (9), pp. 10–23.
Yourdon, E. (1989) Modern Structured Analysis, Yourdon Press, Prentice-Hall, Englewood Cliffs, NJ.
Zachman, J. (1987) A framework for information systems architecture,” IBM Systems Journal 26 (3), pp. 276–292.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2010 Springer-Verlag US
About this chapter
Cite this chapter
Hevner, A., Chatterjee, S. (2010). Software Design: Past and Present. In: Design Research in Information Systems. Integrated Series in Information Systems, vol 22. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-5653-8_8
Download citation
DOI: https://doi.org/10.1007/978-1-4419-5653-8_8
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-5652-1
Online ISBN: 978-1-4419-5653-8
eBook Packages: Business and EconomicsBusiness and Management (R0)