140 likes | 285 Views
Introduction to the Group Activity. JAMS Workshop Makerere University September, 2010. Agenda. Project Overview Deliverables Functional Specification Test Plan Implementation Final Presentation and Evaluation Criteria. Teams. Every workshop attendee will join a team
E N D
Introduction to the Group Activity JAMS Workshop Makerere University September, 2010
Agenda • Project Overview • Deliverables • Functional Specification • Test Plan • Implementation • Final Presentation and Evaluation Criteria
Teams • Every workshop attendee will join a team • Team size is 4 people • You may choose your own team • Within the teams, members may choose roles (project manager, developer, tester, etc.) • Some members may take on more than one role and/or shift roles at some point during the workshop
The Project • Implement a computer version of your favorite board or card game • For example: Checkers, Omweso, Boggle, Hearts, Blackjack, Othello, Scrabble, Yahtzee • The game must have at least two players • The program must implement the basic rules of the game • Only allow valid turns • Keep score (if appropriate) • Determine the winner and end the game • There are a number of optional enhancements that can improve your score, such as: • Networked play • Computer player
User Interface • You are required to implement some visual representation of the game • In order to meet the baseline requirements, the visuals need not be sophisticated • You have a range of choices, including: • HTML • .NET Winforms (Visual Basic or C#) • Java Swing • Console UI (ASCII art)
Development Tools • Use whatever technology you want • All of our examples have been in Java and VB • You are welcome to implement your game as a website or a desktop application • The machines in the lab are pre-installed with: • JCreator, Eclipse (Java) • Visual Studio 2008 (Visual Basic, C#, ASP.NET) • WAMP Server • Dreamweaver
The Functional Specification • Every team is required to submit a functional specification describing what they are setting out to do • You will be judged on how well your application conforms to the spec • There is no penalty for including “stretch goals” (as P2/P3) in your spec: i.e., “if time allows, we will do XXX…” • … but do not promise anything you cannot deliver as a P1 goal
Functional Specification: Getting Started • Download the Functional Specification Template from: • http://lawolf.net/jams/Functional%20Specification%20Template.doc • Brainstorm goals, non-goals and scenarios • Focus on identifying the users that will interact with your system, what they can do, and how your application responds • Start early! • It is easy to underestimate the amount of time spec’ing will take • For the first few sections, the whole team should collaborate • For design and implementation sections you can divide and conquer • When the spec is ready (or close), let us know and we’ll review • Deadline: Tuesday afternoon
The Test Plan • Every team is required to submit a test plan describing how they will validate their code • Make sure that your test plan covers all of your P1 scenarios, and any P2/P3 scenarios you decide to implement • Download the Test Plan Template from: • http://lawolf.net/jams/Test%20Plan%20Template.doc • When the test plan is ready, let us know and we’ll review • Deadline: Tuesday afternoon
Implementation • Once you’ve completed your spec and test plan, it’s time to implement the application and test cases • If the implementation and spec get out of sync, make sure that one (or both) are updated • Make sure your basic test cases pass before you move on to advanced features • Show us in-progress versions of your application and tests cases • Deadline: Wednesday afternoon
Presentation to Workshop Attendees • Teams will have 8 minutes to present their projects to their peers on Thursday (or Friday if Eid is on Thursday) • 3-5 PowerPoint slides describing the application, the functional specification, the test plan, and challenges/lessons learned • Demo • Show your in-progress slides to a facilitator before you leave on Wednesday • Download the Template from: • http://lawolf.net/jams/Team%20Presentation%20Template.pptx
Join a Team! • Choose a Team Name • We will then assign each team a number • Questions to answer • Which game do you want to develop? • When are you available to meet with your team this week? • Java or .NET? • Web or Desktop application? • Division of tasks • Functional specification • Test plan • Implementation design and plan • Application coding • Test code