Tải bản đầy đủ (.ppt) (46 trang)

BÁO CÁO MÔN NGUYÊN LÝ CÔNG NGHỆ PHẦN MỀM QUẢN LÝ CẤU HÌNH PHẦN MỀM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (975.61 KB, 46 trang )

QUẢN LÝ CẤU HÌNH PHẦN MỀM
QUẢN LÝ CẤU HÌNH PHẦN MỀM
(
(
SOFTWARE CONFIGURATION MANAGEMENT
SOFTWARE CONFIGURATION MANAGEMENT
)
)
Giảng Viên: PGS.TS Trần Đan Thư
Nhóm 10: Võ Duy Phúc
Nguyễn Tấn Cầm
BÁO CÁO MÔN NGUYÊN LÝ CNPM
Nội dung trình bày
Nội dung trình bày

Giới thiệu về quản lý cấu hình

Quy trình quản lý cấu hình

CASE tools cho quản lý cấu hình và
Demo
Jun 29, 2015 2
Nội dung trình bày
Nội dung trình bày

Giới thiệu về quản lý cấu hình

Khái niệm

Baseline


Kế hoạch quản lý cấu hình

Cơ sở dữ liệu quản lý cấu hình

Quy trình quản lý cấu hình

CASE tools cho quản lý cấu hình và
Demo
Jun 29, 2015 3
Tại sao cần quản lý cấu hình?
Tại sao cần quản lý cấu hình?

Trong quá trình phát triển phần mềm, thay đổi
là điều không thể tránh khỏi
Jun 29, 2015 4
data
data
other
other
documents
documents
Test
Test
Project
Project
Plan
Plan
changes in
changes in
technical requirements

technical requirements
changes in
changes in
business requirements
business requirements
changes in
changes in
user requirements
user requirements
software models
software models
Cần có một cơ chế để quản lý sự thay đổi
trong quá trình phát triển phần mềm
code
code
Quản lý cấu hình phần mềm
Quản lý cấu hình phần mềm

Software Configuration Management (SCM) là
một quá trình nhận dạng, tổ chức và kiểm soát
những thay đổi trong quá trình phát triển phần
mềm cũng như quản lý những phiên bản khác
nhau của phần mềm đang xây dựng.

SCM có thể xem như là một phần trong quy trình
quản lý chất lượng phần mềm tổng thể và được áp
dụng xuyên suốt trong vòng đời (life cycle) của một
phần mềm.

Mục tiêu của SCM là tối ưu hóa năng suất làm việc

thông qua việc tối thiểu hóa những lỗi gây ra bởi
sự nhầm lẫn khi có thay đổi.
Jun 29, 2015 5
Đơn vị cấu hình phần mềm
Đơn vị cấu hình phần mềm

Các output của một quy trình phần mềm

Tất cả những sản phẩm đó tạo thành cấu hình
phần mềm.

Mỗi sản phẩm được gọi là một đơn vị cấu hình
phần mềm (Software Configuration Item-SCI) cần
được quản lý.
Jun 29, 2015 6
programs
programs
documents
documents
data
data
The pieces
The pieces
Đơn vị cấu hình phần mềm (2)
Đơn vị cấu hình phần mềm (2)

Các đơn vị cấu hình là các thành phần quan
trọng của dự án và có quan hệ mật thiết với
nhau.


Sự thay đổi của một đơn vị cấu hình sẽ kéo
theo sự thay đổi của một hoặc nhiều đơn vị
cấu hình khác. Điều này có thể ảnh hưởng đến
thời gian thực hiện, khối lượng công việc cũng
như nhân lực cần thiết để hoàn thành dự án.

Vì vậy, các thay đổi đối với đơn vị cấu hình cần
được quản lý và kiểm soát chặt chẽ.
Jun 29, 2015 7
Đơn vị cấu hình phần mềm (3)
Đơn vị cấu hình phần mềm (3)
Ví dụ về các đơn vị cấu hình và mối quan hệ giữa chúng
với nhau
Jun 29, 2015 8
Baseline
Baseline

