Software Architectures, 6 credits

Programvaruarkitekturer, 6 hp

TDDE41

Main field of study

Information Technology Computer Science and Engineering Computer Science

Course level

Second cycle

Course type

Programme course

Examiner

Lena Buffoni

Director of studies or equivalent

Ola Leifler

Education components

Preliminary scheduled hours: 30 h
Recommended self-study hours: 130 h

Available for exchange students

Yes
ECV = Elective / Compulsory / Voluntary
Course offered for Semester Period Timetable module Language Campus ECV
6CDDD Computer Science and Engineering, M Sc in Engineering 8 (Spring 2021) 2 1 English Linköping, Valla E
6CDDD Computer Science and Engineering, M Sc in Engineering (Computer Systems Architecture) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CDDD Computer Science and Engineering, M Sc in Engineering (Large Scale Software Engineering) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CDDD Computer Science and Engineering, M Sc in Engineering (Programming and Algorithms) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CMJU Computer Science and Software Engineering, M Sc in Engineering 8 (Spring 2021) 2 1 English Linköping, Valla E
6CMJU Computer Science and Software Engineering, M Sc in Engineering (Large Scale Software Engineering) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CMJU Computer Science and Software Engineering, M Sc in Engineering (Programming and Algorithms Specialization) 8 (Spring 2021) 2 1 English Linköping, Valla E
6MICS Computer Science, Master's Programme 2 (Spring 2021) 2 1 English Linköping, Valla E
6MICS Computer Science, Master's Programme (Programming and Software Methods) 2 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Chinese 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Chinese (Specialization Computer Science and Engineering) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - French 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - French (Specialization Computer Science and Engineering) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - German 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - German (Specialization Computer Science and Engineering) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Japanese 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Japanese (Specialization Computer Science and Engineering) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Spanish 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Spanish (Specialization Computer Science and Engineering) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIII Industrial Engineering and Management, M Sc in Engineering 8 (Spring 2021) 2 1 English Linköping, Valla E
6CIII Industrial Engineering and Management, M Sc in Engineering (Computer Science and Engineering Specialization) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CITE Information Technology, M Sc in Engineering 8 (Spring 2021) 2 1 English Linköping, Valla E
6CITE Information Technology, M Sc in Engineering (Computer Systems Architecture) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CITE Information Technology, M Sc in Engineering (Large Scale Software Engineering) 8 (Spring 2021) 2 1 English Linköping, Valla E
6CITE Information Technology, M Sc in Engineering (Programming and Algorithms Specialization) 8 (Spring 2021) 2 1 English Linköping, Valla E

Main field of study

Information Technology, Computer Science and Engineering, Computer Science

Course level

Second cycle

Advancement level

A1X

Course offered for

  • Master's Programme in Computer Science
  • Computer Science and Engineering, M Sc in Engineering
  • Industrial Engineering and Management - International, M Sc in Engineering
  • Industrial Engineering and Management, M Sc in Engineering
  • Information Technology, M Sc in Engineering
  • Computer Science and Software Engineering, M Sc in Engineering

Specific information

The course can not be included in degree together with TDDD05

Prerequisites

Software engineering - theory. Object-oriented programming. It is not required but good to have some experience in reading software engineering papers. Software quality. Metaprogramming.

Intended learning outcomes

After the course students should be able to

  • Describe technical platforms, conditions for and challenges with the development of larger software systems
  • Describe how techniques such metaprogramming and virtualization are used in component-based models such as, for example, Enterprise Java Beans, OSGi, and Web Services
  • Relate industrial and theoretical issues in the development of larger software systems to contemporary software development methods and techniques
  • Analyze and critically evaluate a software architecture and relate its properties to Software Engineering research.

 

Course content

Component Models, Object-Oriented Frameworks for Component Systems, Metaprogramming, Messaging Systems, Web Services, Application Frameworks, Software Architectures, Software Quality Analysis

Teaching and working methods

The course consists of seminars and a set of lab sessions.

Examination

UPG1Written assignment3 creditsU, 3, 4, 5
PRA1Project assignment3 creditsU, G

Grades

Four-grade scale, LiU, U, 3, 4, 5

