Hide menu

Software architectures

2015VT

Status Cancelled
School Computer and Information Science (CIS)
Division HIS
Owner Kristian Sandahl
Homepage http://www.ida.liu.se/~olale/software_architecture/

  Log in  




Course plan

No of lectures

5 x 1h lectures with course introduction, an overview of software architectures, contemporary research challenges and course topics, and course summary. Invited guest lecture 2h.

Recommended for

PhD students with a research topic in Software Engineering and a background in CS/SE from Master's level studies.

The course was last given

This is a new course.

Goals

After the course, students should be able to:


  • Distinguish between software architecture styles used to create software
  • Describe common software qualities and metrics for them.
  • Evaluate a given implementation of a software architecture with respect to software quality criteria
  • Describe theoretical properties of software component models and their relationships to practical problems in software engineering.
  • Describe and analyze techniques used to create software components in contemporary software component frameworks.
  • Construct software components in a given software architecture with an existing ecosystem of software components.
  • Analyze contemporary paradigms and frameworks for building large-scale applications with respect to software qualities.

Prerequisites

Students should be able to work independently with large-scale software systems, be familiar with concepts in object-oriented software design such as, for example, Design Patterns, SOLID, coupling and cohesion. Students should be able to read research papers in software engineering related to topics of the course, and to write a technical report in proper English.

Organization

The course is organized around a set of lectures on some selected topics in Software Architectures and large-scale software development, and a series of seminars where students present practical and theoretical work during the course.
Students are required to select their own topics to work on during the course, read and evaluate others' papers, and construct practical learning material for other participants in the course. There will be a set of topics for students to choose from, and all topics must be chosen. For each main topic, students may choose to direct their studies to particular areas of interest during the course.

Contents

Software Quality Attributes, Software Quality Metrics, Software Architecture Styles. Challenges related to distributed development and deployment, availability, scalability, and evolution.

Theoretical and empirical research methods in software architecture.

Examples of techniques from functional programming for solving scalability and availability in software architectures such as Reactive Programming, Map-Reduce and LINQ.

Examples of techniques for solving problems related to development and deployment in large-scale software development, such as the OSGi Component Model and specifically the Eclipse platform as built on the Equinox OSGi container.

Examples of distribution and dependency models for software components, such as Apache Maven and the Debian package management system.

Literature

http://www.ida.liu.se/~olale/software_architecture/literature.en.shtml

Lecturers

Ola Leifler and a guest lecturer.

Examiner

Kristian Sandahl and Ola Leifler

Examination

Written 10-page report, participation in seminars and reviewing other students' papers in the course. Construction of a tutorial lab on a selected technology, and participation in a set of tutorial sessions constructed by other students.

Credit

6 hp

Comments


Page responsible: Director of Graduate Studies