You are here: SE » SoftwaretechnikProjekt2010

Softwareprojekt: Softwaretechnik

Informationen zum Projekt

Projekt (19517) - 4-stündig, ECTS: 10

Dozenten: Lutz Prechelt
Karl Beecher
Sprache: Deutsch und Englisch
Zeitraum: Block in der vorlesungsfreien Zeit: 16. August - 24. September 2010
maximale
Teilnehmerzahl
20
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
Literatur: wechselnd

Contact Details

  • Official website. Includes the Develop guide.
  • Getting started (A guide for Bachelor-/Master-/Diplomarbeit, but with some useful information.)
  • saros-con.imp.fu-berlin.de, our Jabber server which you can use to host sessions.
  • dpp.sourceforge.net/update, the Eclipse update site from where you can install Saros.
  • http://saros-build.imp.fu-berlin.de/svn/softwareprojekt/trunk, a copy of the main Saros SVN repository where we will carry out development. You should, similar to the instructions on the "DPPHowToDevel" page, import the project from /dpp/de.fu_berlin.inf.dpp/
  • Week 36 report instructions: Here.

Learning Materials

Provided Workspace

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

  • K38 (Linux machines)
    • 16.08 -- 03.09: 08:00 -- 14:00
    • 06.09 -- 24.09: 08:00 -- 18:00
  • K44 (Windows 7(?) machines)
    • 16.08 -- 03.09: 08:00 -- 14:00
    • 06.09 -- 24.09: 08:00 -- 12:00, 16:00 -- 20:00
  • K48 (Linux machines)
    • 16.08: 08:00 -- 18:00
    • 23.08 -- 03.09: 08:00 -- 18:00
  • Room 005 (Seminar room)
    • Reserved every day, 08:00 -- 18:00, except for:
      • 15.09, reserved 10:00 -- 12:00
      • 20.09
      • 21.09
      • 23.09
      • 24.09

Teams

For the Monday Meetings, it would be best if you were in Room 005, otherwise I will search the PC-Pool rooms for you.

Number Members Monday Meeting   Number Members Monday Meeting
1
  • Karl Held
  • Ines Moorsdorf
  • Miriam Ney
  • Franz Zieris
10:40   2
  • Franz Gatzke
  • XXXXXX
  • Jakob Pfender
14:00
3
  • Robert Ende
  • Georg Graf
  • Ramdane Sennoun
11:00   4
  • Benjamin Aschenbrenner
  • Robert Fehrmann
  • Dennis Gölde
  • Simon Schmitt
14:20
5
  • Patrick Bitterling
  • Hendrik Degener
  • Christian Dohnert
  • Sebastian Schlaak
10:00   6
  • Björn Kahlert
  • Maximilian Lengsfeld
  • Maximilien Riehl
  • Maria Spiering
  • Jan Wötzel
10:20
7
  • Tobias Albig
  • Cenk Gündogan
  • Muhammet Karakütük
14:40

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 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 by me at the end of week 34.
  • If more than one group submits a fix for a specific bug, the Saros Team will judge the best.

Tracker numberSorted ascending Fixed by group Description
2788256   If working in a short file (one in which all text fits on screen) it is noticable that the viewport annotations are one line too short.
2832598 1 Since the invitation process is often sluggish, users often do other things during the invitation is running in the background. We should make the user interface blink (we already do when a new invitation arrives) in the following cases: 1) An Invitation fails (Host and client) 2) An Invitation finishes (client) 3) All Invitations are finished (host) 4) User Input is required (Client) You may attempt fixes for any one or more of these cases.
2992178 5 When one supplies wrong credentials or enters a wrong server name (e.g. after a set of credentials fails a connection attempt), Saros asks if one wants to change the server settings. Clicking yes returns a virgin configuration window. It would be helpful if it at least contained the previous settings, as most cases are mistyped passwords and having to enter everything each time is very annoying.
3007961 4* During invitation, when the invitee selects "Use existing project" option, selecting a closed project results in an error message. This should be changed into a dialog asking sth like "Do you want to open the project?".
3020800   1) When a class in the default package is renamed by the driver/host, it appears twice in the Project Explorer View of the observers. A refresh fixes it. Package Explorer works fine. 2) When a file is renamed by the host/driver, a new entry appears in the Error Log View of observers. No popup or anything, just the silent entry:

