Tải bản đầy đủ (.pdf) (50 trang)

Các quy trình phần mềm của công nghệ 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 (1.95 MB, 50 trang )

Bài 2
CácCác qui qui trìnhtrình phầnphần mềmmềm
(Software Processes
)
(Software Processes
)
Mục đích
• Giới thiệu một số mô hình qui trình phần
mềm
• Mô tả ba mô hình tổng quát
– Và khi nào nên áp dụng chúng


tả

hình
qui
trình
phác
thảo
cho
RE


tả

hình
qui
trình
phác
thảo


cho
RE
(requirements engineering), phát triển, kiểm
thử, và tiến hóa phần mềm
• Giải thích mô hình RUP (Rational Unified
Process)
• Giới thiệu một số công cụ CASE
Nội dung
• Các mô hình qui trình phần mềm
• Bước lặp của qui trình
• Các hoạt động của qui trình

Mô hình qui trình thống nhất RUP

Mô hình qui trình thống nhất RUP
• Công cụ CASE
Qui trình phần mềm
• Một tập có cấu trúc các hoạt động cần làm để
phát triển một hệ thống phần mềm
– Đặc tả;

Thiết
kế
;

Thiết
kế
;
– Kiểm chứng;
– Tiến hóa.

• Một mô hình qui trình phần mềm là một biểu
diễn trừu tượng của một qui trình.
– Mô tả qui trình từ một góc nhìn cụ thể
Các mô hình qui trình tổng quát
• Mô hình thác nước (waterfall)
– Tách biệt các giai đoạn đặc tả và phát triển
• Mô hình phát triển tiến hóa (evolutionary)

Đặc
tả
,
phát
triển
,

kiểm
chứng
đan
xen
nhau
Đặc
tả
,
phát
triển
,

kiểm
chứng
đan

xen
nhau
• CNPM dựa trên thành phần (CBSE)
– Hệ thống được kết hợp từ các thành phần
• Biến thể của các mô hình trên
– Ví dụ, phát triển hình thức: giống thác nước nhưng
thay bằng đặc tả hình thức và làm mịn dần đến thiết
kế có thể lập trình được
Mô hình thác nước
Xác định Xác định
yêu cầuyêu cầu
Thiết kế Thiết kế
phần mềm phần mềm
và hệ và hệ
thốngthống
Cài đặc và Cài đặc và
thốngthống
Cài đặc và Cài đặc và
kiểm thử kiểm thử
đơn vịđơn vị
Tích hợp Tích hợp
và kiểm và kiểm
thử hệ thử hệ
thốngthống
Vận hành Vận hành
và bảo trìvà bảo trì
Các pha của mô hình thác nước
• Xác định và phân tích yêu cầu
• Thiết kế phần mềm và hệ thống
• Cài đặt và kiểm thử đơn vị


Tích hợp và kiểm thử hệ thống

Tích hợp và kiểm thử hệ thống
• Vận hành và bảo trì
• Hạn chế chính của mô hình thác nước là khó sửa
đổi khi đang thực hiện qui trình. Pha trước phải
hoàn thành mới được làm pha tiếp theo
Vấn đề của mô hình thác nước
• Phân chia cứng nhắc thành các giai đoạn riêng biệt
làm nó khó đáp ứng với yêu cầu thay đổi
• Nên chỉ thích hợp với các bài toán với yêu cầu rõ
ràng, ít thay đổi trong quá trình thiết kế.
ràng, ít thay đổi trong quá trình thiết kế.
– Một số hệ thống có nghiệp vụ ổn định
• Thường được sử dụng trong các dự án lớn được
phát triển ở một vài địa điểm
Phát triển tiến hóa
• Phát triển tiến hóa
– Làm việc cùng khách hàng để hình thành hệ thống
từ đặc tả phác thảo ban đầu

Bắt đầu với các yêu cầu rõ ràng trước và thêm dần

