Information Technology

ITECH2309 Software Development

11 May 2023 11:30 AM | UPDATED 1 year ago

ITECH2309 Software Development :

ITECH2309 Software Development :
ITECH2309 Software Development

ITECH2309 – Software Engineering

ITECH2309 Software Development Assessment Task – Software Development

Overview

For this individual ITECH2309 Software Development assessment task, you will use skills acquired through the lectures and tutorials to design, implement and debug a small program using sound software engineering principles.

You will be creating a GUI application for a role-playing game called Survival in Space

This is an individual task, not a group assessment. Any work submitted must be your own.

Timelines and Expectations

Percentage Value of Task: Refer to Course Description

Due: Refer to Course Description

Minimum time expectation: 20 hrs

Learning Outcomes Assessed

The following course learning outcomes are assessed by completing this ITECH2309 Software Development assessment task:

S1.       Apply software engineering principles to design and implement software applications S2.            Operate CASE software to develop appropriate models of software systems

S3.       Develop comprehensive unit test suites

A1.       Write integrated reports, using appropriate models, providing detailed analysis of given textual scenarios

A2.       Implement software applications, using appropriate software engineering techniques, from a given textual scenario

Software Assessment Details

Game ITECH2309 Software Development description – Survival in Space

You are an intrepid space explorer on an exploratory mission to gather space dust and rocks for scientific analysis. You’ve been entrusted with the most incredible spaceship yet invented, travelling at a speed that enables you to travel enormous distances in very little time. Its only limitation is size; you must travel alone if you are to have any room available for your specimen collection. Your search has taken you further away from Earth than any person has ever been before.

While marvelling at a light show from a distant galaxy, you feel a sudden jerk and the controls stop responding in your grasp. The gravitational pull meter shows that you are in the grasp of an immensely powerful gravitational field, and it’s pulling you closer and closer. There is nothing you can do but watch helplessly as your spaceship is drawn towards a black hole. Closer, and closer, you feel the pressure build until it feels unbearable, and then… all goes black and you lose consciousness.

Miraculously, you regain consciousness as your spaceship crash-lands on an unknown planet. You have no idea where you are, but it takes only a few moments to realise how fortunate you are. This planet has air you can breathe, a comfortable climate, and it seems there is even water and vegetation available. In many ways, this new planet seems like Earth, although the purple clouds and green sky are somewhat disconcerting.

Your survival training has taught you that you stand a good chance if you can survive the first 48 hours. You need to explore your surroundings, search for artefacts and information to help you locate Earth, keep yourself sustained with food and water – taking care not to poison yourself – and keep yourself safe from any hostile aliens. Then maybe, just maybe, you might even be able to find a way to locate Earth and eventually return home.

Survival in Space Game Characteristics:

Both your character and all aliens have four properties:

  • Health: Health represents life. 0 Health means the character dies. You gain health through eating good vegetation sources, but lose it if you eat something poisonous. Both you and aliens also

lose health through combat. All characters start with 20 health.

  • Intelligence: Intelligence is gained through finding clues, information or artefacts that support your return to Earth, and through successful combat. Intelligence and strength combine to determine combat abilities, with higher values of each increasing the likelihood of your success in combat. Alien strength is randomized at the start of game play and can be different for each alien. Intelligence ranges from 10 to 50.
  • Strength: Strength ratings are randomized at the start of game play and do not change throughout the game. Strength combines with intelligence to determine combat abilities, with higher values of each increasing the likelihood of success in combat. Strength ranges from 10- 50.
  • Charisma: Charisma determines how likely a character is to antagonize another. Low levels of charisma make it more likely a combat will occur. High levels of charisma make it more likely that characters will be friendly and potentially help each other. Charisma is gained by helping others, and lost by choosing to enter combat. Charisma ranges from 0 to 10.

Only your character determines its actions via the console. Alien actions are determined automatically by the game.

The minimum actions available to your character are:

  • Explore: searches immediate environment for any items / life forms / consumables
  • Move: allows you to move to a new location
  • Attack: attacks an alien.
  • Consume: eat or drink a specified item. This may or may not be good for you!
  • Chat: talk to an alien.

The minimum actions available to aliens are:

  • Move: allows the alien to move to a new location
  • Attack: attack your character
  • Give: provide your character with an item / artefact / clue / information
  • Chat: talk to an alien or your character

These rules are by no means complete. You are free to expand on these rules based on your own judgement as appropriate – make the game your own within the guidelines provided.

Requirements

Your software is to be used by a single character only – your character. There are three distinct modes to the software:

  • Initialisation – Your character is assigned a name and its stats for health, intelligence, charisma and strength. Alien characters (at least 5) are also initialized, with unique names and statistics according to the game characteristics specified above. Any items / artefacts / consumables / information or other objects to be used within the game are also created.
  • Play – your character actively controls the game play and interacts with the aliens and other objects within the environment.
  • Combat – whenever your player engages in combat, the combat must conclude before the player can participate in standard game play. Any options the player can access must directly support combat, such as attacking and consuming an item to heal.

