DTU 
 

 

02162: Course on Software Engineering 2 (e14)

The course starts on Tuesday, Sept. 2, at 815 in lecture hall 303A/45.

 

On Sept. 2, we will also form the groups for working on the project. Depending on the number of participants, there should be 7 to 10 students per group. If you want to be in a group together with some particular students, please, prepare a list of those students (up to 7 students who are registered for the course and are committed to fully follow through this course and the project). This will make it easier and faster forming the groups during the lecture on Sept. 2.

 

The course consists of lectures, tutorials, and the work on a project (in groups of 7-10 students). For parts of this course, there is a fixed schedule (e.g. lectures, tutorial, and project meetings), which will, generally, be held in the following slots:

 

Tuesday 815-1200, lecture hall 303A/45: Lectures, tutorials, and project discussions.
Friday 1300-ca. 1445, lecture hall 303A/45: Lectures and tutorials.
Friday ca. 1500-1700, Group meetings in rooms A: 210.142, B: 210.148, C: 210.162, D: 210.168:

 

In addition to theses slots, the group leaders or their deputies will have a weekly meeting with the teachers (the exact time will be discussed once the groups and the group leaders are fixed).

 

Note that, during this course, there will be three presentations by students (see schedule): The early project presentation, the presentation of the tutorial results, and the final project presentation, which will be held by every group. Every participant of the course is expected to be an active part of at least one of these presentations.

 

The (preliminary) schedule for the different parts of course can be found at http://www2.imm.dtu.dk/courses/02162/e14/material.shtml along with the deadlines for the deliverables and the slots for the presentations. All the material for the lectures and tutorials will be made available via these pages. On this web page, you will also find a rough work plan for the project. The exact details will be fixed in the first week of the semester (when we know the exact number of participants).

 

Please be aware that, in addition to the above slots, each participant is expected to invest about 12 hours per week on the project and the tutorials (10 ECTS points correspond to an overall workload of 270 hours). This work, however, is more flexible and a matter of your individual and your group's work plan.

 

Objective
Sometimes, we are tempted to believe that making software is programming—just bigger. But, this is not at all true.

For developing software, we need good skills in programming, of course. But, this is not enough for successfully completing a software project. Other skills are not less important:

  • social interaction and communication (orally as well as in writing),
  • soliciting and defining the exact requirements,
  • modelling the domain,
  • making architecture and design decisions,
  • analysing the models,
  • implementing the designed system,
  • testing it,
  • using state-of-the-art technologies (or to acquire new ones), and
  • project management.

The course on Software Engineering 2 (02162) will help acquiring these skills.

 

Structure
In order to acquire these skills, the course consists of three main parts: lectures, tutorials, and the project, where the focus is on the project. The lectures and tutorial provide the necessary theoretical and technical underpinning for the project.
  • The lectures will provide an overview on the software development process (and some of today's process models), the documents and notations used, and the underlying concepts of modern software development technologies.
  • The tutorials will give some more insights into the details of some concepts and technologies used in the project. In particular, the tutorials will help developing the skills to acquire new technologies and tools.
  • In the project, groups of about 7-10 students develop some software. This year, we start with a completely new project, which integrates smart phones and a web server to into a system for "smartly" monitoring your home. The details of the project will be discussed in the first week(s) of the course — and the students will work out a fully fledged systems specification for that system over the course of the project.

     

    During the process, we will use different technologies for developing android apps and web applications using Eclipse as an IDE. The underlying technologies will be discussed in the tutorials in the first part of the course, and you will become acquaited with the necessary technologies.

     

    Note that we do not expect the participants to know these technologies beforehand. The tutorial part of the course will prepare you for Model-Based Software Engineering with Eclipse. But, it is expected that participants have some experience in programming (perferably in Java), and know UML as a modelling language. If you need to bruch up on your UML, please have a look at the material provided below.

The exact schedule for the different parts of the course is not yet fixed and might be subject to change. It can be found on the "schedule and materials" page of this course (see here), which will be updated on a regular basis. The general structure, however, is that there will be one lectures and one tutorial per week in the first half of the semester. The time slots for the lectures and tutorials will be
  • Tuesday 8.15-10.00
  • Friday 13.00-15.45

 

The remaining time slots will be used for discussing the project and working on the projects — some slots are used for group work, some slots are used for plenary discussions of the project. In particular, Friday 15-17 is scheduled for the weekly group meeting. The attendence of these meetings (in particular the weekly group meeting) is mandatory.

 

In the second half of the semester, there will be no tutorials anymore. Then, the Friday slot from 13-15 will be used for lectures, and the Tuesday slot will be used for discussions of the project and for working on the project.

 

There will be no final written examination. Instead, the evaluation will be based on the deliverables and presentations during and at the end of this course, and how the students individually contributed to their group's result. See the evaluation guidelines for some more details.

 

Project
This year, we start with a new project. The idea is to build a flexible and configurable system for monitoring and surveillance of homes, by using the smartphone and their sensors and cameras. To this end, the smartphones will be equipped with some apps, that connect to some server that controls these apps, and allows home owners to remotely monitor their homes, collect and monitor CITIES: Logo intersting data and to configure the setup.

 

This project is done in cooperation and the kind support of the CITIES project. If you are interested, you will have the chance to pursue some of the ideas of this project in more depth, in continuation of this course.

 

The project will be discussed in much more detail in the first week(s) of the course. You can find a more detailed description of the project at http://www2.imm.dtu.dk/courses/02162/e14/project.shtml.

 

Material and further reading
The course will be pretty much self-contained, and the material for the lectures and tutorials will be provided via these web pages, and some suplementary material from the internet will be made available there.

 

It is not required to buy any books for this course. Howver, the following material might, however, provide useful supplementary information. Note that some of books are available online for DTU users:

 

For those of you who need to read up on UML, here are two Safari Books on UML, which are freely accessible for DTU students:

 

 

Ekkart Kindler (), Aug 12, 2014 (last updated Sep 4, 2014)