CS 3194 Design Project

Due on or before April 27, 2009, 4:30 p.m.

This problem is to be done on a group basis following the Trinity University Academic Integrity Policy. or Trinity University Honor Code.

Academic Integrity and Honor Code

All students are covered by a policy that prohibits dishonesty in academic work. The Academic Integrity Policy (AIP) covers all students who entered Trinity before the Fall of 2004. The Academic Honor Code covers all those who entered the Fall of 2004 or later. The Integrity Policy and the Code share many features: each asserts that the academic community is based on honesty and trust; each contains the same violations; each provides for a procedure to determine if a violation has occurred and what the punishment will be; each provides for an appeal process. The main difference is that the faculty implements the AIP while the Honor Code is implemented by the Academic Honor Council. Under the Academic Integrity Policy, the faculty member determines whether a violation has occurred as well as the punishment for the violation (if any) within certain guidelines. Under the Honor Code, a faculty member will (or a student may) report an alleged violation to the Academic Honor Council. It is the task of the Council to investigate, adjudicate, and assign a punishment within certain guidelines if a violation has been verified. Students who are under the Honor Code are required to pledge all written work that is submitted for a grade: On my honor, I have neither given nor received any unauthorized assistance on this work and heir signature. The pledge may be abbreviated pledged with a signature.

Laboratory problems should be submitted electronically (e-mail to cs3194@leda.cs.trinity.edu) on or before the due date and should contain a problem write-up, source code to any programs and data sets used in solving the problem. The submitted files should be ASCII text files having Unix end-of-line characters (please convert all Windows and Mac text files to Unix format-I have found that Emacs or the Stone Text Tool seem to do a reasonable job of such conversions). If several files need to be submitted, put them in a directory having name your-last-name-problem-set-number and create a tar archive of this file system and attach it to your e-mail problem submission.

Introduction

The Junior design problem involves the development of an iPhone application for a real-world problem in the management of large construction projects. The problem will involve aquisition of information from phone sybsystems such as the GPS radio, etc. and internet based communication with remote systems, databases, etc.

Mr. Ron Toupal or Trinity University ITS (Mr. Fred Zapata, Tony Salinas) will be outside consultants for the project and provide assistance in determining the application requirements.

For an example of the kind of iPhone applications which might be useful in a University setting, you should consult the following projects which are on-going at Stanford University and Abilene Christian University.

Stanford: http://www.terriblyclever.com/marketing/iPhone_Athletics.swf

Stanford: http://www.terriblyclever.com/marketing/iPhone_Directory.swf

ACU: http://www.acu.edu/technology/mobilelearning/index.html

This project work will be a preliminary project to a closely related Senior Software project which the Junior group will be involved in as Seniors during the Fall 2009 semester. Because of this, Dr. Pitts will be an additional project consultant for the Junior design problem.

There are two iPhone projects:

  1. A campus map with photos and points of interest where the iPhone would be used to navigate from one point to another.

  2. Access to and generation of a calendar of campus events including atheletic events.

The Sanford and ACU iPhone projects have similar iPhone apps and these projects should be consulted as examples of what might be involved in your designs.

The juniors will be divided into two 5 man teams to work on these two projects.

Here are the groups (as determined by J):

   names =: 'Alexander Bacon';'Christopher Dudley';'Nicholas Gilmore';'Rebecca Ingram';'Arno Kristel'
   names =: names,'Matthew Maly';'David Mann';'Scott McClellan';'Troy McKinnon';'James McNiff'
   groups =: 'Group 1';'Group 2'
   (/: /: (12$ 1 0 0 0 0 0)) { ((10?10) {>names),>groups
Group 1           
Alexander Bacon   
Troy McKinnon     
James McNiff      
Nicholas Gilmore  
Rebecca Ingram    
Group 2           
David Mann        
Scott McClellan   
Matthew Maly      
Arno Kristel      
Christopher Dudley

The problem will consist of at least the following phases:

  1. Requirements Assessment and Analysis
  2. Design
  3. Software Selection

  4. Prototype Implementation

  5. Testing

  6. Documentation

Requirements Assessment and Analysis

Problem requirements will be determined from independent problem research and consultation with the instructor and project consultants, and Dr. Pitts. Dr. Chuck White (Vice President of Information Resources and Administrative Affairs), Mr. Fred Zapata (Director of ITS), and Mr. Tony Salinas (Assistant Director of ITS) have agreed to act as consultants for the Trinity iPhone projects.

A requirements document must be submitted to the instructor by February 16, 2009.

Design

Preliminary design documents should be submitted to the instructor by e-mail cs3194@leda.cs.trinity.edu by March 9, 2009. You should include some design narrative and the following UML diagrams:

  1. use-case
  2. analysis
  3. class

You should give some attention to user interface design. For example, it may be appropriate that the designers study existing iPhone applications and study iPhone software application development interfaces so that the application design follows the Apple iPhone application user interface guidelines.

Software Selection

Software selection involves deciding on appropriate iPhone software interfaces to achieve a consistent iPhone look and feel.

Prototype Implementation

You will be using the Apple iPhone SDK on available CS Macintosh lab machines.

Testing

Test the prototype application in preparation for Junior project presentation on April 6, 2009. The CS Department will provide three iPhones for this purpose.

Design Groups

The class should subdivide itself into appropriate groups to accomplish the various tasks above. A project manager must be identified.

Documentation

System documentation must be prepared and submitted by April 27, 2009.

Concluding Remarks

The history of CS software projects contains accounts of excellent designs of software having features and benefits which far exceed the system currently in use at Trinity. Students involved in such projects had hoped that their designs might actually replace the production system used at Trinity, but in the end, the student designs were never used for some reason or another.

Since this is a real-world problem, there is an excellent chance that, if your design meets the requirements you identify, your design and implementation will be used on a production basis.



John Howland 2009-03-02