EditorAPI cannot open file which does not exist: L/ (EditorAPI.java:187)
3033055 5* When you rename someone from A to A' for the first time in an Eclipse session, it doesn't register properly. No events seem to fire, so other views aren't informed of the change (everything still displays A). Only when you change the name for a second time (from A' to A”!=A') will it stick, even though the rename dialog displays A'. After that initial hiccup, renaming seems to work fine.
3041943 4 The Remote Screen view is, by default, quite blank. It is not immediately obvious what the user does with this view. When not in use, this view should display a short explanatory message, instructing the user how to begin using the screensharing.
N/A 6 ChatView has a newline at the beginning of the message entry textbox after sending a message
N/A 6 Stop from adding self to roster
N/A 6* Make all contacts appear off-line after disconnecting from roster

* amended slightly in review

Features

Feature ID Accepted from group Description
1 7 The colours used in the session view for each user should be configurable via the preferences. This may include sending colour information to the invitees.

Feature requests tracker, no. 3002737
2 1 The roster view should indicate which users have Saros support.

Feature requests tacker, no. 2965406
3 TBD The roster view is normally empty when no session exists. Amend the roster so that all your buddies are listed.
4 TBD When user X decides to follow user Y, send a follow-mode notification to user Y.
5 5 When the observer tries to type, an obscure message appears in the status bar explaining he can't because he is an observer. Instead of this, use a balloon message pop-up.
6 6,1 At the moment, the user is not informed if another user in the session is currently typing a in the chat window. Please provide some form of notification, in whatever way you judge best.
7 6,1 Give the chat view a richer and more pleasing design. Specifically: 1) Provide a little spacing between each message; 2) Somehow add colour to each message that corresponds to the user's colour in the session view.

This may be a more difficult task than it first appears, as the current GUI control has little "rich text" functionalty.
8 5 (This may be approached as a two-part feature; you may provide fixes for one or both parts.)

Part 1: At the moment, the "Share project" option is greyed out when the user is already in a session. Provide code that makes the option both enabled and open the invitation dialog when clicked during an existing session.

Part 2: Similarly, if the user is not connected to the roster, the "Share project" option is greyed out. Provide code that, when the user is not connected to the roster, makes the option enabled and forces a connection to the roster if clicked.

Feature requests tracker, no. 2841962
9 TBD Provide the ability to store multiple XMPP accounts in Saros, so you can easily choose a different ones. Feature requests tracker, no. 2778674.
10 6 JoinSessionWizard should suggest a name for reusing an existing project based on name similarities. When the JoinSessionWizard advances onto the page where the target project is chosen and the user wants to select an existing project in many cases the user wants to reuse an old project with a similar name. Suggestion: Quickly scan for project which have an identical name as the project we are being invited too. Feature requests tracker, no. 2841965
11   When a client joins a session for a project where he already has a (partial) local copy, the selection algorithm only considers the number of differing (added/removed/changed) which does not give enough information on how to minimize synchronization effort. Also, it does not make it clear enough if the synchronisation would overwrite/delete local files. (There are 3 parts, you may attempt any number thereof.)
1) When extracting the number of files to be added/removed/changed for performing a sync, additionally include the file size differences. Possibly provide suitable summary information (e.g. whole packages removed, total size of sync etc.)
2) If the synchronisation involves overwriting or deletions, make the warning messages much more clear and salient.
3) Try changing the "best-matching project" algorithm (minimize data transfer, possibly also minimize local deletion?)

Feature requests tracker no. 2942078
x1 5 A kick action

Let us all know which features your group are implementing. You can update this table whenever you like.

Group number Favoured features
1  
2  
3  
4  
5  
6  
7