Khóa luận Nghiên cứu một giải pháp bảo trì phần mềm tự động kết hợp với hệ thống quản lý cấu hình
MỤC LỤC
CHƯƠNG 1 MỞ ĐẦU. -1 -1.1. Khái niệm bảo trì phần mềm .-1 -1.2. Khái niệm quản lý cấu hình phần mềm .-1 -1.3. Vai trò của quản lý cấuhình phần mềm.-1 -1.4. Hoạt động quản lý cấu hình .-3 -1.4.1. Các khái niệm cơ bản trong quản lý cấu hình . -3 -1.4.2. Các hoạt động chính trong quản lý cấu hình .-3 -CHƯƠNG 2 THỰC TRẠNG VÀ GIẢI PHÁP. -12 -2.1. Thực trạng . -12 -2.2. Đề xuất giải pháp . -13 -CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG MÔ PHỎNG HOẠT ĐỘNG NÂNG
CẤP TỰ ĐỘNG KẾT HỢP VỚI QUẢN LÝ PHIÊN BẢN . -14 -3.1. Mục tiêu hệ thống . -14 -3.2. Các chức năng hệ thống . -14 -3.3. Mô hình khái niệm . -14 -3.3.1. Các khái niệm . -15 -3.4. Xác định các tác nhân, ca sử dụng và mô tả ca sử dụng . -15 -3.4.1. Xác định các tác nhân . -15 -3.4.2. Xác định các ca sử dụng (Use Case) . -16 -3.5. Biểu đồ sử dụng theo gói và mô tả ca sử dụng của hệ thống. -17 -3.5.1. Gói quản lý phiên bản . -17 -3.5.2. Gói quản lý mã nguồn. -21 -3.5.3. Gói quản lý nâng cấp phiên bản . -23 -3.6. Biểu đồ tuần tự hệ thống . -25 -3.6.1. Gói quản lý phiên bản . -25 -3.6.2. Gói quản lý mã nguồn. -28 -3.6.3. Gói quản lý nâng cấp phiên bản . -30 -3.7. Hợp đồng cho các thao tác hệ thống . -31 -CHƯƠNG 4 THIẾT KẾ HỆ THỐNG MÔ PHỎNG HOẠT ĐỘNG NÂNG CẤP
KẾT HỢP VỚI QUẢN LÝ PHIÊN BẢN . -37 -4.1. Biểu đồ tuần tự đối tượng . -37 -4.1.1. Gói quản lý phiên bản . -37 -4.1.2. Gói quản lý mã nguồn. -42 -4.1.3. Gói quản lý nâng cấp phiên bản . -45 -4.2. Biểu đồ lớp . -47 -CHƯƠNG 5 CÀI ĐẶT THỬ NGHIỆM . -48 -
ii
5.1. Môi trường triển khai. -48 -5.2. Phương pháp triểnkhai . -48 -5.3. Kết quả triển khai . -49 -CHƯƠNG 6 KẾT LUẬN. -58 -TÀI LIỆU THAM KHẢO . -59 -
thống Tham chiếu Uc11 Ngoại lệ Đầu ra Thông báo phiên bản hiện dùng Tiền điều kiện Hậu điều kiện Op12. Kiểm tra update Tên Kiểm tra update Trách nhiệm Kiểm tra xem có phiên bản mới không để nâng cấp Tham chiếu Uc12 Phân tích hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 36 - Ngoại lệ Không có phiên bản mới Đầu ra Hiển thị tiến trình nâng cấp Tiền điều kiện Hậu điều kiện Thay đổi phiên bản hiện dùng thành phiên bản vừa nâng cấp Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 37 - CHƯƠNG 4 THIẾT KẾ HỆ THỐNG MÔ PHỎNG HOẠT ĐỘNG NÂNG CẤP KẾT HỢP VỚI QUẢN LÝ PHIÊN BẢN 4.1. Biểu đồ tuần tự đối tượng 4.1.1. Gói quản lý phiên bản Luồng sự kiện “Tạo phiên bản” Hình 24. Biểu đồ tuần tự đối tượng luồng sự kiện “Tạo phiên bản” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 38 - Luồng sự kiện “Thiết lập quan hệ phiên bản” Hình 25. Biểu đồ tuần tự đối tượng luồng sự kiện “Thiết lập quan hệ phiên bản” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 39 - Luồng sự kiện “Gán mã nguồn cho phiên bản” Hình 26. Biểu đồ tuần tự đối tượng luồng sự kiện “Gán mã nguồn cho phiên bản” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 40 - Luồng sự kiện “Sửa thông tin phiên bản” Hình 27. Biểu đồ tuần tự đối tượng luồng sự kiện “Sửa thông tin phiên bản” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 41 - Luồng sự kiện “Xem thông tin phiên bản” Hình 28. Biểu đồ tuần tự đối tượng luồng sự kiện “Xem thông tin phiên bản” Luồng sự kiện “Xóa phiên bản” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 42 - Hình 29. Biểu đồ tuần tự đối tượng luồng sự kiện “Xóa phiên bản” 4.1.2. Gói quản lý mã nguồn Luồng sự kiện “Tạo mã nguồn” Hình 30. Biểu đồ tuần tự đối tượng luồng sự kiện “Tạo mã nguồn” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 43 - Luồng sự kiện “Sửa thông tin mã nguồn” Hình 31. Biểu đồ tuần tự đối tượng luồng sự kiện “Sửa thông tin mã nguồn” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 44 - Luồng sự kiện “Xem thông tin mã nguồn” Hình 32. Biểu đồ tuần tự đối tượng luồng sự kiện “Xem thông tin mã nguồn” Luồng sự kiện “Xóa mã nguồn” Hình 33. Biểu đồ tuần tự đối tượng luồng sự kiện “Xóa mã nguồn” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 45 - 4.1.3. Gói quản lý nâng cấp phiên bản Luồng sự kiện “Lựa chọn phiên bản hiện dùng” Hình 34. Biểu đồ tuần tự đối tượng luồng sự kiện “Lựa chọn phiên bản hiện dùng” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 46 - Luồng sự kiện “Kiểm tra update” Hình 35. Biểu đồ tuần tự đối tượng luồng sự kiện “Kiểm tra update” Thiết kế hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản lý phiên bản - 47 - 4.2. Biểu đồ lớp Hình 36. Biểu đồ lớp Cài đặt thử nghiệm - 48 - CHƯƠNG 5 CÀI ĐẶT THỬ NGHIỆM 5.1. Môi trường triển khai Môi trường triển khai: Netbeans 6.0.1, sử dụng JDK1.5.0_15 ( bộ công cụ phát triển Java) Ngôn ngữ sử dụng: Java Hệ quản trị cơ sở dữ liệu: MySQL Lý do lựa chọn: Ngôn ngữ Java hiện nay được sử dụng ngày càng nhiều bởi đây là một ngôn ngữ hướng đối tượng, linh hoạt, rất mạnh. Netbeans là một công cụ hỗ trợ rất nhiều cho người phát triển Java đặc biệt là khả năng kéo thả, và ngoài ra đây là phần mềm hoàn toàn miễn phí MySQL là hệ quản trị cơ sở dữ liệu dễ sử dụng, lưu trữ nhanh, hỗ trợ tiếng Việt khi được kết nối từ ứng dụng Java, và miễn phí. 5.2. Phương pháp triển khai Hệ thống được xây dựng dựa vào một tiến trình tiến hóa phiên bản phần mềm giả định sẵn: Hệ thống quản lý phòng khám có các phiên bản khác nhau, xuất phát từ phiên bản 1.0, trình tự phiên bản được mô tả như hình vẽ, mỗi phiên bản có nhiều mã nguồn, giữa các phiên bản có quan hệ với nhau có các hoạt động xảy ra được thực hiện trong khi nâng cấp phần mềm: Cài đặt thử nghiệm - 49 - Hình 37. Sơ đồ tiến hóa của phiên bản phần mềm 5.3. Kết quả triển khai Hệ thống mô phỏng tiến trình nâng cấp phần mềm, cho phép quản lý các phiên bản (tạo mới, sửa, xem, xóa), quản lý các mã nguồn, gán mã nguồn cho phiên bản, thiết lập quan hệ giữa các phiên bản, mô phỏng tiến trình nâng cấp phiên bản,… Dưới đây là một số giao diện của hệ thống: 1. Giao diện chính Giao diện chính chương trình là một Frame có Menu chính gồm các chức năng, và một cây thư mục liệt kê các phiên bản và mã nguồn có trong hệ thống. Menu chức năng gồm có các mục: quản lý phiên bản, quản lý mã nguồn, quản lý nâng cấp, và mục Trợ giúp (đơn giản chỉ giới thiệu về tác giả) Ver1.0 Ver1.0.1 Ver1.1 Ver2.0 Ver1.1.1 Ver1.1.2 Ver1.1.3 Ver2.0.1 Ver2.0.2 Ver2.2 Ver1.0.2 Ver2.1 Cài đặt thử nghiệm - 50 - Hình 38. Giao diện chính 2. Giao diện “Tạo phiên bản” Giao diện này hiện ra khi người dùng chọn chức năng “Tạo phiên bản” trong mục Phiên Bản trên menu chính. Cài đặt thử nghiệm - 51 - Hình 39. Giao diện “Tạo phiên bản” 3. Giao diện “Thiết lập quan hệ phiên bản” Giao diện này hiện ra khi người dùng chọn chức năng “Thiết lập quan hệ phiên bản” trong mục Phiên Bản trên menu chính. Nhằm xác định phiên bản nào được phát triển từ phiên bản nào. Cài đặt thử nghiệm - 52 - Hình 40. Giao diện “Thiết lập quan hệ phiên bản” 4. Giao diện “Gán mã nguồn cho phiên bản” Người dùng chọn phiên bản từ cây thư mục, sau đó chọn chức năng “Gán mã nguồn cho phiên bản”, hộp thoại sau sẽ hiện ra cho phép người dùng gán hoặc loại bỏ mã nguồn khỏi phiên bản. Hình 41. Giao diện “Gán mã nguồn cho phiên bản” 5. Giao diện “Sửa thông tin phiên bản” Người dùng chọn phiên bản cần sửa, rồi chọn chức năng “sửa thông tin phiên bản” trong mục Phiên Bản trên menu chính Cài đặt thử nghiệm - 53 - Hình 42. Giao diện “Sửa thông tin phiên bản” 6. Giao diện “Xem thông tin phiên bản” Người dùng chọn phiên bản trong cây thư mục và chọn chức năng “xem thông tin phiên bản” Hình 43. Giao diện “Xem thông tin phiên bản” Cài đặt thử nghiệm - 54 - 7. Giao diện “Tạo mã nguồn” Giao diện này hiện ra khi người dùng chọn chức năng “Tạo mã nguồn” trong mục Mã Nguồn trên menu chính. Hình 44. Giao diện “Tạo mã nguồn” 8. Giao diện “Sửa mã nguồn” Người dùng chọn mã nguồn cần sửa, rồi chọn chức năng “sửa thông tin mã nguồn” trong mục Mã Nguồn trên menu chính Cài đặt thử nghiệm - 55 - Hình 45. Giao diện “Sửa mã nguồn” 9. Giao diện “Xem thông tin mã nguồn” Người dùng chọn mã nguồn trong cây thư mục và chọn chức năng “xem thông tin mã nguồn” Hình 46. Giao diện “Xem thông tin mã nguồn” Cài đặt thử nghiệm - 56 - 10. Giao diện “Lựa chọn phiên bản hiện dùng” Chức năng này cho phép người dùng chọn trong 1 trong các phiên bản sẵn có làm phiên bản hiện tại của phần mềm để thực hiện mô phỏng nâng cấp phiên bản Hình 47. Giao diện “Lựa chọn phiên bản hiện dùng” 11. Giao diện “Kiểm tra update” Hệ thống sẽ kiểm tra những phiên bản mới hơn phiên bản hiện tại, cho phép người dùng lựa chọn để tiến hành nâng cấp. Sau khi người dùng nhấn nút nâng cấp, tiến trình nâng cấp sẽ hiện ra. Cài đặt thử nghiệm - 57 - Hình 48. Giao diện “Kiểm tra update” - 58 - CHƯƠNG 6 KẾT LUẬN Sau khi làm và hoàn thành luận văn, chúng tôi đã đạt được những kết quả sau: Chúng tôi đã tìm hiểu và nghiên cứu về quản lý cấu hình phần mềm, trong đó có nhiệm vụ quan trọng là quản lý phiên bản, xem xét khả năng hỗ trợ của các công cụ quản lý phiên bản hiện tại (như Subversion, CVS), các công cụ này chỉ hỗ trợ quản lý phiên bản phần mềm trong quá trình phát triển phần mềm cho phép nhiều nhà phát triển có thể làm việc với nhau tại một thời điểm, mà chưa kiểm soát quá trình nâng cấp phần mềm từ phía khách hàng, từ đó chúng tôi nảy ra ý tưởng kết hợp nâng cấp phần mềm tự động với hệ thống quản lý phiên bản. Chúng tôi tiến hành phân tích và thiết kế bài toán dựa trên ý tưởng đó, và viết được chương trình mô phỏng việc kết hợp nâng cấp phần mềm với quản lý phiên bản. Chương trình có các chức năng chính: quản lý phiên bản, quản lý mã nguồn, quản lý nâng cấp. Tuy vậy, do thời gian hạn chế và thiếu kinh nghiệm nên chúng tôi mới chỉ mô phỏng hệ thống một cách đơn giản, còn thiếu nhiều chức năng của một hệ thống quản lý phiên bản đầy đủ như là: quản lý hạng mục cấu hình, quản lý thành viên, quản lý lịch sử thay đổi,…. Và chúng tôi cũng chưa xây dựng được một hệ thống client – server hoàn chỉnh, sau này khi có điều kiện chúng tôi sẽ tiếp tục nghiên cứu và phát triển để giải pháp chúng tôi đã đề ra khả thi trong thực tế. Cuối cùng chúng tôi xin chân thành cảm ơn quý thầy cô trong trường Đại Học Công Nghệ đã tạo điều kiện cho chúng tôi hoàn thành khóa luận, và đặc biệt là giảng viên Thạc sĩ Đào Kiến Quốc, người đã nhiệt tình hướng dẫn và góp ý cho chúng tôi, đồng thời xin cảm ơn các bạn đã giúp đỡ chúng tôi rất nhiều trong suốt quá trình làm khóa luận. Vì thời gian hạn chế và thiếu kinh nghiệm nên khóa luận không tránh khỏi sai sót, chúng tôi rất mong nhận được sự góp ý của thầy cô và các bạn. - 59 - TÀI LIỆU THAM KHẢO [1] Nguyễn Thị Hoa. Hệ thống quản lý phiên bản phần mềm. Luận văn tốt nghiệp ngành công nghệ thông tin – Đại học Công Nghệ, 2008 [2] ThS Đào Kiến Quốc. Bài giảng Quản lý cấu hình. Khoa Công nghệ Thông tin – Đại Học Công Nghệ. [3] Ngô Văn Toàn. Giới thiệu về quản lý cấu hình phần mềm. [4] Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilat. Version Control with Subversion [5] Marcin Solarski. Dynamic Upgrade of Distributed Software Components, January – 2004, tr. 19-31 [6] Mika Karlstedt. Dynamic upgrade of software [7] Wikipedia. - 65 -
File đính kèm:
- Khóa luận Nghiên cứu một giải pháp bảo trì phần mềm tự động kết hợp với hệ thống quản lý cấu hình.pdf