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

Bài giảng công nghệ phần mềm - Phần 1 Giới thiệu về chu trình sống của phần mềm - Chương 3 pdf

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 (357.72 KB, 16 trang )


Huỳnh Xuân Hiệp - CNPM

23
3
3


c
c
á
á
c
c


m
m
ô
ô


h
h
ì
ì
n
n
h
h
c


c
h
h
u
u


t
t
r
r
ì
ì
n
n
h
h


s
s


n
n
g
g


c

c


a
a




p
p
h
h


n
n


m
m


m
m
(
(
S
S
O

O
F
F
T
T
W
W
A
A
R
R
E
E


L
L
I
I
F
F
E
E
-
-
C
C
Y
Y
C

C
L
L
E
E


M
M
O
O
D
D
E
E
L
L
S
S
)
)


Nội dung:
Mô hình xây dựng và hiệu chỉnh
Mô hình thác nớc
Mô hình định khung nhanh
Mô hình tăng trởng
Mô hình đồng bộ và ổn định
Mô hình xoắn ốc

Các mô hình hớng đối tợng
So sánh các mô hình


Huỳnh Xuân Hiệp - CNPM

24
3
3
3
.
.
.
1
1
1



M
M
M
ô
ô
ô



h
h

h
ì
ì
ì
n
n
n
h
h
h



x
x
x
â
â
â
y
y
y



d
d
d




n
n
n
g
g
g



v
v
v
à
à
à



h
h
h
i
i
i



u
u

u



c
c
c
h
h
h



n
n
n
h
h
h
(build-and-fix model)

Không có đặc tả hay thiết kế
Chỉ đơn giản là làm đi làm lại cho đến khi nào đáp ứng đợc yêu cầu của
khách hàng
Thờng sử dụng trong các bài tập lập trình từ 100 đến 200 dòng mã lệnh

Xây dựng phiên bản đầu tiên

C


p nh

t cho đến khi khách hàn
g
chấp thu

n


Đa vào sử dụng
Phát triển
Bảo trì Kết thúc hoạt động

Hình 3.1 Mô hình xây dựng và hiệu chỉnh



Huỳnh Xuân Hiệp - CNPM

25
3
3
3
.
.
.
2
2
2




M
M
M
ô
ô
ô



h
h
h
ì
ì
ì
n
n
n
h
h
h



t
t
t
h

h
h
á
á
á
c
c
c



n
n
n






c
c
c
(waterfall model)

Giai đoạn phân tích các yêu cầu Thay đổi các yêu cầu
Thẩm tra Thẩm tra

Giai đoạn đặc tả
Thẩm tra


Giai đoạn thiết kế
Thẩm tra

Giai đoạn cài đặt
Kiểm thử

Giai đoạn tích hợp
Thẩm tra: verify Kiểm thử
Kiểm thử : test
Đa vào hoạt động
Phát triển
Bảo trì Kết thúc hoạt động
Hình 3.2 Mô hình thác nớc


Huỳnh Xuân Hiệp - CNPM

26
Do Royce đề xuất [Royce, 1970]
Các lỗi ở một số giai đoạn trớc đợc phản hồi bởi các giai đoạn sau
Mỗi giai đoạn chỉ đợc xem là hoàn thành sau khi đã có đầy đủ tài liệu cho
giai đoạn đó và đợc nhóm SQA chấp thuận
Các bớc tiến hành chính:
các yêu cầu đợc xác định và kiểm chứng bởi khách hàng và nhóm
SQA
các đặc tả đợc kiểm chứng bởi nhóm SQA và gửi cho khách hàng
lập SPMP và bảng thời gian làm việc chi tiết
giai đoạn thiết kế bắt đầu sau khi khách hàng đồng ý về giá thành và
thời gian thực hiện; thực hiện cài đặt và tích hợp

khách hàng cho hoạt động thử; chấp nhận sản phẩm
chuyển sang giai đoạn bảo trì
Ưu điểm:
kỷ luật cao; quy định tốt về tài liệu cho mỗi giai đoạn; kiểm chứng
cẩn thận bởi nhóm SQA; đợc ứng dụng rộng rãi
Khuyết điểm:

quá nhiều kiểm thử, thẩm tra và tài liệu
hớng tài liệu: khó hình dung và khó hiểu đối với khách hàng

Huỳnh Xuân Hiệp - CNPM

27
3
3
3
.
.
.
3
3
3



M
M
M
ô
ô

ô



h
h
h
ì
ì
ì
n
n
n
h
h
h



đ
đ
đ



n
n
n
h
h

h



k
k
k
h
h
h
u
u
u
n
n
n
g
g
g



n
n
n
h
h
h
a
a

a
n
n
n
h
h
h
(rapid prototyping model)

