SOFTWARE ENGINEERING
INGEGNERIA DEL SOFTWARE
Software Engineering
Ingegneria del Software
A.Y. | Credits |
---|---|
2012/2013 | 9 |
Lecturer | Office hours for students | |
---|---|---|
Edoardo Bontà | On appointment. |
Assigned to the Degree Course
Date | Time | Classroom / Location |
---|
Learning Objectives
The objective of this course is to illustrate the main methodologies, techniques, and tools for complex software systems development process management, with particular emphasis on object oriented design and programming paradigm.
Program
01. Software engineering fundamentals:
01.01 Basic concepts of Software Engineering.
01.02 Software quality.
01.03 Software development process.
02. Object-oriented analysis and design:
02.01 The object oriented paradigm.
02.02 Introduction to software modeling.
02.03 Unified Process.
03. Unified modeling language (UML):
03.01 Introduction to UML.
03.02 Structure diagrams: classes, objects, and packages.
03.03 Behavior diagrams: use case.
03.04 Robustness analysis and interactions among entities.
03.05 Interaction diagrams: communication, sequence.
03.06 State machine, activity, and other diagrams.
04. Design patterns:
04.01 Introduction to design patterns.
04.02 Creational patterns: Singleton, Factory.
04.03 Structural patterns: Proxy.
04.04 Behavioral patterns: Observer, Visitor.
05. Methods for software engineering:
05.01 Requirements analysis.
05.02 Principles of software design.
05.03 Software testing techniques.
05.04 Software metrics.
06. Software project management:
06.01 Software project planning.
06.02 Project estimation.
06.03 Risk analysis and management.
06.04 Project scheduling.
06.05 Software configuration management.
06.06 Project documentation.
06.07 CASE tools.
07. Advanced topics:
07.01 Formal methods.
07.02 Cleanroom software engineering.
07.03 Reengineering.
08. Laboratory activities (language C#):
08.01 Basic concepts of the language.
08.02 Classes and objects.
08.03 Inheritance.
08.04 Polymorphism, abstract classes and interfaces.
08.05 Exception handling.
08.06 Generics.
Bridging Courses
Algorithms and Data Structures, Procedural and Logic Programming.
Teaching, Attendance, Course Books and Assessment
- Teaching
Theory lectures and laboratory exercises, both face-to face and on-line.
- Attendance
Although recommended, course attendance is not mandatory.
- Course books
Pressman, "Software Engineering: A Practitioner.s Approach", McGraw-Hill, 2010.
(Pressman, "Principi di Ingegneria del Software", McGraw-Hill, 2008).
Fowler, "UML Distilled", Addison-Wesley, 2003.
(Fowler, "UML Distilled", Pearson Italia (Addison-Wesley), 2010).
Bochicchio et al., "C# 4 – Guida completa per lo sviluppatore", Hoepli, 2010.
Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, 1995.
(Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elementi per il riuso di software ad oggetti", Pearson Italia (Addison-Wesley), 2002).
- Assessment
Individual project, written exam, and oral exam.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
Notes
The course is offered both face-to-face and on-line within the Laurea Degree Program in Applied Computer Science.
« back | Last update: 18/10/2012 |