Semester Project: Part One

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. 6th. The second part will be due at the end of week 13: Friday, Nov. 20th. And, the third part will be due at the end of week 15: Friday, Dec. 11th, the last day of class. (I'm not including the week of Fall Break/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 in Chapter 10 of our textbook (pages 484-485) and submit a document containing your project introduction, feature list, use case diagram, and module breakdown by the end of week 11 (Friday, Nov. 6th, 11:55 PM). In your document, please be sure to also 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 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. Finally, include an architecture diagram of your system that shows the main components of the system and how they will interact at run-time (boxes and arrows notation is fine).

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. The first iteration will be due at the end of week 13 (Friday, Nov. 20th, 11:55 PM) and the second iteration will be due by the end of week 15 (Friday, Dec 11th).

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.

Note: Try not to delay in working on this project: while it's true that it won't take long to assemble the material required for part one, the sooner you assemble it, the sooner you can start to work on the requirements/design/implement/test phase of development.

© Kenneth M. Anderson, 2009.