Bắt đầu với các yêu cầu rõ ràng trước và thêm dần
các tính năng theo yêu cầu của khách hàng
• Bản mẫu bỏ đi
– Làm thử bản mẫu để hiểu yêu cầu.
– Bắt đầu với các yêu cầu không rõ ràng để làm rõ
thực sự yêu cầu là gì?

Phát triển tiến hóa
Đặc tả
Phiên bản đầu
Các hoạt động
đồng thời
Mô tả phác
họa
Phát triển
Kiểm định
Phiên bản
trung gian
Phiên bản cuối
Phát triển tiến hóa
• Vấn đề
– Khó nhìn rõ toàn bộ qui trình
– Hệ thống có tính cấu trúc kém
– Cần một số kỹ năng đặc biệt

Vd. Cần thành thạo ngôn ngữ làm bản mẫu nhanh.

Vd. Cần thành thạo ngôn ngữ làm bản mẫu nhanh.
• Áp dụng
– Cho các hệ thống vừa và nhỏ, có nhiều tương tác
– Cho một phần của hệ thống lớn
• Vd. chỉ làm phần giao diện người sử dụng
– Cho các hệ thống có vòng đời ngắn
KNPM dựa trên thành phần (CBSE)
• Dựa trên việc sử dụng lại có hệ thống
– Sử dụng các thành phần có sẵn (COTS - commercial-
off-the-shelf)

• Các giai đoạn của qui trình

Phân tích thành phần
;

Phân tích thành phần
;
– Chỉnh sửa yêu cầu;
– Thiết kế hệ thống có tính đến sử dụng lại;
– Phát triển và tích hợp.
• Phương pháp này ngày càng được sử dụng rộng
rãi vì các chuẩn thành phần đã xuất hiện
Phát triển hướng sử dụng lại
Đặc tả
yêu cầu
Phân tích
thành phần
Chỉnh sửa
yêu cầu
Thiết kế với sử
dụng lại
Phát triển và
tích hợp
Kiểm định hệ
thống
Lặp qui trình
• Yêu cầu hệ thống luôn luôn tiến hóa trong quá
trình thực hiện dự án
– Lặp qui trình trong đó có việc chỉnh lại các việc đã làm
ở giai đoạn trước đó luôn là một phần của qui trình

cho các hệ thống lớn
cho các hệ thống lớn
• Bước lặp này có thể áp dụng vào bất kỳ mô hình
qui trình nào
• Hai phương pháp liên quan
– Chuyển giao dần dần
– Phát triển xoáy ốc (spiral)
Chuyển giao dần dần
• Thay vì chuyển giao cả hệ thống một lần, việc
phát triển và chuyển giao được thực hiện
từng phần, mỗi phần là chuyển giao một phần
chức năng yêu cầu.
chức năng yêu cầu.
• Yêu cầu được sắp xếp và những yêu cầu có ưu
tiên cao nhất được làm trước
• Khi bắt đầu làm một phần, yêu cầu cho phần
đó được đóng băng mặc dù yêu cầu vẫn cho
phần sau vẫn có thể được hình thành
Phát triển tăng trưởng
Xác định yêu
cầu sơ bộ
Ghép yêu cầu
vào các phần
Thiết kế kiến trúc
hệ thống
Phát triển phần
tăng trưởng
Kiểm định phần
tăng trưởng
Tích hợp phần

tăng trưởng
Kiểm định
hệ thống
Hệ thống
cuối cùng
Ưu điểm của phát triển tăng trưởng
• Khách hàng có thể sử dụng một phần chức
năng của hệ thống sớm hơn
• Phần chuyển giao ban đầu đóng vai trò là bản
mẫu để hiểu rõ yêu cầu cho các phần sau
mẫu để hiểu rõ yêu cầu cho các phần sau
• Ít rủi ro cho toàn bộ dự án hơn
• Phần quan trọng của hệ thống được chạy thử
kỹ nhất
Lập trình cực đoan (XP)
• Phương pháp dựa trên
phát triển và chuyển giao
từng phần chức năng
• Dựa trên việc

