Sau đây là một bài toán đơn giản được sử dụng để thử nghiệm cho quá trình tái kỹ nghệ. Đây là một chương trình sổ địa chỉ “Sổ địa chỉ”. Chương trình “Sổ địa chỉ” là một chương trình được viết bằng ngôn ngữ Java. Đây là một chương trình giúp cho người dùng có thể lưu trữ các thông tin cá nhân của người thân, bạn bè, đồng nghiệp v.v… giúp họ có thể dễ dàng quản lý danh sách các địa chỉ cá nhân của mình. Với việc sử dụng chương trình, ta có thể lưu trữ các thông tin về tên, số điện thoại, email, địa chỉ v.v…
Chương trình có các chức năng chính sau: − Thêm mới một địa chỉ
− Sửa một địa chỉ đã có − Xóa một địa chỉ đã có
− Lưu địa chỉ vừa được thêm mới hoặc vừa được chỉnh sửa Giao diện chính của chương trình như hình:
Hình 2-01: Giao diện chương trình “Sổ địa chỉ”
Khi click chọn button “New” chương trình sẽ cho phép điền thông tin vào các textbox. Sau khi thực hiện điền đầy đủ thông tin chúng ta lưu dữ liệu lại bằng cách chọn button “Save”. Và tất cả các thông tin này được lưu trữ trong cơ sở dữ liệu của
được đưa vào một cách dễ dàng bằng cách bấm chọn các button “Edit”, “Delete” để thực hiện các thao tác trên.
Khung cửa sổ chính của chương trình AddressBook là lớp AddressFrame được mở rộng từ lớp JFrame. AddressFrame là một container cho các thành phần đồ họa khác và nó cũng hoạt động như là một bộ điều khiển bằng cách xử lý các sự kiện khác nhau được tạo ra bởi các thành phần con. Các thành phần con ở đây là các lớp con JPanel mà mỗi một lớp có một nhiệm vụ khác nhau:
− AddressPanel đại diện cho một bản ghi địa chỉ. Nó cung cấp giao diện cho việc chỉnh sửa một bản ghi hiện thời và tạo một bản ghi mới. Lớp này chứa trường text cho tất cả các thông tin của đối tượng Address.
− AddressActionPanel cung cấp các button cho tất cả các ca sử dụng mà ứng dụng hỗ trợ. Trong AddressActionPanel tạo ra các sự kiện mà AddressFrame phải xử lý. Ví dụ khi người dùng ấn nút Save, lớp này sẽ tạo ra một sự kiện. AddressFrame phải lắng nghe và xử lý tất cả các sự kiện quan trọng đến từ lớp này.
− AddressListPanel là nơi hiển thị các địa chỉ được thêm vào từ lớp AddressFrame. Danh sách này có kiểu đối tượng ListEntry. Một ListEntry sẽ chứa định danh duy nhất của một bản ghi trong cơ sở dữ liệu. Từ định danh (ID) của bản ghi sẽ cho phép ứng dụng lấy toàn bộ nội dung của bản ghi vào trong AddressPanel.
− AddressDao. Việc kết nối và tạo ra cơ sở dữ liệu của chương trình sẽ được xử lý trong lớp AddressDao. Vì vậy, mọi quá trình tái kỹ nghệ dữ liệu sẽ được thực hiện sửa đổi thông qua lớp này.