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