SUBJECT CODE – ITECH7201
SUBJECT NAME – SOFTWARE ENGINEERING: ANALYSIS AND DESIGN
UNIVERSITY NAME – FEDERATION UNIVERSITY
This subject will help the students to design and implement the Maze game. This is a paired assignment
Learn the significance of detailed project planning and control, good communication and documentation with the use of appropriate tools in order to provide a quality product
Understand the difference between software engineering and programming, and 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
Identify how unit tests are used during software development to assist in agile programming techniques such as refactoring
Work together in small group to complete a fully documented, detailed design and implementation of a small business information system
Utilise skills in designing and implementing an information system
You are required to logically extend the functionality of the Maze Game 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 custom 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.
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
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 Hard Coded Data file to reflect the locations and items on your map. 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.
2. 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 the player may have their attributes configured in such a way that the final outcome is predetermined. 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. Collectible 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 (5-7 min) video presentation to demonstrate your software/program as if you are going to sell this software/program to a prospective customer.
© Copyright Quick Assignment Hub All rights reserved.