ECS 160 Project
 
Preliminary Requirements.
Summary

This project considers a set of tasks that integrate mobile communication, multimedia and location.

You will make use of the following services:
  1. Google maps service. Android provides a Map view for this purpose.
  2. Picasa to store images. 

 The requirements given below are incomplete, as they are in any real software project. Part of your task will be to figure out a way to handle the uncertainity. In the first assignment, you will think about how to clarify some (not all) of the uncertain parts of these requirements. But several aspects will remain hidden, and come up only when you start the implementation. Your task will be to a) Make a reasonable decision, with some good justification and b) design the software so that you can change it if the customer doesn't like your choice.

Requirements Details

Here are some more specific requirements arising from the mobile context.

Design for change.

Software that has users is "alive". No users means death. But users also mean complaints and requests, which means change. Write and design your code to handle change easily. Use design patterns when reasonable. Ask me if you have questions about the design. 

  • We may want to add some features later (i.e., What if I ask you to add a few of these mid-quarter. Will you be able to do it easily? Or will it cause you endless agony, sleepless nights, and drive you mad?)
  • Ground Rules

    This is a team project. DO NOT delay getting started on the project; it will be quite a bit of work. There are rules about the project.

    Schedule

    Here's the rough order of things I expect:

    These requirements are surely full of ambiguities and questions... so think about the requirements above, develop test scripts for testing the final product, and come back to me with clarifying questions if any. (Assignment 1). This is a team effort.

    Once the requirements are somewhat clearer deliver a rough prototype (or mock-up) with most of the web pages that clearly illustrates all the major functions of the system, along with a document that explains all the different choices you made. I also expect a significant portion of the functionality implemented, and a complete UML design. so I can give you feedback. (Assignment 2). This is a team effort.
     

      Finally, bring me the final working system, and show it to me, along with a detailed design document (Assignment 3, or final project report).