It is up to you to break this high-level specification into smaller requirements. You are the owner of this project, and can make any design decisions necessary to implement the software.

Fundamentally, your software should enable a player to participate in interactive game play as described throughout this specification. How you design the GUI is completely up to you – and simple layouts are fine provided they enable the required functionality. Game play outcomes must not be pre-determined.

Additional requirements

Your software must be developed with comprehensive Unit Testing using JUnit (4 or 5); the best way to achieve this reliably is to use Test-Driven Development.

You are expected to use good design and coding principles and practices learned in lectures. You should use applicable design patterns, use appropriate refactoring to remove code bad smells. You must use automated testing using JUnit to run unit testing and regression testing of your code. You are expected to test each functionality you add thoroughly for exception handling, positive results, negative results, boundary conditions etc.

Survive or Thrive?

Optionally, you may extend the game in interesting ways. Additional bonus marks are available for creative and technically sound extensions to the software.

Some examples of bonus behaviour are:

  • Adding images and/or animations
  • Introducing more complex game mechanics, such as a player forming a team with friendly aliens, environmental hazards, or complex item interactions beyond those already described in this specification.
  • Giving Players and Aliens coordinates, and different Attack types that only work on enemies within range

Submission requirements

Along with the well-written code and comprehensive unit tests covering all functionalities of the game, you are expected to prepare a report which includes the following:

  • The design patterns applied in the software, clearly identifying the functionality where design patterns have had an impact and how this has occurred;
  • A personal reflection on your approach to software development in developing the game. Indicate any difficulties you encountered, and how you went about solving them (approx. 400 words);
  • A class diagram of the game showing all classes (concrete and abstract) and interfaces (fields and methods are optional);
  • A statement of completion indicating what you have achieved in your implementation, and any major omissions; and
  • A statement of assistance showing what help you may have found, clearly indicating which components (if any) are work adapted from elsewhere*.
  • If you use any third-party code, including code from online tutorials or examples, ensure it is available under an appropriate license and that it is acknowledged both in your report and in your source code. This applies even to code that is available in the public domain or under licenses that do not require attribution. It is expected that the vast majority of your submission is your own work.

Submission

Zip your assignment files and report, preserving the directory structure, and submit via Moodle. Your zip file must contain:

  • A report document, in Word Document format where possible. PDFs are discouraged unless you are on a non-Windows operating system.
    • The Java source code, and any additional required resources, for your software. If any special instructions are required to install and/or run your software, these must be included.

Marking Criteria / Rubric

Refer to the attached marking guide.

Feedback

Feedback will be supplied through Moodle. Authoritative results will be published on fdlMarks.

Academic Integrity

To submit your assessment task, you must indicate that you have read and understood, and comply with, the Federation University Australia Academic Integrity and Student Plagiarism policies and procedures (http://policy.federation.edu.au/learning_and_teaching/compliance/academic_integrity/ch02.php).

You must also agree that your work has not been outsourced, and is entirely your own except where work quoted is duly acknowledged. Additionally, you must agree that your work has not been submitted for assessment in any other course or program.

This is serious, do not share work with others or ask others to share work with you. If your assignment solution is found on a “class notes” website you risk receiving zero marks for this task.

ITECH2309 – Software Engineering

Marking Guide – Software Development

CriteriaMaximumObtained
Implementation of Survival in Space Game Play  
Initialisation – health, intelligence, charisma, strength initialized with random influences within specified ranges. Player and at least 5 aliens uniquely named.2
Play mode – access to interact with game play and all commands, no ability to change initialisation.2
Combat mode – non-combat behaviours disabled2
Player Actions implemented – explore, move, attack, consume, chat – resulting in appropriate changes within game.2
Alien Actions implemented – move, attack, give, chat – resulting in appropriate changes within game.2
Combat uses strength and intelligence to influence likelihood of hit. Both Player and Aliens can die.2
Comprehensive Unit and Regression Tests2
Report  
Design Patterns used2
Personal learning reflection2
Class Diagram2
Inherent Requirements Absence Results in Deductions  
Appropriate use of English and referencing(-3)
Code must be mostly free of code smells(-2)
Report must include statement of completion(-1)
Report must include statement of assistance(-1)
Code comments must align with code implementation(-2)
Bonus Survive or Thrive? Creative and/or technically interesting extensions to the software requirements. Document anything extra that you think deserves special attention. NB: Cannot exceed a total mark of 100%.      (+3) 
Total20 
ITECH2309 Software Development

Visit:https://auspali.info/

Also visit:https://www.notesnepal.com/archives/767