Định khung nhanh Thay đổi các yêu cầu
Thẩm tra Thẩm tra

Giai đoạn đặc tả
Thẩm tra

Giai đoạn thiết kế
Thẩm tra

Giai đoạn cài đặt
Kiểm thử

Giai đoạn tích hợp
Kiểm thử

Đa vào hoạt động
Phát triển
Bảo trì Kết thúc hoạt động
Hình 3.3 Mô hình định khung nhanh



Huỳnh Xuân Hiệp - CNPM

28
Là mô hình hoạt động có chức năng tơng đơng với một tập hợp con
(subset) của sản phẩm
VD:
Nếu chức năng sản phẩm đích là trả tiền tài khoản, nhận tiền từ tài
khoản và xếp hàng vào kho thì việc định khung nhanh có thể bao gồm các
công việc của sản phẩm nh: màn hình nhập liệu, in các báo cáo nhng
không có các công việc nh cập nhật tập tin hay bắt các lỗi xuất hiện.
Các bớc thực hiện chính:
bớc đầu tiên là định khung nhanh mô hình,tạo điều kiện cho khách
hàng và ngời sử dụng tơng lai tơng tác với mô hình và thử
nghiệm
chuyển sang giai đoạn đặc tả sau khi khách hàng đã chấp thuận
rằng các yêu cầu cần thiết đã có trong quá trình định khung nhanh
Yêu cầu của mô hình là thực hiện càng nhanh càng tốt để tăng tốc độ của
tiến trình phát triển phần mềm
Tích hợp hai mô hình thác nớc và định khung nhanh
xem việc định khung nhanh là đầu vào của mô hình thác nớc
có thể xảy ra một số hiệu ứng lề và có thể có rủi ro (risk) xuất hiện
do sử dụng nhiều mô hình (số lợng ở đây là 2)

Huỳnh Xuân Hiệp - CNPM

29
3
3
3
.

.
.
4
4
4



M
M
M
ô
ô
ô



h
h
h
ì
ì
ì
n
n
n
h
h
h




t
t
t
ă
ă
ă
n
n
n
g
g
g



t
t
t
r
r
r






n

n
n
g
g
g
(incremental model)

Giai đoạn phân tích các yêu cầu
Thẩm tra

Giai đoạn đặc tả
Thẩm tra

Giai đoạn thiết kế kiến trúc
Thẩm tra


Thực hiện các bớc sau:
hoàn thiện thiết kế chi tiết, cài đặt, tích hợp,
kiểm thử, phân phối đến khách hàng


Đa vào hoạt động
Phát triển
Bảo trì Kết thúc hoạt động
Hình 3.4 Mô hình tăng trởng
Chuỗi các bớc thiết kế,cài đặt,tích hợp và kiểm thử đợc thực hiện liên tục
(tăng). Sử dụng trong một số dự án về phòng thủ không gian [Wong, 1984]

Huỳnh Xuân Hiệp - CNPM


30
Bớc xây dựng 1:

Đặc tả
Thiết kế
Cài đặt và
tích hợp
Giao cho
khách hàng



Bớc xây dựng 2:
Đặc tả Thiết kế
Cài đặt và
tích hợp
Giao cho
khách hàng




Bớc xây dựng 3:
Đặc tả Thiết kế
Cài đặt và
tích hợp
Giao cho
khách hàng



















Nhóm đặc tả
Nhóm thiết kế
Bớc xây dựng n:
Đặc tả Thiết kế
Cài đặt và
tích hợp
Giao cho
khách hàng
Nhóm cài đặt/tích hợp
Hình 3.5 Mô hình tăng trởng nhiều rủi ro
Giao sản phẩm cho khách hàng sau mỗi bớc xây dựng. Mỗi bớc xây
dựng tơng đơng với một tập con các yêu cầu của khách hàng.
Một sản phẩm điển hình thờng bao gồm khoảng 10-50 bớc xây dựng

Giảm khó chịu cho khách hàng khi phải thay đổi một sản phẩm hoàn chỉnh
Chú ý việc phá bỏ các cấu trúc của bớc xây dựng trớc đó !

Huỳnh Xuân Hiệp - CNPM

31
3
3
3
.
.
.
5
5
5



M
M
M
ô
ô
ô



h
h
h

ì
ì
ì
n
n
n
h
h
h



đ
đ
đ



n
n
n
g
g
g



b
b
b







v
v
v
à
à
à






n
n
n



đ
đ
đ




n
n
n
h
h
h
(synchronize-and-stabilize model)

