110 likes | 122 Views
Informatics 122 Software Design II. Lecture 14 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. Today ’ s Lecture. Final design project. Final Design Project.
E N D
Informatics 122Software Design II Lecture 14 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.
Today’s Lecture • Final design project
Final Design Project • Design and implement an extensible Board Game Server • With a team of 8 or 9 • The effort should be spread out across multiple subteams, with each subteam responsible for the design and implementation of its part • Everyone, of course, is responsible for the overall design and implementation
Requirements • The Board Game Server should accommodate any board game that involves a grid layout and game elements on this layout, including such games as Chess, Checkers, Connect Four, Nine Men’s Morris, Chutes and Ladders, Stratego, Shogi, Pente, … • The Board Game Server should make it as easy as possible to create implementations of new games • The Board Game Server should be client-server, not Web-based • The Board Game Server should provide one or more ways for people to find other players • The Board Game Server should support personal player profiles
Deliverables • Board Game Server itself, both its reusable client (if that is part of your architecture) and its reusable server • Three or more games from the list on the previous slide as “plug-ins” to the architecture • Documentation • Instructions for running the games
Reuse • Cannot pick up an existing game server implementation (sorry ) • You can reuse other components, but first double check with me or Matias
Final Design Project • March 4 • quick presentations on “plan of attack” (max 15 minutes per team) • March 6 • preliminary design presentations (max 20 minutes per team) • preliminary design document • March 11 • detailed design presentations (max 20 minutes per team) • detailed design document • March 13 • first demo (max 20 minutes per team) • updated design document
Final Design Project • March 20 (finals week) • final design and retrospective on design presentation (max 15 minutes per team) • final demo (max 15 minutes per team) • updated design document with a description of how and why this evolved from the original design • code (via your CM repository) • peer evaluations (on Website)
Grading Criteria • Stakeholder: the player • how is the experience of playing a game? • Stakeholder: future developers of the Board Game Server • how is the understandability and quality of the code? • Stakeholder: game developers • how is the extensibility of the Board Game Server in supporting new board games? • how is the experience of plugging in a new game? • Stakeholder: you • what are your contributions to the code?
Miscellaneous • Mark clearly in your architecture/design the places that are “plug-ins” (variable per game) and which are fixed • Use a configuration management repository (this is good practice, but we will also use it to verify who wrote which code – check in your own code!) • Give Matias and myself access
Team Assignments Team 1 • Mark Archer • Juan Cortez • Bing Feng • Jesse Huff • Cory Mortimer • Christopher Noel • Chelsea Schneider • Brian Wance Team 2 • SofanahAlrobayan • Michael Chizewski • Jeffrey Fellows • Daniel Hirsch • Steven Melena • Ronnie Nguyen • Ryan Phung • RohanVenapusala • MaksimZhilin Team 3 • John Ader • Richmond Chang • ShibaniDhume • Yufei Fu • Ariel Kruger • Melissa Nguyen • Steven Ov • Eric Tian • Joseph Yu