Phase 0: Prospectus
Team Name: MON
kEY
Project: Electronic House Assistant Scheduler (EHAS)

Understanding

Arroyo Vista Housing of UC Irvine has 35 academic theme houses and Greek houses. The House Assistant of each house has to serve periodic duty days throughout the course of the year in different shifts. Their shifts will be assigned by the supervisors of the Housing. And that job has being done by hand for years. It is hard for the staff to have a fair schedule for all House Assistants, and to keep track of their duties. Also, it takes them a lot of time to do the job and to resolve the complaining of the House Assistants when they think they are not assigned fairly.

In order to avoid those problems, the Housing staff wants to have a system which has the following abilities:

setting up and assigning shifts fairly among the House Assistants during the year
allowing the supervisors of the Housing to adjust the number of House Assistants on duty flexibly in special shifts
store the schedule in a HTML file so that the supervisors can post that file on the internet and their House Assistants can access to see their schedule any time easily
allowing the supervisors of the Housing to make duty or shift changes flexibly when needed
printing out the calendar of duty schedules with data and names of the House Assistants on duty for each date
printing out the chart of House Assistant names, number of Duty Coordinator shifts, weekend/holiday shifts, and total frequency of duty shifts.

To solve the problem, we will use some technologies such as

Java programming
Microsoftw Visual C++ 5.0
Database in Java
Graphic in Java
Windows 95/NT operating system

To understand the project, these following activities will be done

email, phone, and make appointments to interview the customers
ask for advice from the instructor and TA

Technical Marketing Sheet

It is very difficult for a supervisor to make and distribute a yearly duty schedules fairly by hand for more than 35 House Assistant staff according to the complex rules mentioned in Background part represented by our client - Karyn Herrschaft, Residence Life Coordinator at Arroyo Vista Housing, UC Irvine. The unfairness issue when assigning these shifts among the House Assistant staff will be ultimately ended with the help of the Electronic House Assistant Scheduler (EHAS) program which is going to be carefully designed and developed by our professional software developer team – MONkEY. The MONkEY Team is well trained and experienced in this web application area; in fact, we did develop the Electronic Scheduler successfully last quarter and that system was evaluated highly among our competitors.

With the Electronic House Assistant Scheduler (EHAS), not only is the fairness problem being solved completely, but also the supervisor will definitely save a lot of time which he/or she used to spend for planing and making scheduling for each House Assistant.

The Electronic House Assistant Scheduler (EHAS) program will provide all necessary functionality and features required by the client – Karyn Herrschaft. The primary function of this program is receiving inputs such as the names and pertinent information at the beginning of the academic year from a professional staff member, then the program will generate a random duty schedule according to the specified rules. According to these rules, all shifts will be assigned fairly among the House Assistant staff yearly. Moreover, the program will have a friendly graphic user interface which include online help on how to operate the program. The Electronic House Assistant Scheduler (EHAS) will have all the required features follow:

Print out a calendar of duty schedules with dates and the names of the House Assistant is on duty for each day.
Print out a chart of House Assistant names, number of DC shits, weekend/holiday shifts, and total frequency of duty shifts.
Store the duty schedule so that if a House Assistant gets replaced during the year, a new one can be printed out with the new House Assistant’s name on it.
The program will be able to handle some special events if necessary like: adjusting number of House Assistants on duty more than 6 for move-out day or fewer than 3 backups on weeknights in the future.
Have some format for House Assistants to request switches/changes to their duty assignments; a supervisor must approve this, and then could ve the one to change the system.
The Residence Life Coordinator will be able to make changes when necessary.

The Electronic House Assistant Scheduler system will enforce a relatively fair and flexible schedule so that the supervisor could make change easily and effectively.

In addition, it saves time for the supervisor in making the duty scheduler as well as it is a very powerful tool to help the supervisor to do any necessary changes or update new information in the yearly duty schedule very fast. Furthermore, any duty person could remote access to the web home page to print out his/her exact update schedule.

The automated system (EHAS) will replace the old, time-consumed way of making yearly schedule by hand. The EHAS system will automatically generate yearly duty schedule for more than 35 house assistant staff in minutes if accepting the names and pertinent information as its inputs.

Besides all main functions and features required by the client – Karyn Herrschaft, Resident Life Coordinator of Arroyo Vista Housing, MONkEY Team will create a very friendly user interface which required almost no computer knowledge user and also include online help with complete guiding instruction on how to operate the program.

All schedule information will be publicly posting on your home web page, and they will be well organized in Schedule Menu which has several options that could lead the user directly to what he want to access, such as displaying daily, weekly schedules or searching for individual schedules by names, shift, workdays shift, work-night shift, holiday shift… Moreover, this system is absolutely Y2K compliance guarantee.

We, the MONkEY Team, would like to provide its client a prototype which can be used as the first version of the complete product, and we promise to deliver the Electronic House Assistant Scheduler system before the due date. In case, you want to make any minor changes in the system, add some more features or change any existing features as long as these changes support for your convenient and enhance your efficiency and fairness in assigning duty scheduling for your staff, the MONkEY Team will be very glad to do so if the time constraint is no matter.

