Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Project Overview: A Javaprogramthat simulates a board band service company and allows user to pick a TV, Internet and Phone and show the cost. In

Project Overview:

A Javaprogramthat simulates a board band service company and allows user to pick a TV, Internet and Phone and show the cost. In this program the design is left up to the programmer however good object-oriented design is required.

Project Requirements

  1. Develop a text-basedmenu driven program that calculates board band service company package costs. Here is a link to an example of a text-based menu (Link)
  2. The board band service provider has the following TV monthly options:
    1. Basic, $24.99
    2. Premium,$45.99
    3. Platinum, $79.99
  3. The board band service provider has the following internet service options:

(mbps - megabits per second download speed)

  1. Essential, 30mbps, $39.95
  2. Preferred, 100mbps. $59.95
  3. Ultimate, 300mbps, $79.95
  4. The board band service provider has the following phone services options:
    1. Basic Phone, $19.99
    2. Supreme Phone, $39.99
  5. Customer Information must include: Customer's name, address (street, city, state, zip), phone number, customerID number.
    1. line one lists the TV options type & cost
    2. line two lists the Internet options type, download speed and cost
    3. line three list the Phone options type & cost.
  6. Regular Expressions
    1. Zip code input should be ONLY 5 DIGITS.
    2. Phone numbers must be in the form (xxx) xxx-xxxx.
    3. Must Use the Regular Expressions to test the zip code and phone number.
    4. Use User Defined Exceptionsthat will require the user to enter zip or phone in correct format before continuing. To learn about Regular Expression in Java try http://docs.oracle.com/javase/tutorial/essential/regex/index.html and the youtube videohttp://www.youtube.com/watch?v=s_PfopWcMwI.
    5. Handle any checked exception robustly. Which means the program shouldn't exit or crash if a check exception is encountered.
  7. The board band service company changes their package prices often they want the application to be flexible.
    1. The application will read all the TV, Internet and Phone options from a text file. This includes TV's type & cost, Internet, type, download speed and cost, and Phone type & cost.
    2. Call the options file serviceOptions.dat and have the program read it in automatically at startup.
    3. The file format is a common delimited file with the following structure, See a provided sample file called serviceOptions.datfor details. The sample file has a header should be accounted for when processing and is structured as follows:
  8. The sample file format must be followedas the graders will use a file in this format to test your program.
  9. Write all completed transaction data to a text filealso named appropriately.The file format is up the developer but should be readable. The data should includecustomerid number,total cost per month and a breakdown of each of the services cost (ie cost of TV, Internet and Phone).
  10. A menu option to search the Transaction file for a transaction based on customerid number and print out the transaction information. Assume only one transaction per customer ID.
  11. Minimum Program Design Requirements
    1. Use object-oriented design - create the following classes at a minimum.
      1. Customer Class - including customer data include Package object
      2. ServiceCompany Class - array of customer objects.
      3. Package Class - contains instance variables that store package information and cost.
      4. Board band ServiceCompanyTester Class - contains main method.
      5. Two user defined exception classes to handle zip code and phone number exceptions.
  12. The remaining design details are left up to the developer, including how to structure the application, how many classes to develop and the interrelationship of those classes. Use the techniques you've learned in this course, including good object-oriented design.

  1. JUnitTest Class
  2. JUnit class to test the zipcode and phone number validation
  3. The test objects and test methods are left up to the developer as the classes are left up to the developer.
  4. Create two UML Class Diagram for this project.
    1. The class diagrams should be created in multiple iterations.
      1. The first series of iterations should be done before you code and should provide a design that the code follows. (Design Version)
      2. The second series of iterations should be completed after the code is complete & should reflex the EXACT class structure of you final program. (Final Version)
      3. The class diagrams should include
        1. Access specifier (- or +).
        2. All instance fields with type.
        3. All methods with return type & parameter types.
        4. Associations, Generalization (Inheritance) and Aggregation and Multiplicity
        5. Stereotyping - Interface or Abstract Classes.
    2. Design Version - completed prior to coding the project to assist with coding.
    3. Final Version - completed after the coding that accurately represents the final version of the code, generally used for maintenance purposes.
    4. No need to include the class with main method in the UML diagrams. Refer to the UML Distilled pdf on the content page as a reference for creating class diagrams
  5. serviceOptions.dat Contents: Basic,28.99,Premium,49.99,Platinum,69.99 Essential,50,29.95,Preferred,150,59.95,Ultimate,300,79.95 Basic Phone,9.99,Supreme Phone,19.99

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Financial management theory and practice

Authors: Eugene F. Brigham and Michael C. Ehrhardt

12th Edition

978-0030243998, 30243998, 324422695, 978-0324422696

Students also viewed these Programming questions