top of page

Design And Implement a Java Application

Overview

This is assignment forms a major part of your assessment (30%) within the Programming Design and Implementation unit. Please keep up-to-date with announcements within Blackboard to ensure that all that is required is submitted at the appropriate time.


Background

Large amounts of data are made available for free by all different organizations around the world. The City of New York is one such organization. A large number of open data sets are available from: https://opendata.cityofnewyork.us. To understand their philosophy about this, you can read the following web page: https://opendata.cityofnewyork.us/overview/. The “LinkNYC Kiosk Status” dataset is one such dataset and is available for download from: https://data.cityofnewyork.us/City-Government/LinkNYC-Kiosk-Status/n6c5-95xh. The dataset is updated hourly and “...provides the most current listing of LinkNYC Kiosks, their location, and the status of the Link’s wifi, tablet, and phone.” This is the dataset that will be used within this assignment.


The Big Picture

In this assignment you are going to design and implement a Java application that will allow users to interrogate the data to understand the state of Kiosks throughout New York City. The real world development of this would permit users to know all about the Kiosks, updated hourly. Relax, we won’t go that far. There is a lot of data in the file that can be analysed. An important thing to know is that New York City is made up of five Boroughs which are:


(a) Manhattan;

(b) Staten Island;

(c) Queens;

(d) Brooklyn; and

(e) Bronx.


Figure 1: The Five Boroughs and JFK (https://en.wikipedia.org/wiki/Boroughs_of_New_York_ City#/media/).


For this assignment, the other important breakdowns of New York City are the:

  • Council Districts;

  • Community Boards; and

  • Postcodes.

Your program will create knowledge by generating statistics in response to user requests, using the data within the provided .csv file. The data will need to be processed through the creation of objects and then the appropriate calculations performed.


The Tasks 1.

The Data Here is a screen capture showing a sample of the data that is in the .csv file to be processed. The data will be extracted from the file and loaded into your program for processing.


2. Required Classes and Class Fields

For this program you are required to write two classes:

  • Kiosk class;

  • Address class.

The Kiosk class will have the following class fields (instance variables):

  • pptID (String);

  • latitude (real number);

  • longitude (real number);

  • status (String);

  • communityBoard (String);

  • councilDistrict (String);

  • wifiStatus (boolean);

  • phoneStatus (boolean);

  • tabletStatus (boolean); and

  • address (an Address object).


The Address class will have the following class fields (instance variables):

  • street (String);

  • borough (String);

  • state (String); and

  • postcode (String).

Please note: Kiosk class contains an Address object as one of its class fields. You are required to design these classes in pseudocode and implement them in Java to be used within your program.


3. Menu System

As you have done in the practical worksheets, you will implement a menu system(s) that provides the user with the options to select what areas they will carry out an analysis on and what specifics will be in the analysis.


The first menu will ask users for which grouping they would like to interrogate:

Welcome to the New York City Kiosk Program. There are a total of `XYZ' WiFi kiosks throughout the city.


Please make a selection from the Menu below.

  • All of New York City

  • Manhattan

  • Staten Island

  • Queens

  • Brooklyn

  • Bronx

  • Postcode

  • Community Board

  • Council District

  • Exit Program


You are required to design this menu in pseudocode and implement it in Java within your program.


4. Knowledge to Display

After selecting the area they want, users are then presented with a Menu to select the knowledge they want:


Please select from a statistic below:

  • Total number of kiosks.

  • Total number and percentage of kiosks with status: removal pending.

  • Total number and percentage of kiosks with status: ready for activation.

  • Total number and percentage of kiosks with status: repair.

  • Total number and percentage of kiosks with status: installed.

  • Total number and percentage of kiosks with WiFi status: up.

  • Total number and percentage of kiosks with WiFi status: down.

  • All of the above statistics.

You are required to design this menu in pseudocode and implement it in Java within your program.


5. Displaying Knowledge to the User

For the requested knowledge to be useful to the user, it must be displayed in an appropriate and meaningful way. In response to the user’s selection, you must display the output in an easy to understand meaningful way.


Once the requested knowledge has been displayed to the user, the program returns to the first menu and waits for the user to input their next choice.


You are required to design this output style in pseudocode and implement it in Java within your program.


An example of output to the user may be:

Kiosks in Queens: 12/100 Kiosks (12.0%) currently have an Up WiFi status. Kiosks in Brooklyn: 26/100 Kiosks (26.0%) currently have an Installed Status.


Things to note

Your program should be designed in pseudocode and implemented in Java. Your pseudocode needs to follow the CLUCC principles:

  • Clear;

  • Logical;

  • Understandable;

  • Consistent; and

  • Correct.

Your Java code needs to comply with the Coding Standard and be well documented.


If you looking basic, intermediate, and advanced java application then you can contact us at contact@codersarts.com

48 views0 comments

Recent Posts

See All
bottom of page