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