28021 - Software Engineering T

Academic Year 2015/2016

  • Docente: Giuseppe Bellavia
  • Credits: 9
  • SSD: ING-INF/05
  • Language: Italian
  • Moduli: Giuseppe Bellavia (Modulo 1) Giuseppe Bellavia (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Computer Engineering (cod. 0926)

Learning outcomes

Knowledge of models and tools for the analysis, design, development and testing of software systems.  Ability to design, development and testing of software systems.

Course contents

  1. Introduction to software engineering, software product.
  2. Process of software development: feasibility study, analysis and requirements specification, design, implementation and testing of the modules, integration and system testing, operation and maintenance, software quality factors, waterfall model, evolutionary models, extreme programming, risk analysis, spiral model of Boehm.
  3. Analysis and object-oriented design: modeling languages, UML.
  4. Analysis: gathering requirements and their validation, domain analysis, requirements analysis, use cases and scenarios, data model, identification of classes and responsibilities, identification of relations between classes (inheritance, partnerships, associations), identification of attributes and methods; dynamic model: sequence diagrams and state.
  5. Design: Implementation of associations, container classes, generic classes, object identification, visibility, root classes, layered structure of an application level support data logic.
  6. Principles of design: rigidity, fragility and immobility of the software; "Single Responsibility Principle", "The Open / Closed Principle," "The Liskov Substitution Principle," "The Dependency Inversion Principle", "The Interface Segregation Principle"; design patterns.
  7. Introduction to. NET framework and the C # language.

Teaching methods

The course consists of lectures and 12 hours of laboratory work.

Assessment methods

The examination shall include a project and an oral.  The final grade will be calculated as follows: 1/3 projectGrade + 2/3 oralGrade.
The project theme is free and can only be developed by a team of 3 people or individually.  The project consists of a report and a presentation.  The report shall contain a full explanation of the whole project (text and UML diagrams) to the exclusion of the prototype (which must be presented for discussion.)  The presentation of the project will be carried out through the slide.

Team of 3 people
The topics to be addressed are as follows (the numbering indicates the order of presentation and arguments that individuals must present):

1.    Description of the problem
Requirements Document
Glossary (only in the report)
Use Cases, scenarios (1 +)
Prototype (in C #)

2.    Static model: class diagram with 10-15 classes of which at least 7 significant (not hierarchy)
Dynamic model: a sequence diagram or a state diagram

3.    Classes diagram changed as a result of design choices
Discussion on design patterns and the design principles used

The presentation of the project and the prototype should last about 45 minutes (15x3).

Single person
The topics to be addressed are as follows:

1. Problem Description
Requirements Document
Glossary (only in the report)
Use cases, scenarios (1 +)
Prototype (in C #)
Static model: class diagram with 8-12 classes including at least 5 significant (not hierarchy)
Classes diagram changed as a result of design choices
Discussion on design patterns and the design principles used

The project presentation should last about 30 minutes.

The oral exam will take place immediately after the discussion of the project and will focus on the whole program of the course.
The oral exam can be replaced by the test.  The test is available only in the appeals of June, July and September.  You can take the test a maximum of 2 times (June and July, June and September, July and September).  Any retesting cancels the previous result.  The cancellation takes effect when it comes to the test.
The test result can be used in place of the oral to the last date available for the delivery of projects.
The test consists of multiple-choice quiz (only one answer is correct). During the test, you can not use notes or other.

Office hours

See the website of Giuseppe Bellavia