The presented document provides an overview of the Smartphone Software for Department of Computer Science project development through out several phases: analysis of the project proposal, preliminary study of the concepts involved in the project, design decisions and modeling, implementation, experiments and conclusions obtained in the end, as well as a reflection on possible future system improvements.
The final version of the system, which was built after the design and implementation decisions made through out the development of the project, is a prototype mainly composed of an application for Android smartphones leaning on a distributed architecture in order to provide all its expected functionalities.
Thus, the system is based on a mixture of the two main distributed systems architectural models: client-server and peer-to-peer. The functionalities that lean on the client-server architecture are those whose data are relative to information of general interest and need to be always (ideally) available: consulting news, information and schedules for courses,
frequently asked questions, maps and indoors positioning.
On the other hand, functionalities such as the chat system and the possibility of contacting with the students of a certain course depend on the availability of the users, so a peer-to-peer architectural model was developed to support them.
Regarding the system functionalities, the in-door localization and the chat system were
determined as the most relevant ones. With the aim to provide those functionalities, the
choice made was to implement an in-door positioning based on the RedPin model and, on
the other hand, to make use of an already existing Java solution to build a chat system by means of multicast DNS and DNS Service Discovery: JmDNS