Baseline có thể tạm hiểu là cấu hình sản phẩm, đó là
một tập hợp các phiên bản của các đơn vị cấu hình có
quan hệ logic chặt chẽ với nhau, tạo thành một trạng
thái sản phẩm và được phê duyệt.

Các baseline có thể chứa một hoặc nhiều đơn vị cấu
hình và được đánh số theo Baseline ID.

Các đơn vị cấu hình trong cùng một baseline là tương
thích với nhau.

Những thay đổi đối với các đơn vị cấu hình đã được
baseline đều phải được kiểm soát và thông qua các thủ

tục quản lý thay đổi.

Baseline có thể xem như một cột mốc (milestone) trong
quá trình phát triển phần mềm.
Jun 29, 2015 9
Baseline (2)
Baseline (2)
Jun 29, 2015 10

Thời điểm baseline được xác định căn cứ vào các
giai đoạn thực hiện dự án.

Tùy theo thời gian thực hiện, tính chất và quy mô
dự án mà số lượng sản phẩm được baseline khác
nhau.

Ví dụ: Baseline Identification
Baseline (3)
Baseline (3)
Baseline ID Stage
STARTUP Project Initiation
SRS Project Planning and Analysis
CODE Code complete
PRODUCT Release to customer
Jun 29, 2015 11
Kế hoạch quản lý cấu hình
Kế hoạch quản lý cấu hình

Việc quản lý cấu hình cần được lên kế hoạch trước
như là một phần trong kế hoạch quản lý dự án

tổng thể
Jun 29, 2015 12
Software Configuration Management Plan
Cơ sở dữ liệu quản lý cấu hình
Cơ sở dữ liệu quản lý cấu hình

Tất cả thông tin quản lý cấu hình cần được
lưu trữ trong một cơ sở dữ liệu chung.

Ngoài việc định nghĩa cấu trúc CSDL, cần
xác định cách thức lưu trữ cũng như phân
quyền truy xuất thông tin cấu hình phần
mềm.

CSDL quản lý cấu hình có thể là một phần
trong môi trường tích hợp để hỗ trợ cho
việc phát triển phần mềm
Jun 29, 2015 13
Ví dụ về lưu trữ cấu hình
Ví dụ về lưu trữ cấu hình

Các đơn vị cấu hình được phân vào 3 loại thư mục với
quyền truy xuất được thiết lập phù hợp:

Thư mục phát triển (dynamic library): được dùng để phát triển
sản phẩm

Thư mục kiểm soát (controlled library): được dùng để lưu các
phiên bản của đơn vị cấu hình


Thư mục lưu trữ (static library): được dùng để lưu các cấu hình
(baseline) đã được ban hành
Jun 29, 2015 14
Staff Access right Read Insert Replace Delete
Developer Development library Y Y Y Y
Master library N N N N
Archive library N N N N
SCM / QA Development library Y Y Y Y
Master library Y Y N N
Archive library Y N N N
Nội dung trình bày
Nội dung trình bày

Giới thiệu về quản lý cấu hình

Quy trình quản lý cấu hình

CASE tools cho quản lý cấu hình và
Demo
Jun 29, 2015 15
Quy trình quản lý cấu hình PM
Quy trình quản lý cấu hình PM
Jun 29, 2015 16
Định danh đối tượng
Định danh đối tượng

Mỗi đối tượng cấu hình cần được định danh
duy nhất

Hai loại đối tượng cần định danh:

◦ Đối tượng cơ sở (basic object): là một đơn vị
sản phẩm được tạo ra trong quá trình phát triển
phần mềm

Ví dụ: Một đoạn trong đặc tả yêu cầu hay một form giao
diện, một test case…
◦ Đối tượng tổng hợp (aggregate object): là một
tập hợp các đối tượng cơ sở hoặc những đối
tượng tổng hợp khác

Ví dụ: Đặc tả yêu cầu, tài liệu thiết kế, source code…
Jun 29, 2015 17
Định danh đối tượng (2)
Định danh đối tượng (2)

