ITALIANO
ITALIAN
Programmazione ad oggetti
Object oriented programming
Lezioni di teoria: 52 ore
Esercizi: 20 ore
Theory: 52 hours
Exercises: 20 hours
L'insegnamento permette agli studenti di acquisire
conoscenze e competenze sui principi e metodi
dell'Ingegneria del Software, in particolare per quanto
riguarda l'analisi dei requisiti, la progettazione ed il
collaudo di un sistema software. Tali conoscenze
dovranno permettere allo studente di acquisire una
chiara consapevolezza del più ampio contesto
multidisciplinare dell'ingegneria informatica e
dell'automazione, e in particolare degli aspetti
propriamente connessi alla progettazione e
produzione di sistemi software.
Al fine di affrontare tematiche progettuali avanzate,
anche di notevole complessità, e curare l'innovazione
e lo sviluppo di nuovi prodotti software attraverso
l'applicazione delle conoscenze, lo studente dovrà
saper applicare correttamente modelli e metodologie
per la ingegnerizzazione del software. Tale capacità
si estrinsecherà attraverso una serie di abilità
professionalizzanti, quali: 1. la capacità di analizzare
correttamente i requisiti funzionali e non funzionali di
un sistema; 2. la capacità di progettare un software
usabile e manutenibile; 3. la capacità di collaudare
un software.
La progettazione di un software, compito che verrà
svolto in gruppi e che porterà alla stesura di una
relazione e alla sua discussione, contribuirà a
migliorare sia il grado di autonomia di giudizio in
generale, sia la capacità comunicativa, sia la
capacità di inserirsi proficuamente in un team, sia la
capacità di apprendimento in autonomia e di trarre
conclusioni, dello studente.
The course enables students to acquire knowledge
and skills about software engineering principles and
methods, especially requirement analysis, design
and testing of a software system. This knowledge will
allow the student to gain a clear understanding of the
broader multidisciplinary context represented by the
computing and automation engineering, in particular
of the aspects specifically related to design and
development of software systems.
In order to deal with advanced and complex design
issues and with innovation and development of new
software systems, the student must be able to
properly apply software engineering models and
methodologies. This ability will be expressed through
a number of professional skills, such as: 1. analyzing
functional and non-functional system requirements;
2. designing usable and maintainable softwares; 3.
testing a software.
Working in team to software develpment and writing
the related report will improve the independence of
judgment in general, the communication ability (also
stemming from teamwork), and the ability to
autonomously learn and draw conclusions of the
student.
Lezioni di teoria
- Modelli di processo: Agile, Tropos
- Elicitazione dei Requisiti,
- Analisi dei requisiti (orientata agli scenari, orientata alle interfacce utente, orientata ai dati, orientata ai comportamenti),
- Progettazione (delle architetture, dei componenti)
- Strategie e tecniche di Collaudo,
- Linguaggi di specifica: i*, UML
Esercizi
- Elicitazione dei Requisiti,
- Analisi dei requisiti (orientata agli scenari, orientata alle interfacce utente, orientata ai dati, orientata ai comportamenti),
- Progettazione (delle architetture, dei componenti)
- Strategie e tecniche di Collaudo,
Theory
- Process framework: Agile, Tropos
- Requirement Elicitation,
- Requirement Analysis (Scenario-oriented, user interface-oriented, data-oriented, behavior-oriented analysis)
- Design (Architectural Design, Component-Level Design)
- Testing Strategies, Testing Techniques
- Specification languages: i*, UML
Exercises
- Requirement Elicitation,
- Requirement Analysis (Scenario-oriented, user interface-oriented, data-oriented, behavior-oriented analysis)
- Design (Architectural Design, Component-Level Design)
- Testing Strategies, Testing Techniques
La valutazione dell'apprendimento è suddivisa in due parti:
1) prova orale individuale - discussione su due argomenti trattati nel corso.
2) progetto di gruppo - un gruppo di quattro o cinque studenti deve progettare un software concordato con il docente e fare una presentazione del lavoro svolto. Il gruppo può scegliere un progetto che sia valido anche per il corso di Sicurezza Informatica.
1) Prova orale individuale - lo studente deve dimostrare di aver ben compreso i metodi e le tecniche da usare nell'ingegneria del software.
2) Progetto di gruppo: il gruppo deve dimostrare di essere in grado di applicare tali metodi e tecniche alla realizzazione di un sistema software e di saper redigere una relazione tecnica.
1) Prova orale - per ogni argomento viene assegnato un punteggio compreso tra zero e dieci. Il voto finale della parte orale è dato dalla media.
2) Progetto di gruppo - viene valutata la completezza e correttezza della relazione (fino a 20 punti), la qualità del software prodotto (fino a 20 punti), e della presentazione (fino a 20 punti). Il voto finale assegnato al progetto è dato dalla media. Inoltre può essere assegnato un ulteriore punto in base all'autonomia dimostrata dal gruppo.
Prova orale individuale: fino a 10 punti
Progetto di gruppo: fino a 21 punti
Voto finale: somma dei due voti. 31 punti danno diritto al "30 e lode".
The learning evaluation consists of two parts:
1) individual oral exam - a discussion about two topics from the syllabus;
2) group project - a group of 4 or 5 students must design a software agreed with the teacher and present the results. The group can choose a project that is also valid for the course: "Cyber Security"
1) Individual oral exam - students must know what are methods and techniques to be used in software engineering.
2) Group project - the group must be able to apply such methods and techniques to the development of a software and to produce a final project report.
1) Individual oral exam: each one of the topics assigns a score up to 10. The final mark for the oral exam is the average score.
2) Group project - the review process takes into account the completeness and correctness of the final report (up to 20 marks), the software quality (up to 20 marks), and the presentation (up to 20 marks). The final mark for the group project is the average score. Up to 1 bonus mark is assigned according to group autonomy.
Individual oral exam: up to 10 marks
Group project: up to 21 marks
Final mark: the sum of the previous two marks. 31 marks is equivalent to "30 e lode" (full mark with distinction)
- J. Arlow, I. Neustadt, "UML 2 e Unified Process (2^ ed.)", McGraw-Hill Italia.
- I. Sommerville, "Ingegneria del software" 8/Ed., Pearson Italia.
- sito del corso https://learn.univpm.it/course/view.php?id=7848
- J. Arlow, I. Neustadt, "UML 2 e Unified Process (2^ ed.)", McGraw-Hill Italia.
- I. Sommerville, "Ingegneria del software" 8/Ed., Pearson Italia.
- course website https://learn.univpm.it/course/view.php?id=7848
NO
NO
Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427