
I had a unique instructor for my Software Engineering class. He assigned a large project to the class in which groups would work on different aspects of software engineering to produce a massively multiplayer online roleplaying game based off an old pencil RPG known as "Champions - The Roleplaying Game."
Requirements Analysis
Requirements Analysis Document (RAD) (.doc)
My team was assigned as the "Game Design and Story" group. Our job was to read through the Champions rules booklet, study how the game mechanics work, and design the new MMORPG based on the ideas of the Champions system. During the Requirements Analysis phase, we talked to our client - the instructor - to determine exactly what features he expected to be in the game and what features would be most important. We also discussed the various changes needed to make such a dramatic jump from a pencil-and-paper game to a MMORPG. We determined how character statistics and missions would be dealt with and we drew up mock interfaces of certain screens in the game. A major challenge of the project was interfacing with the other groups - each responsible for other aspects of the game. Each group needed to learn how the others were dealing with the various aspects of the game, such as sound design, database systems, artificial intelligence, visuals, and processing. The project was indeed a challenge for all.
System Design
System Design Document (SDD) (.doc)
Once we completed the RAD, the next step was to design the major subsytem flow for the project. This document covers the organization and interconnectivity of hardware, software, modules, servers, and data.
Object Design
Object Design Document (ODD) (.doc)
The final document requested was the Object Design Document. Basically, the purpose of this document was to devise sample code to show how various data in the design might be handled programatically. Packages and C++ code are defined and discussed in this document.