Giter Club home page Giter Club logo

oop's Introduction

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

oop's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

pnkcompany

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.