Gói quản lý nâng cấp phiên bản 30

Một phần của tài liệu LUẬN VĂ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ỐNGQUẢN LÝ CẤU HÌNH doc (Trang 35 - 65)

Luồng sự kiện “Lựa chọn phiên bản hiện dùng”

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 Luồng sự kiện “Kiểm tra update”

Hình 23. Biểu đồ tuần tự luồng sự kiện “Kiểm tra update” 3.7. Hợp đồng cho các thao tác hệ thống

Op1. Tạo phiên bản

Tên Tạo phiên bản

Trách nhiệm Tạo một phiên bản mới của phần mềm Tham chiếu Uc1

Ngoại lệ Trùng với phiên bản đã có, hoặc người dùng nhập sai thông tin

Đầu ra Thông báo phiên bản có được tạo hay không

Tiền điều kiện

Hậu điều kiện Phiên bản mới phải có ngày release sau ngày các phiên bản trước

Op2. Thiết lập quan hệ phiên bản

Tên Thiết lập quan hệ phiên bản

Trách nhiệm Thiết lập quan hệ giữa các phiên bản được chọn với nhau, phiên bản nào phát triển từ phiên bản nào

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 Tham chiếu Uc2

Ngoại lệ

Đầu ra Thông báo mối quan hệ được thiết lập hay

không

Tiền điều kiện

Hậu điều kiện Phiên bản được phát triển từ phiên bản khác phải là phiên bản được tạo muộn hơn

Op3. Gán mã nguồn cho phiên bản

Tên Gán mã nguồn cho phiên bản

Trách nhiệm Bổ sung hoặc loại bỏ các mã nguồn có trong 1 phiên bản cụ thể

Tham chiếu Uc3 Ngoại lệ

Đầu ra Thông báo các mã nguồn đã được gán tới phiên

bản

Tiền điều kiện

Hậu điều kiện Mã nguồn được tạo ra sau, không được phép gán tới phiên bản trước đó

Op4. Sửa thông tin phiên bản

Tên Sửa thông tin phiên bản

Trách nhiệm Sửa đổi thông tin của phiên bản và cập nhật vào cơ sở dữ liệu

Tham chiếu Uc4 (adsbygoogle = window.adsbygoogle || []).push({});

Ngoại lệ Người dùng nhập không đầy đủ hoặc sai thông tin

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 Tiền điều kiện

Hậu điều kiện Ngày release không được sớm hơn ngày tạo các mã nguồn của nó, và phải thỏa mãn trong mối quan hệ với các phiên bản khác

Op5. Xem thông tin phiên bản

Tên Xem thông tin phiên bản

Trách nhiệm Xem thông tin chi tiết của một phiên bản Tham chiếu Uc5

Ngoại lệ

Đầu ra Hiển thị thông tin phiên bản

Tiền điều kiện Hậu điều kiện

Op6. Xóa phiên bản

Tên Xóa phiên bản

Trách nhiệm Xóa phiên bản khỏi hệ thống và cơ sở dữ liệu Tham chiếu Uc6

Ngoại lệ Không được phép xóa, nếu có phiên bản được phát triển từ phiên bản này

Đầu ra Thông báo phiên bản có được xóa hay không

Tiền điều kiện Hậu điều kiện

Op7. Tạo mã nguồn

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 Tham chiếu Uc7

Ngoại lệ Người dùng nhập không đầy đủ hoặc sai thông tin, hoặc là trùng tên mã nguồn khác có trong cơ sở dữ liệu

Đầu ra Thông báo mã nguồn có được tạo hay không

Tiền điều kiện Hậu điều kiện

Op8. Sửa thông tin mã nguồn

Tên Sửa thông tin mã nguồn

Trách nhiệm Sửa thông tin của mã nguồn và lưu lại vào cơ sở dữ liệu

Tham chiếu Uc8

Ngoại lệ Người dùng nhập không đầy đủ hoặc sai thông tin

Đầu ra Thông báo thông tin mã nguồn đã được thay đổi

Tiền điều kiện

Hậu điều kiện Ngày tạo mã nguồn không được muộn hơn ngày release của các phiên bản mà mã nguồn phụ thuộc

Op9. Xem thông tin mã nguồn

Tên Xem thông tin mã nguồn (adsbygoogle = window.adsbygoogle || []).push({});

Trách nhiệm Xem thông tin chi tiết về mã nguồn Tham chiếu Uc9

Ngoại lệ

Đầu ra Hiển thị thông tin mã nguồn

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 Hậu điều kiện

Op10. Xóa mã nguồn

Tên Xóa mã nguồn

Trách nhiệm Xóa mã nguồn khỏi cơ sở dữ liệu Tham chiếu Uc10

Ngoại lệ Mã nguồn không thể bị xóa, do nó đang có trong một phiên bản nào đó

Đầu ra Thông báo mã nguồn có được xóa hay không

Tiền điều kiện Hậu điều kiện

Op11. Lựa chọn phiên bản hiện dùng

Tên Lựa chọn phiên bản hiện dùng

Trách nhiệm Chọn một trong số các phiên bản làm phiên bản hiện tại của hệ 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

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

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 4.1.1. Gói quản lý phiên bản

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 Luồng sự kiện “Thiết lập quan hệ phiên bản” (adsbygoogle = window.adsbygoogle || []).push({});

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

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

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”

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

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

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

4.2. Biểu đồ lớp

Cài đặt thử nghiệm

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 (adsbygoogle = window.adsbygoogle || []).push({});

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

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

Cài đặt thử nghiệm

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

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

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

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” (adsbygoogle = window.adsbygoogle || []).push({});

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”

Cài đặt thử nghiệm

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

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”

Cài đặt thử nghiệm

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

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.

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.

http://www.fpt.edu.vn/chitiet.php?id=129

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

http://en.wikipedia.org/wiki/Software_maintenance http://en.wikipedia.org/wiki/Revision_control (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu LUẬN VĂ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ỐNGQUẢN LÝ CẤU HÌNH doc (Trang 35 - 65)