FACOLTA' DI INGEGNERIAUniversita' di Pavia
Home
  Teaching > Course1314 > Software Engineering Translate this page in English
About the Faculty
Orientation
Teaching
Research
Services
Industry partnerships
Mobility Erasmus
Shortcuts
Search in this site
Software Engineering

2012-13 Academic year

Lecturer: Thimoty Barbieri  

Course name: Software Engineering
Course code: 504705
Degree course: Computer Engeneering
Disciplinary field of science: ING-INF/05
L'insegnamento è caratterizzante per: Computer Engeneering
University credits: ECTS 6
Course website: http://www.thimoty.it/softeng

Specific course objectives

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.

Course programme

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.

Course entry requirements

Course structure and teaching

Lectures (hours/year in lecture theatre): 45
Practical class (hours/year in lecture theatre): 0
Practicals / Workshops (hours/year in lecture theatre): 0

Suggested reading materials

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

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

Testing and exams

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