Là một dạng khác của mô hình tăng trởng [Cusamano và Selby, 1997]
Đợc triển khai sử dụng tại công ty Microsoft, Inc.
Các bớc thực hiện:
dẫn dắt các phân tích yêu cầu bằng cách phỏng vấn đông đảo các
khách hàng tiềm năng (potential customers)
rút ra tài liệu đặc tả
công việc đợc chia thành 3 hay 4 bớc xây dựng: đặc điểm cấp thiết
nhất, đặc điểm cấp thiết nhì,
mỗi bớc xây dựng đợc thực hiện cùng lúc bởi nhiều nhóm nhỏ
cuối mỗi ngày các nhóm thực hiện đồng bộ với nhau bằng cách ghép
các phần việc của nhóm lại với nhau, kiểm thử và lần vết trên sản
phẩm kết quả
hiệu chỉnh các lỗi và bớc xây dựng chuyển sang trạng thái ổn định,
sẽ không có bất kỳ thay đổi nào nữa trên tài liệu đặc tả
lặp lại bớc đồng bộ

Huỳnh Xuân Hiệp - CNPM

32
3
3
3

.
.
.
6
6
6



M
M
M
ô
ô
ô



h
h
h
ì
ì
ì
n
n
n
h
h
h




x
x
x
o
o
o



n
n
n






c
c
c
(spiral model)

Phân tích rủi ro Phân tích rủi ro
Định khung nhanh Thay đổi các yêu cầu
Thẩm tra Thẩm tra


Phân tích rủi ro
Giai đoạn đặc tả
Thẩm tra

Phân tích rủi ro
Giai đoạn thiết kế
Thẩm tra

Phân tích rủi ro
Giai đoạn cài đặt
Kiểm thử

Phân tích rủi ro
Rủi ro : risk Giai đoạn tích hợp
Kiểm thử
Phát triển
Bảo trì Đa vào hoạt động

Hình 3.6 Phiên bản đơn giản nhất của mô hình xoắn ốc
Kết thúc hoạt động

Huỳnh Xuân Hiệp - CNPM

33

Yếu tố rủi ro hầu nh luôn tồn tại trong
sự phát triển của phần mềm
Do Boehm đề xuất [Boehm,1988]
nhằm giảm thiểu sự rủi ro trong
quá trình phát triển

Đợc sử dụng rộng rãi cho
một lớp rộng các sản phẩm
và gặt hái nhiều thành công
[Boehm, 1988]








Tích h

p
Cài đ

t
Thiết kế
Đặ
c tả
Định khung
nhanh
Thẩm tra
Thẩm tra
Thẩm tra
Thẩm tra
Phân tích rủi ro
Phân tích rủi ro
Phân tích rủi ro

Phân tích rủi ro
Phân tích rủi ro
Hình 3.7 Một phần của Hình 3.6
đ

c vẽ l

i theo d

n
g
xoắn ốc

Huúnh Xu©n HiÖp - CNPM

34



















Review
partition
Commitment
Requirements plan
Life-cycle plan
Simulations, models, benchmarmks
Implementation
A
ccep-
tance
test
Inte-
gration
test
Unit
test
Code
Detailed
design
Plan next phase
Concetp of
operation
Development
plan
Integration and
test plan

Design validation
and verification
Requirements
validation
Software
requirements
Risk
analysis
Prototype 1
Prototype 2
Prototype 3
Risk
analysis
Risk
analysis
Risk
analysis
Operational
prototype
Evaluate alternatives,
identify, resolve risks
Determine objectives,
alternatives, constraints
Cumulative cost
Progress through steps
H×nh 3.8 M« h×nh xo¾n èc ®Çy ®ñ [Boehm, 1988]. (©1988 IEEE.)
Develop, verify next-level product

Huỳnh Xuân Hiệp - CNPM


35

Điểm mạnh
hớng rủi ro (risk-driven)
các công việc luân phiên và chịu các ràng buộc đã hỗ trợ cho việc tái
sử dụng phần mềm hiện có
đánh giá mức độ rủi ro
mục tiêu quan trọng luôn là chất lợng phần mềm
giảm nhẹ kiểm thử và nhanh chóng sửa chữa những lỗi xảy ra
bảo trì đơn giản chỉ là một vòng tròn trong xoắn ốc, nh vậy không có
sự phân biệt giữa phát triển và bảo trì
Điểm yếu
hớng rủi ro
VD:
tiến hành thế nào nếu có một thành phần có độ rủi ro cao ?
dành riêng cho các phần mềm nội bộ có kích thớc lớn [Boehm, 1988]
vì dự án có thể chấm dứt do các đánh giá về rủi ro, do đó sẽ rất không
hay khi đã ký kết các hợp đồng, ảnh hởng đên uy tín của công ty, rắc
rối về mặt luật pháp
kích thớc sản phẩm ảnh hởng đến giá thành việc phân tích rủi ro


Huỳnh Xuân Hiệp - CNPM

36
3
3
3
.
.

