Skip to content

User Requirements

JinGyeong Jeong edited this page May 27, 2016 · 1 revision

(1) Functionality of viewing/editing/saving files

  • At start-up, a main window with two edit panels (side-by-side) is displayed.
  • On top of each edit panel, there are buttons labeled with "Load", "Edit", "Save".
    • If the user presses a "Load" button, then the program should allow the user to choose a file in the file system, load the contents of the file, and displays the contents in the corresponding edit panel.
    • If the user presses a "Edit" button, then the program should allow the user to edit the strings shown in the edit panel.
    • If the user presses a "Save" button, then the program should save the edited content into the file

(2) Functionality of comparing two files

  • The main window has a "Compare" button.
  • If the button is pressed, then the program should display the different lines with a colored font/background. The comparison is done line by line. Your comparison result should be same as the one generated from "diff" program. The "diff" program is a utility comparing two files using "Longest common subsequence(LCS)" algorithm.

(3) Functionality of merging two files

  • The user should be able to traverse the blocks indicating the differences after the comparison and merge the differences.
  • There are two basic merge buttons. “Copy to Right” button copies the selected block in the left panel to the file shown in the right panel. Similarly, “Copy to Left” button does to the file shown in the left panel. Note that series of executions of the merge operations will make the corresponding blocks be identical.

Clone this wiki locally