Volgende boeken zijn aangeraden als algemene achtergrondinformatie bij de cursus. Ze zijn allen beschikbaar in de bibliotheek van de UA.

Fundamentals of Software Engineering, C. Ghezzi, M. Jazayeri, D. Mandroli, 2nd edition, Prentice Hall, 2002.
Timeless because of its emphasis on principles, but a bit difficult.
[ online resources for the 2nd edition of the book: ]
Software Engineering - A Practitioner's Approach, R. Pressman, Mc-Graw Hill, Fifth Edn., 2001.
Very practical and quite deep, but contains a lot of material and is therefore quite thick and a bit expensive.
[online resources for the 5th edition of the book: ]
[online resources from the author of the book: ]
Software Engineering, I. Sommerville, Addison-Wesley, Seventh Edn., 1996
Very popular and broad plus reads quite easily, but often lacks profoundness.
[ online resources for the 9th edition of the book: ]

Introductie (UML)

Project Management 

  • The Mythical Man-Month, F. Brooks, Addison-Wesley, 1975.
    • The classic "adding people to a late project makes it later" but also lots of other timeless wisdom.
  • Peopleware - Productive Projects and Teams (2nd ed.), Tom DeMarco and Timothy Lister, Dorset House Publishing Company, 1998
    • Lots of advice on how the sociology in teams affect productivity.
  • Software Project Management, B. Hughes and M. Cotterell, McGraw Hill, 1999.
    • Good practical examples on PERT, Gantt, Time-sheets, ...
  • Modern Production / Operations Management - Eighth Edition, Elwood S. Buffa and Rakesh K. Sarin, Wiley 1987.
    • Another book with good practical examples on PERT and Gantt
  • Succeeding with Objects: Decision Frameworks for Project Management, A. Goldberg and K. Rubin, Addison-Wesley, 1995
    • Explains how to define your own project management strategy. Especially usefull if you ever have to start an object-oriented, incremental and iterative project and you need lots of good arguments to help convince your colleagues.
  • De vloek op het informaticaproject, William Visterin. Financieel Economische Tijd van 14/06/2002
  • Using Belbin's leadership role to improve team effectiveness: An empirical investigation. Sallie M. Henry, K. Todd Stevens,Journal of Systems and Software, Volume 44, Issue 3, January 1999, Pages 241-250, ISSN 0164-1212.
  • Several on-line tests exists to determine your preferred role in a team
  • Various papers on diverse aspects of project scheduling (incl. earned value analysis)
  • ProjeX, an Excel add-in for creating Gantt charts

Use Cases 

  • Applying Use Cases - a Practical Guide, Geri Schneider, Jason, P. Winters, Addison-Wesley, 1998.
    • An easy to read an practical guide on how to iteratively develop a set of use cases and how to exploit it for project planning.
  • Object-Oriented Software Engineering: A Use-Case Driven Approach, I. Jacobson et. al., Addison-Wesley, 1992.
    • The book introducing use cases. Also tells how to use them during a complete software project.
  • The software specification cartoon
  • A dilbert cartoon about requirements and negotiating with customers
  • "Structuring Use Cases with Goals", Alister Cockburn, Journal of Object-Oriented Programing Sept-Oct & Nov-Dec 1997.
  • Some practical guidelines concerning use-cases.
  • "Are Your Requirements Complete?", Donald G. Firesmith, Journal of Object Technology, vol. 4, no. 1, January-February 2005, pp. 27-43.
  • "Managing Use Cases During Goal-Driven Requirements Engineering: Challenges Encountered and Lessons Learned", Annie I. Antón, John H. Dempster, Devon F. Siege. In ICSE2000 Proceedings, IEEE, 2000.

