81614 - Laboratory of Software Systems

Academic Year 2018/2019

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

Learning outcomes

At the end of the course, the student:

  • is able to set-up cooperative software production processes, based both on agile (SCRUM) and on Model-Based (UML2 or domain specifdic)  approaches
  • is able to critically evaluate the role of UML2 in modelling software for distributed, heterogeneous systems
  • is able to develop software in a technology-independent way, by proper formalizations of the requiremet and problem analysis
  • is able to design and develop sustom supports for proactive-reactive software, based on message-passing and event-driven paradigms
  • is able to design and build a Sofware Factory based on the Model Driven Software Development (MDSD) approach
  • is able to build low-cost IOT (Internet of Things) devices based on Raspberry, Arduino e Android, with particular reference to DDR (differiantial drive robots)
  • is able to exploit the concepts, device, tools developed in the course to design and build IOT-DDR software applications

Course contents

  • Definition of a reference environment for
    coopèerative working in software development.
    Working tools (Eclipse) in the context of spiral software development processes.
  • The role of analysis and the concept of logic architetcture.
    The role of components and interfaces in the analysis, design and testing.
  • Test planning as a contribution to the design phase.
    Architecture driven design: from logical architectures to software design and development.
  • Platform (in)dependent design: Android,Arduino/RaspberryPi as a a case study.
  • From models to code: possible integration between Model Driven Design and agile (SCRUM) software development.
  • Design and building of custom (domain specific) lanaguges/metamodels using the Xtext technology with particular reference to costructs for distribution, event-driven programming and reactive actions.
  • Design and building of a case study application
    in the domain of Internet of Things by using self.made differential drive robots.

Readings/Bibliography

Lerning material provided by the teacher in form of HTML hypertexts and/or pdf documents.

This material is intende to be a reference guide for the reading of more detailed papers and books

Teaching methods

The laboratory is based on a strong interaction between theory and practice, and on the cooperative work (teacher-students and student-student) related to a set of case-studies.

The case studies are proposed in an incremental way, with increasing complexity, with the goal to build reusable software, useful for the final application

The work of the students will be discussed during specifc 'review' phases (in the SCRUM style) related both to the product and to the develpment process, with the goal to better understand the motivation for the modern evolution of computational paradigms and of software production processes.

Assessment methods

The lab activites are naturally related to the continuos auto-evaluation of the work of each student.

The final 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,

The goal of this phase is to evaluate the achievment of practical skills and can be performed both in individual way or in a team composed of at most 3 students.

The second phase consists of an individual discussion of the work. The goal is to evaluate the degrre of theorectica knowldege, awarness and autonomy of  ech specific student.

Teaching tools

The laboratory makes use of opentools (e.g. Eclipse Git) for software production in a cooperative style.

For each case study, the teacher provides a GIt site that includes code and documentation, in order to facilitate the study and to provide a starting point for specialized versions.

Office hours

See the website of Antonio Natali