Ingegneria del Software
Software Engineering Luca Spalazzi
Object oriented programming
KNOWLEDGE AND UNDERSTANDING:
The course enables students to acquire knowledge and skills about software engineering principles and methods, especially requirement analysis, design and testing of a software system. This knowledge will allow the student to gain a clear understanding of the broader multidisciplinary context represented by the computing and automation engineering, in particular of the aspects specifically related to design and development of software systems.CAPACITY TO APPLY KNOWLEDGE AND UNDERSTANDING:
In order to deal with advanced and complex design issues and with innovation and development of new software systems, the student must be able to properly apply software engineering models and methodologies. This ability will be expressed through a number of professional skills, such as: 1. analyzing functional and non-functional system requirements; 2. designing usable and maintainable softwares; 3. testing a software.TRANSVERSAL SKILLS:
Working in team to software develpment and writing the related report will improve the independence of judgment in general, the communication ability (also stemming from teamwork), and the ability to autonomously learn and draw conclusions of the student.
Scenario-oriented, flow-oriented, data-oriented, behavior-oriented Analysis
Architectural Design, Component-Level Design, User Interface Design
Testing Strategies, Testing Techniques
Specification languages: i*, UML, formal methods.
Development of the examination
LEARNING EVALUATION METHODS
The learning evaluation consists of two parts:
1) individual oral exam - a discussion about three topics from the syllabus;
2) group project - a group of 4 or 5 students must design a software agreed with the teacher and present the results. The group can choose a project that is also valid for the course: Distributed Computing Techniques
LEARNING EVALUATION CRITERIA
1) Individual oral exam - students must know what are methods and techniques to be used in software engineering.
2) Group project - the group must be able to apply such methods and techniques to the development of a software and to produce a final project report.
LEARNING MEASUREMENT CRITERIA
1) Individual oral exam: each one of the three topics assignes a score up to 10. The final mark for the oral exam is the average score.
2) Group project - the review process takes into account the completeness and correctness of the final report (up to 20 marks), the software quality (up to 20 marks), and the presentation (up to 20 marks). The final mark for the group project is the average score. Up to 1 bonus mark is assigned according to group autonomy.
FINAL MARK ALLOCATION CRITERIA
Individual oral exam: up to 10 marks
Group project: up to 21 marks
Final mark: the sum of the previous two marks. 31 marks is equivalent to 30 e lode (full mark with distinction)
J. Arlow, I. Neustadt, UML 2 e Unified Process (2^ ed.), McGraw-Hill Italia.
I. Sommerville, Ingegneria del software 8/Ed., Pearson Italia.
- Ingegneria Informatica e dell'Automazione (Corso di Laurea Magistrale (DM 270/04))