Modeling and Design

Base Knowledge

Programming knowledge, preferably in the object-oriented paradigm

Teaching Methodologies

The course includes theoretical and practical lectures. The theoretical lectures present the methodologies and examples of applications to case studies. Practical classes focus on exercises solving and support to a software development project. Students are evaluated based on two components, Theoretical (10 points) and Practical (10 points). The theoretical component is assessed through a written examination. The evaluation of the practical component is performed through the software project including two phases:
Phase 1 – Analysis and Specification (5 points) Phase 2 – Architecture Design (5 points)

Learning Results

By the end of this course, students should be able to:
–   Describe and understand the evolution of paradigms of analysis and construction of software
–   Develop an object-oriented analysis of a system
–   Identify and correctly represent the requirements of an organization using appropriate diagrams.
–   Assess the implications of architectural choices in software development.
–   Create UML diagrams


1.   Introduction to Software Engineering
2.   Software Development Processes
3.   Introduction to UML
4.   Use Case Diagrams
5.   Activity Diagrams
6.   Object Oriented Analysis
7.   Class Diagrams
8.   Objects Diagrams
9.   Sequence Diagrams
10.   Communication Diagrams
11.   Components Diagrams
11.   Deployment Diagrams
12.   Software Patterns

Curricular Unit Teachers