Dr. AndreaBaruzzo

Academic homepage


Software engineering (SE) is the profession of people who create and maintain software systems by applying technologies and practices from computer science, project management, engineering, application domains and other fields. In this broad scope, I attend some lessons about system modeling using different techniques and tools, such as Petri Nets, Data-Flow Diagrams and, most of all, UML diagrams. In a more advanced course, I discuss other topics such as quality in software development, cost and schedule estimates, planning and software projects management.


Software Engineering I

In this course I present some topics concerning software modeling and software modeling notations. Modeling is all about building (simplified) views of an observed phenomena, entity or system. In general there are no "right" or "wrong" models: therefore when I provide sample solutions to exercises or past final term exams, I always encourage students to experiment with their own solutions. Only in this way they can learn the skills necessary to autonomously think, create, criticize, and compare models. For students interested in UML software design, I provide further guidelines, tutorials and introductory material on UML diagrams. This material is not required in order to pass the final exam. On the other hand, it can be useful to effectively apply UML in practice (a.k.a. in real-world projects) or in projects valid for Bachelor/Master's Thesis and Advanced Laboratory in Software Engineering.

Choosing a UML CASE tools


Software Engineering II

In this course I discuss how a software project should be properly managed. In particular, I present some techniques for cost estimation, planning and monitoring a project. All the subjects are examined in the context of available quality standards and models. As part of a laboratory experience, I assign a software project to separate groups of students. Every group will practice all the theory discussed in classroom, concerning both management and development activities. Eventually, they will produce the delivered system and the corresponding documentation as part of the final term examination. In this way, students are motivated to learn and apply software engineering techniques to a real project at least one time before to marry with industry.


Office hours

Office hours by appointment. Refer to the contact page for e-mail information.