CIS 573 Software Engineering

Fall 2014

Customer Handoff Document

This document will be delivered to your customer upon completion of the project. It is arguably the most important thing you will write in the entire project, so please take it seriously!

Your document should be a single PDF that contains the following two sections:

User Manual
Provide a screen-by-screen guide describing how someone would use your application. Include screen captures of your app so that it is clear what you're referring to. Do not assume your app is "intuitive"!

If there are bugs in the app, mention them. If there are features that simply don't work, then take them out entirely; remember, the goal is to deliver a working product, not a user interface with a bunch of buttons that cause exceptions to be thrown.

Technical Documentation
In class, we've said on numerous occassions that external documentation can be a dangerous thing, as bad documentation is often worse than no documentation at all. However, if someone wants to modify your app, we should at least give them an idea of where to start.

For each screen in your app, include a screen capture (or just refer to the ones in the User Manual) and then specify which Activity class is used for that screen. Also, if that Activity uses any helper classes, list those classes as well, and give a brief (1-2 sentences each) explanation of what those classes do. If there are any cross-cutting concerns, or classes that are used by multiple Actitivies, you only need to list those once.

Also, for each class, specify the name of its corresponding JUnit test class. Because you wrote all your JUnit tests, right?

If you are using a database in your app, please specify the database schema by listing each table, its columns, and a short explanation of what each column represents.

If you are communicating with any external system, provide an explanation of the protocol you are using, i.e. what is the format of the data you send and receive (use specific examples).

Likewise, if you had to implement any non-Android code (e.g. a WebService), please describe that, too. Document where it is hosted, what it does, and what the major components are.

For any of these last three, please be sure to include any usernames/passwords so that we can access the code or data in the future without having to ask for your help!