Cải tiến mã chương trình

Cải tiến mã chương trình
liên tục,
– Khách hàng tham gia vào
đội phát triển
– Lập trình đôi (pairwise
programming)
• Đọc thêm Chương 17
Phát triển xoáy ốc

• Qui trình được thể hiện là một đường xoáy ốc
– thay vì một dãy các hoạt động với quay lui
• Mỗi vòng xoáy là một pha của qui trình

Không cố định số pha như đặc tả hay thiết kế

Không cố định số pha như đặc tả hay thiết kế
– Vòng xoáy được chọn tùy theo yêu cầu
• Rủi ro được đánh giá rõ ràng và giải quyết
trong suốt qui trình
Mô hình xoáy ốc
Phân tích
rủi ro
Bản mẫu 1
ĐÁNH GIÁ
Xác định mục tiêu,
Các phương án,
ràng buộc
Đánh giá các phương án,
Xác định và giải quyết rủi ro
Bản mẫu 2
Bản mẫu 3
Bản mẫu
dùng được
Phân tích
rủi ro
Phân tích
rủi ro
Phân tích
rủi ro

Bản mẫu 1
Khái niệm về
hoạt động
Mô phỏng, mô hình hóa, thử sơ bộ
Yêu cầu
phần mềm
Kiểm định
yêu cầu
Thiết kế kiểm thử
Thiết kế
sản phẩm
Thiết kế
chi tiết
Lâp trình
Kiểm thử
đơn vị
Kiểm thử
tích hợp
Kiểm thử
chấp thuận
Sử dụng
Kế hoạch tích hợp
Và kiểm thử
Kế hoạch
phát triển
Kế hoạch lấy yêu cầu
Kế hoạch các vòng xoáy
ĐÁNH GIÁ
Phát triển, kiểm tra
bản tiếp theo

Lập kế hoạch
pha tiếp theo
Các phần của mô hình xoáy ốc
• Xác định mục tiêu
– Xác định mục tiêu cụ thể của mỗi pha
• Đánh giá và giảm rủi ro

Phát triển và kiểm định

Phát triển và kiểm định
– Mô hình phát triển có thể chọn bất kỳ trong các mô hình tổng quát
• Kế hoạch
– Đánh giá dự án, và lập kế hoạch cho pha tiếp theo
Các hoạt động chính của qui trình
• Đặc tả
• Thiết kế và lập trình
• Kiểm định

Tiến hóa

Tiến hóa
Đặc tả phần mềm
• Quá trình xác định dịch vụ nào cần xây dựng
và các ràng buộc khi hệ thống hoạt động và
trong quá trình phát triển

Qui trình kỹ nghệ lấy yêu cầu (RE)

Qui trình kỹ nghệ lấy yêu cầu (RE)
– Nghiên cứu tính khả thi

– Phân tích và làm rõ yêu cầu
– Đặc tả yêu cầu
– Kiểm định yêu cầu
Qui trình kỹ nghệ lấy yêu cầu
Nghiên cứu
tính khả thi
Phân tích và
làm rõ
yêu cầu
Đặc tả
yêu cầu
Báo
cáo
khả
Kiểm định
yêu cầu
Báo
cáo
khả
thi
Mô hình hệ
thống
Yêu cầu
người dùng
và hệ thống
Tài liệu
yêu cầu
Thiết kế và lập trình
• Quá trình chuyển đặc tả hệ thống thành hệ thống
chạy được

• Thiết kế

Thiết
kế
cấu
trúc
phần
mềm
để
thực
hiện
được
đặc
tả
đã

Thiết
kế
cấu
trúc
phần
mềm
để
thực
hiện
được
đặc
tả
đã
xác định

• Lập trình (implementation – cài đặt)
– Chuyển đổi cấu trúc thành chương trình chạy được
• Hoạt động thiết kế và lập trình có liên quan chặt chẽ
với nhau và đan xen nhau

×