72939 - Software Systems Engineering M

Academic Year 2015/2016

  • Docente: Antonio Natali
  • Credits: 8
  • SSD: ING-INF/05
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Engineering (cod. 0937)

Learning outcomes

Methodologies and tools to make explicit the knowldegde usually
implicit in spiral software production processes, with particular attention
to the phases of analysis, design and testing.
Understanding the impact of the technology on the design and the
analysis phase, and the importance of building good models, with particualar reference
to distributed, hetherogenous systems.
Development of architecture-based design processes, by intergrating model driven
approces with code-driven (e.g SCRUM based) methodology.
Achieving experince in cooperative software development and in the
usage of severla tools an frameworks, including Eclipse,Xtext,  Android, Arduino RaspberryPi.. 

Course contents

Definition of an intitial reference environment for
coopèerative working in software development.
Working tools (Eclipse)  in the context of spiral development processes.
The role of analysis and the concept of logic architetcture.
The role of interfaces in the analysis, design and testing.
Test planning as a contribution to the design phase.
Architecture driven design.
Platform (in)dependent design: Android as a acase study.
From models to code: Model Driven Architecture vs. SCRUM-oritented software development.
Design and building custom (domain specific) lanaguges/metamodel using the Xtext technology,
Design and building of a case study application on Java/Android/Arduino/RaspberryPi platforms
in the domain of Internet of Things 

Readings/Bibliography

Antonio Natali, Ambra Molesini: Costruire sistemi software: dai modelli al codice. II edizione. Esculapio-Progetto Leonardo ISBN 978-88-7488-334-9  Teacher notes, including commented bibligraphic references,. Please see https://137.204.107.21

Teaching methods

The course is based on a strong interaction between theory and lab practice. The applicative part is arranged by simulating (as far as possible)  an industrial environment, by stressing cooperative working issues.

Assessment methods

The examination will performed in two-phases. The first phase starts by publishing a set of requirements and ends with the production of a prototype  of a software system satisfying the requirements,  toghether with a project site. This phase can be delevoped both in individual  way or in a team. The second phase consists of a individual discussion of the work.

Teaching tools

The learning material is presented by using slides and teacher's notes published on the teacher's site at  https://137.204.107.21

Links to further information

https://137.204.107.21

Office hours

See the website of Antonio Natali