BTEC Higher Nationals in Computing 2003 Existing MIS System Print Courses Enrol Student Sutdents MIS Manager Enter Courses Print Learner Agreem ent Withdraw Enrolm ent Course Manager Who does this? Print Enrolm ents MIS Adm in Transfer Enrolm ent Assessment Author 36-41: OOPs Game Design Dr Derek Peacock Unit Assessor(s) Issued Due Date Cut off Date 36: Object Oriented Programming Dr Derek Peacock 5th October 2004 16th November 2004 30th November 2004 Student: Handed in Signed HNC Computer Studies Unit 36: OOPs Assessment Brief 36-41 OOPs Game Design 1 Scenario Kumari Software is a small software house that specialise in producing games that will run under Windows 98/ME/2000/XP, and which they market by releasing them as 30 day trial versions on the cover CDs of leading Computer Magazines. Having investigated the design and construction of a board game, it has been decided that other games could be developed using a similar Game Engine The Managing Director has asked your programming team to produce an OO Design suitable for a version of Othello and implement the basic game engine. You are asked to produce a report that explains the way in which the game engine embodies the use of the main object-oriented principles. In order to maximise the re-use of libraries you have been asked to make a the design and implementation as general as possible so that further board games that are based on a board composed of cells on which single tokens are placed and moved around. Your report should include an evaluation of the re-usability of the game classes. 2 Tasks Task Learning Outcomes Task Description Create a Use Case Diagram in a UML tool that covers at least half of the features of the proposed game. 1. 36.1.1 2. 36.1.3, 36.1.4 From the Use Case Diagram develop a Class Diagram in a UML tool containing base classes. suitable for most board games 3. 36.1.3-36.1.5, 36.4.2 From these general base classes extend the model by adding suitable classes for one specific board game Othello 4. 36.1.2, 36.3.1 Identify methods and attributes for each of the classes, and check that they are appropriate using Sequence or Collaboration Diagrams 5. 36.2.2, 36.3.3 Check the given User Requirements and ensure that the class diagram contains most of the attributes and methods which are necessary to meet the user requirements. 6. 36.1.5 Suggest a suitable design pattern, and incorporate it into the game model.. 7. 36.3.3 Document each class, method and attribute, and print out the documentation in a suitable form. 8. 36.1.1 Check that the proposed design has high coherence and low coupling 9. 36.3.2 List at least two different ways people who might potentially buy the game could be involved in decisions about its design. 10. M & D only Stephenson College Write an individual critical evaluation of your design suggesting alternatives or improvements in no more than 2000 words Derek Peacock 2nd October 2004 Page 1 of 10 HNC Computer Studies Unit 36: OOPs Assessment Brief 36-41 3 Assessment Form This assessment will be completed in conjunction with assessments in Unit 30:Java Programming, and Unit 41 Data Structures and Algorithms. Together the assessments in Unit 30 and Unit 41 will illustrate most of the stages of the development of a computer game following the iterative software development life cycle. Thus this assessment will produce an Object-Oriented Analysis and Design for the Game. And subsequent assessments will illustrate on a small scale how an OOD design can be translated into code, using appropriate data structures and algorithms. You are encouraged to discus the design with fellow students, but it is expected that each student will submit an individual design and evaluation that reflects their own thinking. Tutors cannot be approached for assistance on the evaluation other than help with the theoretical concepts involved. As a guide it is expected that students seeking a Distinction grade would not require more than the minimal of tutor support during the completion of this assessment. It is also expected that students seeking Merit or Distinction grades will need to spend as much time working on this assessment out of class as they do in class. Main Indicative Reading: “Teach Yourself UML in 24 Hours” Joseph Schmuller SAMS Supplementary Reading “Design Patterns” by Gamma et al (1995) Addison Wesley, and “Software Engineering and Computer Games” by Rudy Rucker (2003). 4 Assessment Overview Grade Distinction Merit Pass Stephenson College Assessment Criteria To obtain a distinction grade the student must produce a model that shows independence and creativity and they must critically evaluate their design, and come to valid overall conclusions on its practicality and reusability. They should arrive at these conclusions independently. They should be able to suggest alternatives or improvements to the model, and be able to discus appropriate ways of evaluating the quality of UML designs. To obtain a Merit grade the student must produce a model that well documented and is largely complete showing high cohesion, low coupling To obtain a Pass grade a student must produce an Object-Oriented design that is documented and correctly models most of the given features of the game. The design must demonstrate the use of the main concepts of an object-oriented approach including encapsulation, inheritance, polymorphism and appropriate message passing between classes. The student must also suggest ways of involving potential users of the game in design decisions, and their model must incorporate appropriate design patterns. Derek Peacock 2nd October 2004 Page 2 of 10 HNC Computer Studies Unit 36: OOPs Assessment Brief 36-41 5 Unit 36: Outcomes Learning Outcomes 11. Understand objectoriented concepts Assessment Criteria apply principles of good practice evolved as culmination of various trends in software engineering determine whether a system is fully object-oriented identify opportunities for applying inheritance identify opportunities for utilising polymorphism select an appropriate pattern 12. assimilate and use basic objectoriented programming concepts 13. Use an objectoriented programming design method identify the various elements in an object based program develop programs using object-oriented programming concepts construct and use basic objects clearly identify classes and associated methods from a program specification identify ways of involving the client in decisions justify selection of suitable classes, and allocation of features to classes create an object-based design using a specified design method 14. Reuse system components using object-oriented programming principles Stephenson College incorporate elements from a class library into simple programs modify a class to develop new classes based on a (possibly supplied) base class, to a specification Derek Peacock 2nd October 2004 Page 3 of 10 HNC Computer Studies Unit 36: OOPs Assessment Brief 36-41 6 Deliverables (to meet Learning Outcomes) WBS No Deliverable Feedback on Deliverable Accepted (Date) 36.1 Othello Use Case Diagram(s) 36.2 Board Games Class Diagram(s) 36.3 Othello Sequence Diagram(s) 36.4 A Mode incorporating a Design Pattern 36.5 Class Documentation 36.6 Ways of Involving Potential Players 36.6 Individual Model Evaluation (M & D only) Stephenson College Derek Peacock 2ndh October 2004 Page 4 of 10 HNC Computer Studies Unit 36: OOPs Assessment Brief 36-41 7 Evidence for Merit Grade Merit(1) – Identify and apply strategies to find appropriate solutions Evidence found Achieved Evidence found Achieved Effective judgements have been made Complex problems with more than one variable have been explored An effective approach to study and research has been applied Merit(2) – Select/design and apply appropriate methods & techniques Relevant theories and techniques have been applied A range of methods and techniques have been applied A range of sources of information has been used The selection of methods and techniques/sources has been justified The design of methods/techniques has been justified Complex information/data has been synthesised and justified Appropriate learning/techniques have been applied Stephenson College Derek Peacock 2ndh October 2004 Page 5 of 10 HNC Computer Studies Merit(3) Present and communicate appropriate findings Unit 36: OOPs Assessment Brief 36-41 Achieved Evidence Found Appropriate structure and approach used Coherent logical development of principles/concepts for the intended audience A range of methods of presentation have been used and technical language has been accurately used Communication has taken place in familiar and unfamiliar contexts The communication is appropriate for familiar and unfamiliar audiences and appropriate media have been used INDICATIVE OF MERIT (No, partly, Yes) Stephenson College Derek Peacock 2ndh October 2004 Page 6 of 10 HNC Computer Studies Unit 36: OOPs Assessment Brief 36-41 8 Evidence for Distinction Grade Distinction(1) – Critical Evaluation Conclusions have been arrived at through synthesis and have been justified The validity of the results has been evaluated self criticism of approach has taken place Realistic improvements have been proposed Distinction(2) – Managing & Organising Autonomy and independence demonstrated Substantial activities, projects or investigations have been planned, managed and organised The unforeseen has been accommodated The importance of interdependence has been recognised Stephenson College Evidence Found Achieved Evidence Found Achieved Derek Peacock 2ndh October 2004 Page 7 of 10 HNC Computer Studies Distinction(3) Convergent/ lateral/creative thinking Ideas have been generated and decisions taken Self evaluation has taken place Problems have been solved innovation and creative thought have been applied receptiveness to new ideas is evident effective thinking has taken place in unfamiliar contexts Unit 36: OOPs Assessment Brief 36-41 Achieved Evidence Found INDICATIVE OF DISTINCTION (No, partly, Yes) Stephenson College Derek Peacock 2ndh October 2004 Page 8 of 10 HNC Computer Studies Unit 36: OOPs Student Name Assessment Brief 36-41 Grading criteria obtainable Main Unit 36 OOPs Assess Ref 36:41-OOPs Game Design Hand in Date 16th November 2004 M1 Date Received M2 M3 D1 D2 D3 Grading criteria met M1 M2 M3 D1 D2 D3 Extension Date Tutor Comments Learner Comments INDICATIVE GRADE Tutor Signature ____________________ Date: ____________ Learner Signature _____________________ Date ____________ Verifier Signature _____________________ Date ____________ Stephenson College Derek Peacock 2ndhOctober 2004 LAMS Page 9 of 10