Software Development 24 - Walk-by Application Store

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.
 
Motivation:

Android Dev 1 Phones

Nexus One
Smartphones have recently become very popular and powerful. Two examples are the "HTC Dream" (Android Dev 1 Phone, T-Mobile G1) and the "HTC Passion" (Google Nexus One) phones. Such phones can be programmed using Java, the Android API, and modern software engineering techniques and will be used in this lab.
Assignment:
Your assignment is the design and implementation of a program which makes it possible to exchange applications with other, nearby phones, in an ad-hoc fashion.
In particular you will need to design and implement:  
  • A discovery mechanism to find nearby phones
  • A mechanism to download application lists and applications/patches
  • A Public Key Infrastructure and signature checking
  • Installation/patching
  • Installation
  • GUI/configuration
Optional features include:
  • Continuation of unsuccessful downloads
  • Binary patches (e.g. the use of algorithms like xdelta, rsync)
  • Rollback of installed applications
Schedule:
Weekly meetings will take place on Friday at 14:30 o'clock.
16.04. First appointment with the advisor
07.05. Functional specification
04.06. Design
02.07. Implementation
23.07. Validation/testing
30.07. Presentation
Links:
Praxis der Softwareentwicklung
 
Advisor:
Simon Kellner <kellnerHyt8∂kit edu>