Advanced Software Engineering, FS 12
Contents
This course covers the following specific topics in software engineering:
- software architecture and design
- architectural patterns and styles
- model-driven software development
- aspect-oriented programming
- problem frames
- software processes including agile methods
- software reuse
- further selected topics
Organization
Professors: | Prof. Dr. Harald Gall, Prof. Dr. Martin Glinz |
Assistant: | Emanuel Giger |
Schedule: | Wed, 9.00-12.00 Uhr, BIN 2.A.01 (former 1.D.07) |
Language: | English |
AP (ECTS): | 6 |
Target audience: | Students in MSc Informatik |
Requirements: | MSc Informatik: Master-Basismodul Software Engineering, Programming, Distributed Systems |
Registration: | UZH Buchungstool |
VVZ: | organizational details in UZH online course catalog (VVZ) |
Learning Goals
Students shall be able to understand and apply advanced methods, techniques and processes in software engineering.
Timetable
The listed topics are not exclusive and can change during the semester. The slides will be updated on a week by week basis.
Date | Topic | Documents |
---|---|---|
22.02.2012 | Kickoff and introduction Software Architecture: Definition & Styles Compulsory reading of papers |
Papers [1] and [2], see below |
29.02.2012 | Patterns of Software Architecture | Ref. [3,4] |
Case Study: | ||
07.03.2012 | Lecture is cancelled due to Faculty Peer Review Obligations of the lecturer! | |
Architecture Analysis and ATAM | ||
Architecture Description Languages and ACME | ||
14.03.2012 | Design Heuristics (E. Giger) | Discussion of case study Presentation of students' solutions (annotated slides) |
21.03.2012 | Software Metrics | |
28.03.2012 | Agile Software Development (M. Glinz) | Reading Assignment BEFORE the Lecture: |
04.04.2012 | Design by Contract |
|
11.04.2012 | Osterferien - no lecture | |
18.04.2012 | Problem Solving, Problem Frames (M. Glinz) | Reading Assignment BEFORE the Lecture: |
25.04.2012 | Aspect-Oriented Programming (AOP) | |
02.05.2012 | Software Reuse & Reuse Economics | |
09.05.2012 | Software Analysis as a Service | |
16.05.2012 | Product-Line Engineering, R. Stoiber (Guest speaker) | |
23.05.2012 | No lecture - self study to prepare for the exam | |
30.05.2012 | Oral exams | |
31.05.2012 | Oral exams | |
20.06.2012 | Oral exams |
Format
This course offers a mixture of lectures, discussions, and case studies. This allows the students to actively learn during the lecture and in preparation before and after the lecture based on concrete examples.
Topics will be introduced by presentations triggering the essence of the area. The deepening then is done by reading scientific papers and book chapters. A discussion based on examples or case studies completes specific topics.
Exam
- It was decided to have oral exams on May 30, May 31, and June 20, 2012.
- Please sign up for the oral exams via Doodle!
References
- Parnas, D. L. 1972. On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12):1053-1058, Dec. 1972.
- Kruchten, P.B., The 4+1 View Model of architecture, IEEE Software, 12(6):42-50, Nov 1995.
- F. Buschmann, R. Meunier, H. Rohnert, P.Sommerlad, M. Stal, Pattern-Oriented Software Architecture: A System of Patterns, John Wiley and Sons Ltd, Chichester, UK, 1996
- Douglas C. Schmidt, Michael Stal, Hans Rohnert and Frank Buschmann, Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, John Wiley & Sons, 2000.
- Frank Buschmann, Kevlin Henney, Douglas C. Schmidt, Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing, John Wiley & Sons, 2007
- Frank Buschmann, Kevlin Henney, Douglas C. Schmidt, Pattern-Oriented Software Architecture: On Patterns and Pattern Languages, John Wiley & Sons, 2007
- Markus Schumacher, Eduardo Fernandez-Buglioni, Duane Hybertson, Frank Buschmann, Peter Sommerlad, Security Patterns: Integrating Security and Systems Engineering, Wiley & Sons, 2005
- L. Williams, R.R. Kessler, W. Cunningham, R. Jeffries (2000). Strengthening the Case for Pair Programming. IEEE Software 17(4):19-25.
- L. Rising, N. S. Janoff (2000). The Scrum Software Development Process for Small Teams. IEEE Software 17(4):26-32.
- H. Wolf, S. Rook, M. Lippert (2005). Extreme Programming: Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis. 2. Auflage, Heidelberg: dpunkt Verlag.
- David Garlan, Robert T. Monroe and David Wile. Acme: Architectural Description of Component-Based Systems. In Gary T. Leavens and Murali Sitaraman editors, Foundations of Component-Based Systems, Pages 47-68, Cambridge University Press, 2000.
- Marwan Abi-Antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas and Tony Tseng. Software Architecture with Acme and ArchJava (Research Demonstration). In Proceedings of the 27th International Conference on Software Engineering, St. Louis, MS, May 2005.
- Nenad Medvidovic, Richard N. Taylor, A classification and comparison framework for software architecture description languages, IEEE Transactions on Software Engineering, Volume 26, Issue 1, Page(s):70 - 93, Jan. 2000
- Matthew R. McBride. The software architect. Communications of the ACM, Volume 50 Issue 5, ACM, May 2007
- Arthur J. Riel, Object-Oriented Design Heuristics, Addison-Wesley Longman Publishing Co., Inc., 1996
- Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software, ISBN: 0-321-12521-5, Addison-Wesley, 2004
- France, R. and Rumpe, B. 2007. Model-driven Development of Complex Software: A Research Roadmap. In 2007 Future of Software Engineering (May 23 - 25, 2007). International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 37-54. DOI= dx.doi.org/10.1109/FOSE.2007.14
- Lim, W.C., Effects of reuse on quality, productivity, and economics, IEEE Software , Volume 11, Issue 5, pp. 23-30, Sept. 1994
- Barnes, B.H., Bollinger, T.B., Making Reuse Cost-effective, IEEE Software, Volume 8 Issue 1, pp. 13-24, Jan. 1991
- Joos, R., Software Reuse at Motorola, IEEE Software, Volume 11, Issue 5, Pages:42-47, Sep 1994.
- Nam-Yong Lee; Litecky, C.R.; An empirical study of software reuse with special attention to Ada, , IEEE Transactions on Software Engineering, Volume 23, Issue 9, Page(s):537 - 549, Sept. 1997.
- Rothenberger, M.A.; Dooley, K.J.; Kulkarni, U.R.; Nada, N.; Strategies for software reuse: a principal component analysis of reuse practices, IEEE Transactions on Software Engineering, Volume 29, Issue 9, Page(s):825 - 837, Sept. 2003.
- R. N. Taylor, N. Medvidovic, E. M. Dashofy. Software Architecture: Foundations, Theory, and Practice. Wiley, 2009.
- M. Barnett and M. Fähndrich and K. R. M. Leino and P. Müller and W. Schulte and H. Venter: Specification and Verification: The Spec# Experience, Communications of the ACM, 2010.
- Michael Jackson, Problem Frames and Software Engineering, Information and Software Technology, Vol. 47(14):903-912, Nov 2005.
- Michael Jackson, A Tutorial on Software Development Problem Frames Part 1, Open University, 2006
- David L. Parnas, Paul C. Clements, A Rational Design Process: How and Why to Fake it, Transactions on Software Engineering, Vol. SE-12, No. 2, Feb 1986.