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.
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.