Domain Models (Requirements Engineering)

  • The CRC Card Book, David Bellin and Susan Suchman Simone, Addison-Wesley, 1997.
    • An easy to read and practical guide on how apply CRC cards in brainstorm sessions with end users.
  • Designing Object-Oriented Software, R. Wirfs-Brock, B. Wilkerson, L. Wiener, Prentice Hall, 1990.
    • The book introducing responsibility-driven design, i.e. explaining through some good examples how to identify the objects in a requirements specification.
  • "Requirements Engineering: A Roadmap", B. Nuseibeh and S. Easterbrook, Proceedings of International Conference on Software Engineering (ICSE-2000), 4-11 June 2000, Limerick, Ireland, ACM Press.
  • "Introduction to CRC Cards", David M. Rubin, White Paper by Softstar Research.
  • "A Laboratory For Teaching Object-Oriented Thinking", Kent Beck, Ward Cunningham, OOPSLA'89 Conference Proceedings.
  • "Overview of Generative Software Development" by K. Czarnecki. In J.-P. Banatre et al. (Eds.): Unconventional Programming Paradigms (UPP) 2004, Mont Saint-Michel, France, LNCS 3566, pp. 313-328, 2005 


  • Testing Object-Oriented Systems (Models, Patterns, and Tools), Robert V. Binder, Addison-Wesley, 2000.
    • A very practical (and thick !) overview of what you need to do when testing large OO systems.
  • Unit Testing Framework
  • "Simple Smalltalk Testing: With Patterns", Kent Beck
    • [
    • Explains how to set up a unit testing harness for regression testing.It's explained in Smalltalk, but the framework has been ported to other languages as well. 
  • "Test Infected: Programmers Love Writing Tests", Kent Beck, Erich Gamma
  • "A Survey of Unit Testing Practices", Per Runeson

Design by Contract 

  • Object-Oriented Software Construction, B. Meyer, Prentice Hall, Second Edn., 1997.
    • The book introducing Design by Contract. Also an excellent treatment on the doís and doníts of object-oriented development.
  • "Put it in the contract: The lessons of Ariane", Jean-Marc Jézéquel and Bertrand Meyer, IEEE Computer, January 1997, Vol30, no. 2, pages 129-130.
  • "Critique of 'Put it in the contract: The lessons of Ariane'", Ken Garlington. Technical paper.
  • "Programming with Assertions", SUN
  • "iContract: Design by Contract in Java", Oliver Enseling

Formal Specifications

  • Jan Tretmans, Klaas Wijbrans and Michel Chaudron "Software Engineering with Formal Methods: the Development of a Storm Surge Barrier Control System", Formal Methods in System Design, 19:195-215, 2001.
  • The Use of Industrial-Strength Formal Methods, Jonathan P. Bowen and Michael G. Hinchey, COMPSAC'97 Conference.
  • Perdita Stevens and Rob Pooley, Using UML - Software Engineering with Objects and Components, Addison-Wesley 2000.
    • Chapters 11 & 12 provides a good introduction to UML-State Diagrams
  • A HTML page with errors 


  • Pattern-Oriented Software Architecture: A System of Patterns, Frank Buschman, Regine Meunier, Hans Rohnert, Peter Somerlad, Michael Stal, Wiley and Sons, 1996.
    • Introduces architectural styles in pattern form. Also covers some design patterns and idioms.
  • Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Addison-Wesley, 1995.
    • The classic. At design level but also viewed as ìmicro-architecture.
  • Software architecture: perspectives on an emerging discipline, Mary Shaw, David Garlan, Prentice-Hall, 1996.
    • The book introducing software architecture.
  • Software architecture in practice, Len Bass, Paul Clements, Rick Kazman, Addison-Wesley, 1998.
    • A very deep and practical treatment of software architecture.
  • Design and use of software architectures: adopting and evolving a product-line approach, Jan Bosch, Addison-Wesley, 2000.
    • How to build product-line architectures, inluding a number of cases.
  • Philippe Kruchten "The 4+1 View Model of Architecture ", IEEE Software, November 1995 (Vol. 12, No. 6) pp. 42-50.

Software Quality



  •  Refactoring, Improving the Design of Existing Code by Martin Fowler, Addison-Wesley, 1999.
    • A practical book explaining when and how to use refactorings to cure some typical code-smells.
  • Object-Oriented Reengineering Patterns by Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz, Morgan Kaufmann, 2002.
    • A book describing how one can reengineer object-oriented legacy systems.
  • Code smells
  • Refactoring
  • "Big Ball of Mud", Brian Foote and Joseph Yoder; Fourth Conference on Patterns Languages of Programs (PLoP '97/EuroPLoP '97)

Conclusion (Ethics and Professional Practice)