Semester Project: Part 1

It is now time to start developing an object-oriented system using the techniques we have been discussing in class.


Your team needs to identify a system that you would like to develop over the next eight weeks of the semester. The system's complexity should match the development capacity of your team. (A team of four students should target a system that is larger and more complex than a team of two students, for example.) As a lower bound, the system should be one that requires a non-command-line user-interface (such as a desktop application that uses a GUI toolkit or a web application that uses HTML/CSS/Javascript) and the system has to support multiple users or at least more than one type of user (for example "end user and admin").


This project will be divided into three parts. The first part is due at the end of week 11: Friday, Nov. 7th. The second part will be due at the end of week 13: Friday, Nov. 21st. And, the third part will be due at the end of week 15: Friday, Dec. 12th, the last day of class. (I'm not including the week of Fall Break and Thanksgiving in my week count.)


For part 1 of the semester project, you need to work your way through the first three steps of our OO A&D software development life cycle, as documented on the fourth slide of lecture 14 (as well as in Chapter 10 of our OO A&D textbook) and submit a document containing your project introduction, feature list, use case diagram, and module breakdown by the end of week 11 (Friday, Nov. 7th, 11:55 PM). This assignment is worth 50 points.

Update: In your document, please be sure to include two additional things: be sure to map the features from your feature list to the use cases in your use case diagram (in the same way they did in the textbook) and also be sure to include a textual justification of your module breakdown. In other words, explain why you picked the modules included in your module breakdown and the purpose they play. Optional: Include an architecture diagram of your system that shows the main components of the system and how they will interact at run-time.


After this assignment, you will be asked to conduct two iterations performing requirements, design, implementation, and test. Each team member will pick one use case to develop over the course of the iteration, such that a four person team will have up to four use cases implemented by the end of the first iteration. (I say "up to four" since you may not be successful in getting everything done.) Iterations will be two weeks in length and will also be worth 50 points. The first iteration will be due at the end of week 13 (Friday, Nov. 21st, 11:55 PM) and the second iteration will be due at the end of week 15 (Friday, Dec 12th).


Teams should identify a project topic as quickly as possible and send it to me via e-mail by the end of this week. I will review the topic and either approve it or suggest changes in scope if needed.

Kenneth M. Anderson, 2008