Course Details for A.Y. 2019/2020
Name:
Ingegneria del Software / Software Engineering
Basic information
Credits:
: Bachelor Degree in Computer Science 6 CFU (b)
Degree(s):
Bachelor Degree in Computer Science 3rd anno curriculum General Compulsory
Language:
Italian
Course Objectives
This Module provides the students with an excellent education incorporating industry-relevant, applied laboratory-based instruction in both the theory and application of software engineering. The deep theoretical knowledge and the practical experience in the Lab sessions aim to prepare the students for productive careers in industry and government and to enable them to meet current and future industrial challenges and emerging software trends
Course Content
- THEORY
-Software Process Models (waterful, incremental delivery). Agile Development
-Requirement Engineering: Requirement Definition and Requirement Specification Process. System Models
-Software Architecture Design. Architectural Patterns
-Software Design: Object-Oriented Design
-Project Management: project scheduling and risk analysis
-From Design to Implementation
- LABORATORY
-- UML Language as formalism for modelling software systems. UML Meta-Model.
- UML for requirement analysis and specification , for project design, implementation and documentation.
- UML in practice: MagicDraw Tool
- Models’ transformation: ACCELEO
Learning Outcomes (Dublin Descriptors)
On successful completion of this course, the student should
- Acquire deep knowledge of the core areas of software engineering: requirement engineering, architectural design, object-oriented design and implementation, verification and validation, testing, project management (,).
- Be able to apply the principles dealt with in the course, such as i) to interpret and properly use UML diagrams during requirement engineering, software architecture design and low design; ii) to specify functional, non functional requirements iii) apply testing techniques on simple cases iv) define ACCELEO model-to-code transformation starting from UML models.
- Be able: i) to identify, formulate, and solve software engineering problems; ii) to explain, argue and defend his/her design decisions
- Be able to: i) organize, develop and manage a project and the relative documentation ii) Compose a report documenting the developed project iii) to convey technical material through oral presentation and written reports.
- Develop capacity to regularly engage in exploring, learning and applying state-of-the-art software technologies to the solution of software engineering problems.
- Have capacity to be an effective software development team member who contributes innovative software design solutions to the resolution of IT problems.
- Be able to communicate effectively and successfully, both individually and within multi-disciplinary teams.
Prerequisites and Learning Activities
The main prerequisite for this course is the knowledge of the basic concepts of the formal language theory and programming.
Assessment Methods and Criteria
Pre-Assessment
There is no formal pre-assessment, but Course pre-requisites are clearly stated on the Module website. Fulfilment of such pre-requisites is verified by formative assessment. Additional lectures or short seminars or individual homework are provided by the teacher in case significant problems are detected.
Formative Assessment
The formative assessment is performed via interactive interaction between teacher and students during lectures. Students are aware since the beginning of the Course that they will be involved (in turns) in:
- Questioning and discussion, by means of open oral questions to the class or to single students.
- Exit Slips: students are assigned written questions or exercises to be answered in 10 minutes, and a student is then selected for oral presentation of her/his solution to the class.
Summative Assessment
Written test, Project followed by a project presentation.
An optional mid-term written test is also be provided, which is meant to cover the first part of the course, in order to help the students to split the workload.
The written test is aimed at:
(1) verification of theoretical competences, and in particular of knowledge and comprehension of Course contents
(2) verification of skills in understanding and solving simple exercises, and in explaining the proposed solutions.
This in order to verify the ability of application of techniques learned during the Course, of analysis of problems and synthesis of suitable solutions, and of evaluation of alternative solutions.
The project and its presentation are aimed at: verification of skills in understanding and solving significant exercises, and in explaining the proposed solutions. This in order to verify the ability of application of techniques learned during the Course, of analysis of problems and design of suitable solutions, and of evaluation of alternative solutions.
Criteria of evaluation will be: the level of knowledge and practical ability; the property of use of the technical language; the clarity and completeness of explanations. The oral exam will occur within one week of the written test and will typically focus on a technical presentation of the solutions and decisions taken in the project. Additional questions on theoretical aspects can be raised by the teacher during the presentation. The oral exam is mandatory.
Assessment breakdown: 100% mid-term plus end-of-semester summative assessment.
The written test (1 hour and half) covers the 1/3 of the total mark and consists in:
(a) short essays (max 600 words) on theoretical aspects;
(b) One or Two exercises.
The project and its related documentation (corresponding to 1/3 of the total marks) has to be sent by email to the teacher before the written exam date. Criteria of its evaluation will be the correct usage of theoretical topics in the projects and the quality of the presentation of the related documentation.
The oral exam (corresponding to 1/3 of the total marks) focuses on the presentation of the project by using slides. Criteria of its evaluation will be the ability in proposing and defending the solutions devised in the project.
Textbooks
- Bernd Bruegge and Allen H. Dutoit, Object-Oriented Software Engineering , Prentice Hall. 2012.
- The UML Bible , Wiley.
- H.E. Eriksson e altri, UML Distilled , Wiley. 2004.
Course page updates
This course page is available (with possible updates) also for the following academic years:
To read the current information on this course, if it is still available, go to the university course catalogue .
Course information last updated on: 10 ottobre 2019, 16:19