CS-1030 Software Design 2
Lab 6: Personal Organizer

Course Objectives Addressed

Overview

The purpose of this lab is to develop an Personal Organizer for creating and managing a contact list and task list. Some of this application has been written for you already and can be downloaded here. You will be completing the implementation of the unfinished components. The files you download are already compilable and linkable and will produce a running program - however, it is not functional.

This is a two-week, three-session lab which must be completed and demonstrated during the final lab session of Week 10.

Problem Statement

You are to develop a Personal Organizer that can be used to create and contain two different types of lists: Contact Information, such as your friends' names & phone numbers, and Tasks, such as lab reports, which have a specific due date. 

As you develop the Personal Organizer, you must assume that it might be implemented on to work with either a Windows-based UI, or just a plain console-based UI, so you don't really know what kind of user interface will ultimately be used. Thus, it must not assume anything about how to get input or present output to a user; rather, the Personal Organizer is more of an "engine" that presents a public interface that will be used by a UI written by someone else.

Functional requirements:

Your Personal Organizer must meet the following minimum functional requirements:

Design requirements:

Testing  requirements:

Activity

By the second lab, and using Enterprise Architect, develop a high-level design for the Personal Organizer, including a completed UML class diagram and Sequence diagrams illustrating the sequence of calls needed to 1) create a Task or Contact, 2) Delete a Task or Contact. Doing this may cause you to revisit the Static Class Diagrams and make some additions or modifications to the initial design. You must submit your UML model by the end of the second lab. Use webCT to submit the UML model.

You will be shown how to generate a preliminary UML model from the partially completed program you downloaded.

Use the resulting design to implement the Personal Organizer and accompanying test program.

Demonstration (during the final lab)

Your program should be fully functional, and you should be able to demonstrate it in its final form in class.

Lab Report (due Wednesday of the final lab)

Your lab report must contain a complete UML class diagram and sequence diagrams for each use case listed above.

Submit your material following these instructions:
  1. DO NOT create a zip archive of your project subdirectory as for previous labs;  just send unzipped (normal) files.
  2. Use webct to submit your assignment.
Be sure to keep copies of all your files, in case something gets lost.

Your lab grade will be determined by the following factors: