BEST代写-线上留学生作业代写 & 论文代写专家


C++代写|COMP2404B Introduction to Software Engineering Assignment 2

C++代写|COMP2404B Introduction to Software Engineering Assignment 2


2 Learning Outcomes

In this assignment you will learn to

1. write an application that is (mostly) separated into into control, view, entity, and collection object classes.
2. use a UML diagram to implement classes and the interaction between between classes.
3. implement a \deep copy” of nested objects.

3 Overview

You will be writing C++ code that mimics a podcast network. Podcasts have a title and a host and a data structure
for storing 0 or more Episodes. Each episode will have some metadata and some content (in our examples the
content consists of lorem ipsum gibberish). Episodes may then be \played” (i.e., have their content printed to the

The Network itself will consist of 0 or more Podcasts as well as 0 or more Subscribers. A Client class will
be able connect to the Network as long as the Client name matches a Subscriber name. Once they connect they
can \stream” episodes from any podcast. In addition, a Client will be able to \download” podcasts. This copies
the podcast to \local storage”, which, in this exercise, is a data structure in the Client class. Subscribers can then
play the podcast locally, and this should work even if the network deletes the original podcast (that is, you will be
doing a deep copy of the Podcast).

Instead of connecting remotely, there is a TestControl object to test the functionality of the Network and
Client classes by simulating a remote connection. This class and the test functions are written for you. You will
then be able to run various tests using the TestControl and TestView objects.

You will write these classes using a UML diagram for guidance.

4 UML Diagram