Exam:Please register yourself with the following exam number: 439
Software Engineering Lab (PSE)
In the Software Engineering Lab (PSE) you will learn how to develop a software project using state-of-the-art software-engineering techniques in teams of 5 to 6 students. The goal of the lab is to get familiar with design and software quality assurance methods and to implement the designed medium-sized software project as a team.
Smartphones have recently become very popular and powerful. One representative is the "HTC Passion" (Google Nexus One) phone, which will be used in this lab. Such a phone can be programmed using Java, the AndroidAPI, and modern software engineering techniques.
Your assignment is the design and implementation of a program which makes it possible to synchronize a directory between phones using a centeral server. A class that implements encrypted communication with the server and makes it possible to execute the necessary commands will be provided to your group.
The project goals are:
- Automatic synchronization of modified and new files - Deleting files - Detecting conflicting changes - Graphical user interface
Optional features include:
- Support for multiple directories/servers - Progress bar for transmissions - Support for techniques that improve the efficiency of the synchronization (e.g., transfer less data) - Portability (e.g., desktop version)
Weekly meetings will be held. The time and place will be arranged according to prior agreement.