Search for question
Question

5COM2007 าการ 21 Champioships at Rare Earth (CARE) part 1 - Design 1. Project scope Read the supporting case study in the document 'CARE Case Study 2022_23". 2. Tasks and Outcomes Your team is required to produce the following design documents Task 1: User Stories • Task 2: Use Case Diagram • Task 3: Specification of interface CARE Task 4: Specification of back-end domain classes The results of these tasks, should be assembled into the provided document: "Cwk 4 part 1 template ", so that only one .docx is submitted. Only ONE submission per team is required. Task 1: User Stories - Using the user stories grid in Task 1 of the 'Cwk 4 template' document, elicit some user requirements via 5 user stories. Although the implementation at this stage assumes only one user – the player. You should consider different possible roles for the player and provide user stories for the following roles: • Rare Earth Vizier - 3 user stories Rare Earth Commandant - I user story Tournament Master - 1 user story Each of your user stories should identify just ONE key function required by the game. Your team does NOT need to provide a comprehensive set of user stories. Only 5 user stories need to be selected. Your aim is to show that you can identify key functional requirements and document them correctly using the User Story template. In addition to being key functions in the game, the user stories your team selects should be atomic, NOT epic. For example: clearly the Vizier wants to "win the game", but this is not a good user story as it is too wide in scope; so identify some of the functions which the Vizier would want in order to achieve this aim. The CARE Case Study document provides a lot of detail which is not relevant at this stage. This is an exercise identifying some key functions while leaving consideration of some details for later. The user story template also requires you to document acceptance criteria for each user story to ensure each requirement (via the user story) is testable. Tip: if the acceptance criteria for a user story is difficult to write, check that your user story is atomic/broken down and not an 'epic'. Task 2: Use Case Diagram Your team is required to identify a more comprehensive set of requirements to help in specifying an interface. You should produce a Use Case Diagram to show Use cases identifying the functionality required by the key actor roles in this game. ONE <<include>> and ONE <<extend>> use case Again, you may need to ignore some of the details given in the Case Study specification; this is about identifying key functions, NOT about detailed rules and procedures. You should NOT be considering HOW the functions will be implemented, but WHAT they will be providing (a look at the FIRE interface might be helpful) Hand-drawn diagrams are acceptable but they must be neat and readable. Or you may use a computer-based tool (such as drawio)). Screenshots can be used to incorporate the diagram into the "Cwk 4 template". Page 1 of 4 Task 3: Interface CARE specification Your team should now consider the Use Cases identified for the Vizier and produce a specification for the CARE interface class. Use cases for Commandant and Tournament Master are NOT required in this interface class. The game will have two "front end " (VIEW) classes providing for interaction with the player: a menu driven command line and a Graphical User interface. Section 3 of the CARE Case study describes WHAT is required by the Vizier(player), but (like in ParkUI of Cwk 3) this should be achieved by calling methods specified in the CARE interface class. You CARE interface class should specify the signatures of all the methods which you think "front end" (View) classes may need to call. The interface is concerned with the overall functional requirements of the system, not their implementation, which will be provided in a key implementing class. This class is likely to devolve some of its functions to other lower level classes. Your interface methods should have an appropriate name and should specify parameters. They should be documented in a Javadoc style (see interface ZAPP, as an example). To reduce coupling, your interface CARE should only have parameters and return values which are either primitive data types (int, boolean...etc), String or the interface itself. The interface should make no assumptions about other classes to be used to implement the system, and certainly not consider any interactions with the player(user). It should NOT be concerned with input/output. Task 4: Back-end Domain classes Back-end domain classes are those which arise from the problem domain (what the project is about). This is a first draft attempt at identifying these classes. For this task your team should list classes which you think you would include in the "controller" (back end) part of your implementation. Give the class an appropriate name which reflects the type of object it will specify List the fields you expect it to have (together with their types/classes). Identify any classes which will use inheritance (and the class from which they inherit) It has already been decided the class which will implement the CARE interface is to be called Tournament (like Cwk 3 Park class). You do NOT need to include this class (or similar) in your list. Also, do NOT include "front end" classes which either communicate with users, or test the system 3. Team Working You are expected to produce this assignment as a team. That means that you must communicate with each other and cannot just allocate each of the tasks to a different individual team member. It is essential that you meet to discuss a team solution. A typical work flow might be: Each individual team member reads the case study • Each individual team member produces a solution to each task • The team meets to discuss the individual solutions and arrive at an agreed team solution An individual team member is asked to produce the documentation for the task solution The team reviews documentation produced by the individual team member and agrees amendments, corrections, omissions... etc. A final version is agreed and arrangements are made to complete the Cwk 1 part 1 template This process may lead to some robust discussion, but that is good and likely to lead to a better solution. However, you are reminded that good teamwork is dependent on respect, politeness and consideration of people's feelings. Contributions by individuals should be respected even if you think they are wrong. It is up to you to persuade team members of the correctness of your view, not impose/harangue/shame; you may learn something by considering other views. All Team members should feel able to contribute without fear. But equally, all team members are expected to engage/contribute (no shrinking away and leaving it to others). Page 2 of 4 All 4 tasks must be consistent with each other ("tell the same story"). You can't achieve this if team members "do their own thing". So co-operation, communication and agreement is essential In part 2, your team will be expected to use project management software to support your teamwork, and to provide evidence of this. You are NOT required use project management s/ware for part 1. However, you may choose to set this up from the start of your work on this assignment. These are aspects of management, which you have already encountered at level 4: • • Communication - ways for members to communicate with one another. Planning (Kanban) - ways of identifying, allocating and tracking the progress of project tasks Repository (version control) centralised access to the project so that team members can make tracked additions/amendments and it is possible to go back to earlier versions. For part 2, we will NOT prescribe which s/war you should use; you can use any s/ware which does the job. There will be more information on this in part 2, but you should begin discussions on this now. 4. Marking Criteria The assignment must be completed in your assigned teams only. Individual submissions or those with incomplete teams will not be accepted without the prior discussion of the module leader. Only ONE submission per team is required/allowed. You will be assessed against the following criteria: Task 1: User Stories Criteria User stories are appropriate for the stakeholder [2 each] Acceptance criteria across the user stories demonstrate tests [2 each] User stories internally consistent Task 2: Use Case Diagram Appropriate choice of actors Appropriate/complete choice of use cases ONE use case connected to others by <<include>> ONE use case connected to another by <<extends>>. Correct use of Use Case Diagram conventions Task 3 - CARE interface Appropriate/complete range of method primitive parameters only method documentation consistent Task 4 - Back-end Domain classes Appropriate/complete set of classes Appropriate list of class fields with types Identification of inheritance relationships Consistency between tasks Actual Mark Max Mark 10 10 5 Total Part 1 25 3 10 2 2 3 Total Part 2 20 10 4 6 Total Part 3 20 10 10 5 Total Part 4 25 10 FINAL TOTAL 100 Page 3 of 4 4. Team Contribution As a team you should consider and submit the "Cwk 4 part 1 Roles and Contributions Form" posted with the assignment. This asks you to give a percentage “contribution” that each team member has made. If you all agree then you should complete a single team form in your submission. If you cannot agree, then each team member who disagrees should complete the form individually instead. 4.2. Individual marking Individual student's Cwk 4 mark will be calculated based the assignment mark. Each team member is expected to contribute 25%. No individual team member can score higher than the mark awarded for the assignment. Where a team member's contribution is significantly lower than that of other team members, they will be awarded only a proportion of the assignment mark. Contribution >= 25% % of assignment mark 100% 20% <= contribution <25% 80% 15% <= contribution <20% 60% 10% <= contribution <15% 40% 5% <= contribution <15% 20% % as listed <5% contribution The raw final mark out of 100 will be scaled to be worth 10% for the module overall. 5. Submission 1. Cwk 4 part 1 template document which contains solutions to Tasks 1-4 2. Cwk 4 part 1 Roles & Contribution Form Only ONE submission per team is required Page 4 of 4