Volgende boeken zijn aangeraden als algemene achtergrondinformatie bij de cursus. Ze zijn allen beschikbaar in de bibliotheek van de UA.
- [Ghez02] 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: http://www.prenhall.com/ghezzi ]
- [Pres00] Software Engineering - A Practitioner's Approach, R. Pressman, Mc-Graw Hill, Fifth Edn., 2000.
- [Somm05] Software Engineering, I. Sommerville, Addison-Wesley, Ninth Edn., 2011
Extra information on SCRUM; the process you will use for the Capstone Project
- [Rubi13] Essential Scrum: A Practical Guide to the most popular agile process. Kenneth S.Rubin. Addison-Wesley, 2013
Introduction (UML)
- UML Modeling Language -- Notation Guide, version 1.3
- "Iterative and Incremental Development: A Brief History"Craig Larman and Victor R. Basili, IEEE Computer, June 2003
- "The Five Orders of Ignorance" (Phillip G. Armour), Communications of the ACM (October 2000)
- How Many Millions of Lines of Code Does It Take?
Requirements
- 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.
- A dilbert cartoon about requirements and negotiating with customers
- "User stories as lightweight requirements for agile clinical decision support development", Vaishnavi Kannan, Mujeeb A Basit, Puneet Bajaj, Angela R Carrington, Irma B Donahue, Emily L Flahaven, Richard Medford, Tsedey Melaku, Brett A Moran, Luis E Saldana. In Journal of the American Medical Informatics Association, Volume 26, Issue 11, November 2019, Pages 1344–1354
- An experience report applying user stories in combination with use case diagrams to manage the requirements in a health care application. In healthcare, human lives might be affected, so explict requirements play an important role.
- Ian Alexander, "Misuse Cases: Use Cases with Hostile Intent" in IEEE Software, vol. 20, no. 01, pp. 58-66, 2003. doi: 10.1109/MS.2003.1159030
- Jane Cleland-Huang and Michael Vierhauser, "Discovering, Analyzing, and Managing Safety Stories in Agile Projects," 2018 IEEE 26th International Requirements Engineering Conference (RE), 2018, pp. 262-273, doi: 10.1109/RE.2018.00034.
Software Architecture
- 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.
- Philippe Kruchten "The 4+1 View Model of Architecture ", IEEE Software, November 1995 (Vol. 12, No. 6) pp. 42-50.
Project Management
- Software Project Management, B. Hughes and M. Cotterell, McGraw Hill, 2006. (4th Edition)
- Good practical examples on PERT, Gantt, Time-sheets, ...
- 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.
- All Late Projects Are the Same. Tom De MarcoIEEE Software, pp. 102-103, November/December, 2011
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.
- "Simplifying Microservice testing with Pacts", Ron Holshausen.
- "Programming with Assertions", SUN
- "iContract: Design by Contract in Java", Oliver Enseling
Testing
- Tweet (joke) -- all unit tests are passing
- "A Survey of Unit Testing Practices", Per Runeson
- Disusses the state-of-the-practive with unit testing. A nice quote "Most respondents said that running all unit tests took just seconds or minutes, but some respondents had unit test suites that took hours to execute".
- [ local copy | original: http://dx.doi.org/10.1109/MS.2006.91 ]
- "Test Fatigue", Gerard J. Holzman. in IEEE Software, vol. 37, no. 4, pp. 11-16, July-Aug. 2020
Formal Specifications
- D. Cofer et al., "A Formal Approach to Constructing Secure Air Vehicle Software," in Computer, vol. 51, no. 11, pp. 14-23, Nov. 2018, doi: 10.1109/MC.2018.2876051.
- J. Kapinski, J. V. Deshmukh, X. Jin, H. Ito and K. Butts, "Simulation-Based Approaches for Verification of Embedded Control Systems: An Overview of Traditional and Advanced Modeling, Testing, and Verification Techniques," in IEEE Control Systems Magazine, vol. 36, no. 6, pp. 45-64, Dec. 2016
- A HTML page with errors
Domain Models
- The software specification cartoon
- "How the Boeing 737 Max Disaster Looks to a Software Developer" Gregory Travis. IEEE Spectrum, April 18.
- "The Boeing 737 MAX: Lessons for Engineering Ethics." Herkert, J., Borenstein, J. & Miller, K. Science and Engineering Ethics (2020).
- Product Line Hall of Fame
- http://splc.net/fame.html
- A list of software companies who organised their software production process accoring to a softwrae-product-lines approach
Quality Control
- Case Study – Denver International Airport Baggage Handling System – An illustration of ineffectual decision making
- Case Study - FBI Sentinel System
- [ local copy | http://doi.ieeecomputersociety.org/10.1109/MC.2012.2 ]
- Why the FBI Can’t Build a Case Management System (Jerome W. Israel). IEEE Software, June 2012
- A report illustrating why a seemingly innocent project (a database of FBI case files) can become overly complex if not handled properly. Several important lessons learned are deduced.
- Tacoma Narrows Bridge Disaster
Software Metrics
- The weather on D-Day
- Software Metrics: A rigorous & Practical Approach, Norman E. Fenton, Shari l. Pfleeger, Thompson Computer Press, 1996.
- Thorough treatment of metrics theory with lots of advice to make it digestible.
- Fingers in the air: a Gentle Introduction to Software Estimation
- Software Metrics (Patti Beadles) [rec.humor.funny]
- A cartoon on measuring the output of Quality reviews using wtf / minute
- Estimating With Use Case Points
Refactoring
- 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)
- Software Engineering Code of Ethics and Professional Practice
- VW Emissions scandal
- [ http://calleam.com/WTPF/?p=7666 ]
- If you would work for Volkswagen and they ask you to install software on the car to cheat emission testing. What would you do?
- Facebook / Twitter API spying
- The 'Killer Robot' Case is an especially relevant (and humerous !) series of newspaper articles describing an imaginary situation of a piece of software that kills people and how it could have been avoided. (Beware, the complete text is about 70 pages long; don't read it over a modem)
- The "No Silver Bullet" paper