NTNU Norges teknisk-naturvitenskapelige universitet
  Fakultet for informasjonsteknologi, matematikk og elektroteknikk > Institutt for datateknikk og informasjonsvitenskap

TDT 4240 Software Architecture


News:

Lecture rooms: Tuesday: S2, Thursday: G1 (Geologibygget)

Links:

Schedule 2007
It's Learning

Menu:

To the top
General info
Course description
Syllabus

General Information

Lecturer and course responsible:
Associate Professor: Alf Inge Wang
Phone: 7359 4485, Email: alfw"at"idi.ntnu.no

Exercise responsible:
Ph.D. student, Odd Petter Slyngstad
Phone: 7359 4483, Email: oslyngst"at"idi.ntnu.no

Language selection:
Slides in English, talks in Norwegian.

Lectures: Tuesday 10:15-12:00 S2 and Thursday 12:15-13:00 G1
Exercise lectures: Friday 15:15-17:00 F2
First lecture: Tuesday 9/1/2007 10:15-12:00 R56
Time usage: 3F + 2Ø + 7S
Credits: 7,5 SP
Grade: 70% written examination, 30% project/exercise (mappeevaluering).
Final exam: 18/5/2007 (4 hours)

More detailed information about the course can be found in It's Learning!

Course Description

Purpose of the course: To give the students understanding of the concept of software architecture and how this phase in the development between requirement specification and detailed design plays a central role for the success of a software system. The students will get knowledge of some well-known architectures and be able to construct and evaluate architectures for software systems. In addition, the students should get some understanding of how the developers experiences and the technical and organisational environment will influence on the choice of architecture.

Main contents: Architectural styles and patterns, methods for constructing and evaluating architectures, and comnponent-based development. Design patterns and object-oriented frameworks.

Teaching method: The course is taught through lectures, guest lectures and a project. The project is carried out in groups of four students and will go through all the main methods and theory in the course. The theme of the project is to develop a software architecture and an implementation of a robot controller in Java focusing on a specific quality attribute like availability, testability, modifability etc. The robot controller will be tested in a robot simulation environment in Java called Kephera. 30% of the grade of the course is given by an evaulation of the robot project and 70% of the grade is given from a final written examination.

Required previous knowledge: You need a course in software development like TDT4140 Software Engineering and a course in object oriented programming like TDT4100 Object-Oriented Programming.

Syllabus (temporary)

The syllabus might change.

Book:

  • Software Architecture in Practice, Second Edition, Len Bass, Paul Clements, Rick Kazman (Tapir). The chapters 3,6,8,15 and 17 are not in the syllabus.
  • Papers:
  • IEEE (2000), “IEEE Recommended Practice for Architectural Description of Software-Intensive Systems”, Software Engineering Standards Committee of the IEEE Computer Society.
  • Kruchten, P. (1995), The 4+1 View Model of Architecture, IEEE Software, 12, 6, Pp. 42 - 50.
  • Coplien J. O.: "Software Design Patterns: Common Questions and Answers", The Patterns Handbook: Techniques, Strategies, and Applications, Cambridge University Press, New York, January 1998, pp. 311-320
  • Wang, Stålhane: "Using Post Mortem Analysis to Evaluate Software Architecture Student Projects", CSEE&T 2005, 8 pages.
  • Erik Arisholm and Dag I. K. Sjøberg: "Evaluating the Effect of a Delegated versus Centralized Control Style on the Maintainability of Object-Oriented Software", IEEE Transactions on Software Engineering, Vol. 30, No. 8, August 2004. (the statistical details are not part of the syllabus).
  • Presentations:
  • Course presentations: All presentations from all the lectures
  • Software pattern (Sørensen)
  • Software architecture in the IT-industry (Thunem)

  • Redaktør: Alf Inge Wang Kontaktadresse: Webmaster  Sist oppdatert: 13.10.2006