FACOLTA' DI INGEGNERIA       Universita' di Pavia
Home
  Didattica > Insegnamenti1415 > Software engineering Translate this page in English
Organizzazione e Sedi
Immatricolarsi ai C.d.L.
Immatricolarsi ai C.d.L.M.
Orientamento
Didattica
Prenotazione Aule
Master
Esami: Iscrizioni online
Ricerca Scientifica
Servizi
Rapporti con Imprese
Tirocini didattici
Eventi e Iniziative
Bandi e Offerte lavoro
Esami di Stato
Mobilità/Erasmus
Rapporti di riesame
Assicurazione Qualità
Guida dello Studente
Scorciatoie
Cerca nel sito
Software engineering

Insegnamento Anno Accademico 14-15

Docente/i: Thimoty Barbieri  

Denominazione del corso: Software engineering
Codice del corso: 504705
Corso di laurea: Computer Engeneering
Sede: Pavia
Settore scientifico disciplinare: ING-INF/05
L'insegnamento è caratterizzante per: Computer Engeneering
L'insegnamento è affine per: Computer Engeneering
Crediti formativi: CFU 6
Sito web del corso: n.d.

Obiettivi formativi specifici

Eclipse / Java Environment - Fundamentals of Java and OO Programming. Classes. Inheritance, Interfaces. Collections, Data Manipulation and Formatting, Threads, I/O. - Java Enterprise (Java EE) Programming: Servlets, JSP, JPA (Java Persistence), JSF (Java Server Faces). Deployment on an Application Server.

Programma del corso

Syllabus

  • Lecture 1: Software Production Processes (Cpt. 1, 2, 3) Unified Software Process, UML, Agile Development, Basic Engineering Principles
  • Lecture 2: Software Requirements Engineering (Cpt. 4, 5, 6, 7) Fundamentals of Requirements Engineering, Use Cases Development, Requirements Analysis, UML Modeling, Data Modeling, Class Modeling. Case Examples and Discussion.
  • Lecture 3: Principles of Software Design (With OO techniques) (Cpt. 8, 9, 10, 12) Design Concepts: Abstraction, Design Patterns, MVC, Information Hiding, Functional Independence. Architectural Design. Component Design. Java Persistence with JPA.
  • Lecture 4: User Experience Design (Cpt. 11, 13) Rules for user interface design. Interface issues. Designing interfaces with JSF (Java Server Faces) components. Designing interfaces for Mobile systems (Smartphones, Tablets).
  • Lecture 5: Software Quality and Testing (Cpt. 14, 15, 16, 17, 18, 19, 20) Software Quality Assurance techniques. Testing Strategies. Debugging. Conventional Testing. OO-Based Testing. Integration Test with Tools. Testing Web Applications.
  • Lecture 6: Software Management, Measure and Scheduling (Cpt. 22, 23, 24, 25, 26, 27) Configuration Management. Version Control. Software Metrics. Principles of Project Managment oriented to Software Products. Function Points (IFPUG and Cosmic). Estimation and Control of Software Projects. Project Scheduling. Risk Management.

Prerequisiti

Tipologia delle attività formative

Lezioni (ore/anno in aula): 45
Esercitazioni (ore/anno in aula): 0
Attività pratiche (ore/anno in aula): 0

Materiale didattico consigliato

Oracle. Java EE 6 Tutorial. http://docs.oracle.com/javaee/6/tutorial/doc/docinfo.html

Roger S. Pressman. Software Engineering: A practioner's approach. McGraw Hill. 7th Edition.

Modalità di verifica dell'apprendimento

Students are required to prepare all chapters listed in the syllabus. The exam will be in written form regarding subjects covered in the chapters. Each student is required to prepare a small Java EE project in Java language. The project will show a strong command of object orientation and design principles covered during the course. The project will be discussed during the exam (with a written essay) and presented with a written deliverable (with requirements, design, metrics and testing documented).

Copyright © Facoltà di Ingegneria - Università di Pavia