Description
This assignment is in two parts (Assignment #4 and assignment #5). You are to design and then build a
software simulation of a DVD player that also has WIFI capability and can connect to Netflix and play
streaming video (we will keep it to Netflix at the moment). You are given the complete specification for
the remote control until. It is modeled in the Analysis Classification model provided to you. Your task will
be:
In assignment #4 to complete the analysis and design of the DVDPLayer class which is the model
(in the MV two-tier arvchitecture) so that we can test out its functioning against the remote
control before actually building the hardware DVD Player.
Implement the classes RemoteControl and DVDPlayer to demonstrate that the remote control
can correctly and completely control the DVD player. For output of the DVD player functioning
you can either direct status messages to the console, or build a GUI to demonstrate the DVD
status. In either case, this is a view and must be totally separate from the DVDPlayer class.
Part 1: Assignment #4.
System Requirements:
The remote control has been chosen. The following descriptions provide what is expected behaviour
from the DVD player when each button is pressed:
HomeBtn: places the DVD player into home state and displays the home screen. If connected to
the inetrnet, the connection is terminated. If a DVD is playing, it is stopped.
InternetBtn: If at home screen and internet service is available, connect to the last internet site
visited (ex. Netflix). If there is no last site, go to “list of sites” screen. If no internet service is
available, do nothing.
NavRightBtn: Move the cursor display to the right
NavLeftBtn: Move the cursor display to the left
NavUpBtn: Move the cursor display up one line
NavDownBtn: Move the cursor display down one line
PlayBtn: if a DVD is inserted and we are not in internet mode, begin playing the DVD. If
connected to an internet site, play (or select) the highlighted item (ex. Movie)
StopBtn: if playing a DVD, stop playing. If streaming an Internet movie stop and return to the
movie select screen.
PauseBtn: Pause playing the DVD or Internet movie
FFwdBtn: Fast-forward the DVD or Internet movie
FRevBtn: Fast-reverse the DVD or Internet movie
SkipSceneFwdBtn: skip one sceen forward on the DVD; if an internet movie, play in fast-forward
SkipSceneRevBtn: skip one sceen backward on the DVD; if an internet movie, play in fast-reverse
EjectBtn: If a DVD is in the drawer, open the drawer.
CloseDrawerBtn: Close the drawer if open.
OpenDrawerBtn: Open the drawer if closed.
AcceptBtn: (Internet only) Accept the highlighted item on the Internet site
PowerBtn: If DVD is currently ON, turn it OFF. If it is OFF, turn it ON.
Assignment Requirements:
Create a UML State-Change-Model for the DVDPlayer. You will be implementing from this. The
model requires the following:
o The diagram model (can be hand-drawn and scanned into your doc or you can use a
computer-based tool to produce your model diagram). You can start from what I have
provided. This model needs to be fully labeled (internal events for each state and
labeled transitions between states)
o A description of each state, event, guard condition and action (behavior method)
o Identify the valid start and stop states.
Create a Classification implementation model (class model with all supporting attributes and
behavior added) for the DVDPlayer.
o Include all attributes and their data types.
o Include a description of the parameters and behaviour of each method.
Remember this model represents exactly what you will be implementing. Since we are focusing on the
DVDPlayer class, I really don’t care about the design and implementation of the DVDSimulationDisplay
class or the RemoteControl class, other than I can choose which button I press; the display correctly
shows what the player has (or is) doing, and that there is only one public function in the player called by
the remote control. Also there should be only one public function in the display class called by the
player.
Marking scheme (80 marks):
State-change-model diagram: 20 marks (correctness and accurate representation using UML modeling
symbols)
State-change-model documentation: 20 marks (concise and accurate description of each state, event,
guard condition and behaviour requirement)
Classification Implementation model: 20 marks (correct use of the UML symbols and their meanings;
accurracy when matched to the specification of the narrative and the state-change-model)
Classification Implementation model documentation: 20 marks (descriptions and details for each class,
listing the attributes and behaviour descriptions including their signatures).
Classification Model – Preliminary
This model is your starting point. You can continue from here to complete the model.