Paul Walter, Janurary 2nd 2014
The following project contains two case studies to introduce students to the "Object Oriented Analysis and Design" (OOAD) design process; promoting the idea of design before implementation.
It walks them through the process of:
- Identifying the problem domain in plain (non-technical) language
- Analysing that language using a Genus-Differentia Format into discrete elements
- and then forward engineering those elements into a design using UML.
Be sure to open up the "UML cheat-sheet" that outlines the UML elements and how they are forward engineered into code (Java).
This was for Programming I: start your students early on design!
1.) "Fallout Message System" Exercise + Case-Study
This was a step by step case study, where I outlined what was needed to discover the requirements and design elements in their software solution.
There are three main parts to this case study:
- OOAD_CaseStudy_FalloutMsgSys.docx
- OOAD_CaseStudy_FalloutMsgSys_Diagrams.pptx
- OOAD_CaseStudy_FalloutMsgSys_SourceCode.zip
The "OOAD_CaseStudy_FalloutMsgSys.docx" outlines all the necessary steps for requirement discovery.
The "OOAD_CaseStudy_FalloutMsgSys_Diagrams.pptx" was a student submission (that followed the .docx) that I am using with their permission (Crystal Hall). It illustrates an excellent first attept at designing before implementation.
The "OOAD_CaseStudy_FalloutMsgSys_SourceCode.zip" is the resulting source code.
2.) "Flea Circus" Exercise + Case-Study
The "Flea Circus" is an implementation of a Class Diagram so the students could go back and forth and see how the Class Diagram related to the Code Implementation.
There are a couple of parts to be aware of:
- The .gif Class Diagram (FleaCircusClassDiagram.gif)
- The forward-engineered code that the Class Diagram Represents.
- The Javadocs in the "documentation" folder. Start with the index.html file.
- The class diagram (.uxf) was created with Umlet. It can be found here: http://www.umlet.com/changes.htm