Skip to content
/ OOP Public

OOA / OOD / OO Programming / OO QA about a real-life Jukebox

Notifications You must be signed in to change notification settings

Quan25/OOP

Repository files navigation

OOA / OOD / OO Programming / OO QA

Jukebox

Jukebox image

Description

  • Design a Juke Box that allows customers to select songs they want played or to submit a play list that they have already created previously. If a request is made for song that is not contained by a local Juke Box, it will query for that song from other Jukeboxes elsewhere in the country - thus they are networked. Although reminiscent of Napster, like the original jukebox, we want to provide a mechanism for owners, record companies and artists to earn a profit. Therefore, for this Juke Box we want to provide not only a coin drop and cash feed mechanism, but also a card swipe mechanism and a cell dial payment capability.

Juke Box spec

Allow customers to

  • select songs they want to play.
  • submit a play list that they have already created previously.

The Juke Box can search other Juke Boxes from Internet for songs that are not contained by a local Juke Box. To provide a mechanism for owners, record companies and artists to earn a profit. The Juke Box contains

  • A coin drop
  • Cash feed mechanism
  • A card swipe mechanism
  • A cell dial payment capability.

Diagrams

Use Case Diagram

Use Case Diagram

Class Diagram

Use Case Diagram

Sequence Diagram

Use Case Diagram

UnitTests

  • The unit tests are designed as the following simple diagram

+-----------------------+   +-----------------------+  +---------------------+
|  Database Module      |   |      Song Module      |  |    Jukebox Module   |
+-----------------------+   +-----------------------+  +---------------------+
+-----------------------+   +-----------------------+  +---------------------+
| Test Database Moduel  |   |    Test Song Module   |  | Test Jukebox Module |
+-----------------------+   +-----------------------+  +---------------------+
                            +----------------------+
                            |      Test Suite      |
                            +----------------------+
                            +----------------------+
                            |  Test Suite Runner   |
                            +----------------------+
  • All the tests file can be found under Tests folder
Sample running output

Use Case Diagram

How to Run

Program

  1. Add javazoom package the classpath
  export CLASSPATH=$CLASSPATH:path/to/Jukebox/JLayer1.0.1/jl1.0.1.jar
  1. Run javac *.java on your root directory
  2. Add the project to java CLASSPATH
  export CLASSPATH=$CLASSPATH:path/to/Jukebox/
  1. Run java Jukebox to see the output

Unit tests

  1. cd to Tests folder
  cd Tests
  1. Run javac *.java to compile the tests
  2. Run java JBTestSuiteRunner to see the output

About

OOA / OOD / OO Programming / OO QA about a real-life Jukebox

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages