Hugo Tekeng
INF1007Winter 2025Software
← Back to university path

Software Design

Detailed view of the course, studied concepts, technologies used, and major academic work associated with it.

Code

INF1007

Session

Winter 2025

Domain

Software

Overview

Course focused on the design of high-quality software, as a continuation of analysis and modeling. It helped me deepen my understanding of the design process, use modern techniques such as UML, design patterns, and software architecture styles, and complete a team project covering multiple stages of software development.

Technologies used

UMLGRASPDesign PatternsArchitecture logicielleConception orientée objet

Key concepts covered

  • Role of design in the software development process
  • Software design process
  • Iterative planning
  • Agile processes (Scrum, XP)
  • Object-oriented design
  • Interaction diagrams
  • Object responsibilities
  • GRASP patterns
  • Use case realization using patterns
  • Determining visibility between objects
  • Creating design class diagrams
  • From design to implementation
  • Object-oriented programming styles
  • Additional design patterns
  • System design
  • Logical architecture
  • Package organization
  • Architectural analysis
  • Software architecture description
  • Testing process and overview of integration
  • Design quality: modularity, abstraction, cohesion, coupling
  • Design documentation
  • Technical review and validation
  • Teamwork on a complete software project

Coursework and evaluated components

  • Project – Part 1: design
  • Project – Part 2: implementation
  • Analysis and documentation of the selected solution
  • Object-oriented design and software architecture
  • Midterm exam
  • Final exam
  • Team project presentation