CIS4037-N Object-oriented Programming Assignment

Assignment Help Computer Engineering
Reference no: EM132929281

CIS4037-N Object-oriented Programming - Teesside University

Assignment - Contract Manager Prototype

Telephone Contract Manager Prototype Background

A small communications company requires a simple telephone contract manager prototype to
demonstrate key features. The company offers the following packages:

Monthly Rates (in pence)

Notes:
• Contract periods can be 1, 12, 18 or 24 months.
• Each contract has a reference number (e.g. JB123B - Two letter followed by three digits and a letter. The last letter can only be B for Business Account, C for Charity Account or N for Non-Business Account).
Note: This is the company's new reference number format. Archived data has a different format as explained later.
• Business customers receive a 10% discount and must take at least a 12-month contract.
• Charity customers receive a 30% discount for any length of contract
• Non-business customers taking a 12 or 18-month contract receive a 5% discount and 10% for a 24-month contract
• International calls are normally charged separately, but customers can choose to use the minutes included with package to make these calls. If this option is selected, the charges above are increased by 15%.
• All calculations are performed on the pence values and decimal portion disregarded.
• Contracts details also include the client name (eg: J Mason) - maximum of 25 characters

Notes:
• Monthly charge is centred and the word discounted only appears if a discount has been applied.
• If discount is not applied, the word None should be displayed instead of the percentage value.
• The border should be included with the summary.

Requirements
A console application (no GUIs or GUI dialogs) is required. Your prototype should display a menu similar to the following:
1. Enter new Contract
2. Display Summary of Contracts
3. Display Summary of Contracts for Selected Month
4. Find and display Contract
5. Modify existing Contract
0. Exit

Once an option is selected and processed, the menu should be redisplayed until the exit option is selected. Each operation is described below:

• Option 1: Enter new Contract
• Ask the user for the inputs: client name, package, data bundle, reference, period and include international calls. Alternatively, the estimated minutes and data (megabytes) can be entered and the program automatically selects the appropriate package and data bundle. Note: All inputs should be validated.
• Calculate the total and discounted prices for the contract.
• Display the summary (it must use the format in the example).
• Create the appropriate sub class object
• Save (append) the data for the contract to the text-based summary file (contracts.txt). Each line in the file must hold the details for a single contract with the following information separated by spaces or tabs:
• Contract Date (today's date - see technical details for format).
• Package (1=Small, 2=Medium and 3=Large)
• Data Bundle (1=Low, 2=Medium, 3=High and 4=Unlimited).
• Period in Months

• Option 2: Summary of Contracts
User is asked to select the main (contracts.txt) or archive (archive.txt) contacts and a summary of the following is displayed:
• Total number of contracts.
• Number of contracts with High or Unlimited Data Bundles.
• Average charge of large package contracts.
• Total number of contracts per month (assume the files only include data for the current year). Show an entry for all twelve months even those that have an entry of zero.

A sample archive file can be downloaded from Blackboard. For the supplied archive file, the output should look similar to the following:
Total Number of contracts: 1000
Contracts with High or Unlimited Data Bundles: 300 Average charge for large packages: 12.77

Number of contracts per Month:

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 91 67 83 84 103 71 103 68 80 65 99 86

See additional notes below about the archive file.

• Option 3: Summary of Contracts for a Selected Month

The user is asked to select the main or archive contracts and to enter a month. A summary of contracts (as specified in option 2) should then be displayed for the specified month.

See additional notes below about the archive file.

• Option 4: Find and Display Contract

The user is asked to select the main or archive contracts and enter the search text. The selected file should be searched for any matches (full or partial) against the reference or client name. For example entering DE would match against reference number "DE123N" and Client Name "C Sanderson".
For each matching entry, the contract summary (see option 1) should be displayed.

See additional notes below about the archive file.

• Option 5: Modify existing contract

The main contracts file should be searched for any matches (full or partial) against the reference or client name. For example entering DE would match against reference number "DE123N" and Client Name "C Sanderson".
• For multiple matches the user must then select one contract from the selection.
• Apart from the reference number, any of the contract's details can be changed if the contract has been running for at least 50% of its original period. Only contracts longer than 6 months can be changed, except for charity contracts.
• One the change has been confirmed, and the details saved back to the main contracts file successfully, a notification is sent to both the customer and the finance department.
o You don't need to do anything else, only simulate that they've been notified of the change.

• Option 0: Exit

Display an appropriate message and exit the application.

Notes about archived data file

All the archived data is taken from an older system. The way the data is stored is slightly different:
1. Reference numbers are in the format AA-123 (two letters, a dash, and 3 digits).
2. There is an additional field for the contract type, which is one of the following:
a. BUSINESS
b. CHARITY
c. NORMAL
3. Price is stored as decimal
4. When accessing the archived data file the data is to be treated as if they are in the new format, although the archive data file always in the old format.

Additional features/enhancements
Once the basic requirements have been met, students wishing to achieve higher marks can implement appropriate addition features and functionality. This can include a Graphical User Interface (GUI) using Swing.

Test Requirements

As well as developing the prototype, the client requires a test plan for the application that demonstrates how each feature will be tested to ensure that it performs as expected.

For maximum marks you should provide Unit tests for the application, otherwise use the test plan detailed below.

Unit-tests: Provide unit tests for the two classes you've designed and developed with unit- tests. All tests should pass. Tests that do not pass should be documented with reasonable consideration given to what is causing the tests to fail.

Technical Information

1. Name your project ContractManager.

2. Data files must be named contracts.txt and archive.txt. A sample of the archive file can be downloaded from the Assessment section of the blackboard module.

3. The implementation must include a Contract class that represents a single contract. This class should use appropriate encapsulation and not include any keyboard input or console output.

4. The following method will get today's date:

public static String getDate()
{
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy"); return sdf.format(cal.getTime());
}

You will need to import java.util.Calendar and java.text.SimpleDateFormat;

Tasks and Marking Criteria Implementation
Your implementation will be assessed on the following:
1. Its completeness to satisfy the requirements of the brief as described.
2. It performs well and in a consistent way.
3. The code is written to a good standard, elegantly specified, making it easy to read and understand by someone who did not write the original code.
4. Where additional comments are provided, they are not to a superfluous level of detail and add value to reader.
5. The code is demonstrably easy to extend and maintain.

Testing
1. Test Plan
You have provided a suitable test plan that is used to check that the functionality of the application works as expected.
2. Unit-tests
You have provided unit-tests for at least 2 of the classes that you've implemented.

Portfolio documentation

You write 6 portfolio entries; the format of the portfolio is described below.

Portfolio entry 1

Discussion of the overall problem scenario, the initial steps taken, and identification of the basic data types that you needed.
Portfolio entries 2 to 6

Will discuss the implementation of each menu option (not including option 0 to exit).

Portfolio format

• The following sections will be included:

o Tools & techniques
This section should describe important tools & techniques you have used for this portfolio entry, including:
» important features from the API

» New types of events, collections, control structures

» OO collaborations & patterns

o Results
Describe your observations, for example:

» How does the program perform?

» Does the program/options work as expected?

» Which parts have been successfully implemented and those parts which have not been fully successful.
» A description of any known errors.

o Critique
» What choices were made

» Trade-offs/compromises made

» What is well presented

» What can be improved

General Notes/Advice

• DESIGN your solution using pseudo code or flow charts. Resist the urge to start hacking away immediately.

• Save frequently and backup your work every day.

• Work methodically and proceed using small steps.

Reference no: EM132929281

Questions Cloud

Deterrent threat to dissuade sexual assault : Do you think a sentence such as Turner's provides enough of a deterrent threat to dissuade sexual assault?
Racial bias and discrimination in correctional system : Discuss ways in which you experience, witness, or are aware of racial bias and discrimination in the correctional system.
Explain employment screening practices : What steps can an employer take to avoid legal challenges related to their employment screening practices? Please explain how these practices work
Country criminal justice system : Select a country different from your own and prepare a paper for your colleagues to familiarize them with that country's criminal justice system.
CIS4037-N Object-oriented Programming Assignment : CIS4037-N Object-oriented Programming Assignment Help and Solution, Teesside University - Assessment Writing Service
Employee engagement and communication : Identify and describe the key HR functions of the organization York Region District School Board
What is the value of doing a job analysis : What is the value of doing a job analysis? Which method of job analysis do you believe is most effective? Why?
Chc 30113 early childhood education and care : In this scenario: you have recently completed your Certificate IIl studies, and have secured a position with a long day care service (you are working in a paid
Public safety and emergency management perspective : Choose the most relevant entities or individual experts you can, and think about everything from a public safety and emergency management perspective.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Describe the pros and cons of using a multiplicative factor

Describe BRIEFLY the Additive-increase-multiplicative-decrease strategy used by the TCP congestion control algorithm.

  Determine the doppler power spectrum of the fading process

[Jakes Doppler Power Spectrum] Determine the Doppler power spectrum of the fading process experienced by a mobile telephone user in an automobile traveling.

  What is green computing and green communication technology

What is Green Computing and Green Communication technology.

  Discuss summary of the services bench fitness center

At their eight locations, Bench fitness currently has one PC in the office and one PC in the entrance area. These computers are peer networked, but all are more than 5 years old.

  How do the various network layers calculate into planning

What are some of the best practices for enterprise resource planning functionality?How do the various network layers calculate into the planning for networks?

  Why is a list of font names given as value of a font-family

Why is a list of font names given as the value of a font-family property? What are the five generic fonts? Why is it better to use em than pt for font sizes?

  Take two command line arguments and the dictionary

Your program, called should take two command line arguments, the dictionary, and the text that you wish to spellcheck.

  Questionyou work for a small company that is having trouble

questionyou work for a small company that is having trouble with its two domain controllers. describe how you would

  Explain why you can not input text to the editor

In what ways can a process behave when it receives a signal? Invoke the command vi foo &, and explain why you can't input text to the editor.

  What are the critical business functions

Describe in 500 words the disaster recovery plan and who is responsible at your place of employment. Consider the critical business functions and your recovery.

  Agile testing environment and use of agile toolchains

Practice an Agile Testing environment and use of Agile toolchains - Working in Agile Environment and Developing Detailed Test Plans with a Test Management Tool

  What are the primary advantages of NetWares NDS

What are primary advantages of NetWare's NDS over previous bindery? List different techniques for providing this protection that have been presented thus far.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd