diff_months: 3

IFQ563 Object Oriented Design

Flat 50% Off Order New Solution
Added on: 2024-11-19 19:30:14
Order Code: SA Student Dimitrios IT Computer Science Assignment(1_24_39672_457)
Question Task Id: 500929

IFQ563 Object Oriented Design

Assignment 2: Design report and implementation

Word limit:

Project design report: 510 A4 pages.

Implementation source code: ZIP file with ~500 lines of code compatible with Microsoft Visual Studio 2022.

Weighting:70%

Due date:11:59pm AEST Friday1 March 2024(Assignment Week)

After you have read this information, head over to theAssignment Q&Adiscussion board to ask any questions and see what your peers are saying about this assignment.

Assignment overview

The objective of this assignment is to gain practical experience with object-oriented software development through object modelling with design diagrams and applying standard software design principles and patterns. This understanding will be demonstrated by creating and documenting an object-oriented design and implementing it using C# for a larger real-world motivated problem.

This assignment is a continuation ofAssignment 1: Design tasks. Please ensure you familiarise yourself with theIFQ563 Assignment specifications (DOCX 130 KB)Download IFQ563 Assignment specifications (DOCX 130 KB)before continuing. This assignment is individual work, and all final tasks are to be submitted together through Canvas. While you will discuss the assignment with your OLA and peers, your submissions must be your original work.

This assignment supportsunit learning outcomes 1, 3, and 4.

The use of artificial intelligence tools (for example Chat GPT) is not permitted in any assessment in this unit. The use of such tools when not authorised may be treated as a breach ofMOPP C/5.3 Academic integrityand appropriate penalties imposed.

Assignment details

In this assignment, you will create and submit a project design report in PDF format and your implementation source code in a ZIP file containing all of your C# project files.

Project design report

The purpose of the project design report is to document an explanation of your design, including a statement of completion, an overview of your final design, detailed design documents, identification and a brief justification of design principles and patterns, instructions on how your program can be executed, and a summary of classes/interfaces to be reused from existing libraries.

Your report will be marked for the simplicity and elegance of design. It is in your best interest to make your design as neat, clear and understandable as possible. In general, your detailed design should speak for itself, and you should only include explanations of your design where your intentions may not be clear. Still, the use and justification of design principles and patterns should mostly cover this.

Use the following list to structure your design report. Page limits indicated are a guide only, however, your total submission should not exceed ten pages.

Statement of completion:Clearly declare the requirements that have and havent been completed (half page).

Overview of your final design:Provide a summary of changes from the preliminary design, including what and why changes were made (one page).

Detailed design documents:Include a class diagram, an object diagram and a sequence diagram (maximum of three pages). You don't need to provide CRC cards because they are reflected in your final class diagram.

Design principles and patterns:Identify and briefly justify the design principles and patterns used. For each design pattern, you should indicate the participating classes (in design diagrams) and justify their use in your design with a few sentences (one to two pages).

Execution instructions:Abrief document on how your program can be executed (at most one page).

Summary of classes/interfaces:A short summary of classes/interfaces to be reused from existing libraries and frameworks. For example, if you use the Collections library, list the classes you will use without further explanation (one page).

You must submita project design report in PDF format with:

no more than 10 A4 pages in length

2 cm margins on all sides

12-point Times New Roman font

single spacing.

Implementation source code

You must submita working implementation including full C# source code. You should zip all your project files and upload this ZIP file to Canvas when you submit your design report.

You do not need toprovide a user guide or tutorial, but you must clearlydocument how your program can be executed in your design report.

Yourclass implementations must be strictly faithful to the documented class designsin your finaldesign report. That means the classes in the source code must correspond to the same classesdefined in the class diagram, including their properties, operations and relations to other classes.

Thesubmitted project files will be compiled and executed with .NET 6. Youmust ensure your submitted code can be compiled and run properlywith the correct .NET version.See0.4 Technical requirementsfor a free link to Visual Studio 2022 (VS2022), which supports .NET 6.

Unfaithful class implementations will receive zero for implementation. Uncompilable or inexecutablesource code cannot be marked and will receive zero for implementation. To confirm the versionof .NET on the computer, simply run the following command:dotnet --version

Tocheck that your project code can be compiled and executedon .NET 6, open thefolder containing the project file (.csproj) and run the following commands:dotnet builddotnet run

Supporting resources

QUT cite|write: APA.

Assignment criteria

Design report: Design quality.

Design report: Use of design patterns.

Design report: Documentation.

Implementation: Fulfilment of requirements.

Implementation: Quality of code.

Implementation: Usability of application.

IFQ563 Assignment Specifications

Overview

The goal of these assignments is to gain practical experience in object-oriented software development through object modelling with design diagrams and applying standard software design principles and patterns. This knowledge will be demonstrated by creating and documenting an object-oriented design and implementing it using C# for a real-world motivated problem.

While you can talk about the assignments with your OLA and peers, the submissions must be your own original work. Copying the work of others is not tolerated at QUT and submissions will be checked for code plagiarism against online repositories.

Description

You are to provide an extensible framework for many different two-player board games. To demonstrate that your framework can be easily adapted to different games, your design (including all design diagrams) must include ONE of the following games in the same software:

Numerical Tic-Tac-Toe: A variation of the classic Tic-Tac-Toe game. Two players take turns placing the numbers 1 to 9 on a 3x3 board. The first player plays with the odd numbers, the second player plays with the even numbers. All numbers can be used only once. The player who first puts down 15 points in a line (sum of a horizontal, vertical, or diagonal row of three numbers) wins the game. Any other variant of Tic-Tac-Toe is not acceptable.

Wild Tic-Tac-Toe: Like the classic Tic-Tac-Toe game, two players take turns placing an X or an O piece on a 3x3 board. However, in this game players can choose to place either X or O on each move. The first player who creates a line of three X 's in a row or three O 's in a row (horizontally, vertically, or diagonally) wins the game. Any other variant of Tic-Tac-Toe is not acceptable.

To demonstrate the feasibility and effectiveness of the design, you must implement the games that correspond to your design using C# on .NET 6.

Requirements

Your design should extract as many commonalities as possible from the different games so that the framework is extensible and reusable for a wide variety of board games.

Your system should cater for different modes of play, including:

Human versus human

Computer versus human

With human players, the system must check the validity of moves as they are entered. With computer players, the system can randomly select a valid move.

Games can be played from start to finish, and should be able to be saved and restored from any state of play (i.e. a save file). A game should be replayable from any position after being loaded from a save file.

During a game, all moves made by both players should be undoable and redoable (i.e. the full history of moves are tracked). But the history of the moves does not have to be saved into a save file. That is, immediately after loading the saved state from a file, undo and redo operations are not available (until new moves have been made).

You should provide at least a primitive online help system (i.e. accessible within the running game, rather than a separate offline help document) to assist users with the available commands (also give some examples if they are not obvious to use).

Comments on requirements

The requirements are what you should aim to achieve in your project. Even if you do not implement all features, you should at least cover all requirements in your design.

Some requirements may be vague and open to interpretation. As long as you clearly state any assumptions you make in your design report, we will accept reasonable interpretations.

The important aspect is that your design for the core structure and functionality of the two-player board game meets the requirements, in a clear and easily understandable way. You should steer your design towards a general framework and consider your implementation as a proof-of-concept of your design, rather than a fully-featured, highly intelligent game-playing program.

1422400127825500Your implementation must be a C# console application on .NET 6 and provide a text-based command-line interface (e.g. using either ASCII or Unicode) of the game as it is played. Some marks have been allocated for usability, so be sure that whatever interface you use, the commands are simple and clear. The following screenshot shows a simple example of playing a game of the classic Tic-Tac- Toe by two human players, displayed in Unicode. For the game of Numerical Tic-Tac-Toe, numbers 1-9 are placed on the board.

  • Uploaded By : Pooja Dhaka
  • Posted on : November 19th, 2024
  • Downloads : 0
  • Views : 31

Order New Solution

Can't find what you're looking for?

Whatsapp Tap to ChatGet instant assistance

Choose a Plan

Premium

80 USD
  • All in Gold, plus:
  • 30-minute live one-to-one session with an expert
    • Understanding Marking Rubric
    • Understanding task requirements
    • Structuring & Formatting
    • Referencing & Citing
Most
Popular

Gold

30 50 USD
  • Get the Full Used Solution
    (Solution is already submitted and 100% plagiarised.
    Can only be used for reference purposes)
Save 33%

Silver

20 USD
  • Journals
  • Peer-Reviewed Articles
  • Books
  • Various other Data Sources – ProQuest, Informit, Scopus, Academic Search Complete, EBSCO, Exerpta Medica Database, and more