Section Nom Description
Fichier Course Plan Fall 2020
Assignments Fichier TP1 Description
Fichier TP2 Description
URL Papyrus Eclipse plug-in (gratuit)
URL Understand (licence étudiant)
URL Understand (manual)
URL Enterprise Architect (essaie gratuit)
URL ArgoUML (gratuit)
URL ptidej (gratuit)
URL Design Pattern Detection using Similarity Scoring
URL Eclipse Metrics 3
URL STAN
URL Better Code Hub
URL JDeodorant
URL ptidej (gratuit)
Semaine 1 - Introduction, SOLID, Patrons de Conception Fichier 01. Introduction (Français)
Fichier 01. Introduction (English)
Fichier 01a. SOLID (Français)
Fichier 01a. SOLID (English)
Fichier 02a. Patrons (Français)
Fichier 02a. Patrons (English)
URL SOLID and DRY - Part 1, Jeremy Likness
URL SOLID and DRY - Part 2, Jeremy Likness
URL The Principles of OOD, Uncle Bob
URL Design Principles and Design Patterns, Robert C. Martin (archived)
URL The SOLID Principles, Explained with Motivational Posters
URL SOLID, GRASP, and Other Basic Principles of Object-Oriented Design
URL What to look for in a Code Review: SOLID Principles
Fichier Design Patterns Card
URL Design Patterns in Java Tutorial
URL The Catalog of Design Patterns
URL Design Patterns - sourcemaking.com
URL The Humble Programmer (E. W. Dijkstra)
URL The NATO Software Engineering Conferences
Semaine 2 - Architectures Distribuées Fichier 02.Styles d'architecture (Français)
Fichier 02. Architectural Styles (English)
Fichier 02a.Cadriciels
Fichier 02a.Cadriciels (English)
Fichier 02b.Architecture Jeopardy (English)
Fichier 02b.Architecture Jeopardy (solution) (English)
Fichier 02b.Architecture Jeopardy (solution) (Français)
URL Distributed Architecture
URL 10 Common Software Architectural Patterns in a nutshell
Fichier Distributed Software Design: Challenges and Solutions, B. Selic
Fichier On the Criteria To Be Used in Decomposing Systems into Modules, D.L. Parnas
URL Understanding the difference between MVC, MVP and MVVM design patterns
URL GUI Architectures, M. Fowler
URL Garfixia Software Architectures, P. van Bergen
URL Understanding SOAP and REST Basics and Differences, J. Mueller
URL Modèle achitectural State-Action-Model (SAM)
URL Meta patterns — A means for capturing the essentials of reusable object-oriented design (w. Pree)
URL How to break an API?
URL Django Overview
URL Django Design Philosophies
URL What is AngluarJS? Architecture and Features
URL AngularJS MVC Architecture
URL AngularJS Architecture Overview
URL The architecture of open source applications - Eclipse
URL Eclipse Help - Platform Architecture
URL Software Architecture Patterns - Microkernel
URL Android - Platform Architecture
URL Android and Architecture
URL Android - Guide to App Architecture
URL NodeJS Architecture - Single Threaded Event Loop
URL The Comprehensive R Archive Network (CRAN)
Semaine 3 - Qualité de Conception Fichier 03. Qualité de la Conception
Fichier 03. Design Quality (English)
Fichier 03a. QualiteDeConception - Jeopardy
Fichier 03a. QualiteDeConception - Jeopardy (Solutions) (English)
Fichier 03a. QualiteDeConception - Jeopardy (English)
Fichier 04b - Attributs de qualité, partie 1
Fichier 04b - Quality Attributes, part 1 (English)
Fichier 04c - Attributs de qualité, partie 2
Fichier 04c - Quality Attributes, part 2 (English)
Fichier 04d - Attributs de qualité, partie 3 (section non couverte au cours)

Chapitre sur la performance et la sécurité.

Fichier 04e - Attributs de qualité, partie 4

4e - Attributs de qualité, partie 4

Fichier 04e - Quality Attributes, part 4 (English)

4e - Attributs de qualité, partie 4