Project Plan

Introduction

The process of solving the Electronic Housing Assistant Scheduler (EHAS) Project involves a number of different Phases, each of which contains a number of steps. We (Team E) are in Phase 0 now. Feasibility Study is the very first step we have done to obtain a better understanding of the project. One of the results of this step is to identify the major objectives of the Project, which are:

Useability – the software product should be easy to learn and use
Accuracy – provides a reasonably fair schedule for all House Assistants

Accordingly, the next step of Phase 0, Planning, is to be started. The purpose of this document is to describe our plan in developing the EHAS system. Each of the following sections will elaborate one or more aspects of our plan, i.e., Schedule, Staff Organization. The major milestones we want to emphasize include:

Prototype – the User Interface is consider to be the most important part for this software product. By the middle of week 5 we’ll deliver the prototype to the customers
Documentation updates – upon receiving feedbacks from customers on the prototype, all documents will be modified/updated (expected to be done by week 6)
Complition – the complete system will have been tested by week 9
Demonstration – show the product to customer (week 10)

It is concieveable that ten weeks would be quite short for this project. Thus keeping schedule on time will be a difficult task. Fortunately, experience shows that Team E is well organized, and has a good communication skill among team members. Positively, management problem would be taken care of gracefully. There is no hard constraints in the technical side!

Project Risks

Risk Analysis
Identification: First, the users of this software product are those who have no computer skills at all so it is definitely risky if a wrong user-interface were chosen. Secondly, after making the schedule for developing the HAS product, the Monkey Team realized that eight weeks would be too short; however, this issue can overcome easily by planing to build a prototype first, and then incrementally update to provide more features to the software system. Finally, the Monkey Team is expecting this software product to be run on Windows environments, but there are still changes that the users wanted to use other operating systems.
Risk Estimation: The Monkey Team has realized the user-interface as the most important aspect of the product and started researching for this at the very beginning. In addition, the Monkey Team, along with tools available, has experience with building various friendly user interfaces.
Evaluation: The problem of building a bad user-interface would be very unlikely to occur once it has been identified early on. Moreover, all Monkey’s members are hardcore programmers and decided to build the product incrementally that is to deliver to an express version of the product at a minimum requirements first, and then incrementally update to provide more features to the software system. Therefore, the risk will be absolutely reduced.
Risk Management:
Risk Aversion Options: Contact Karyn Herrschaft, Residence Life Coordinator at Arroyo Vista Housing, to survey if the built user-interface is easy to use for the users and does the on-line help feature is really helpful for completely guiding on how to use this software product. Besides, the Monkey Team will schedule extra time for fixing error or modifying the user interface as well as the generating a random duty schedule fairly.
Risk Monitoring Procedures: Run each version of EHAS on Windows environment. If there is updating or modifying, keeping this version is in a new version

Schedule

This project will be divided into five deliverable phases:

  1. Prospectus and plan
  2. Requirement Specification
  3. Architecture/Module Specifications
  4. Implementation
  5. Testing/Test Documentation.
Project Work Breakdown Structure

Phase Phase Name Description

1

Prospectus and plan
Develop an understanding of the project.
Technical Marketing Sheet
Project Plan
Presentation of Prospectus to customer

2

Requirement Specification
Update Understanding and Project Plan
Develop Requirement Specification Documentation
Lifecycle consideration
System Test Planning
Presentation of Requirement Specification

3 Architecture/Module Specifications
Update Understanding and Project Plan
Project design
Architecture design
module
Integration Test Planning
Demonstration Planning

Presentation of Architecture/Module Specifications

4 Implementation
Update Understanding and Project Plan
Implementation
Module implementation
Modules Integration
Unit test plan
Demonstration planning

Presentation of Implementation

5 Integration Testing/Test Documentation
Update Understanding and Project Plan
Develop Testing Plan
Black box testing
White box testing
Presentation of Testing

 

Task Network:
Time-Line Chart
Resource Table

Project Estimates

Historical Data Used for the Estimates:
Team member’s experience:
strong programming skills in C, C++ ( 4 years ), Java (2 years), Visual Basic (1 year), client-server applications (1 year).
good experience in internet programming.
good knowledge in Database Management.
proficiency in designing friendly Graphical User Interface.
master in Data Structure and Algorithm.
Application-domain data:
Designed and developed successfully the Electronic Scheduler in Fall 1998.
Designed and controlled the bookstore’s database system.
Courses taken at UCI:
ICS 23, Fundamental Data Structures, which focuses on implementation and mathematical analysis of fundamental data structures and algorithms.
ICS 52, Introduction to Software Engineering, which focuses on software life-cycle, its principles and techniques.
ICS 121, Software Tools and Methods, which focuses on constructing software in systematic fashion.
ICS 141, Programming Language, which focuses on examination of different programming paradigms, such as object-oriented programming; implementation strategies, programming environments, and programming style.
ICS 156, Advanced Computer Network, which focuses on designing and implementing computer networks, protocols, and network applications.
ICS 161, Design and Analysis of Algorithms, which focuses on techniques for efficient algorithm design, effect of data structure choice on efficiency of an algorithm.
ICS 171, Introduction to Artificial Intelligence, which focuses on different means of representing knowledge and uses of representations in heuristic problem solving.
ICS 180A, Internet Programming, which focuses on designing and developing client-server application over the internet.
ICS 184, Database Management Systems, which includes modeling and designing of databases.
Estimation Techniques:
using Visual C++ and MFC in implementing the system.
using HTML for posting documents on team’s web page.
using MS Power Point for preparing slides.
Estimates:

