Skip to content

mosser/isa-devops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Software Architecture & DevOps (2017)

Rationale

In this course, we will address the same case study under two different but complementary point of views: software architecture and devops. For the software architecture part, we will focus on the definition of an n-tiers architecture using software components (implemented as EJBs using the J2E framework). A part of the architecture will also be developed in .Net, emphasising the need to support system interoperability using Web Services. For the DevOps part, we will address the difficult problem of aligning the dev team with the ops one to build a given piece of software. How to slice the code into independent modules that can be compiled, tested and deployed in a continuous way? How to properly test the integration between such loosely coupled components?

The course is scheduled each Friday, during semester #8. The course requires to be fluent in Java, and a strong background in object-oriented programming. The case study is the same for the whole course, and requires a strong investment in software development by team of four students. Splitting your team into two sub-teams, one for the architecture part and one for the devops one is definitively not a winning strategy (been there, done that).

The whole project relies on an open-source reference implementation of The Cookie Factory, a system to sell cookies to delighted customers: https://github.com/polytechnice-si/4A_ISA_TheCookieFactory

A paper (extended abstract) describing this course is published in the "First international workshop on software engineering aspects of continuous development and new paradigms of software production and deployment" (aka DevOps'18), and available here: devops_paper.pdf.

Teaching Staff

Specific pages (e.g., lectures material, deliverable contents)

Case study description: The Poly'Event system (FR)

Planning

https://raw.githubusercontent.com/mosser/isa-devops/master/figs/planning.png

  • Blue sessions are related to ISA
  • Green sessions are related to DevOps
  • Red sessions are related to examinations (defence or written exam)

Deliveries & Milestones

Deliveries are automatically extracted from the BitBucket repository of the team.

  • 16.02.18, 12:15: MVP architecture (feedback only)
  • 28.02.18, 19:00:
    • Mutation testing lab (DOCT)
    • Architecture report (ISA): main repository, archi tag.
  • 30.03.18: Minimal Viable Product (demo)
  • 04.05.18: (Almots) Final project (demo)
  • 16.05.18: Final project (code + report): main repository, polyevent tag.
  • 18.05.18: Exam

Evaluation

Even if the case study is shared and the course merged, this is administratively talking two different courses. As a consequence, the evaluation must be separated.

  • Introduction to Software Architecture
    • Architecture report: 15%
    • Intermediate demonstration: 10%
    • Final presentation: 15%
    • Project (code + report): 20%
    • Final exam: 40%
  • DevOps & Continuous Testing
    • Mutation testing: 15 %
    • Intermediate demonstration: 15%
    • Final presentation: 15%
    • Project (code + report): 15%
    • Final exam: 40%

Tooling

  • J2E environment: Apache TomEE+
  • Integration testing: Arquillian
  • .Net development: Mono
  • Containers: Docker
  • Continuous integration: Jenkins
  • Repository: ArtiFactory
  • Code processing: Spoon

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages