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

65 376 0
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bùi Chí Tài 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 CẤU HÌNH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bùi Chí Tài 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 CẤU HÌNH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: ThS. Đào Kiến Quốc HÀ NỘI – 2009 TÓM TẮT NỘI DUNG Trong khóa luận tốt nghiệp này, chúng tôi tìm hiểu và nghiên cứu về hệ thống quản cấu hình phần mềm, mà nhiệm vụ quan trọng nhất là quản phiên bản. Hầu hết công cụ quản phiên bản hiện thời chỉ chú trọng hỗ trợ cho những nhà phát triển trong khi phát triển phần mềm nhằm kiểm soát mọi sự thay đổi của phần mềm do nhà phát triển tạo ra, mà chưa hỗ trợ vi ệc nâng cấp phần mềm tự động về phía khách hàng, rộng hơn là bảo trì phần mềm tự động. Vì vậy trong khóa luận này, chúng tôi sẽ đề xuất một giải pháp kết hợp việc nâng cấp tự động với hệ thống quản phiên bản. Dựa trên ý tưởng đó, chúng tôi đã tiến hành phân tích, thiết kế và cài đặt thử nghiệm chương trình mô phỏng kết hợp nâng cấp phần mề m với hệ thống quản phiên bản. i 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 cấu hình phần mềm - 1 - 1.3. Vai trò của quản cấu hình phần mềm - 1 - 1.4. Hoạt động quản cấu hình - 3 - 1.4.1. Các khái niệm cơ bản trong quản cấu hình - 3 - 1.4.2. Các hoạt động chính trong quản 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 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 phiên bản - 17 - 3.5.2. Gói quản mã nguồn - 21 - 3.5.3. Gói quản 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 phiên bản - 25 - 3.6.2. Gói quản mã nguồn - 28 - 3.6.3. Gói quản 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 PHIÊN BẢN 37 - 4.1. Biểu đồ tuần tự đối tượng - 37 - 4.1.1. Gói quản phiên bản - 37 - 4.1.2. Gói quản mã nguồn - 42 - 4.1.3. Gói quản 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ển khai - 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 - Mở đầu - 1 - CHƯƠNG 1 MỞ ĐẦU Chương này nhằm giới thiệu những khái niệm và hoạt động chung của việc “bảo trì phần mềm” và “hệ thống quản cấu hình”. 1.1. Khái niệm bảo trì phần mềm Bảo trì phần mềm (Software Maintenance) là việc chỉnh sửa một sản phẩm phần mềm sau khi đã chuyển giao để sửa lỗi, để cải tiến hiệu năng (performance) hoặc các thuộc tính khác, hoặc làm thích ứng sả n phẩm trên một môi trường bị thay đổi. [7] Trong bảo trì phần mềm chúng ta xem xét hoạt động nâng cấp phần mềm • Nâng cấp phần mềm: Là việc sử dụng hay triển khai (deploying) một phiên bản phần mềm mới để thay thế cho một phiên bản phần mềm khác (cũ hơn). Ví dụ: Nâng cấp phiên bản trình duyệt Firefox 3.0.4 lên Firefox 3.0.7 1.2. Khái niệm quản cấu hình phần mềm Quản cấu hình phần mềm (Software Configuration Management – SCM) là sự phát triển và áp dụng các chuẩ n và các thủ tục để quản sự phát triển của hệ thống sản phẩm. Quản cấu hình là hoạt động bao trùm trong suốt tiến trình phần mềm. Bởi vì những thay đổi có thể xảy ra vào bất cứ lúc nào, hoạt động quản cấu hình được phát triển để xác định thay đổi, kiểm soát thay đổi, đảm bảo rằng những thay đổi đó được thi hành một cách đúng đắn, và báo cáo những thay đổ i đó cho những người liên quan. [2] Theo chuẩn CMM và ISO 15504: Mục đích của Quản Cấu Hình là để thiết lập và bảo đảm tính toàn vẹn của các sản phẩm trung gian cũng như sản phẩm sau cùng của một dự án phần mềm, xuyên suốt chu kỳ sống của dự án phần mềm đó. 1.3. Vai trò của quản cấu hình phần mềm Tại sao lại phải quản cấu hình ? [3] Thực tiễn phát triển phần mềm chúng ta thường gặp những sự cố như: • Một lỗi nào đó của phần mềm đang xây dựng đã tốn công sửa chữa, bỗng nhiên xuất hiện trở lại. Mở đầu - 2 - • Một chức năng nào đó của phần mềm đã được phát triển và kiểm tra cẩn thận bỗng thất lạc hoặc biến mất một cách khó hiểu. • Một chương trình đã được kiểm tra cẩn thận bỗng nhiễn không chạy được nữa. • Một chương trình gồm nhiều đơn thể (module), mỗi đơn thể gồm nhiều chức năng, các chức năng được chia ra cho nhiều lập trình viên, mỗi chức năng bao gồm nhiều tập tin mã nguồn, với nhiều phiên bản khác nhau. Khi tích hợp hệ thống và biên dịch, trong hàng chục tập tin mã nguồn với hàng trăm phiên bản, tập tin nào, phiên bản nào là đúng và cần lấy để tiến hành tích hợp. Quản cấu hình tốt sẽ giải quyết được nhiều vấn đề có thể xảy ra: • Cập nhật đồng thời: Khi 2 hoặc nhiều lập trình viên làm việc cách biệt nhau nhưng trên cùng một chương trình hoặc dự án, những thay đổi mà người này thực hiện có thể phá vỡ kết quả làm việc của người khác. Ví dụ: Sản phẩm anh A làm ra sử dụng kết quả công việc củ a anh B, sản phẩm của anh B thay đổi dẫn đến sản phẩm của anh A không chạy được. • Chia sẻ mã nguồn: Trong các hệ thống lớn, khi các chức năng chung bị thay đổi, tất cả những người liên quan phải được biết. Không quản mã nguồn tốt thì không có cách nào đảm bảo tất cả những người liên quan đều được thông báo những thay đổi đó. • Vấn đề phiên bản phần mềm (release): H ầu hết các chương trình hoặc hệ thống lớn được phát triển với nhiều phiên bản từ thấp đến cao. Trong trường hợp một phiên bản khách đang dùng, phiên bản khác đang được kiểm tra (test), và một phiên bản khác nữa đang trong quá trình phát triển, khi có một lỗi xảy ra, việc sửa lỗi phải đồng bộ giữa ba phiên bản này, nếu quản mã Mở đầu - 3 - nguồn không tốt, vấn đề đồng bộ rất khó thực hiên được. Nếu lỗi do khách hàng phát hiện ra, lỗi đó phải được sửa trong tất cả các phiên bản về sau. Quản cấu hình được thực hiện xuyên suốt chu kỳ sống của dự án, từ lúc bắt đầu đến lúc kết thúc, thậm chí vẫn còn trong giai đoạn bảo trì sản phẩm sau dự án. 1.4. Hoạt động quản cấu hình 1.4.1. Các khái niệm cơ bản trong quản cấu hình • Hạng mục cấu hình (Configuration Item - CI): Là tên gọi của các sản phẩm, sản phẩm trung gian, một file hoặc một nhóm file, tài liệu hoặc một nhóm tài liệu trong dự án mà ta cần phải quản và kiểm soát. Ví dụ: một file mã nguồn, tài liệu về yêu cầu sản phẩm, bản thiết kế,… • Ranh giớ i (Baseline): Là một mốc trong quá trình phát triển phần mềm mà sau điểm mốc này thì mọi thay đổi phải được thông báo tới tất cả những người có liên quan. Ví dụ: Các thành phần của đặc tả thiết kế phải được viết thành tài liệu và được xem xét lại, các lỗi phải được tìm ra và sửa cho đúng. Một khi mà tất cả các phần của việc đặc tả đã được xem xét, sửa cho đúng và sau đó đượ c phê chuẩn thì bản đặc tả thiết kế trở thành một baseline. 1.4.2. Các hoạt động chính trong quản cấu hình Mở đầu - 4 - a. Lập kế hoạch quản cấu hình Thông thường việc lập kế hoạch quản cấu hình được thể hiện trong một tài liệu có tên là kế hoạch quản cấu hình (Configuration Management Plan – CMP). Bản kế hoạch này bao gồm các khoản sau: • Ý nghĩa, mục đích và phạm vi áp dụng của bản kế hoạch. • Vai trò và trách nhiệm của các nhóm, cá nhân trong dự án thực hiện các hoạt động khác nhau liên quan đến qu ản cấu hình. Định nghĩa rõ ràng ai thực hiện, ai tham gia xem xét (review), ai phê duyệt (approve) trên các hạng mục cấu hình (CI) của dự án, cũng như vai trò của khách hàng, người sử dụng đầu cuối. Ví dụ minh họa: Role Project Manager CM Responsible CM Librarian Tool Responsible Subsystem CCB Full System CCB Task 1 R S I Task 2 I R I C Task 3 I R A C R: Responsible;A:Approval;S:Support;I:Inform;C:Consult Mở đầu - 5 - • Công cụ, môi trường và cơ sở hạ tầng. Phần này mô tả các công cụ phần mềm hoặc quy trình thủ tục được sử dụng để hỗ trợ trong việc quản cấu hình, chẳng hạn công cụ quản phiên bản sản phẩm (version control). Mô tả vị trí các máy chủ, máy trạm, cấu hình hệ thống client- server,… • Phương pháp nhận diện (identification) và thiết lập các baseline trên các CI • Quy ước đặ t tên trong dự án, kể cả tên file. • Quy trình kiểm soát thay đổi (change control process). • Chỉ định thành viên nhóm kiểm soát cấu hình (Configuration Control Board –CCB). • Thông tin nơi lưu trữ các CI. • Kiểm kê và báo cáo cấu hình (configuration accounting and reporting) • Quy trình thủ tục lưu trữ và chép dự phòng (backup and archive) b. Định danh/đánh số các hạng mục cấu hình (Identification of Configuration Items) Định danh là một trong những hoạt động nền tảng của quản cấu hình. Mục đích của đị nh danh là để xác định tính duy nhất của một CI, cũng như mối quan hệ giữa nó với các CI khác. Nó bao gồm việc mô tả tên, đánh số, đánh dấu đặc trưng cho một CI, giúp nhận biết và phân biệt CI này với CI khác hay thành phần khác. Trong sản xuất phần mềm, một CI có thể bao gồm một hay nhiều file, ví dụ: một module ExpMod có thể coi là một CI, nó chứa 2 file khác nhau ExpMod.h và ExpMod.c Mỗi CI phải có một số định danh duy nhất, dạng th ường thấy là: <ProjectId>_<ItemId>_<Version> Ví dụ: PRJ0001_REQB_1.0.4_draft_B cho biết: Số ID của dự án: PRJ0001 Số ID của Item: REQB [...]... 5 sẽ là cài đặt hệ thống - 13 - 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 phiên bản 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 PHIÊN BẢN 3.1 Mục tiêu hệ thống Mục tiêu của hệ thống là mô phỏng hoạt động nâng cấp phần mềm kết hợp với một hệ thống quản phiên bản đơn giản 3.2 Các chức năng hệ thống R.1 Gói quản phiên bản R.1.1... phần mềm tự động kết hợp với hệ thống kiểm soát phiên bản 2.2 Đề xuất giải pháp Giải pháp đưa ra là xây dựng một công cụ vừa cho phép quản phiên bản phần mềm, vừa hỗ trợ xử hoạt động nâng cấp phần mềm tự động theo yêu cầu của người sử dụng Công cụ này cần phải lưu các phiên bản đã có, cũng như mối quan hệ giữa các phiên bản, các hoạt động diễn ra khi nâng cấp từ một phiên bản này tới một phiên... bản” - 26 - 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 phiên bản Luồng sự kiện “Sửa thông tin phiên bản” Hình 15 Biểu đồ tuần tự luồng sự kiện “Sửa thông tin phiên bản” Luồng sự kiện “Xem thông tin phiên bản” Hình 16 Biểu đồ tuần tự luồng sự kiện “Xem thông tin phiên bản” - 27 - 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 phiên bản Luồng sự... tuần tự hệ thống 3.6.1 Gói quản phiên bản Luồng sự kiện “Tạo phiên bản” Hình 12 Biểu đồ tuần tự luồng sự kiện “Tạo phiên bản” - 25 - 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 phiên bản Luồng sự kiện “Thiết lập quan hệ phiên bản” Hình 13 Biểu đồ tuần tự luồng sự kiện “Thiết lập quan hệ phiên bản” Luồng sự kiện “Gán mã nguồn cho phiên bản” Hình 14 Biểu đồ tuần tự luồng... quản cấu hình hiện thời mới chỉ kiểm soát phiên bản mã nguồn phục vụ trong quá trình phát triển phần mềm, mà chưa hỗ trợ kiểm soát phiên bản theo hướng “nâng cấp phần mềm từ phía người sử dụng Chẳng hạn: khách hàng đang dùng phần mềm, họ muốn thực hiện nâng cấp lên một phiên bản khác (mới hơn), điều gì sẽ xảy ra, và phải quản thế nào ? Vì vậy chúng tôi sẽ trình bày một giải pháp nâng cấp phần mềm. .. mô phỏng hoạt động nâng cấp tự động kết hợp với quản phiên bản Hình 08 Mô hình khái niệm hệ thống 3.3.1 Các khái niệm Khái niệm Mô tả Phienban Phiên bản của phần mềm Manguon Mã nguồn của phần mềm (file mã nguồn, file tài liệu,…) Phienban_Manguon Phiên bản phần mềm và mã nguồn phụ thuộc HanhdongChuyendoi Các hành động được thực hiện khi nâng cấp phiên bản (giữ nguyên, xóa, thêm, sửa một mã nguồn nào... thời gian nghiên cứu về lĩnh vực này không nhiều và kinh nghiệm còn hạn chế, nên chúng tôi mới chỉ xây dựng hệ thống mô phỏng hoạt động nâng cấp tự động kết hợp với quản phiên bản với các chức năng đã nêu mà bỏ qua nhiều chức năng khác của hệ thống quản phiên bản, và chưa xây dựng được một hệ thống client – server hoàn chỉnh Chương 3,4 sẽ trình bày phần phân tích và thiết kế hệ thống trên, chương... bản” Hình 17 Biểu đồ tuần tự luồng sự kiện “Xóa phiên bản” 3.6.2 Gói quản mã nguồn Luồng sự kiện “Tạo mã nguồn” Hình 18 Biểu đồ tuần tự luồng sự kiện “Tạo mã nguồn” - 28 - 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 phiên bản Luồng sự kiện “Sửa thông tin mã nguồn” Hình 19 Biểu đồ tuần tự luồng sự kiện “Sửa thông tin mã nguồn” Luồng sự kiện “Xem thông tin mã nguồn” Hình. .. Archive) - 10 - Mở đầu Lưu trữ và chép dự phòng là một hoạt động của quản cấu hình, đồng thời là một trong những hoạt động quan trọng của sản xuất phần mềm Nó giúp khắc phục các trường hợp rủi ro bị mất mát dữ liệu do thao tác sai, do virus, hoặc do sự cố phần cứng, phần mềm Ngoài ra, công việc này còn hỗ trợ cho hoạt động kiểm soát phiên bản trong trường hợp muốn sử dụng các phiên bản khác nhau Lưu trữ... đồ tuần tự luồng sự kiện “Xem thông tin mã nguồn” - 29 - 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 phiên bản Luồng sự kiện “Xóa mã nguồn” Hình 21 Biểu đồ tuần tự luồng sự kiện “Xóa mã nguồn” 3.6.3 Gói quản 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 22 Biểu đồ tuần tự luồng sự kiện “Lựa chọn phiên bản hiện dùng” - 30 - Phân tích hệ thống . NGHỆ Bùi Chí Tài 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 KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ. NGHỆ Bùi Chí Tài 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 KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ. hoạt động chung của việc bảo trì phần mềm và hệ thống quản lý cấu hình . 1.1. Khái niệm bảo trì phần mềm Bảo trì phần mềm (Software Maintenance) là việc chỉnh sửa một sản phẩm phần mềm

Ngày đăng: 27/06/2014, 23:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan