Reference no: EM132679383
MITS4002 Object-Oriented Software Development - Victorian Institute of Technology
LO1 Demonstrate understanding of classes, constructors, objects, data types and instantiation; Convert data types using wrapper methods and objects.
LO2 Independently analyse customer requirements and design object-oriented programs using scope, inheritance, and other design techniques; Create classes and objects that access variables and modifier keywords. Develop methods using parameters and return values.
LO3 Demonstrate adaptability in building control and loop structures in an object-oriented environment; Demonstrate use of user defined data structures and array manipulation.
LO4 Create object hierarchies using additional utility methods, application programming interfaces (API) and interfaces, in conjunction with existing classes and objects.
LO5 Demonstrate usage of collection to access data structures effectively and compose full-fledged object-oriented applications.
LO6 Extend the on object-oriented concepts and design patterns introduced in lectures to carry out further research on a chosen object-oriented design pattern or emerging recent programming languages.
Programming Project
Part 1: Arrays & Inheritance
Problem Description
This project is based on the design, and implementation in Java, of the seven different
Lottery games being Saturday Tattslotto, Oz Lotto and Powerball.
In Part 1 of the project, you are asked to use arrays and inheritance to code versions of these games and in Part 2 to create an appropriate GUI that writes to a report file.
You will notice from your research and examination of the table that all games have several things in common.
All games
• have a name,
• run on a day of the week
• have a set of randomly generated numbers.
Also, each of the randomly generated numbers have a minimum and maximum possible value, for example: For Powerball, the minimum value is 1 and the maximum value is 35.
An abstract class, LuckyGame can be used to represent the generic concept of a game of chance. A suitable partial design is shown in the following UML diagram. In the UML diagram:
• The LuckyGame class represents the generic concept of a game of chance and therefore, is to be declared as an abstract class. It contains two abstract methods setNumberOfRandoms( ) and collectUserInput (String input). The LuckyGame class also contains an array of String which is used to record the randomly generated numbers used by each object of LuckyGame type.
• The class TattslottoGame is a LuckyGame and it thus should implement code for LuckyGame's two abstract methods as well as its own constructor and any other methods.
• The games SaturdayTattslotto and Oz Lotto are all instances of the class TattslottoGame.
• You can implement the remaining class games in any manner you believe appropriate. For example, class PowerBallGame can be implemented using either using
o Option 1: the class PowerBallGame is a LuckyGame and thus should implement code for LuckyGame's two abstract methods as well its own constructor and other methods.
o Option 2: the class PowerBallGame is a TattslottoGame and thus should implement code for its own constructor and other methods.
• You have been provided with some code for the class TestGames, which is a text-based application used to create instances of games and test all of their respective behaviours.
• To collect user input for all games, a class UserInput is needed. It should collect user input and deal with any problems in the input, such as repeat numbers or numbers outside the possible range of values.
Programming Project
Part 2: Graphical User Interfaces/Applets & Files & Exceptions
In Part 1 of the project, you are asked to use arrays and inheritance to code versions of 7 Lottery games. In Part 2, using swing classes wherever possible, you need to create an applet for players. The applet should allow a player to choose and run a game of their choice and find out the results of their game. Each time a game is played, the applet writes information about the game to a file called report.txt. This information would be similar to that shown as sample output for Part 1.
If there are any problems creating this file, then the applet reports the problem to the user.
NOTE: It is not expected that you should need to rewrite any of the classes from Part 1 of the Project. Rather you will create instances of the relevant classes when you need them for
Part 2. The application for this project should create at least one new class LuckyGameApplet, however a good design should divide the computational workload and
create/use classes where needed. You may even decide to use Threads and create animation!
What will the value of the whole firm
: Starware Software was founded last year to develop software for gaming applications. The founder initially invested $700,000 and received 10 million shares of s
|
What is the value of leveraged firm
: Suppose ABC takes up the Debt from 0 to $200 at 10%, what is the Value of Leveraged Firm, Value of Unleveraged Firm and the Value of Equity?
|
What amount should be reported as interest income
: What amount should be reported as interest income for 2021? On July 1, 2020, an entity purchased an 8%, 4-year, P4,000,000 face value bonds for P3,746,400.
|
What amount should be capitalized as borrowing cost
: During 2020, an entity constructed an asset costing P8,430,000. What amount should be capitalized as borrowing cost on December 31, 2020?
|
Independently analyse customer requirements
: Demonstrate understanding of classes, constructors, objects, data types and instantiation; Convert data types using wrapper methods and objects.
|
How much is the net revenue to be recognized
: On January 1, 2020, At the end of December 31, 2020, how much is the net revenue to be recognized for 2020 as a result of this transaction?
|
Functions of a modern financial system
: Discuss the main elements and functions of a modern financial system.
|
What is the correct cost of the new machine
: What is the correct cost of the new machine? On August 1, 2020, the entity requested an allowance from the supplier because the machine proved to be
|
Determine the amount of retained earnings as of June
: Received monthly invoice for dry cleaning expense for June (to be paid on July 10), $21,500. Determine the amount of retained earnings as of June 1
|