- Introduction: 2010-2011 version.
- Requirements, Quality aspects, their realization: 2010-2011 version.
- Patterns: for architecture, for enterprise applications: 2010-2011 version.
Project topics: systems
You are welcome to investigate a system not on the list, however there are some side conditions:
- The system must be documented.
- The documentation and (great part of) the source code must be publicly available.
- The system must not overlap too much with topics from the list below, or must be replacement for a topic not chosen.
To choose from
- Version management: git, svn, mercurial
- Online chatting (with reservations as project topic): Twitter
- Rich internet application development framework: Open Laszlo
- Distributed file system: AFS
- Platform transparent user interface: X window system
- Middleware: Corba, Tibco, Java RMI, etc
- Editor framework: Proxima
- Web based application framework: Google Chrome
- Realtime highperformance graphics environment: Ogre
- Operating System on low energy consumption systems: Android
- Large scale GIS (Geographical Information System): OpenStreetMap
- Fault tolerant, distributed database support for Web applications: Cassandra
- Large scale implementations of otherwise simple problems: Google MapReduce
- Development environment: Eclipse
- Extensible application framework: OpenDoc
- The Software Engineering Institute (Carnegie Mellon) has various books on software architecture and related topics. Though slightly biased towards their own techniques the following are worthwhile and helpful, the first book offering a more general treatment, the remaining zoom in on subtopics:
- Len Bass, Paul Clements & Rick Kazman; Software Architecture in Practice, Addison-Wesley, 2003 2nd ed. (1998 1st ed.).
- Paul Clements et al. Documenting Software Architectures: Views and Beyond, Addison-Wesley, 2003.
- Paul Clements et al. Evaluating Software Architectures: Methods and Case Studies, Addison-Wesley, 2002.
- Books on patterns are useful to become familiar with standard solutions for frequently occurring problems. Patterns allow you to think and talk about such problems in higher level concepts. Much more material on patterns exists nowadays, but the books below belong to the first to have appeared.
- (BBL) Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal, Pattern-Oriented Software Architecture, Volume 1: A System of Patterns, Wiley & Sons, 1996.
- Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. 1995. Addison-Wesley.
- Martin Fowler, Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
- Martin Fowler, UML Distilled, Addison-Wesley, 1997. (If desired so, a team can have a copy of this book on loan for use during the project)
Use the following books to find more information on the subjects of the course, for instance to supplement your understanding of issues arising in the project phase.
- Stephen T. Albin, The Art of Software Architecture. Wiley Publishing, 2003. (this book has been used as the default SWA book in previous years)
- Thomas Erl, Service-Oriented Architecture: Concepts, Technology, and Design. Prentice-Hall PTR, 2005.
- Gert Florijn et al., Softwarearchitectuur: overzicht en compendium. Ten Hagen Stam, 2003. (In Dutch!)
- Christine Hofmeister, Robert Nord, and Dilip Soni, Applied Software Architecture. Addison-Wesley, 2000.
- Gregor Hohpe and Bobby Woolf, Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, 2004.
- Gerald Kotonya and Ian Somerville, Requirements Engineering. Wiley Publishing, 1998.
- Leszek A. Maciaszek, Requirements Analysis and System Design. 2nd ed., Addison-Wesley, 2005.
- Bertrand Meyer, Object-Oriented Software Construction. 2nd ed., Prentice-Hall PTR, 1997.
- Nick Rozanski and Eoin Woods, Software Systems Architecture. Addison-Wesley, 2005.
- Clemens Szyperski, Component Software: Beyond Object-Oriented Programming. 2nd ed., ACM Press and Addison-Wesley, 2002.
- B. van Zeist, P. Hendriks, R. Paulussen en J. Trienekens, Kwaliteit van softwareprodukten - Praktijkervaringen met een kwaliteitsmodel, Kluwer Bedrijfswetenschappen, 1996. (In Dutch!)
Background reading material, papers
Introduction to software architecture
Software requirements, describing and evaluating software architectures
Patterns: for architecture, for enterprise applications
- M. Klein, R. Kazman, L. Bass, J. Carriere, M. Barbacci, H. Lipson, Attribute-Based Architecture Styles, in: Proceedings of the First Working IFIP Conference on Software Architecture (WICSA1), San Antonio, TX, February 1999, pp. 225-243.
Previous year remaining reading material
In previous years (relative to SWA edition 2008/2009) the book by Albin (see books
) has been used.
References to the relevant chapters are included in this lecture overview.
Design by contract
- Soon-Kyeong Kim and David Carrington, A Rigorous Foundation for Pattern Based Design Models. In Proceedings of the 4th International Conference on Z and B Users (ZB2005), Formal Specification and Development in Z and B, Guildford, UK, April 2005, LNCS 3455, Springer; pp. 242-261.
(Requirements) Change impact analysis, Risk analysis
- Change impact analysis
- Requirements change impact analysis
- Risk analysis
- Templates for various architecture design related activities on RUP op maat.
Submitted Material (2010-2011)