FACOLTA' DI INGEGNERIAUniversita' di Pavia
Home
  Teaching > Course1213 > 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, Ingegneria Informatica
Disciplinary field of science: ING-INF/05
L'insegnamento è caratterizzante per: Computer Engeneering
The course relates to: Computer Engeneering
University credits: ECTS 6
Course website: n.d.

Specific course objectives

Eclipse / Java Environment - Fundamentals of Java and OO Programming. Classes. Inheritance, Interfaces. Collections, Data Manipulation and Formatting, Threads, I/O. - J2EE Programming: Servlets, JSP. 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.
  • Lecture 4: User Experience Design (Cpt. 11, 13) Rules for user interface design. Interface issues. Designing interfaces for the Web. Navigation Design, Hypermedia models. 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.

Testing and exams

Students are required to prepare all chapters listed in the syllabus. The exam will be in oral form regarding subjects covered in the chapters. Each student is required to prepare small project in an Object-Oriented language (Java, Objective-C) on Windows, Linux, MacOsX, Android or iOS platforms. 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 and presented with a written deliverable (with requirements, design, metrics and testing documented).

Copyright © Facoltà di Ingegneria - Università di Pavia