Course literature

Richard N. Taylor, Nenad Medvidovic, Eric M. Dashofy. Software Architecture - Foundations, Theory & Practice, John Wiley & Sons, 2010

Other information

About teaching and examination language

The teaching language is presented in the Overview tab for each course. The examination language relates to the teaching language as follows: 

  • If teaching language is Swedish, the course as a whole or in large parts, is taught in Swedish. Please note that although teaching language is Swedish, parts of the course could be given in English. Examination language is Swedish. 
  • If teaching language is Swedish/English, the course as a whole will be taught in English if students without prior knowledge of the Swedish language participate. Examination language is Swedish or English (depending on teaching language). 
  • If teaching language is English, the course as a whole is taught in English. Examination language is English. 

Other

The course is conducted in a manner where both men's and women's experience and knowledge are made visible and developed. 

The planning and implementation of a course should correspond to the course syllabus. The course evaluation should therefore be conducted with the course syllabus as a starting point.  

Department

Institutionen för datavetenskap

Director of Studies or equivalent

Ola Leifler

Examiner

Lena Buffoni

Education components

Preliminary scheduled hours: 30 h
Recommended self-study hours: 130 h

Course literature

Other

  • Further literature will be announced on the course home page.

Code Name Scope Grading scale
UPG1 Written assignment 3 credits U, 3, 4, 5
PRA1 Project assignment 3 credits U, G

Other

Further literature will be announced on the course home page.

Note: The course matrix might contain more information in Swedish.

I = Introduce, U = Teach, A = Utilize
I U A Modules Comment
1. DISCIPLINARY KNOWLEDGE AND REASONING
1.1 Knowledge of underlying mathematics and science (G1X level)

                            
1.2 Fundamental engineering knowledge (G1X level)

                            
1.3 Further knowledge, methods, and tools in one or several subjects in engineering or natural science (G2X level)
X
PRA1
technical platforms, conditions for and challenges with the development of larger software systems
how techniques such metaprogramming and virtualization are used in component-based models such as, for example, Enterprise Java Beans, OSGi, and Web Services
1.4 Advanced knowledge, methods, and tools in one or several subjects in engineering or natural sciences (A1X level)
X

                            
1.5 Insight into current research and development work
X

                            
2. PERSONAL AND PROFESSIONAL SKILLS AND ATTRIBUTES
2.1 Analytical reasoning and problem solving

                            
2.2 Experimentation, investigation, and knowledge discovery
X
X
PRA1
Analyze and critically evaluate a software architecture and relate its properties to Software Engineering research.
    Relate industrial and theoretical issues in the development of larger software systems to contemporary software development methods and techniques
2.3 System thinking

                            
2.4 Attitudes, thought, and learning

                            
2.5 Ethics, equity, and other responsibilities

                            
3. INTERPERSONAL SKILLS: TEAMWORK AND COMMUNICATION
3.1 Teamwork

                            
3.2 Communications
X
UPG1
written assignment and oral presentation
3.3 Communication in foreign languages

                            
4. CONCEIVING, DESIGNING, IMPLEMENTING AND OPERATING SYSTEMS IN THE ENTERPRISE, SOCIETAL AND ENVIRONMENTAL CONTEXT
4.1 External, societal, and environmental context

                            
4.2 Enterprise and business context

                            
4.3 Conceiving, system engineering and management

                            
4.4 Designing

                            
4.5 Implementing

                            
4.6 Operating

                            
5. PLANNING, EXECUTION AND PRESENTATION OF RESEARCH DEVELOPMENT PROJECTS WITH RESPECT TO SCIENTIFIC AND SOCIETAL NEEDS AND REQUIREMENTS
5.1 Societal conditions, including economic, social, and ecological aspects of sustainable development for knowledge development

                            
5.2 Economic conditions for knowledge development

                            
5.3 Identification of needs, structuring and planning of research or development projects

                            
5.4 Execution of research or development projects
X
UPG1
Reading research papers
5.5 Presentation and evaluation of research or development projects
X
UPG1

                            

This tab contains public material from the course room in Lisam. The information published here is not legally binding, such material can be found under the other tabs on this page.

There are no files available for this course.