TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
K
H
TN
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
H
QUẢN LÝ CẤU HÌNH PHẦN MỀM
Đ
TẠI PHÒNG PHÁT TRIỂN PHẦN MỀM
C
N
TT
–
QUANG TRUNG – TRUNG TÂM TIN HỌC
K
H
O
A
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
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
..................................................................................................................................
K
H
TN
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
H
..................................................................................................................................
..................................................................................................................................
Đ
..................................................................................................................................
–
..................................................................................................................................
..................................................................................................................................
C
N
TT
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
K
H
O
A
..................................................................................................................................
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
..................................................................................................................................
K
H
TN
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
H
..................................................................................................................................
Đ
..................................................................................................................................
..................................................................................................................................
–
..................................................................................................................................
C
N
TT
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
K
H
O
A
..................................................................................................................................
..................................................................................................................................
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
K
H
TN
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
H
đạ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
luận văn.
C
N
TT
đ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
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
K
H
O
A
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
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
K
H
TN
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ự
H
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
hiệu qủa cao.
–
đượ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
C
N
TT
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
K
H
O
A
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
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
Chương 2
K
H
TN
1.3 Mục tiêu đề tài................................................................................................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
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
–
Đ
H
2.3.1
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
C
N
TT
2.4 Các vai trò trong quản lý cấu hình phần mềm .............................................17
Con người và quản lý cấu hình ...........................................................17
Các vai trò trong quản lý cấu hình ......................................................18
Các vai trò trong tổ chức .....................................................................23
Các vai trò liên quan đến đề án ...........................................................28
Các vai trò bên ngoài ..........................................................................35
K
H
O
A
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
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
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
K
H
TN
3.3.1
4.1 Đặt tên các đối tượng cấu hình ....................................................................76
Đặ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
H
4.1.1
Đ
4.2 Xác định và định danh phiên bản .................................................................79
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
C
N
TT
Chương 5
–
4.2.1
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
Mục đích .............................................................................................82
K
H
O
A
5.3.1
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
6.4 Đặc tả usecase ..............................................................................................99
Đặ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
K
H
TN
6.4.1
Đặ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
Đ
H
6.4.10
–
6.5 Thiết kế ......................................................................................................118
6.5.2
6.5.3
6.5.4
Kiến trúc hệ thống.............................................................................118
C
N
TT
6.5.1
Giao diện ...........................................................................................118
Mô hình lớp đối tượng ......................................................................123
Mô hình dữ liệu .................................................................................144
6.6 Mô hình thiết kế .........................................................................................157
Đăng nhập .........................................................................................157
K
H
O
A
6.6.1
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
6.6.10
Chương 7
Xem lịch sử của Item ....................................................................164
Tổng kết ............................................................................................165
7.1 Tự đánh giá ................................................................................................165
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
7.2 Hướng phát triển ........................................................................................165
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
K
H
TN
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
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
C
N
TT
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
K
H
O
A
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
Trang i
Hình 6-12 Màn hình xem lịch sử của tập tin, thư mục, project .............................122
Hình 6-13 Mô hình lớp đối tượng ...........................................................................123
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Hình 6-14 Mô hình dữ liệu của hệ thống ................................................................144
Trang ii
Danh sách bảng
Bảng 2-1 Mô tả những hoạt động với mức độ hình thức thấp ....................................9
Bảng 2-2 Mô tả hoạt động với mức độ hình thức cao ..............................................11
K
H
TN
Bảng 2-3 Ví dụ về tiết kiệm khi sử dụng hệ thống Quản lý cấu hình......................15
Bảng 2-4 Thành phần tên và chức năng của nó ........................................................47
Bảng 3-1 Mức độ trưởng thành của CMM ...............................................................57
Bảng 3-2 Các mức trưởng thành và các vùng tiến trình của CMMI........................60
Bảng 3-3 Danh sách các thực tiễn cho cho SG 1 ......................................................64
Bảng 3-4 Danh sách các thực tiễn cho cho SG 2 ......................................................64
H
Bảng 3-5 Danh sách các thực tiễn cho cho SG 3 ......................................................64
K
H
O
A
C
N
TT
–
Đ
Bảng 4-1 Diễn giải từ viết tắt cho qui tắc đặt tên .....................................................78
Trang iii
Một số khái niệm / thuật ngữ
Thuật ngữ dùng trong CMMI
1.
Thuật ngữ
Process
Areas
(PA)
Vùng
–
tiến trình
Diễn giải
Vùng tiến trình (Process Areas PA): Mỗi PA là một
K
H
TN
STT
nhóm các hoạt động thực tiễn có liên hệ với nhau,
nhằm để đạt được một số mục tiêu quan trọng của việc
cải tiến quy trình phần mềm
Mục tiêu chuyên biệt (Specific Goals - SG): Các
mục tiêu chuyên biệt áp dụng cho một vùng tiến trình
Goals và nhắm vào các đặc trưng riêng biệt mô tả nhữg việc
H
Specific
(SG) – Mục tiêu gì cầm triển khai để thoả mãn vùng tiến trình đó.
Đ
2.
Những mục tiêu này cũng được dùng trong việc đánh
chuyên biệt
–
giá để xác định xem một tổ chức có triển khai hoàn tất
C
N
TT
một vùng tiến trình nào đó hay không
Specific
3.
Quy tắc thực tiễn chuyên biệt (Specific Practices –
Practices (SP) – SP): Một quy tắc thực tiễn chuyên biệt là một hoạt
Quy tắc thực động đóng vai trò quan trọng để góp phần đạt được
tiễn chuyên biệt mục tiêu chuyên biệt tương ứng
K
H
O
A
Generic
4.
(GG)
–
Goals
Mục
tiêu tổng quát
5.
Mục tiêu tổng quát (Generic Goals - GG): Các mục
tiêu tổng quát được gọi là “tổng quát” bởi vì cùng một
khẳng định được xuất hiện trong nhiều vùng tiến trình
khác nhau.
Quy tắc thực tiễn tổng quát (Generic Practices -
Generic
GP): Các quy tắc thực tiễn tổng quát cung cấp một cơ
Practices - GP
chế đảm bảo các tiến trình tương ứng với các vùng tiến
trình sẽ hiệu qủa, có thể lặp lại và bền vững
Trang iv
Thuật ngữ về Quản lý cấu hình
STT
Thuật ngữ
Diễn giải
Kiểm tra (Audit): kiểm tra một thực thể cấu hình
Audit – Kiểm được phát hành sử dụng có đáp ứng đầy đủ các đặc
tả yêu cầu. (Áp dụng trong hoạt động quản lý chất
tra
K
H
TN
1.
lượng)
Baseline – Cấu Cấu hình cơ sở (Baseline): Là một tập hợp các yêu
2.
cầu, thiết kế, mã nguồn, các tập tin định nghĩa tham
hình cơ sở
số biên dịch hay nối kết, tài liệu người dùng,.. được
nhóm lại và gán cho một tên duy nhất
Check-out :Lấy ra một thực thể cấu hình từ nơi lưu
H
Check-out
3.
Đ
trữ vào trong một thư viện được kiểm soát để tạo sản
phẩm.
Check-in: Cập nhật lại một thực thể cấu hình từ vào
–
Check in
nơi lưu trữ sau khi check out.
C
N
TT
4.
Configuration
Ban quản lý cấu hình (Configuration Control
Control Board Board), Ban kiểm soát thay đổi cấu hình
(CCB) – Ban (Configuration Change Board) : Một nhóm người
quản
lý
hình.
đưa ra đề nghị thay đổi đối với thực thể cấu hình và
Configuration
chịu trách nhiệm về việc thực hiện, phê duyệt các
K
H
O
A
5.
cấu chịu trách nhiệm sở hữu, chấp nhận hoặc từ chối,
Change Board thay đổi
–
Ban
kiểm
soát thay đổi
cấu hình
6.
Configuration
Thực thể cấu hình (Configuration item): Một sản
item – Thực phẩm công việc trung gian, các thành tố (component)
Trang v
7.
thể cấu hình
hoặc sản phẩm được đặt dưới quản lý cấu hình
Configuration
Hệ thống quản lý cấu hình (Configuration
management
management system): Tất cả các định nghĩa quy
system
Hệ trình, các biểu mẫu, các công cụ thu thập để hỗ trợ
–
cấu hình
8.
9.
Event
K
H
TN
thống quản lý quản lý cấu hình trong một môi trường cụ thể
Sự Sự kiện (Event): Các sự kiện quan trọng xảy ra mà
–
ta cần chú ý, theo dõi.
kiện
Library – Thư Thư viện (Library): Kho chứa chứa các thực thể
viện
– cấu hình. Ví dụ: một tài liệu đặt dưới quản lý cấu
Metadata
hình là một thực thể cấu hình, trong khi tên và số của
Siêu dữ liệu
Đ
10.
H
Siêu dữ liệu (Metadata): Thông tin về các thực thể
–
tài liệu là siêu dữ liệu về thực thể tài liệu đó.
– Quy trình (Procedure): Số lượng các hoạt động
11. Quy trình
theo thứ tự với các thông tin đầu vào và đầu ra cố
C
N
TT
Procedure
định
Process – Tiến Tiến trình (Process): Mô tả cách sử dụng các thông
tin đầu vào để tạo ra kết qủa đầu ra như mong muốn.
trình
12.
K
H
O
A
Số lượng công việc trong quy trình được mô tả trong
các tài liệu mô tả về tiến trình
Process
13.
description
Mô
trình
tả
–
tiến
Mô tả tiến trình (Process description): Mô tả các
kỹ thuật, phương pháp, các quy ước, các quy trình
liên hệ với một hoạt động nào đó.
Product – Sản Sản phẩm (Product): có thể là sản phẩm sử dụng
14. phẩm
nội bộ hay là sản phẩm được phát hành ra bên ngoài
cho khách hàng
Trang vi
15.
Release - Phiên
bản phát hành
Version
Phiên bản
Phiên bản phát hành (Release): Là một thực thể
cấu hình được tạo thành từ các thực thể cấu hình
khác. Phiên bản này được phân phối cho khách hàng.
- Phiên bản (Version): Là một thể hiện của phần
mềm mà có sự thay đổi so với các thể hiện khác của
K
H
TN
phần mềm đó. Sự thay đổi có thể bao gồm: các chức
năng mới, cải tiến hiệu năng (tốc độ, không gian lưu
16.
trữ,..), sửa đổi các lỗi của phiên bản cũ. Một số phiên
bản có thể tương đương hoàn toàn về mặt chức năng
nhưng được thiết kế để dùng cho các cấu hình phần
Quy trình hỗ trợ (Support process): Quy trình
Đ
Support
H
mềm hay phần cứng khác nhau.
trình hỗ trợ
–
process – Quy dùng trong tất cả các quy trình khác tại các thời điểm
khác nhau trong vòng đời của đế án phần mềm.
17.
C
N
TT
Những quy trình hỗ trợ bản thân không có ý nghĩa gì
cả. Nó chỉ có ý nghĩa khi được dùng với một quy
trình khác.
Ví dụ: Việc định danh là một quy trình hỗ trợ; việc
K
H
O
A
định danh chỉ có ý nghĩa nếu có một quy trình khác
tạo ra sản phẩm và đặt tên sản phẩm.
Trang vii
Chương 1 - Mở đầu
Chương 1
Mở đầu
1.1 Quản lý cấu hình phần mềm trên thế giới và ở Việt Nam
K
H
TN
Quản lý cấu hình phần mềm - SCM - là một tiến trình trong quá trình phát
triển phần mềm xuất hiện cách đây hơn 20 năm (vào khoảng năm 1980). Tiến trình
này giúp cho các nhà phát triển phần mềm kiểm sóat được những thay đổi và kiến
trúc của hệ thống phần mềm đang phát triển.
Vào giai đọan mới hình thành tiến trình quản lý phần mềm chủ yếu được thực
H
hiện đơn lẻ bởi những công ty phần mềm. Tuy nhiên, hầu hết các công ty đều nhận
thấy công việc quản lý sự thay đổi của phần mềm là vô cùng phức tạp và tốn kém.
Đ
Chính vì vậy, đã xuất hiện các công ty chuyên cung cấp các giải pháp chọn gói về
Rational, Seapine, ...
–
quản lý cấu hình phần mềm và các công cụ để hỗ trợ cho tiến trình này. Ví dụ:
C
N
TT
Hiện nay, Tiến trình quản lý cấu hình phần mềm đã được viện nghiên cứu
công nghệ phần mềm SEI tổ chức và sắp xếp lại các họat động của tiến trình này
trở thành một phần của CMM và CMMI . Đồng thời cung cấp nhiều tài liệu hướng
dẫn việc thực hiện và áp dụng tiến trình này vào quá trình phát triển phần mềm
chung. Từ đó, các công ty phần mềm cảm thấy việc quản lý cấu hình phần mềm trở
K
H
O
A
nên rõ ràng hơn và các công ty hay tổ chức cá nhân chuyên về giải pháp quản lý cấu
hình phần mềm đã phát triển ra các công cụ riêng lẽ hỗ trợ cho từng bước của tiến
trình CM hay toàn bộ.
Trên thế giới, các công ty phần mềm lớn như Microsoft hoặc IBM, Oracle ...
đã tiến hành xây dựng tiến trình quản lý cấu hình phần mềm riêng của mình nhờ
vào kinh nghiệm phát triển của chính họ và sự tư vấn của các chuyên gia từ các viện
nghiên cứu phần mềm như S.E.I hay S.E.L và phát triển các công cụ riêng phục vụ
cho tiến trình này. Với các công ty nhỏ ít vốn và kinh nghiệm thì mua các công cụ
Trang 1
Chương 1 - Mở đầu
sẵn và áp dụng linh họat các qui trình chuẩn được công bố vào quá trình phát triển
phần mềm.
Ở Việt Nam, nền công nghệ phần mềm vẫn chưa thực sự phát triển mạnh,
phần lớn là các công ty nhỏ chuyên thực hiện các đề án về tin học hóa cho các cơ
quan, xí nghịêp hoặc gia công phần mềm cho nước ngoài và quá trình phát triển
K
H
TN
phần mềm chỉ dựa trên kinh nghiệm với những phần mềm nhỏ và việc quản lý,
kiểm sóat tiến trình phát triển phần mềm ít được để ý. Chỉ có một vài công ty phát
triển nổi bật và đã đạt được những chuẩn về phát triển: FTP đạt CMM level 5, PSV
đạt CMM level 2... Thời gian gần đây, các công ty nhỏ đang dần dần tự cải tiến
mình để có thể thực hiện được những đề án phần mềm lớn trong và ngoài nước. Tuy
nhiên, làm cách nào để có thể dụng tốt các công cụ và giải pháp hiện có vào hoàn
Đ
H
cảnh thực tế ở Việt Nam là một điều không dễ dàng chút nào.
1.2 Các công cụ hỗ trợ quản lý cấu hình hiện tại
–
Hiện tại, các công cụ hỗ trợ cho việc quản lý quy trình sản xuất phần mềm
C
N
TT
xuất hiện ngày càng nhiều. Một số công cụ đã xuất hiện từ lâu và được hoàn thiện
dần nên có chất lượng rất tốt. Chẳng hạn như các công cụ quản lý phần mềm
thương mại Clear Case của hãng Rational Rose hỗ trợ cho qui trình phát triển phần
mềm RUP, Surround SCM và Test Track Pro Intergration của hãng Seapine ...
thường có chi phí cao và được áp dụng cho các đề án phần mềm lớn hoặc các công
K
H
O
A
ty lớn giàu kinh nghiệm, đặc biệt là các phần mềm này được xây dựng và áp dụng
theo một quy trình sản xuất phần mềm chuyên biệt (ví dụ như clear Case áp dụng
theo quy trình RUP).
1.3 Mục tiêu đề tài
Mục tiêu của đề được đặt ra liên quan đến qui trình quản lý cấu hình tại phòng
phát triển phần mềm Quang Trung – Trung tâm tin học.
Các công việc chính mà đề tài cần phải giải quyết:
• Tìm hiểu về các phương pháp quản lý cấu hình và các kỹ thuật cụ thể được
dùng trong quản lý cấu hình
Trang 2
Chương 1 - Mở đầu
• Tìm hiểu một số công cụ hỗ trợ cho việc quản lý cấu hình.
• Tìm hiểu hiện trạng và qui trình sản xuất phần mềm của phòng phát triển
phần mềm trung tâm tin học.
• Xác định các yêu cầu cần phải thực hiện và các thông tin cần phải quản lý
để hỗ trợ cho cho qui trình phát triển mà trung tâm đang mong muốn xây
K
H
TN
dựng trên qui trình hiện tại.
• Đưa ra các giải pháp về phần mềm để hỗ trợ qui trình đó và thay thế một số
phần mềm đang đang sử dụng bằng những phần mềm bằng những phần
mềm khác tương đương nhưng có những chức năng hỗ trợ khác hoặc xây
dựng một phần mềm mới phối hợp với các phần mềm hiện có hay thêm
H
mới.
• Triển khai việc áp dụng hệ thống quản lý cấu hình phần mềm vào qui trình
Đ
sản xuất phần mềm của trung tâm. Hệ thống quản lý cấu hình phần mềm
–
này sẽ không gây cản trở cho việc sản xuất phần mềm hiện tai đang được
thực hiện ổn định như hiện nay.
C
N
TT
• Tổng quát hóa hệ thống đã được xây dựng thành một hệ thống quản lý cấu
hình phần mềm chung phù hợp những công ty phát triển phần mềm tương
K
H
O
A
tự.
Trang 3
Chương 2 - Tổng quan về quản lý cấu hình phần mềm
Chương 2
Tổng quan về quản lý cấu hình phần
mềm
K
H
TN
2.1 Khái niệm
Quản lý cấu hình phần mềm là tiến trình kiểm sóat, theo dõi các thay đổi của
một hệ thống phần mềm và quản lý các phiên bản khác nhau của phần mềm đó.
Quản lý cấu hình phần mềm liên quan nhiều đến quá trình phải triển và bảo trì
sản phẩm phần mềm trong qui trình phát triển phần mềm.
H
Cấu hình của một phần mềm có thể xem như là một tập hợp các thành phần
Đ
con được tổ chức và phối hợp với nhau đáp ứng một yêu cầu hoặc một số yêu cầu
–
cụ thể nào đó.
Lý do tồn tại cấu hình phần mềm khác nhau:
C
N
TT
• Phần mềm chạy trên nhiều họ máy tính khác nhau.
• Phần mềm chạy trên nhiều hệ điều hành khác nhau.
• Phần mềm chạy trên nhiều phiên bản khác nhau của các được phối hợp.
• Phần mềm đáp ứng cho những ỵêu cầu cụ thể cho từng khách hàng.
Để quản lý được nhiều cấu hình khác nhau của cùng một phần mềm, các nhà
K
H
O
A
phát triển thường sử dụng cây cấu hình phần mềm
Trang 4
- Xem thêm -