You are here: SE » SoftwaretechnikProjekt2011

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

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

Teams

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) Feature
Team 1 10:00 14:00 Refactoring Peer-to-peer chat outside of session
Team 2 10:20 14:20 Populating the Test-suite Internationalization, Whiteboard
Team 3 10:40 14:40 Refactoring 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
3389022 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.  
3258875 Incoming project wizard sometimes offers invalid project names when using an existing project. Try to come up with a better algorithm for name suggestions. 1
3390589 This bug entry contains a couple of suggestions for better highlighting behaviour. 2
3182137 Read-only participants can edit using drag and drop  
3182141 Read-only participants can edit using find/replace  
3182140 Read-only participants can edit using keyboard shortcuts  
3211124 Chat window should remain visible after session ends.  
3192392 Follow-mode ends if the followed user deletes the current file.  
3192368 Follow-mode should remain active, even if the follwoed user closes all files.  
3392036 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".  
2808977 After a consistency recovery, the whole file is annotated.  
3133676 Saros should allow user to configure server and username domain separately. However, one user who uses this complains their JID is malformed.  
3392279 Missing notification for empty entry in existing project box 3
3390616 Inconsistent Sharing Decorator 1
3396880 Not able to scroll horizontal in chat window 1
3392263 Recovery notice/bubble sometimes stays not long enough to read it. 2
3103549 User name change not supported by ChatView 2
- NPE in whiteboard context menu 2
- Missing reference to whiteboard view window icon 2


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.