Softwareprojekt 2011: Softwaretechnik

Dozenten: Lutz Prechelt
Karl Beecher

Sprache: Englisch/Deutsch
Zeitraum: 15.08.2011 bis 23.09.2011
Inhalt: Im Softwareprojekt wird von den Studierenden im Team unter Anleitung des Dozenten ein größeres Softwaresystem arbeitsteilig entwickelt. Dabei sollen alle Phasen eines Softwareprojekts durchlaufen sowie typische Methoden und Hilfsmittel, wie sie im Modul Softwaretechnik kennengelernt wurden, eingeübt werden. Dabei geht es u.a. um
- Definieren, Abstimmen und Dokumentieren von Schnittstellen
- Arbeitsteilige Erstellung von Softwarekomponeneten im Team unter Anleitung eines studentischen Tutors, dabei Verwenden noch nicht implementierter Schnittstellen
- Eine noch fremde Technologie oder größere Softwarekomponente selbständig beurteilen und erlernen (Wiederverwendung)
- Durchsichten von Anforderungen, Schnittstellen, Implementierungen, Testfällen
- Modultest, Integrationstest, Systemtest; einschließlich Automatisierung und Rückfalltesten
- Versions- und Konfigurationsverwaltung, Build-Prozesse und Werkzeuge
Zielgruppe: Studierende im Bachelor- und Masterstudiengang Informatik
Voraussetzungen: Softwaretechnik

Table of Contents

Important learning resources

Provided workspaces

The following places have been reserved for your use at the given times and dates:

Every day until 23. Sep:
  • K38 (Linux machines), 08:00 -- 18:00
  • K44 (Windows machines), 08:00 -- 18:00
  • Room 049 (Seminar room), 08:00 -- 18:00

  • Monday Sep 12: 049 (all day)
  • Thursday Sep 15: K38 (09:00 -- 13:00)


Team 1 Team 2 Team 3
Michael Prüm
Christian Kühl
Maria Formisano
Thea Schröter
Markus Bischoff
Tu Tran
Simon Tippenhauer
Antonia Kresse
Hernandos Saenz Sanchez
Max Losch
Benjamin Eckstein
Hartono Sugih
Roman Stolzenburg

Monday meeting
Thursday presentation
Maintenance task(s)
Team 1
Peer-to-peer chat outside of session
Team 2
Populating the Test-suite
Internationalization, Whiteboard
Team 3
save and synchronize chat

Outstanding bugs

Here is a selection of bugs from our SourceForge Bug Tracker. Attempting to fix these will be a useful learning experience. Remember:
  • If you think you have a successful fix, please submit it for review (until your ReviewBoard profiles are activated, you can send your patch to me.
  • You are free to choose any bugs you wish to fix, not only the ones listed below.
  • All successful fixes will be incorporated into the main Saros project, so long as they receive positive votes.
  • If more than one group submits a fix for a specific bug, the Saros Team will judge the best.
  • They are in no particular order of difficulty, but some are more challenging than others.
  • If you wish, I can add more to the list!

Tracker number Description Fixed by team
When receiving an invitation there is no explanation what "Disable version control support" means. I suggest some kind of collapsable textbox which contains the tooltip information.
Incoming project wizard sometimes offers invalid project names when using an existing project. Try to come up with a better algorithm for name suggestions.
This bug entry contains a couple of suggestions for better highlighting behaviour.
Read-only participants can edit using drag and drop
Read-only participants can edit using find/replace
Read-only participants can edit using keyboard shortcuts
Chat window should remain visible after session ends.
Follow-mode ends if the followed user deletes the current file.
Follow-mode should remain active, even if the follwoed user closes all files.
When there are no projects in the Workspace in the "Work together on" context menu in the Roster says "No projects in workspace" but offers the Option "Multiple Projects".
After a consistency recovery, the whole file is annotated.
Saros should allow user to configure server and username domain separately. However, one user who uses this complains their JID is malformed.
Missing notification for empty entry in existing project box
Inconsistent Sharing Decorator
Not able to scroll horizontal in chat window
Recovery notice/bubble sometimes stays not long enough to read it.
User name change not supported by ChatView
NPE in whiteboard context menu
Missing reference to whiteboard view window icon

Weekly presentations

Always remember that you will present your work so far on Thursdays. The 15-20 minute presentation needs to inform the rest of the group of the following:

  • The task(s) you worked on and the goals you set yourselves
  • Any background information you researched that the audience should know
  • Planning activities
  • Any notable implementation details
  • How you tested/verified your work
  • Any problems you encountered and how they were overcome
  • Any more work that still needs to be done

Maintenance Tasks (weeks 35 - 36)

During weeks 35 and 36 you will take on a maintenance task in Saros. There are three examples below which you can choose from, although you can propose your own if you wish (ask me). The aim of the task is not only for you to improve Saros, but also to learn a few concepts and techniques of software engineering and put them into practice. Each task will therefore require a little background research and planning.

Each document below contains not only the task specification, but other things you need to think about when you present your work to the rest of the group.

It's a good idea to focus on one task per team. However, I am willing to allow a team to work on two tasks if they wish. (This is useful if, for example, members of a team are interested in different tasks.)

Features (weeks 37 - 38)

During weeks 37 and 38 you will introduce a new feature (or features) to Saros. There are four examples below which you can choose from, but (as always) you can propose your own to me. For these final two weeks you will learn how to work together in a team to add new functionality to a software product, taking advantage of the experience you have gathered in the past month and making sure that your contribution is of sufficient quality to be accepted into the project.

As you attempt to design the feature, I will act as the "customer". In other words, if there is something unknown, ambiguous or maybe even wrong in the specification of the feature, you can ask me questions to help resolve them.

Final report

Your final task on this project is to write a report on your experiences. The details are available in this PDF.
Topic revision: r32 - 15 Sep 2011, MariaFormisano
  • Printable version of this topic (p) Printable version of this topic (p)