Com S 362 - Object-Oriented Analysis and Design (Fall 2007 Edition)

Project

In this class, you will work as a team on a term project. The team will be formed on the first day of the class. This team will pick a project to work on for the rest of the semester. As a team, you can also consult with the instructor to decide on the scope of the project.

You will use an iterative software development process for this project. We will discuss this process in class and describe the difference between iterative and waterfall process. You will do two iterations of analysis, design, development, and verification for this project. The rough timeline for various deliverable are as follows:

Project Deliverables and Approximate Timeline

Analysis

Architecture and High-Level Design

Detailed Object-Oriented Design

Object-Oriented Implementation

Friday, Nov 16: First Iteration Complete. Bring a demo to the class. Make all material about your project available at a wiki, provide the information to the rest of the class.

Friday, Nov 16 - Wednesday, Nov 28: Change Simulation Period

This is truly the test of the design efforts that went into your project. During this week, the rest of the class will point out reasonable changes to your application. Every individual will have around 10 days to study the documentation, design and implementation of every other team in the class (except their own) and to point out n requirement changes for each project, whereas 1<=n<=3. Each such change will briefly describe (a) change in requirement, (b) change in class and interaction diagram, (c) change in the implementation that will need to be carried out by the project team to respond to such change, and (d) an explanation of whether in that project, the implementation is modular enough to minimize the impact of that requirement change. A change that does not provide at least all four component will not be considered a reasonable change. Once submitted, you may not withdraw a change. Neither can you replace such change.

Such description is due by 5pm on Wednesday, November 28.

Changes are accepted on a first-come-first-serve basis. Similar changes will be attributed to the person, who submitted it first based on the time-stamp and the order in the mailbox. Therefore, submit your change at the earliest possible moment. If you end up coming up with the change at 4 AM in the morning, send an e-mail to cs362@cs.iastate.edu with the following subject, [your cs account name]-[project]-change-[Number of change]. Please include the description of the change that you came up with (see components above).

Throughout this week, I will update the web-page at (our earliest possible convenience) the URL to reflect changes that have already been documented in order to save you effort. We will put the change there irrespective of whether it has been accepted or rejected. These inputs will be anonymous. Only the TA, and the instructor will know the identity. Please also note in the change request, if the project's design, documentation, and implementation was hard-to-understand, unclear, and if there was poor traceability from requirements to design to implementation.

Each approved (i.e. sane, reasonable, and interesting change at the discretion of the instructor) will count for an extra credit. Note that the emphasis is not to significantly increase the work of the other team but to discover interesting flaws in their design that could be fixed, had they designed slightly differently. For each such change that is accepted by the instructor, an individual will receive one point (as extra credit). This extra credit is worth one point on your final grade e.g. if your final grade was 89, and you were getting the letter grade A-, this point will push your grade to A.

An individual MAY NOT have more than one change accepted per project. They may have changes accepted in all projects. So if the number of groups in the class is 5, maximum amount of changes accepted by a single person is 5, which is equal to enhancement in letter grade by one e.g. A- to A.

Wednesday, Nov 28 - Wednesday, Dec 5: Change Response Week

At the beginning of this week, instructor and the TA will select m changes from the list proposed during the previous week, where m is the number of members in the team and the team will be asked to enhance their project to accomodate that change. Please note that at this time, teams will not receive the insights on how to complete the change request from the original change-request submitter, only the short change description will be provided. There is no official deliverable for this week. You are strongly suggested to also finish the first draft of your report by the end of the week of Nov 26-30.

Wednesday, Nov 28 - Wednesday, Dec 5: Reflection period

During this time, each team will discuss and compile the change responses, i.e. how your design and implementation evolved to accomodate the changes that were assigned to you. There is no official deliverable for this time, this is just a suggested time to analyze your project's design and implementation in detail, which will reflect in your final report. It is also strongly suggested to polish your report the week during the period Nov 30 - Dec 4.

Wed, Dec 5: Final Project Report Due, 11:00 AM, Atanasoff B0029

This report will be evaluated to determine 25 points of your total grade. Please treat accordingly.

Formatting restrictions: You MUST use the ACM SIG proceedings template for formatting your final report. These templates are available for both Word and LaTeX. You are encouraged but not required to use LaTeX.

TEMPLATES: http://www.acm.org/sigs/publications/proceedings-templates

Page limits: Your final report may not contain more than 12 pages.

Your project report should be structured in the following fashion:

The suggested outline for your presentation follows the report and it serves to make the points made in the report clearer.

Wed, Dec 5: Final Project Presentation, 11:00 AM - 12:00 PM, Atan B0029

Key objective of this presentation is to discuss the key aspects of your design and to highlight important parts of your report.

Fri, Dec 7: Final Project Presentation, 11:00 AM - 11:50 AM, Atan B0029