For the following exercises, use the incremental development methodology to implement the program. For each exercise, identify the program tasks, create a design document with class descriptions, and draw the program diagram. Map out the development steps at the start. Present any design alternatives and justify your selection. Be sure to perform adequate testing at the end of each development step.
The word game Eggy-Peggy is an example of encryption. Encryption has been used since ancient times to communicate messages secretly. One of the many techniques used for encryption is called a Caesar cipher. With this technique, each character in the original message is shifted N positions. For example, if N = 1, then the message
I d r i n k o n l y d e c a f
J ! e s j o l ! p o m z ! e f d b g
The encrypted message is decrypted to the original message by shifting back every character N positions. Shifting N positions forward and backward is achieved by converting the character to ASCII and adding or subtracting N.
Write an application that reads in the original text and the value for N and
displays the encrypted text. Make sure the ASCII value resulting from encryption falls between 32 and 126. For example, if you add 8 (value of N)
to 122 (ASCII code for ‘z’), you should “wrap around” and get 35.
Write another application that reads the encrypted text and the value
for N and displays the original text by using the Caesar cipher technique. Design a suitable user interface.