Navigation auf uzh.ch

Suche

Department of Informatics s.e.a.l

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

  1. Parnas, D. L. 1972. On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12):1053-1058, Dec. 1972.
  2. Kruchten, P.B., The 4+1 View Model of architecture, IEEE Software, 12(6):42-50, Nov 1995.
  3. 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
  4. Douglas C. Schmidt, Michael Stal, Hans Rohnert and Frank Buschmann, Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, John Wiley & Sons, 2000.
  5. Frank Buschmann, Kevlin Henney, Douglas C. Schmidt, Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing, John Wiley & Sons, 2007
  6. Frank Buschmann, Kevlin Henney, Douglas C. Schmidt, Pattern-Oriented Software Architecture: On Patterns and Pattern Languages, John Wiley & Sons, 2007
  7. Markus Schumacher, Eduardo Fernandez-Buglioni, Duane Hybertson, Frank Buschmann, Peter Sommerlad, Security Patterns: Integrating Security and Systems Engineering, Wiley & Sons, 2005
  8. L. Williams, R.R. Kessler, W. Cunningham, R. Jeffries (2000). Strengthening the Case for Pair Programming. IEEE Software 17(4):19-25.
  9. L. Rising, N. S. Janoff (2000). The Scrum Software Development Process for Small Teams. IEEE Software 17(4):26-32.
  10. H. Wolf, S. Rook, M. Lippert (2005). Extreme Programming: Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis. 2. Auflage, Heidelberg: dpunkt Verlag.
  11. 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.
  12. 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.
  13. 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
  14. Matthew R. McBride. The software architect. Communications of the ACM, Volume 50 Issue 5, ACM, May 2007
  15. Arthur J. Riel, Object-Oriented Design Heuristics, Addison-Wesley Longman Publishing Co., Inc., 1996
  16. Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software, ISBN: 0-321-12521-5, Addison-Wesley, 2004
  17. 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
  18. Lim, W.C., Effects of reuse on quality, productivity, and economics, IEEE Software , Volume 11, Issue 5, pp. 23-30, Sept. 1994
  19. Barnes, B.H., Bollinger, T.B., Making Reuse Cost-effective, IEEE Software, Volume 8 Issue 1, pp. 13-24, Jan. 1991
  20. Joos, R., Software Reuse at Motorola, IEEE Software, Volume 11, Issue 5, Pages:42-47, Sep 1994.
  21. 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.
  22. 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.
  23. R. N. Taylor, N. Medvidovic, E. M. Dashofy. Software Architecture: Foundations, Theory, and Practice. Wiley, 2009.
  24. 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.
  25. Michael Jackson, Problem Frames and Software Engineering, Information and Software Technology, Vol. 47(14):903-912, Nov 2005.
  26. Michael Jackson, A Tutorial on Software Development Problem Frames Part 1, Open University, 2006
  27. 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.

Weiterführende Informationen

Title

Teaser text