General Description:
To understand and to master:
-
Software Architecture, Architectural Styles
-
Enterprise Architecture, Reactive Systems, Microservices architecture
Type of teaching activity:
-
courses and practical studies from industry case study and from literature
Keywords:
-
Software architecture, Architecture Design, Architecture Styles
Program and content:
Introduction
Architectural Styles
-
Some Resources on:
-
Interaction Styles slides
-
Architectural pattern MVC: Mini-tutorial (with code example) of MVC pattern by Derek Banas (13 min), JavaFX Software Tutorial: Calculator (MVC) (30 min), Code example of a simple MVC implementation in Java
-
Microservices: SATURN 2017 Keynote: There Is No Such Thing as a Microservice! video, slides
-
REST, Web: PhD thesis of Roy Fielding, 2000. Chapters 3 and 5 where are defined REST, the WWW architecture.
-
How to Architect
-
S. Col (Technical Architect Kuehne/Nagel)
-
SATURN 2019 Panel of Experts: New Challenges for Software Architects
Use Cases
In group of students, choose a case study in the following list of subjects and resources. Each case study proposal has a set of possible resources. You have the freedom to look for other resources that could help you to produce a synthetic document and presentation of the case study. The mandatory rule is to cite any material that you have used for your work.
The written document and oral presentation of the case study should describe the architecture and how architecture plays a role in the design, development and deployment of the system. Your report should have the following sections:
-
Business Drivers: that is the goals motivating the development effort, the major constraints, and thus the ‘Architectural drivers’ (that is; the set of requirements with significant influence the choice of architecture).
-
Architecture: the proposed architecture is described using various views (static, dynamic, deployment etc.) and the context for it’s use is highlighted and explored, and risks are considered.
-
Architectural Approaches Identified: if pertinent, present approaches, patterns, styles, and tactics, used by the proposed architecture. That is the conventions and standard solutions it utilises.
-
List of references supporting your work
Case studies
-
MACHINE LEARNING & ARCHITECTURE (2 students max)
-
Architecting to support Machine Learning: video and slides +fuzzy: SATURN 2019 Talk: Engineering Modern ML and Cloud Systems
-
Smart Decisions Game: Machine Learning for Architects: video slides
-
-
REACTIVE SYSTEMS (2 students max)
-
BLOCKCHAIN (3 students max)
-
The Blockchain as a Software Connector Xiwei Xu (research paper)
-
A Taxonomy of Blockchain-Based Systems for Architecture Design, Xiwei Xu, Ingo Weber, Mark Staples, Liming Zhu, Jan Bosch, Len Bass, Cesare Pautasso, Paul Rimba
-
Understanding the blockchain Book O’Reilly
-
An Introduction to Hyperledger, Hyperledger Architecture Volume 1 Introduction to Hyperledger Business Blockchain Design Philosophy and Consensus, Hyperledger Architecture Volume 2 Smart Contracts
-
BIG DATA (2 students max)
-
Gorton et al. - 2016 - Software Engineering for Big Data Systems (research paper)
-
A survey of big data architectures and machine learning algorithms in healthcare Gunasekaran Manogaran and Daphne Lopez
-
A Collection of Software Engineering Challengesfor Big Data System Development Oliver Hummel, Holger Eichelberger, Andreas Giloj, Dominik Werle and Klaus Schmid
-
https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=298346 (video)
-
FOG ARCHITECTURE (2 students max)
-
CLOUD COMPUTING (2 students max)
-
Cloud Computing Features, Issues, and Challenges: A Big Picture, by Deepak Puthal ; B.P.S. Sahoo ; Sambit Mishra ; Satyabrata Swain (research paper)
-
Resources
Books
-
Software Systems Architecture By Rozanski, Woods
-
Software Architecture in Practice, Second Edition by Len Bass, Paul Clements, Rick Kazman
-
The Architecture of Open Source Applications (AOSA Book)
-
Garfixia Software Architectures by Patrick van Bergen (high level easy-to-understand overview of common architectural patterns in software)
-
Conference Presentation Abstracts and Slides (Neal Ford)
Papers
-
What is Software Architecture? Peter Eeles, Senior IT Architect IBM
-
On the criteria to be used in decomposing systems into modules D.L. Parnas, Carnegie-Mellon University
-
A Complete Survey on Software Architectural Styles and Patterns Anubha SharmaManoj, KumarManoj KumarSonali, AgarwalSonali Agarwal