Write three unit test cases for each of the methods

Assignment Help Computer Engineering
Reference no: EM132317847

Assignment

Overview

For this assignment, you will logically extend the functionality of the Maze Game introduced during the lectures, via the modification of the code base as well as documentation and implementation of various user stories. This is a paired assignment. However, in case of an exceptional situation (if the number of students in a group is 3), the group should take special permission from the Lecturer

Learning Outcomes

The following course learning outcomes are assessed by completing this assessment:
• Understand the significance of detailed project planning and control, good communication and documentation and the use of appropriate tools in order to provide a quality product
• Understand the distinction between software engineering and programming, and thus the distinction between a software configuration and a program.
• Understand the methods and techniques involved in designing, implementing and maintaining an information system, in particular using an object-oriented approach
• Understand how unit tests are used during software development to assist in agile programming techniques such as refactoring
• Work together in small teams to complete a fully documented, detailed design and implementation of a small business information system
• Demonstrate skills in designing and implementing an information system
• Demonstrate skills in designing Unit tests

Assessment Details

You are required to logically extend the functionality of the Maze Game introduced during lectures, via the modification of the code base as well as documentation and implementation of various user stories. You will use the Boost methodology discussed during lectures, which requires the use of pair programming. All documentation, other than the customized game map, must be completed individually.

The code base provided for this assignment has already implemented the "warm up" and some "sets". You will be implementing numerous other "sets" for this assignment using the Boost methodology. The "warm down" stage is not required.

You are free to take ideas discussed during lectures and implement these in your own version of the code base provided in Moodle for this assignment.

This assignment will be marked according to the functionality of your code, in addition to the elegance and extensibility of your design and the quality of your documentation.

Note: It is recommended that you spend some time familiarising yourself with the provided code base prior to beginning any work on this assignment. You should start by spending some time exploring the structure of the code to gain an understanding of the roles each class plays within the system and then complete Lab 7-8.

Assignment Requirements

In Pairs:

1. Design and implement a custom environment for your maze game. This requires producing your own unique hand-drawn map of the maze game environment and changing the HardCodedData file to reflect the locations and items on your map. At least M (M>=5) locations, including exactly N (N>=2) shops with a condition M>N, must be included, as well as enough items to allow for proper testing of the game functionality. For example, there must be sufficient items to verify that a player cannot collect an item if the weight restriction has been met. Note: you should not retain the original locations or items from the provided code base in your version of the game.

2. Implement each of the following deliverables/milestones:
a. functionality as detailed in Lab 7 and Lab 8
b. commands to manage the various item management commands:
i. listItems, getItem, and dropItem, to allow the listing of all held items, collect a new item and drop a held item.
ii. equipItem and unequipItem, to wear / wield a held item, and to stop wearing or wielding an equipped item.
iii. purchaseItem and sellItem, to buy an item from a vendor and to sell an item to a vendor.
iv. getmazestatus to show the status of the maze (i.e., value of M and N)

Ensure that weight restrictions are not exceeded and that the context for each command is appropriate. For example, purchasing and selling of items should only occur in a shop.

c. Basic combat functions, allowing a player to attack or to be attacked by a non-player character (NPC). A player may flee combat or continue to attack until such time as one combatant loses all life points. The end result must not be hard-coded, and neither the hostile NPCs nor player may have their attributes configured in such a way that the final outcome is pre-determined. Note that combat functions should only be available when the player is in the presence of a hostile NPC, and combat may take whatever form is appropriate for your game context rather than being limited to just hits with a weapon.

d. Collectable items that, when used, restore life points to a player. The number of life points regained should be determined by the roll of 2 six-sided dice up to the player's maximum health. You can elect to allow these to be used during combat if you wish.

3. Write Three Unit test cases for each of the methods you are developing in this assignment. You can write the test cases in any Java framework, but Junit is preferred.

4. Prepare a short Power-point presentation to demonstrate your software/program as if you are going to sell this software/program to a prospective customer. The Power-point presentation must contain the following items:

