/learn-software-engineering

Basic course about software development, engineering, and design. In particular: process models, requirements specification, UML, and design patterns.

Software Engineering (DIEF, UNIMORE)

Software

Books

  • Fowler - UML Distilled: A Brief Guide to the Standard Object Modeling Language
  • Martin - Clean Code: A Handbook of Agile Software Craftsmanship
  • Martin - Clean Architecture: A Craftsman's Guide to Software Structure and Design
  • Freeman, Sierra - Head First Design Patterns

Articles

Videos

Modules

[M1] Software Development Models

  • Waterfall model
  • Iterative models
  • RUP model
  • Agile models (Scrum)
  • Using UI Mockups

[M2] Requirement specification

  • IEEE 830
  • IEEE 29148

[M3] Software design

  • UML Use Case Diagram
  • UML Class Diagram
  • UML Object Diagram
  • UML Package Diagram
  • UML Activity Diagram
  • UML State Diagram
  • UML Sequence Diagram