Mỗi đối tượng có một tập các thuộc tính
phân biệt:

Tên đối tượng (name): là duy nhất

Thông tin mô tả (description)

Loại đối tượng SCI: là chương trình, tài liệu hay dữ liệu

Định danh dự án

Thông tin phiên bản

Tài nguyên của đối tượng (resource): những
thực thể liên quan đến đối tượng


Hiện thực của đối tượng (realization): là một
con trỏ đến đối tượng cơ sở hoặc là con trỏ null
đối với đối tượng tổng hợp
Jun 29, 2015 18
Định danh đối tượng - Ví dụ
Định danh đối tượng - Ví dụ

Quan hệ thành phần

E-R diagram 1.4 <part-of> data model;

data model <part-of> design specification;

Quan hệ hai chiều

data model <interrelated> data flow model;
◦ data model <interrelated> test case class m;
Jun 29, 2015 19
Quản lý phiên bản
Quản lý phiên bản

Quản lý phiên bản (Version control) là sự kết
hợp giữa những thủ tục và công cụ nhằm quản
lý những phiên bản khác nhau của các đối
tượng cấu hình được tạo ra trong quá trình
phát triển phần mềm

Các đối tượng cần quản lý phiên bản:


Version

Variant

Release
Jun 29, 2015 20
Đối tượng quản lý phiên bản
Đối tượng quản lý phiên bản
Jun 29, 2015 21
Định danh phiên bản
Định danh phiên bản

Mỗi phiên bản phần mềm nên được định danh duy
nhất

Kỹ thuật đánh số phiên bản (Version Numbering)

Đánh số phiên bản theo thứ tự tuyến tính

Ví dụ: V1.0, V1.1, V1.2, V2.0, V2.1…
◦ Thường được biểu diễn bằng cấu trúc mạng
Jun 29, 2015 22
V1.0 V1.1 V1.2 V2.0 V2.1 V2.2
V1.1b V1.1.1
V1.1a
Định danh phiên bản (2)
Định danh phiên bản (2)

Định danh phiên bản dựa trên thuộc tính
(Attributes-based identification)


Các thuộc tính thường sử dụng: ngày tạo, người tạo,
khách hàng, ngôn ngữ lập trình, trạng thái…

Cách định danh phiên bản này mang nhiều thông tin
hơn cũng như linh động hơn cách định danh theo
kiểu đánh số truyền thống

Hỗ trợ việc truy vấn phiên bản

Ví dụ: truy vấn 1: AC3D (language =Java, platform = XP, date =
Jan 2003)

Truy vấn 2: lấy phiên bản mới nhất của phần mềm bằng ngôn
ngữ Java và platform là Linux

Vấn đề phát sinh: có thể bị trùng lắp tên phiên bản
Jun 29, 2015 23
Quản lý thay đổi
Quản lý thay đổi

Khi phát triển hoặc bảo trì một sản phẩm
phần mềm, việc thay đổi yêu cầu là không
thể tránh khỏi.

Mục đích của quản lý thay đổi là để kiểm
soát đầy đủ tất cả các thay đổi ảnh hưởng
đến việc phát triển một sản phẩm.

Đôi lúc chỉ một vài yêu cầu thay đổi của

khách hàng, các giai đoạn (phase) trong
quy trình phát triển phần mềm từ phân tích
thiết kế, đến lập trình, kiểm tra phần mềm
đều phải thay đổi theo.
Quản lý thay đổi (2)
Quản lý thay đổi (2)

Nếu các thay đổi này không được kiếm
soát chặt chẽ sẽ dẫn đến rất nhiều sai sót.

Xét ví dụ sau: 5 lập trình viên cùng làm trong một
dự án, nhưng chỉ có 3 được thông báo về việc
thay đổi thiết kế. Kết quả là khi tích hợp, hệ
thống sẽ không vận hành được.

Yêu cầu trong kiểm soát thay đổi là mọi sự
thay đổi phải được thông báo đến tất cả
những người hoặc nhóm làm việc có liên
quan.

×