Software Engineering (2015/2016)

Course code
Carlo Combi
Other available courses
Other available courses
    Academic sector
    Language of instruction
    Teaching is organised as follows:
    Activity Credits Period Academic staff Timetable
    Teoria 5 II semestre Carlo Combi
    Esercitazioni 1 II semestre Barbara Oliboni

    Lesson timetable

    II semestre
    Activity Day Time Type Place Note
    Teoria Monday 4:30 PM - 6:30 PM lesson Lecture Hall A  
    Teoria Tuesday 8:30 AM - 11:30 AM laboratorio Laboratory Delta  
    Teoria Thursday 11:30 AM - 1:30 PM lesson Lecture Hall B  

    Learning outcomes

    The course introduces the basic scientific and professional notions of software engineering, addressing in particular the different phases of the software development process: planning, design, modeling and specification, implementation, testing and validation, evaluation, maintenance. The programming projects carried out in the lab complement the theory lectures with the design, documentation and realization of a software.


    * Introduction to Software Engineering
    -- Software life-cycles, phases and activities of the software development process.
    -- Feasibility study, definition of requirements and constraints, use cases and scenarios.
    -- Project management: planning, risk analysis and management, time and resources management.
    * Requirement management and modeling

    -- Ingegneria dei requisiti
    -- Modelli di sistema
    -- Specifiche dei Sistemi critici
    * Design
    -- Architectural design
    -- Object-oriented design: the standard language UML 2 for software modeling: use case diagrams, class and package diagrams, activity and sequence diagrams.
    * Development
    -- Agile methods.
    -- Scalability. Component-based design. Software reuse.
    -- Design patterns: “Single Responsibility Principle”, “The Open/Closed Principle”, “The Liskov Substitution Principle”, “The Dependency Inversion Principle”, “The Interface Segregation Principle”.
    * Verification, validation and software management
    -- Testing: unit test, integration test, user acceptance test; white e black box test.
    -- Version Management

    Assessment methods and criteria

    The examination consists of a project relate to lab activities and of an oral examination.