a. A demonstration of the game - how the game play works and how this was implemented.

b. Explanation of the role of design patterns in the game, clearly identifying the functionality where design patterns have had an impact and how this has occurred.

c. An analysis on the use of a development methodology in creating the game describing how did this assist, or make the development of the game more complicated.

This presentation will be assessed based on the clarity and accuracy of the explanations and how clearly it demonstrates an understanding of how the game was coded, the design patterns used and the impact of using a development methodology.

Individually:
1. Prepare an individual report, to be submitted as a Word document or a PDF, which includes:
a. The student number and name of each person on your team (including yourself)
b. User stories for each of the deliverables/milestones
c. Class diagrams for Lab 7 and Lab 8
d. Sequence diagrams for two (2) of the item management commands, taken from separate groupings (i.e. you will not get credit for both getItem and dropItem as they are both in group i)
e. A statement of your own personal contribution to the assignment
f. A statement of your partner's contribution to the assignment.

Attachment:- Software Engineering Analysis and Design.rar

Reference no: EM132317847

Questions Cloud

Internal and external stakeholders : The positive attitude that employees have often improves relations with both internal and external stakeholders.
When employees feel empowerment in the workplace : Employers that empower their employees tend to have loyal hard working employees that project a more positive attitude.
What binds well-formed it security policies together : What binds well-formed IT Security Policies together is a sense of shared beliefs, purpose, and urgency. Within a forward-thinking organization.
Descriptions in the doctoral project manual : Descriptions in the Doctoral Project Manual, use the Methods criteria and information from previous activities and text books to align with the Doctoral Project
Write three unit test cases for each of the methods : Write Three Unit test cases for each of the methods you are developing in this assignment. You can write the test cases in any Java framework
Which dimensions are surprising of an extrovert : How does it affect their personality? Which dimensions are surprising of an extrovert? Why, explain, examples?
What are the competitive advantages for the companies : Using Microsoft Word, PowerPoint, or various digital timeline sites, such as ReadWriteThink, Timeline JS, timetoast, etc., create a timeline of low-end.
What market structure best describes industry : The firms have large staffs devoted to researching what their competitors are planning to do. What market structure best describes this industry?
Write a short research paper for the given articles : Each student will write a short research paper for a peer-reviewed research paper that pertains to the week's assigned reading. This will be a detailed summary.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Describe the tangible and intangible values

Locate a news article in an IT trade magazine about an organization that is implementing a new computer system. Describe the tangible and intangible values that the organization likely will realize from the new system.

  Identify what the class in question represents

Create one (1) original example of a class with at least one (1) attribute and one (1) method. Identify what the class in question represents.

  Create a GUI that allows users to enter personal information

Create a graphical user interface that allows the users to enter personal information such as their names, e-mail addresses, and phone numbers.

  Define the terms communication latency and flow dependence

Define the terms Communication latency, Flow dependence, Anti-dependence, Output dependence, HO dependence and Control dependence.

  Write paper about data synchronization in mobile application

Write a paper about Data synchronization in Mobile Applications. Types of Data Synchronization in Mobile Applications (Paragraph is a must).

  Give an understanding on the different types of systems

give an understanding on the different types of systems

  Advantages of the implementation of the models you suggested

Identify and discuss the advantages and disadvantages of the implementation of the models you suggested. Create a diagram showing node and cluster storage placement to represent each design layout

  What tactics might you use to get unsuspecting victims

What tactics might you use to get unsuspecting victims to load the program onto their computer?

  You need to do the integer comparison

Prepare a segment of code which will read in an integer and then output the subsequent:

  Analyze requirements for constructing a computer laboratory

Your team is tasked with analyzing and documenting requirements for constructing a standard computer forensics laboratory for a recently launched company -- XYZ, Inc.

  Write the two lines of code needed to declare a vector

Write the two lines of code needed to declare a Vector called names that holds string objects and to add the string "Rick Deckard" to the end of the new Vector.

  In this project you will prepare a program by using an

in this project you will create a program using an array which keeps a list of the rent rates for an apartment

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd