Chat with us, powered by LiveChat This weeks assignment consists of two parts: (a) Construction of a JavaFX GUI-based application that implements Caesar Cipher translation; (b) design of the seven user interface scre - Writingforyou

This weeks assignment consists of two parts: (a) Construction of a JavaFX GUI-based application that implements Caesar Cipher translation; (b) design of the seven user interface scre

Overview

This week’s assignment consists of two parts: (a) Construction of a JavaFX GUI-based application that implements Caesar Cipher translation; (b) design of the seven user interface screens for the CapestraApp course project.

Programmer productivity is one of the greatest challenges for software engineers. Unfortunately, most programmers don’t produce a great deal of tested, debugged production code on a daily basis. This is in spite of the fact that writing pages and pages of code for a project isn’t difficult. The difficulties arise when the code must be debugged, tested, and transformed into high-quality, easily maintained, production-quality code. An excellent approach to increasing programmer productivity is to make use of existing high-quality production code. This is called code reuse. In this week’s assignment, you will reuse the Caesar Cipher translate() method that you developed for Week 1.

Part 1 Programming a JavaFX GUI-Based Application

Part 1 of this week's assignment is programming using JavaFX to build an interactive GUI-based program that implements the Caesar Cipher translation algorithm that was described last week. The GUI that you will develop is the “front-end” of the project. The “back-end” is the translate() method that you will (re-)use.

Implementation Notes for the CaesarCipherFX Program

You should create a Requirements document that details what your program needs to accomplish. You should create an input-process-output (IPO) chart to elaborate the requirements. You should design an interface that contains all the controls necessary for a user to interact with your program. This is all “planning” – specifying the “What” in detail

Part 2 Designing GUI Screens

Part 2 of this week's assignment is to create “mock-ups” for the seven user interface screens required for the CapestraApp project. You should read the CapestraApp Software Requirements Specification (the SRS) to see what functionality the screens must support. Pay special attention to Sections 2.2, 3.1, and 4.

Implementation Notes for the GUI Design for Seven Screens

You may use any tools you wish to design the screens. The Web-based Moqups app is highly recommended. Microsoft Visio also is a good choice. You even can use pen and paper and scan your designs using your smartphone (not as highly recommended).

The important things to note are the following:

Which controls must be in place so that the SRS-required functionality is provided.

What would be expected of a high-quality, professional-grade user interface.

How easy it will be for you to implement each screen using what you know about JavaFX.

Note: You will use your designs as guides for implementing the CapestraApp screens that constitute your course project. This implementation (programming) will begin next week. Your designs are not cast in stone—so if you find that you need to modify your designs during implementation, this is not a problem.

Complete the following steps for this assignment, Part 1 Programming a JavaFX GUI-Based Application.

1. Use JavaFX to build a GUI program that implements the Caesar Cipher algorithm, the CaesarCipherFX project.

2. Your user interface must include the following:

. Professional layout; the precise design is up to you.

. A drop-down to select the Key. The Key must be an integer in the range -3..+3; zero is an acceptable Key value.

. A TextField (TF1) in which the user enters the message to be translated.

. A read-only TextField (TF2), where the translated message will be displayed.

. A Translate button that causes the translation to take place, using the TF1 message for input, translating the message, and displaying the result in TF2.

. A Copy Up button that causes the contents of TF2 to be copied to TF1, and then clearing TF2. This makes it easy to translate a message, copy the message, and “untranslate” the message.

. A Clear button that clears the Key selection, TF1, and TF2.

. If the Translate button is pressed when no Key has been selected, an appropriate alert should display, informing the user that a Key must be selected before a translation can take place.

. You should use the translate() method that you built for Week 1’s assignment to perform the Caesar Cipher translation. (Note that translate both encodes (key > 0) and decodes key < 0)).

3. Take sufficient screen shots to demonstrate that your program meets all requirements.

. Include the execution output of your program to convince a reader that it functions properly—both encoding and decoding messages.

. Test your program with both positive and negative Key values, and text strings containing both alphabetic and nonalphabetic characters.

. One test must show the alert that results when a Key has not been selected.

. Paste these screen shots into an MS Word document.

4. For your final test, you use must use a Key value of -2 and the message “Qpeg wrqp c vkog – c nqpi, nqpi vkog ciq . . .”

5. Create a .zip file containing your Caesar Cipher project.

. Before zipping your project, right-click the project and "clean" it. This greatly reduces the file size and speeds up the program's performance.

. Then close NetBeans.

6. Add the MS Word document with your screenshots to your .zip file.

7. Rename your .zip file, following this pattern: LastName_Week2.zip.

Assignment Instructions—Part 2 Designing GUI Screens

Complete these steps for this assignment, Part 2 Designing GUI Screens.

1. Select a visual design software or prototyping tools of your choice.

2. Design the seven user interface screens required for the CapestraApp project.

. Note that the Employee Information report already is implemented in the CapestraApp template application.

3. Place each screen on a separate page in an MS Word document, labeling each screen appropriately.

4. Add your MS Word design document to the .zip file you created in Part 1 of this assignment.