MSWE 607 project There are 11 students registered this semester. The class should divide into 3 groups of 3-4 each. If you cannot find a group to join, I will assign you to one. Several potential projects are described below. The class will choose one of these and each group will plan its own implementation of that product. In most cases, everyone in the group receives the same grade on the project. GENERAL REQUIREMENTS: 1. Hardware platform: You may use either the University UNIX systems or a Windows 98 or NT PC platform. Your finished system must either be executable on the university system or can be copied from a 1.44MB floppy onto a PC for demonstration purposes. (Current plan is to demonstrate finished products in class at the end of the semester.) 2. You may write a program that uses a web browser as the user interface if you have access to another system on the internet that can be the server for your program. 3. Software platform: You may use any relevant programming language. 3. SCHEDULE: The following milestones will have specified due dates: Start - Start to collect data and add to your data collection form. Add an entry each Monday for estimates of your project's size, errors and effort. Each member of the group needs to keep a separate data collection form. Milestone 1 (October 16) - Turn in specification document. Milestone 2 - (November 13) Design document. There will be an inspection lab for half of one class. These two documents will be inspected by others in the class for 40 minutes and then the roles will reverse and the first groups will be inspected. Details to follow. Milestone 3 - (November 13) - Source code for selected modules for your system. A second inspection lab will be held. Milestone 4 - (November 28) - Submit final copies of your specifications and design documents if they have been changed since the earlier submissions. Milestone 5 - (December 4) Submit source code of finished product. Milestone 6 - (December 11) - Final lessons learned reports due on your projects. (An evaluation of your project. What you did right, what you did wrong, how you would do this differently next time.) Milestone 7 - (December 11) - Final data collection form for each participant. 4. Deliverables and grading: a) Final specifications document (20%) b) Final design document (20%) c) Source code (20%) d) Data collection form for each team member (5%) e) Lessons learned document (20%) f) Completion of project. Demonstration of product to class (15%) At this time, the detailed specifications for the specifications document or design document are not being given. You are given the option of choosing your own format. The lessons learned document will be graded on its thoroughness, not on whether you made the right decisions the first time. Similarly, the data collection form will be graded on its completeness, not on whether you made errors or not, or on how much time you spent on the project. 5. Possible projects: Each of these are described in general terms. Your first task is to formalize these into specifications that lead to a feasible implementation: (a) Develop a calendar scheduling system. (Use Microsoft Outlook as a prototype example.) The administrator can add new people to the system and add new groups to the system. Each person can log onto the system with a password. Users can add or delete themselves from groups. Users can schedule their time with activities. One user can schedule a meeting for a group and the program has to find a free slot in everyone's calendar. Users can display their calendar on the screen. The system must address appropriate security issues. Program should be easy to use, as complete as possible, and provide an effective user interface. (b) Develop a program where: (1) the class data collection forms can be entered into a database. (2) statistics for each project or across all projects can be generated (e.g., time spent, errors found per week.) As an example of the type of data which can be presented, WebME is an example. Program should be easy to use, as complete as possible, and provide an effective user interface.