IT-Universitetet i København
  Tilbage Kursusoversigt
Kursusnavn (dansk):Softwarearkitektur 
Kursusnavn (engelsk):Software Architecture 
Semester:Efterår 2010 
Udbydes under:Master i it, softwarekonstruktion (sok) 
Omfang i ECTS:7,50 
Min. antal deltagere:15 
Forventet antal deltagere:25 
Maks. antal deltagere:50 
Formelle forudsætninger:To sign up for the course you should have good knowledge on object-oriented programming, e.g. by working as a software developer with object oriented languages for at least 2 years.

For M.Sc. students: you should have skills in object oriented programming at least on a level comparable to the object oriented programming course offered at the IT University. Preferably, you have experience with object oriented software development through participating in a small or medium size software engineering project. You should be familiar with the notion and usage of object oriented design patterns like 'facade', 'factory', or 'observer pattern'. 
Læringsmål:At the conclusion of the course, the students are expected to be able to:
• Argue the importance and role of software architecture in large scale software systems.
• Design and motivate software architecture for large scale software systems.
• Recognise major software architectural styles, design patterns, and frameworks.
• Describe a software architecture using various documentation approaches and architectural description languages.
• Generate architectural alternatives for a problem and select among them.
• Use well-understood paradigms for designing new systems.
• Identify and assess the quality attributes of a system at the architectural level.
• Motivate the architectural concerns and approach for families of products.
• Discuss and evaluate the current trends and technologies such as model-driven, service-oriented, and aspect-oriented architectures.
• Evaluate the coming attractions in software architecture research and practice. 
Fagligt indhold:The objective of the course is to provide postgraduate students with a sound technical exposure to the concepts, principles, methods, and best practices in software architecture. Following is the key topics covered in this course:
• Introduction to the fundamentals of software architecture.
• Role of software architecture in software quality.
• Fundamental principles and guidelines for software architecture design, architectural styles, patterns, and frameworks.
• Methods, techniques, and tools for describing software architecture and documenting design rationale.
• Software architecture design and evaluation processes.
• Design and analysis of architectures for middleware software for large scale distributed systems.
• Rationale and architectural knowledge management in software architecting.
• Software architectures for product lines.
• Model Driven approaches and tools for designing and evaluating architectures.
• Domain Specific, component-Based, Service-Based, Architectures.
• Future challenges and emerging trends in software architecture discipline. 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

The course will also involve guest lectures, students presentations, and project work.

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur


Litteratur udover forskningsartikler: The students will be expected to work with the course curriculum based on one of the following books:

1. Bass, L., Clements, P. and Kazman, R. 2003. Software Architecture in Practice, Addison-Wesley.
2. Gorton, I. 2006. Essential Software Architecture, Springer.
3. Taylor, R., Medvidovic, N., Dashofy, E., Software Architecture: Foundations, Theory, and Practice, Wiley.
4. Bosch, J. 2000. Design & Use of Software Architectures: Adopting and evolving a product-line approach, Addison-Wesley.

Some material for the course will also be drawn from other complementary books such as the followings:

• Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, j., Little, R., Nord, R. and Stafford, J. 2002a. Documenting Software Architectures: Views and Beyond, Addison-Wesley.
• Clements, P., Kazman, R. and Klein, M. 2002b. Evaluating Software Architectures: Methods and Case Studies, Addison-Wesley.

Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
Mandag 17.00-19.00 Forelæsning ITU Aud 4
Mandag 19.00-21.00 Øvelser ITU Aud 4, 4A56, 4A58

Eksamen afholdes på følgende tid og sted:
2011-01-10 09.00-13.00 Skriftlig eksamen ITU 4A14 og 4A16