From b5072cf8159adb16ff1826dce27bccb7ab41c141 Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Fri, 25 Dec 2020 22:09:02 +0100 Subject: Beginning the report --- report.ms | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ report.pdf | Bin 0 -> 19582 bytes 2 files changed, 67 insertions(+) create mode 100644 report.ms create mode 100644 report.pdf diff --git a/report.ms b/report.ms new file mode 100644 index 0000000..f25c210 --- /dev/null +++ b/report.ms @@ -0,0 +1,67 @@ +.TL +jMusicHub - OOP Project Report +.AU +Aimeric ADJUTOR +.AI +ESIEA +.AB +This document comes with a javadoc and files for a program named jMusicHub. +Here, I'll try to state why I did some stuff the way I did and so on.. +.AE +.NH +UML Diagram +.PP +IMAGE OF THE DIAGRAM TO PUT HERE +.NH +Student contribution +.PP +Since I did it alone, every part of the code has been done by myself. + +.PP +I used different kind of help when I was confronted to some errors and also to learn new things because I'm new with the Java programming language. +.PP +My main sources of knowledge comes from Stackoverflow, javaTpoint, Oracle and w3schools. +.NH +Work done +.NH 2 +Tools +.PP +For starters, the tools I used to program everything here are : +.IP \(bu 2 +Neovim, as my text editor alongside some plugins and snippets to make my life easier. +.IP \(bu 2 +Void linux, as my OS. +.IP \(bu 2 +Deoplete, ultisnips and vim-javacomplete2 as my plugins. + +.NH 2 +The program +.PP +I coded with some freedom as the specifications were sometimes not clear. I suppose it was written this way to mimic specifications done by a client. +.PP +My "main" program is jMusicHub.java, it's basically the app you'll want to run to do anything. The other files are just the different objects that we create thanks to jMusicHub. +.PP +Lots of commands are available so a quick peek at the help page (h) is recommended. + +.NH 2 +Abstraction and Interface +.PP +The abstract class is MusicalElement which is instanciated by Song and AudioBook. +.PP +The interface used in this project is the Serializable one. It is used by MusicalElement (therefore, Song and AudioBook), Album and Playlist. It's used to store the objects created into files. One for each types (songs, audiobooks, albums and playlists). + +.NH 2 +Exceptions +.PP +Most exceptions are handled the same way because they appear on the same patterns. +We basically abort the tasks or create empty objects when necessary and display something to the user to keep him up-to date. + +.NH +Difficulties and solutions given +.PP +I honestly had difficulties everytime I got back on my code to build new stuff. +The websites, given prior to this part, were really helpful to help me. +.PP +The first big difficulty was to understand what was the Serialization and how to use it. It took me some time but thanks to websites and indications given by some classmates I managed to implement it in my code. +.PP +Other difficulties were managed by, somehow, finding a solution online or aborting my idea and using other ways to achieve what I was looking for. diff --git a/report.pdf b/report.pdf new file mode 100644 index 0000000..52c84ca Binary files /dev/null and b/report.pdf differ -- cgit v1.2.3