|
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).
|