Luận văn, khóa luận, chuyên đề, tiểu luận, quản trị, khoa học, tự nhiên, kinh tế
KHOA CNTT – ĐH KHTN TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM HỒ NGUYỄN NGỌC PHƯƠNG – 0012076 TRIỆU NGỌC TOÀN – 0012105 QUẢN LÝ CẤU HÌNH PHẦN MỀM TẠI PHÒNG PHÁT TRIỂN PHẦN MỀM QUANG TRUNG – TRUNG TÂM TIN HỌC LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN TS. TRẦN ĐAN THƯ Th.S. NGUYỄN TRỌNG TÀI TP. HCM, 2004 KHOA CNTT – ĐH KHTN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN KHOA CNTT – ĐH KHTN NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN KHOA CNTT – ĐH KHTN Lời cám ơn Luận văn của chúng em sẽ rất khó hoàn thành nếu không có sự truyền đạt kiến thức quí báu và sự hướng dẫn tận tình của Thầy Trần Đan Thư và thầy Nguyễn Trọng Tài. Chúng em xin chân thành cám ơn sự chỉ bảo của các thầy. Chúng con xin gửi tất cả lòng biết ơn, sự kính trọng đến ông bà, cha mẹ, cùng toàn thể gia đình, những người đã nuôi dạy, đã cho chúng con niềm tin và nghị lực để vượt qua mọi khó khăn. Chúng em xin trân trọng cám ơn quý Thầy cô trong Khoa Công nghệ thông tin trường Đại học Khoa học Tự nhiên Tp.Hồ Chí Minh đã tận tình giảng dạy, truyền đạt những kiến thức quý báu và tạo điều kiện cho chúng em được thực hiện luận văn này. Xin chân thành cám ơn sự giúp đỡ, động viên và chỉ bảo rất nhiệt tình của các anh chị đi trước và tất cả bạn bè. Các anh chị, các bạn luôn có mặt trong những thời điểm khó khăn nhất, tiếp thêm động lực và ý chí, giúp chúng tôi hoàn thành được luận văn. Mặc dù đã cố gắng nỗ lực hết sức mình, song chắc chắn luận văn không khỏi còn nhiều thiếu sót. Chúng em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý Thầy cô và các bạn. Tp.HCM, 7/2004 Nhóm sinh viên thực hiện Hồ Nguyễn Ngọc Phương – Triệu Ngọc Toàn KHOA CNTT – ĐH KHTN Lời nói đầu Hiện nay, công nghệ thông tin được xem là một trong những ngành công nghệ mũi nhọn được nhà nước ta ưu tiên phát triển đặc biệt là lĩnh vực công nghệ phần mềm. Tuy nhiên, lĩnh vực công nghệ phần mềm của nước ta vẫn còn khá non trẻ so với nền công nghệ phần mềm của thế giới. Nên trong giai đọan hiện nay, các công ty phần mềm thường gặp rất nhiều khó khăn liên quan đến qui trình phát triển phần mềm. Quản lý cấu hình phần mềm vốn là một vấn đề rất được quan tâm trong qui trình sản xuất phần mềm. Hiện nay, qui trình quản lý cấu hình phần mềm tại phòng phát triển phần mềm trực thuộc trung tâm tin học trường Đại Học Khoa Học Tự Nhiên Tp. Hồ Chí Minh vẫn chưa được hoàn chỉnh. Do đó, việc hoàn thiện một hệ thống quản lý cấu hình ở đây là cần thiết cho quá trình sản xuất phần mềm hiện tại được thuận tiện hơn và chuẩn bị cho việc thực các đề án phần mềm lớn sau này đạt hiệu qủa cao. Từ nhu cầu nói trên, chúng em đã tiến hành thực hiện đề tài “Quản lý cấu hình phần mềm tại phòng phát triển phần mềm Quang Trung – Trung tâm tin học”. Nhằm mục đích cùng với phòng phát triển phần mềm thiết lập một hệ thống quản lý cấu hình tốt có thể áp dụng vào quá trình sản xuất phần mềm của trung tâm. Nội dung của luận văn được chia làm 7 chương Chương 1: Mở đầu Chương 2: Tổng quan về quản lý cấu hình phần mềm Chương 3: Quản lý cấu hình phần mềm trong CMM & CMMI Chương 4: Các vấn đề thường gặp trong quản lý cấu hình phần mềm và giải pháp Chương 5: Các công cụ hỗ trợ quản lý cấu hình phần mềm Chương 6: Ứng dụng Software Version Management Chương 7: Tổng kết KHOA CNTT – ĐH KHTN Mục Lục Chương 1 Mở đầu 1 1.1 Quản lý cấu hình phần mềm trên thế giới và ở Việt Nam .1 1.2 Các công cụ hỗ trợ quản lý cấu hình hiện tại .2 1.3 Mục tiêu đề tài 2 Chương 2 Tổng quan về quản lý cấu hình phần mềm .4 2.1 Khái niệm .4 2.2 Nguồn gốc hình thành của quản lý cấu hình 5 2.3 Phạm vi và nhiệm vụ của quản lý cấu hình .6 2.3.1 Mức độ mong muốn và việc phân tích chi phí và lợi nhuận 6 2.3.2 Ví dụ 8 2.3.3 Cân nhắc lợi hại 12 2.3.4 Những bẫy kết hợp với phạm vi .16 2.3.5 Cách xứ lý các thứ khác ở bên ngoài 16 2.4 Các vai trò trong quản lý cấu hình phần mềm .17 2.4.1 Con người và quản lý cấu hình .17 2.4.2 Các vai trò trong quản lý cấu hình 18 2.4.3 Các vai trò trong tổ chức .23 2.4.4 Các vai trò liên quan đến đề án .28 2.4.5 Các vai trò bên ngoài 35 2.5 Dữ liệu cho quản lý cấu hình .36 2.5.1 Cái gì được đưa vào quản lý cấu hình 36 2.5.2 Những điều cần biết về một thành phần cấu hình .44 2.6 Hệ thống quản lý cấu hình phần mềm .53 2.6.1 Khái niệm: .53 2.6.2 Mục tiêu 54 2.6.3 Lợi ích .54 2.6.4 Các tiến trình con trong quản lý cấu hình phần mềm .54 Chương 3 Quản lý cấu hình phần mềm trong CMM & CMMI .56 KHOA CNTT – ĐH KHTN 3.1 Mô hình trưởng thành 56 3.2 CMM version 1.1 .56 3.2.1 Mức độ trưởng thành của CMM Version 1.1 .56 3.2.2 Quản lý cấu hình phần mềm trong CMM version 1.1 57 3.3 Quản lý cấu hình trong CMMI .59 3.3.1 Các mức trưởng thành của CMMI 59 3.3.2 Quản lý cấu hình trong CMMI .60 Chương 4 Vấn đề định danh, quản lý phiên bản và các giải pháp .76 4.1 Đặt tên các đối tượng cấu hình 76 4.1.1 Đặt tên phân cấp dựa theo cấu trúc cây. .76 4.1.2 Đặt tên phân cấp dựa theo phương pháp tiền tố và hậu tố 77 4.1.3 Nhận xét chung .79 4.2 Xác định và định danh phiên bản .79 4.2.1 Sơ đồ tuyến tính 80 4.2.2 Sơ đồ định danh theo mạng. .80 4.2.3 Sơ đồ định danh theo tên .81 Chương 5 Các công cụ hỗ trợ quản lý cấu hình .82 5.1 Tóm tắt .82 5.2 Tính năng chung của Surround SCM và CVS .82 5.3 Surround SCM .82 5.3.1 Mục đích .82 5.3.2 Cấu trúc của chương trình .83 5.4 CVS và CVSNT .84 5.4.1 Mục đích .84 5.4.2 Cấu trúc của CVSNT 84 Chương 6 Ứng dụng minh họa “System Version Management” 86 6.1 Phân tích hiện trạng phát triển phần mềm tại T3H 86 6.2 Đặc tả yêu cầu của hệ thống mới .95 6.3 Mô hình UseCase .99 KHOA CNTT – ĐH KHTN 6.4 Đặc tả usecase 99 6.4.1 Đặc tả UseCase : Đăng Nhập (Login) 99 6.4.2 Đặc tả UseCase : Thêm/xoá kho chứa 101 6.4.3 Đặc tả UseCase : Thêm/xoá đề án 102 6.4.4 Đặc tả UseCase : Cập nhật cấu trúc đề án 104 6.4.5 Đặc tả UseCase : Cập nhật cây phân hệ, chức năng .106 6.4.6 Đặc tả UseCase : Tạo release 108 6.4.7 Đặc tả UseCase : Gán nhãn cho các thực thể .109 6.4.8 Đặc tả UseCase : Phân quyền .110 6.4.9 Đặc tả UseCase : Thiết lập ảnh hưởng giữa các versionfile .112 6.4.10 Đặc tả UseCase : Xem lịch sử phiên bản của thực thể 113 6.4.11 Đặc tả UseCase : Thực hiện check in 114 6.4.12 Đặc tả UseCase : Thực hiện check out 115 6.4.13 Đặc tả UseCase : Get .116 6.5 Thiết kế 118 6.5.1 Kiến trúc hệ thống .118 6.5.2 Giao diện .118 6.5.3 Mô hình lớp đối tượng 123 6.5.4 Mô hình dữ liệu .144 6.6 Mô hình thiết kế .157 6.6.1 Đăng nhập .157 6.6.2 Thêm kho chứa 158 6.6.3 Thêm đề án 158 6.6.4 Xem Cấu trúc của project .159 6.6.5 Xem kiến trúc của đề án 159 6.6.6 Check out 160 6.6.7 Check in 161 6.6.8 Gán nhãn cho Item 162 6.6.9 Thiết lập quan hệ giữa hai versionfile .163 KHOA CNTT – ĐH KHTN 6.6.10 Xem lịch sử của Item 164 Chương 7 Tổng kết 165 7.1 Tự đánh giá 165 7.2 Hướng phát triển 165 KHOA CNTT – ĐH KHTN Trang i Danh sách hình Hình 2-1 Cây cấu hình phần mềm 5 Hình 2-2 Tổng chi phí của quản lý cấu hình .8 Hình 2-3 Nhiều ban quản lý cấu hình .20 Hình 2-4 Khách hàng, người ký hợp đồng, các hợp đồng phụ .35 Hình 2-5 Sơ đồ phân cấp các thực thể cấu hình 36 Hình 2-6 Đặc tả yêu cầu của một delivery 41 Hình 2-7 Mối quan hệ về phần cứng của delivery 42 Hình 2-8 Tổng quan về siêu dữ liệu 45 Hình 2-9 Siêu dữ liệu nhận biết sự duy nhất .46 Hình 2-10 Siêu dữ liệu cho việc phân trách nhiệm .50 Hình 2-11 Siêu dữ liệu chỉ mối quan hệ đến các thực thể cấu hình khác .51 Hình 2-12 Ví dụ của việc theo vết 52 Hình 2-13 Sơ đồ các tiến trình con trong quản lý cấu hình 55 Hình 3-1 các mức trưởng thành của CMMI 59 Hình 4-1 Cây phân cấp đặt tên 77 Hình 4-2 Sơ đồ định danh theo mạng .81 Hình 6-1 Qui trình phát triển phần mềm của T3H 87 Hình 6-2 Sơ đồ phân cấp vai trò của nhân viên trong hệ thống 92 Hình 6-3 Cây phân cấp theo cấu trúc 93 Hình 6-4 Cây phân cấp theo phân hệ / kiến trúc .93 Hình 6-5 Sơ đồ hoạt động của hệ thống hiện tại .95 Hình 6-6 Kiến trúc về phần cứng hệ thống .118 Hình 6-7 Màn hình chính 119 Hình 6-8 Màn hình thiết lập mối quan hệ giữa các tập tin 120 Hình 6-9 Màn hình thiết lập kiến trúc từ cấu trúc .121 Hình 6-10 Màn hình xem thông tin của project, kho chứa, thư mục 121 Hình 6-11 Màn hình xem thông tin của tập tin và phiên bản của nó .122 . NGỌC TOÀN – 0012105 QUẢN LÝ CẤU HÌNH PHẦN MỀM TẠI PHÒNG PHÁT TRIỂN PHẦN MỀM QUANG TRUNG – TRUNG TÂM TIN HỌC LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO. qui trình quản lý cấu hình phần mềm tại phòng phát triển phần mềm trực thuộc trung tâm tin học trường Đại Học Khoa Học Tự Nhiên Tp.