ITECH7201 Software Engineering - Analysis and Design

Assignment Help JAVA Programming
Reference no: EM132911207

ITECH7201 Software Engineering: Analysis and Design - Federation University

Pair Programming Assignment

Learning Outcome 1: 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
Learning Outcome 2: Understand the distinction between software engineering and programming, and thus the distinction between a software configuration and a program.
Learning Outcome 3: Understand the methods and techniques involved in designing, implementing and maintaining an information system, in particular using an object-oriented approach
Learning Outcome 4:Understand how unit tests are used during software development to assist in agile programming techniques such as refactoring
Learning Outcome 5:Work together in small teams to complete a fully documented, detailed design and implementation of a small business information system
Learning Outcome 6: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.

Assignment Requirements

In Pairs:
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 - should show what is present at each location at start of game. At least M (M>=5) locations, and at least 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.

Implement each of the following deliverables/milestones:
functionality as detailed in Lab 7 and Lab 8
commands to manage the various item management commands:
listItems, getItem, and dropItem, to allow the listing of all held items, collect a new item and drop a held item.
equipItem and unequipItem, to wear / wield a held item, and to stop wearing or wielding an equipped item.
purchaseItem and sellItem, to buy an item from a vendor and to sell an item to a vendor.
getmazestatus to show the status of the maze (i.e., value of M and N)
flee/use potion command - potion loses potency over time.
join/leave a Party
talk to character
help command

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.
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.
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.
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, using JUnit.
Prepare a short (5-7 min) video presentation to demonstrate your software/program as if you are going to sell this software/program to a prospective customer. The presentation must contain the following items:

A demonstration of the game from start to finish - one continuous run - how the game play works and how this was implemented.

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.

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:
Prepare an individual report, to be submitted as a Word document or a PDF, which includes:
The student number and name of each person on your team (including yourself)
User stories for each of the deliverables/milestones
Class diagrams for Lab 7 and Lab 8
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) above)
A statement of your own personal contribution to the assignment
A statement of your partner's contribution to the assignment.

Attachment:- Pair Programming.rar

Reference no: EM132911207

Questions Cloud

Technical measures to safeguard intellectual properties : What are the technical measures to safeguard intellectual properties? What are the computing protocols and system designs?
How much money will john have at the end of year : How much money will John have at the end of year 7? John plans to invest $10,000 at the end of each year for 7 years on a project.
Problem - Valuation of Foreign Target Companies : Write a short essay that describes the general process that Microsoft would have used to determine how much it was willing to pay for Skype
Describe the type of attack : Do an internet search for recent attacks and describe the type of attack, the impact on the organization, and what could have been done to prevent it.
ITECH7201 Software Engineering - Analysis and Design : ITECH7201 Software Engineering: Analysis and Design Assignment Help and Solution, Federation University Australia - Assessment Writing Service
The five laws of cybersecurity : The five laws of cybersecurity. What examples of this topics do you see in your everyday life? Is there a current event that ties ?
What is the company current expected stock price : If the current risk-free rate is 3% and the required rate of return on the market portfolio is 12%, what is the company's current expected stock price?
Newest trends driving recommendation engines : What are the newest trends driving recommendation engines? How does artificial intelligence change the way businesses and organization interact with customers?
How long after the initial loan was the payment made : How long after the initial loan was the $5,500 payment made? For the purpose of determining the number of days in a partial month, assume that a full month

Reviews

Write a Review

JAVA Programming Questions & Answers

  Consider an array of integers

Consider an array of integers as below: int[] a = {5, 2, -4, 3, 0, -5, 7, 11, 6, 13} Complete the method named count(int[] a) in the class Count. The method should return the number of positive numbers in the array

  Write java console application that allows user to read data

COIT20245 - Introduction to Programming Assignment, CQ University, Australia. Write java console application that allows user to read data

  We developed a stringlog adt it represents a log that holds

we developed a stringlog adt. it represents a log that holds objects of class string. suppose that instead of

  Organization structure change over time

How and why did the organization structure change over time, and in what ways were some of these changes responsible for some of their recent problems?

  Write a one-class java program

Write a one-class Java program with at least one method (besides main) to determine if the data in your dataset (i.e., in data.txt) follows Benford's law.

  Create a program that begins by loading file onto arraylist

Using the attached catalog.txt file, create a program that begins by loading the file onto an arraylist of Album classes called Catalog. Each Album class consists of 3 attributes.

  Class that stores information about a report

Create a class that stores information about a report containing multiple currency transactions in multiple currencies. This includes the name of the report and each of the transactions that occurred.

  Program that simulates the rolling of two 6-sided dice

Write a program that simulates the rolling of two 6-sided dice. Use an Array to keep track of the number of times that each total number is thrown

  Create a method to calculate the value of the inventory

Create another method to sort the array items by the name of the product.

  Calculate the maximum flow of a directed weighted graph

Comp 251 Assignment. We will implement the Ford-Fulkerson algorithm to calculate the Maximum Flow of a directed weighted graph. Here, you will use the files WGraph.java and FordFulker-son.java, which are available on the course website. Your role ..

  Create the framework for a battleship game

Create the framework for a Battleship game. You need to create a 5x5 grid that represents the gameboard. "+" signs represent spaces that haven't been bombed

  Java program which defines an unconstrained array

Write a Java program which defines an unconstrained array of user defined length n, that contains n Random numbers and outputs those random numbers that are even numbers

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