URL Compendium of Software Quality Standards and Metrics - Version 1.0
URL ISO/IEC 25010
URL Revisiting LCOM
URL Eclipse Metrics 3
URL STAN
Fichier A guideline for software architecture selection based on ISO 25010 quality related characteristics
Fichier The measurement of software design quality
URL Object-Oriented Metrics in Practice (disponible par la bibliothèque)
URL Identification of Move Method Refactoring Opportunities (definition of Entity Placement metric)
Semaine 4 - Mauvaise Conception Fichier 04. Mauvaise Conception
Fichier 04. Mauvaise Conception (English)
Fichier 04a. Mauvaise Conception Jeopardy (English)
Fichier 04a. Mauvaise Conception Jeopardy (Solution) (English)
URL Software Architecture AntiPatterns
URL What are Architectural Antipatterns?
URL Refactoring for Software Design Smells - Managing Technical Debt (disponible par la bibliothèque)
URL Refactoring To Patterns Catalog
URL Catalog of Refactorings
URL Definition of code smell by Martin Fowler
URL Object-Oriented Reengineering Patterns (disponible en ligne)
URL Design Smells
URL The impact of refactoring to patterns on software quality attributes
URL Refactoring: Improving the Design of Existing Code (disponible en ligne)
URL Refactoring to Patterns (disponible en ligne)
Semaine 5 - Architectures des Mégadonnées (Entrée et Analyse) Fichier 05 - Mégadonnées - Entrée et Analyse
Fichier 05 - Mégadonnées - Entrée et Analyse (English)
Fichier 05a - Mégadonnées - Entrée et Analyse - Jeopardy (English)
Fichier MapReduce: Simplified Data Processing on Large Clusters
URL MapReduce-Hadoop
URL MapReduce-Hortonworks
URL Message-oriented Architectures, Peter Ritchie
URL AMQP 1.0
URL Apache Kafka
URL Kafka Architecture - Cloudurable
URL Part 1: RabbitMQ for beginners - What is RabbitMQ?
URL Understanding When to use RabbitMQ or Apache Kafka
URL Kafka vs RabbitMQ (Chapter 4)
URL Apache Hadoop (MapReduce) Internals - Diagrams, Emilio Coppa
URL Apache Spark - Jacek Laskowski
URL Spark Architecture - Jacek Laskowski
URL Apache Spark
URL Hadoop vs. Spark: The New Age of Big Data
URL Apache Spark Streaming
URL Spark Streaming Programming Guide
URL Kafka Streams - Architecture
URL Spark Streaming vs. Kafka Streaming
Fichier Delivering Elastic Containerized Cloud Applications to Enable DevOps (SEAMS 2017)

Presentation by M. Fokaefs

Semaine 6 - Architectures des Mégadonnées (NoSQL) Fichier 06 - Mégadonnées - Bases de données
Fichier 06 - Mégadonnées - Bases de données (English)
Fichier 06a - Mégadonnées - Bases de données - Jeopardy (English)
URL How to beat the CAP theorem (oct. 2011)
URL Questionning the Lambda architecture (jul. 2014)
URL HOW DO I CHOOSE THE RIGHT NOSQL SOLUTION? A COMPREHENSIVE THEORETICAL AND EXPERIMENTAL SURVEY
Semaine 7 - Blockchain Fichier 07. Blockchain
Semaine 8 - Architecture Évènementielles et Patrons de Concurrence Fichier 08.ÉvènementiellesConcurrence
Fichier 08.ÉvènementiellesConcurrence (English)
URL Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects, Volume 2
Fichier PATTERN-ORIENTED SOFTWARE ARCHITECTURE, François Guibault (en anglais)
URL Event-Driven Architecture Implementation With some RabbitMQ specifics
URL The Java Tutorials : Concurrency
URL Locks and Synchronisation
Semaine 9 - Architectures orientées services Fichier 09.SOA
Fichier 09.SOA - Jeopardy
Fichier 09.SOA (English)
Fichier 9b. Evolution of Web applications and DevOps (English)
URL Service-oriented modeling and architecture
URL SOA Practioners' Guide Part 2 - SOA Reference Architecture
URL SOA Manifesto
URL Understanding SOAP and REST Basics And Differences
URL RESTful Web Services: A Tutorial
URL JSON-RPC 2.0 Specification
URL XML-RPC
URL What is Microservices Architecture?
URL What are microservices?
URL Pattern: Microservice Architecture
URL Service-Oriented Architecture Scenario
URL Orchestration vs. Choreography (stackoverflow)
URL AXIS2 Web Services Tutorial
URL Apache Axis2 - Hello World! using Eclipse
Semaine 12 - Programmation Orientée Aspect (AOP) Fichier 12.AOP
Fichier 12.AOP (English)
URL Aspect Oriented Programming with Spring
URL Intro to AspectJ
URL The AspectJ Programming Guide
URL The Home of AspectC++
URL Design patterns as aspects: a quantitative assessment
Fichier ASPECT ORIENTED PROGRAMMING MEETS DESIGN PATTERNS
Semaine 13 - Évolution des services web et Évolutivité d'infonuagique Fichier 12.Rappel