.
7
7
7



C
C
C
á
á
á
c
c
c



m
m
m
ô
ô
ô



h
h

h
ì
ì
ì
n
n
n
h
h
h



h
h
h






n
n
n
g
g
g




đ
đ
đ



i
i
i



t
t
t






n
n
n
g
g
g
(object-oriented life-cycle models)


Đặc tính quan trọng nhất là lặp:
giữa các giai đoạn
một phần trong giai đoạn

Mô hình vòi phun nớc của
[Hendreson-Sellers và Edwards, 1990]
vòng tròn thể hiện các giai đoạn gối
lên nhau, phần thấy đợc phản ánh
sự gối lên trên giữa các hoạt động
mũi tên bên trong một giai đoạn thể
hiện sự lặp lại bên trong giai đoạn đó
vòng tròn bảo trì nhỏ hơn tợng trng
cho việc giảm bớt nhân lực cho công
tác bảo trì

Hình 3.9 Mô hình vòi phun nớc
Bảo trì
Giai đoạn thiết kế
hớng đối tợng
Giai đoạn phân tích
hớng đối tợng
Giai đo

n phân tích
y
êu cầu
Giai đo

n cài đ


t
Giai đo

n cài đ

t và tích h

p
Đ
a vào ho

t đ

n
g

Phát triển thêm

Huỳnh Xuân Hiệp - CNPM

37
Một số mô hình khác
Objectory [Jacobson, Christerson và Overgaard, 1992]
chu trình sống đệ quy/song song (recursice/parallel)[Berard, 1993]
thiết kế cấu trúc hình thức khứ hồi (round-trip gestalt) [Booch, 1994]

Điểm mạnh:
cho phép lặp
kết hợp nhiều dạng song song (các hoạt động gối đầu)
hỗ trợ phát triển tăng trởng

Điểm yếu:
nguy cơ có thể xảy ra do thông dịch không đúng những cái cần thiết
thiếu kỷ luật trong công việc,trình tự công việc của các thành viên
chuyển dịch hầu nh ngẫu nhiên giữa các giai đoạn
VD:
đầu tiên là thiết kế phần một, tiếp theo là phân tích phần hai, sau
đó là cài đặt phần ba, !
trình tự cái mới trong sự liên hệ giữa các thành phần, do trình tự làm
việc ngẫu nhiên dẫn đến mới ở chỗ này nhng lại cũ tại nơi khác !



Huỳnh Xuân Hiệp - CNPM

38
3
3
3
.
.
.
8
8
8



S
S
S

o
o
o



s
s
s
á
á
á
n
n
n
h
h
h



c
c
c
á
á
á
c
c
c




m
m
m
ô
ô
ô



h
h
h
ì
ì
ì
n
n
n
h
h
h
c
c
c
h
h
h

u
u
u



t
t
t
r
r
r
ì
ì
ì
n
n
n
h
h
h



s
s
s




n
n
n
g
g
g
(comparaison of life-cycle models)

Mô hình chu trình sống Điểm mạnh Điểm yếu
Mô hình xây dựng và hiệu chỉnh Tốt đối với các chơng trình ngắn không yêu cầu về
bảo trì
Không đáp ứng đợc các chơng trình
tơng đối lớn trở đi
Mô hình thác nớc Tiếp cận có kỷ luật
Hớng tài liệu
Sản phẩm chuyển giao có thể không theo
những gì khách hàng cần
Mô hình định khung nhanh Đảm bảo sản phẩm đợc chuyển giao có đợc
những gì khách hàng cần
Xem phần 9
Mô hình tăng trởng Trở lại sớm tối đa băng cách đầu t tiếp tục
Đẩy mạnh công tác bảo trì
Đòi hỏi kiến trúc mở
Có thể thoái hóa thành mô hình xây dựng
và điều chỉnh
Mô hình đồng bộ và ổn định Có đợc những gì khách hàng cần trong tơng lai
Đảm bảo các thành phần có thể tích hợp thành công
Không đợc sử dụng rộng rãi nh tại
Microsoft
Mô hình xoắn ốc Kết hợp nhiều đặc điểm của tất cả các mô hình phía

trên
Chỉ có thể sử dụng cho các sản phẩm có
kích thớc lớn hay cho các tổ chức
Các nhà phát triển phải có khả năng phân
tích rủi ro và giải quyết rủi ro
Các mô hình hớng đối tợng Hỗ trợ việc lặp lại bên trong các giai đoạn, song
song hóa giữa các giai đoạn
Có thể suy thoái thành CABTAB (thuật
ngữ về sự thiếu kỷ luật trong công việc:
trình tự thực hiện các công việc lung
tung, bừa bãi)

Hình 3.10 So sánh giữa các mô hình chu trình sống

×