e
SENG1110/6110 Programming Task 1 – Semester 1, 2020
Due: By digital submission (Blackboard) by 11:59pm on Fri 1st Could 2020.
MUSIC COLLECTION
Introduction
The target of this task is to implement an object-oriented program utilizing Java, to handle a group of
songs. The task 2 shall be an extension of this task.
SENG1110 college students – This task may be accomplished in pairs.
SENG6110 college students – This task should be accomplished individually.
Earlier than you begin
Rigorously learn the specification beneath. Ensure you have all the data obligatory to begin writing this system.
If you’re unsure of one thing, don’t make assumptions. Put up your inquiries to the dialogue board discussion board named
“task 1” and examine it usually.
Attempt to begin the task as quickly as doable. There’s a doc “HelpToStartAssign1” and a few Java information on
Blackboard, which you need to use as a place to begin.
Specification
This system will preserve observe of as much as three albums, and as much as four songs every album.
When run, this system will show a menu of actions to the consumer, together with one which exits this system. Till the consumer
chooses to exit, the menu is displayed once more after every motion is accomplished.
This system ought to have the next functionalities:
1. Will permit the consumer to create albums.
2. Will permit the consumer to enter a brand new tune into an album.
three. Will forestall the consumer from including a tune in an album if exceeds a sure time restrict (in tune length occasions).
four. Will permit the consumer to request a listing of all songs (and the main points of every tune) from an album.
5. Will permit the consumer to request a listing of all albums (together with all of the songs in every album).
6. Will permit the consumer to request a listing of all songs whose length is below a sure time (in minutes).
7. Will permit the consumer to request a listing of all songs of a particular style.
eight. Will permit the consumer to delete an album.
9. Will permit the consumer to delete a tune from an album.
Your program should give acceptable messages to the consumer on an try and:
• create an album that exist already (two albums are an identical if they’ve the identical title)
• create one other album when there isn’t any room anymore.
• add a tune to an album that’s full OR exceed a time restrict OR in an album that doesn’t exist.
• add a tune that exist already in an album (word that 2 songs are an identical if title, artist, and length are the
identical).
• delete an album that doesn’t exist.
• delete tune that doesn’t exist.
• Request listing of albums/songs below a sure standards (functionalities four,5,6,and seven) and the variety of
albums/songs is zero.
Program Necessities
Your program ought to implement three courses, which retailer the next information:
• Music.java – storing the next particulars a few tune.
o title – the title of the tune.
o artist – the individual/s performing the tune.
o length – the size of the tune in seconds
o style – the style may be solely “rock”, “pop”, “hip-hop” or “bossa nova”
• Album.java – shops as much as four Songs at a time.
o title – the title of the Album.
o song1, song2, song3, song4 – Music objects
o totalTime – the overall taking part in time of all songs saved
o MAX_TIME – a relentless which shops the utmost taking part in time for the album, set to a price of 12
(minutes).
• SongCollection.java – shops all albums within the system.
o album1, album2, album3 – All present Album objects saved within the system.
All the information elements of your courses should be personal (which means that you might be making use of the rules of
encapsulation).
Moreover, your courses have to have strategies that present the performance outlined in the issue description. The
solely class which ought to have a essential methodology is SongCollection.java, which ought to create an occasion of the
class SongCollection and name the run() methodology which can have code to supply the consumer with a menu to permit them
to carry out any of the duties outlined in the issue description. The template for that is beneath. The category
SongCollection additionally would be the just one that may obtain inputs and present outputs.
public class SongCollection
You can not use arrays on this task. SENG1110 college students can select TIO or GUI, and may use solely the courses
seen in lectures. Your resolution should be your individual work. Marks shall be awarded for: format, each visible (variable names,
indentation) and structural (scope of variables, use of strategies); documentation (feedback); and talent of the
submission to carry out as specified. A extra detailed marking schema is accessible.
What to submit.
It’s best to submit the Java program (Music.java, Album.java, SongCollection.java) and the
task cowl sheet electronically through the “Task 1” hyperlink on Blackboard. Don’t embody .class information in your
submission.
Add the title of the scholar(s) on the highest of every Java file submitted. If you’re finishing the task as a bunch
(solely SENG1110 college students), add each names in every Java file AND submit 2 task cowl sheets.
Additional Work for SENG6110 college students
Your implementation should use GUI utilizing the courses seen in lectures and it’s worthwhile to present a UML class diagram of
your program.
Within the Blackboard you will discover a brand new discussion board within the dialogue board: “assignment1”. Any query in regards to the
task 1 you’ll be able to publish there. Verify this discussion board usually.
Prof Regina Berretta.
Mar -2020