The estimation of the required hours for each team member as follows

 

Tasks

Estimated Working Hours
 

For Prospectus and Plan Phrase:

Meeting and Planning
Final Documentation
Slides and preparation for Presentation
Presentation

 

5

12

3

0.5

 

For Requirements Specification Phrase:

Meeting and Planning
Final Documentation
Slides and preparation for Presentation
Presentation

 

 

8

16

3

0.5

For Architecture/Design Phrase:
Meeting and Planning
Final Design Documentation
Slides and preparation for Presentation
Presentation

 

12

20

4

0.5

For Implementation Phrase:
Meeting and Planning
Coding
Preparation for Demonstration
Project Demonstrations


9

35

2

0.5

For Integration/Testing Phrase:
Meeting and Planning
Testing
Testing Documentation

 

6

8

5

Project Recourses

People. Five members of the MONkEY team, majoring in Information and Computer Science at UC Irvine will be involved in this project.
  1. Tu-Quyen Thi Do
  2. Kim Ngoc Vu
  3. Rose Diemhong Nguyen
  4. Nhon Binh Tran
  5. Thai Vinh Tran
Hardware and software used in this project
Hardware
1 Sun SPARC workstation
1 133MHz Windows NT workstation
Software
Solaris Operating System
Windows NT
Microsoft Office 97 for preparing documentation.
Microsoft Visual C++ 5.0
Java compiler (JDK and/or Symantec Cafe) for implementing the software.
Netscape Communicator

Staff Organization

Team Structure:
Each member of the team will have a chance to be a Manager of one phase and be a Clerical Support for another phase.
All members of the team are equally important.
Member Responsibilities
Manager:
Distributes work of that particular phase to other members.
Colect work done from other members
Presents the work to customers
Clerical Support:
Makes and completes documentation for that particular phase
Keeps logs
Other Members:
Work on subtask assigned by the manager
Report subtask-status to the manager...
The following table describes the structure of the team with the tentative schedule:

Times

Phases

Manager

Clerical Support

Deliver Dates

Remarks

Week 1
(04/05-04/11)

Team formations

null

null

04/11

Team members get to know each other.  Prepare: individual webpages, team webpages, office... etc.

Week 2
(04/12-04/18)

Prospectus

Kim Vu

N/A

04/22
(Thursday)

Every team member tries to understand the project; meetings needed...

Week 3
(04/19-04/25)

Prospectus

Kim Vu

N/A

above

Prospectus must be completed in the second day of week 3.  Don't wait for Prospectus to be completed; start Requirements phase soon...

Requirements

Rose Nguyen

Tu-Quyen Do

04/29 (Thursday)

Week 4
(04/26-05/02)

Requirements

Rose Nguyen

Tu-Quyen Do

above

Design starts before Requirement completed

Design

Thai Tran

Nhon Tran

05/13 (Thursday)

Week 5
(05/03-05/09)

Design

Thai Tran

Nhon Tran

above

Start Implementation... ovelapping with design...
Requirements Reviews (05/03-05/07)

Implementation

Nhon Tran

Rose Nguyen

05/27
(Thursday)

Week 6
(05/10-05/16)

Design

Thai Tran

Nhon Tran

above

Finish up Design and concentrate on Implementaion/coding

Implementaion

Nhon Tran

Rose Nguyen

above

Week 7
(05/17-05/23)

Implementaion

Nhon Tran

Rose Nguyen

above

Coding and module testing simultaneously... Design Reviews (05/17-05/21)

Module Test

Tu-Quyen Do

Kim Vu

n/a

Week 8
(05/24-05/30)

Implementation

Nhon Tran

Rose Nguyen

above

Finising coding and starting actual Integration and testing...

Integration/test

Tu-Quyen Do

Kim Vu

06/10 (Thursday)

Week 9
(05/31-06/06)

Implementation

Nhon Tran

Rose Nguyen

above

Finishing up Codings... Keep Integrating/testing.  Code Reviews: 06/01-06/04

Integration/Test

Tu-Quyen Do

Kim Vu

above

Week 10
(06/07-06/13)

Demonstrations

All

All

n/a

Product is completed... show to customers...
Parties...!!! :)

Tracking and Control Mechanisms

Set up the team’s schedule to keep track the due date for each deliverable phase.
Mark down on the schedule what have been done and plan for the next step.
Keep track of routine meetings via Email, and by using team log at TeamE- MONkEY Website: http://www.ics.uci.edu/~team125e
Keep track of all relevant discussions in the meetings in team’s note book
Customers can view the tasks done on the team’s web page.
Keep track of the graded papers in the team folder.
Keep track the update of team’s web page for each deliverable document.

Click [Here] for table of contents