Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


SOFTWARE ENGINEERING mutuato
INGEGNERIA DEL SOFTWARE

A.Y. Credits
2015/2016 9
Lecturer Email Office hours for students
Edoardo Bontà

Assigned to the Degree Course

Date Time Classroom / Location

Learning Objectives

The objective of this course is to illustrate the main methodologies, techniques, and tools for complex software systems development process management, with particular emphasis on object oriented design and programming paradigm.

Program

01. Software engineering fundamentals:
  01.01 Basic concepts of Software Engineering.
  01.02 Software quality.
  01.03 Software development process.

02. Object-oriented analysis and design:
  02.01 The object oriented paradigm.
  02.02 Introduction to software modeling.
  02.03 Unified Process.

03. Unified modeling language (UML):
  03.01 Introduction to UML.
  03.02 Structure diagrams: classes, objects, and packages.
  03.03 Behavior diagrams: use case.
  03.04 Robustness analysis and interactions among entities.
  03.05 Interaction diagrams: communication, sequence.
  03.06 State machine, activity, and other diagrams.

04. Design patterns:
  04.01 Introduction to design patterns.
  04.02 Creational patterns: Singleton, Factory.
  04.03 Structural patterns: Proxy.
  04.04 Behavioral patterns: Observer, Visitor.

05. Methods for software engineering:
  05.01 Requirements analysis.
  05.02 Principles of software design.
  05.03 Software testing techniques.
  05.04 Software metrics.

06. Software project management:
  06.01 Software project planning.
  06.02 Project estimation.
  06.03 Risk analysis and management.
  06.04 Project scheduling.
  06.05 Software configuration management.
  06.06 Project documentation.
  06.07 CASE tools.

07. Advanced topics:
  07.01 Formal methods.
  07.02 Cleanroom software engineering.
  07.03 Reengineering.

08. Laboratory activities (language C#):
  08.01 Basic concepts of the language.
  08.02 Classes and objects.
  08.03 Inheritance.
  08.04 Polymorphism, abstract classes and interfaces.
  08.05 Exception handling.
  08.06 Generics.

Bridging Courses

Although there are no mandatory prerequisites for this exam, students are strongly recommended to take it after Algorithms and Data Structures, Procedural and Logic Programming.

Learning Achievements (Dublin Descriptors)

  • Knowledge and understanding

Students will acquire the fundamental knowledge necessary to the building of complex software systems, with special attention to the object-oriented design and programming paradigm, exemplified through the C# language.They will become familiar with different development processes for the management of complex software systems, together with the visual notation UML for software modeling and the ‘design patterns’ as logical models for solving recurring problems in the software design and development phases

  • Applying knowledge and understanding

Students will be able to apply the most widespread practices in agile and prescriptive process models for designing, implementing and testing complex software systems. They will also be able to estimate the costs of the software development, using empirical estimation models, as well as to plan the realization of a software project, monitoring the advancement and the cost of all the related activities.

  • Making judgements

Students will be able to evaluate the goodness of a software not simply on the basis of their own experience and/or of subjective criteria, but on the basis of specific quality standards for the evaluation of processes and products.

  • Communication skills

Students will be able to use the specific metalanguage of object-oriented programming languages, design patterns and agile and prescriptive process models.

  • Learning skills

Students will acquire the ability to learn the syntactic and semantic peculiarities underpinning any object-oriented programming language.

Teaching Material

The teaching material prepared by the lecturer in addition to recommended textbooks (such as for instance slides, lecture notes, exercises, bibliography) and communications from the lecturer specific to the course can be found inside the Moodle platform › blended.uniurb.it

Teaching, Attendance, Course Books and Assessment

Teaching

Theory lectures and laboratory exercises, both face-to face and on-line.

Attendance

Although recommended, course attendance is not mandatory.

Course books

Pressman, "Software Engineering: A Practitioner.s Approach", McGraw-Hill, 2010.
(Pressman, "Principi di Ingegneria del Software", McGraw-Hill, 2008).

Fowler, "UML Distilled", Addison-Wesley, 2003.
(Fowler, "UML Distilled", Pearson Italia (Addison-Wesley), 2010).

Bochicchio et al., "C# 5 Guida completa per lo sviluppatore", Hoepli, 2013.

Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, 1995.
(Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elementi per il riuso di software ad oggetti", Pearson Italia (Addison-Wesley), 2002).

Assessment

Project (to be developed individually or by groups of two students), written and oral exam.

The project work, whose topic is freely chosen by the student, must be handed in at least 7 days before the written exam. It is approved if the mark is at least 18/30. The mark is valid for every exam session subsequent to the submission of the project. In case of late submission, the project will not be accepted. Should the project be resubmitted in a subsequent exam call, the mark is cancelled and a 5/30 penalty is applied to the mark of the newly submitted project.

The written exam, that can be taken only after passing the project work, consists of 6 questions and 1 exercise, split into two parts, and must be completed in 60 minutes. It is passed with a mark of 18/30, the mark is only valid for the exam call in which the written exam is taken.

The oral exam, that can be taken only after the approval of the project work and the passing of the written exam, consists of a discussion of the project work and of the written exam, plus further questions. If passed, it concurs to an adjustment comprised between -3/30 and 3/30 on the average of the two previous marks, thus giving the final mark.

For further information on project works and written exams>http://www.sti.uniurb.it/bonta/didattica/ingsw/inge_soft.html

Disabilità e DSA

Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.

A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.

Notes

The course is offered both face-to-face and on-line within the Laurea Degree Program in Applied Computer Science.

« back Last update: 14/06/2016

Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

Il tuo 5x1000 per sostenere le attività di ricerca

L'Università di Urbino destina tutte le risorse che deriveranno da questa iniziativa alla ricerca scientifica ed al sostegno di giovani ricercatori.

15 22

Se sei vittima di violenza o stalking chiama il 1522, scarica l'app o chatta su www.1522.eu

Il numero, gratuito è attivo 24 h su 24, accoglie con operatrici specializzate le richieste di aiuto e sostegno delle vittime di violenza e stalking.

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati

Top