K ngh ph n m m
Software Engeneering
Bé m«n C«ng nghƯ phần mềm- Khoa CNTT- ĐHCN
Email:
Bài 3: Ti n trình ph n m m
Nguy nV nV
N i dung
Tiến trình v mô hình tiến trình
Các giai đoạn của tiến trình
Tiến trình v vấn ®Ị liªn quan
B mơn Cơng ngh ph n m m –
HCN
2
TÀI Li U THAM KH O
Nguy nV nV
1.
2.
3.
4.
5.
6.
Nguy n V n V , Nguy n Vi t Hà. Giáo trình k ngh ph n
m m. Nhà xu t b n
i h c Qu c gia Hà n i, 2008
Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
Ian Sommerville, Software Engineering. Sixth Edition, AddisonWasley, 2001.
Nguy n V n V . Phân tích thi t k h th ng thông tin hi n đ i.
H ng c u trúc và h ng đ i t ng, NXB Th ng kê, 2002, Hà
N i.
B môn Công ngh ph n m m –
HCN
3
Các loại mô hình tiến trình
Nguy nV nV
5 loại mô hình tiến trình phần mềm tiêu biểu:
Mô hình thác nớc
Các mô hình phát triển tiến hóa
Các mô hình phát triển hình thức
Phát triển dựa trên sử dụng lại
Khác
Mỗi loại bao gồm một số các mô hình tiến trình.
B mụn Công ngh ph n m m –
HCN
4
Mô hình vòng đời truyền thống
Nguy nV nV
Ngiên cứu
lập KHDA
phân tích yêu
cầu& đặc tả
thiết kế HT &
phẩn mềm
MÃ hoá &kiểm
thử đơn vị
kiểm thử tích
hợp & HT
Vận hnh
& bảo trì
Mô hình th¸c n−íc – waterfall model
B mơn Cơng ngh ph n m m –
HCN
5
Mô hình thác nớc: đặc điểm
Tách biệt giữa các pha, tiến hnh tuần tự
Nguy nV nV
Khó tuân thủ tuần t: dự án lớn thờng phải quay lại
Khó đáp ứng yêu cầu thờng thay đổi của khách
Chậm có phiên bản thực hiện đợc
đòi hỏi khách hng phải kiên nhẫn
sai sót phát hiện muộn có thể l thảm họa
Đặc tả kỹ, phân công chuyên trách, hớng ti liệu
Ti liệu quá nhiều, tốn sức ngời, thời gian di
ơ Có sớm v đợc sử dụng rộng rÃi (tốt > tự nhiên)
ơ Thích hợp khi yêu cầu hiểu tốt, hệ lớn & phức tạp
ơ Bảo trì thuận lợi
B mụn Cụng ngh ph n m m –
HCN
6
Mô hình phát triển tiến hóa
b1. Lợc đồ chung nhất
Đặctltả e
s ri
kh¸i
qu¸to
B mơn Cơng ngh ph n m m –
HCN
Nguy nV nV
Đặc tả
Phiên bản
khởi đầu
Phát triển
Phiên bản
trung gian
Thẩm định
Phiên bản
cuối cïng
7
Lợc đồ chung nhất
Nguy nV nV
Phát triển ban đầu
Lm việc với khách, đặc tả khái quát hệ thống (bắt
đầu với hiểu biết có thể cha đầy đủ)
Thực hiện phát triển bằng cách lm mẫu
Mục tiêu l để hiểu hệ thống. Bản mẫu ban đầu có
thể còn sơ si.
Thẩm định phiên bản có đợc, lặp lại các bớc
cho đến khi có phiên bản cuối cùng
B mụn Cụng ngh ph n m m –
HCN
8
Lợc đồ chung
Nguy nV nV
Hạn chế
Không trực quan
Hệ thống thờng có cấu trúc nghèo nn
Đòi hỏi có kỹ năng đặc tả (ngôn ngữ lm mẫu)
Khả năng ứng dụng
Cho các hệ tơng tác vừa, nhỏ
Cho những phần của hệ lớn
Hệ có vòng đời ng¾n
B mơn Cơng ngh ph n m m –
HCN
9
Mô hình lm bản mẫu
Nguy nV nV
Bắt đầu
Kết thúc
xác yêu cầuthu thập tt.
sơ bộ
sản phẩm
thiết kế
cuối cùng
nhanh
lm mịn
bản mẫu
xây dựng
bản mẫu
đánh giá
của khách
Mô hình làm bản mẫu - Prototyping model
B môn Công ngh ph n m m –
HCN
10
Mô hình lm bản mẫu
Nguy nV nV
Loại mẫu:
mẫu trên giấy
mẫu mô tả một phần chức năng
mẫu giao diện
mẫu hớng tới sản phẩm
Mức độ mẫu:
mẫu dùng xong bỏ đi (throw-away approach)
º mÉu dïng tiÕp cho b−íc sau (CASE chuyªn dơng)
º mẫu l phần hệ thống vận hnh đợc (dựa trên
thnh phần dùng lại)
B mụn Cụng ngh ph n m m –
HCN
11
Mô hình lm bản mẫu
Nguy nV nV
Nhợc điểm: tính cấu trúc không cao
khách hng ít tin tởng
u thế:
nhanh chóng xác định đợc yêu cầu, tốt
tạo cơ sở ký kết hợp đồng
giúp đo tạo huấn luyện ngới sử dụng
Thích h p:
các yêu cầu cha rõ rng
input/output cha rõ rng
khó đánh giá tính hiệu quả thuật toán
B mụn Cụng ngh ph n m m –
HCN
12
Mô hình xoắn ốc (spiral model)
Nguy nV nV
Cải tiến của mô hình tuần tự v lm mẫu
Thêm phân tích rủi ro
L quá trình lặp hớng mở rộng, hon thiện dần
Lập kế hoạch: xác lập vấn đề, ti nguyên, thời hạn.
Phân tích rủi ro: xem xét mạo hiểm, tìm giải pháp
Kỹ nghệ: phát triển một phiên bản của phần mềm
(chọn mô hình thích hợp: lm mẫu, thác nớc,..)
Đánh giá của khách: khách đánh giá phiên bản phát
triển; ồ lm mịn, sửa đổi
B mụn Cụng ngh ph n m m –
HCN
13
Mô hình xoắn ốc
Nguy nV nV
tập hợp yêu
cầu ban đầu,
lập kế
hoạch dự án
lập kế hoạch
phân tích rủi ro
phân tích rủi ro,
lây ý kiến
khách hng
kế hoạch
dựa trên yêu
cầu của
khách
đánh giá
của khách,
sửa đổi,
hon thiện
phân tích rủi ro,
tim giai pháp
tiếp tuc hay
không?
kỹ nghệ
đánh giá
bản mẫu / áp
dụng p.pháp phát
triển thích hợp
spiral model
B mụn Công ngh ph n m m –
HCN
14
Mô hình xoắn ốc: đặc điểm
Nguy nV nV
Hợp với hệ lớn có thể phân chia phần cốt lõi ồ
thứ u
̈ Cã thĨ kiĨm so¸t rđi ro ë tõng møc tiến hóa
Khó thuyết phục khách l kiểm soát đợc sự tiến
hóa linh hoạt (đòi hỏi năng lực quản lý, năng lực
phân tích rủi ro -> chi phi chuyên gia lớn)
Cha đợc dùng rộng rÃi nh mô hình thác n−íc
hc lμm mÉu
B mơn Cơng ngh ph n m m –
HCN
15
Mô hình phát triển ứng dụng nhanh
Rapid Application Development- RAD
đội 2
Mô hình
nghiệp
vụ
Mô hình
dữ liệu
đội 1
Mô hình
nghiệp
vụ
đội 3
Mô hình
nghiệp
vụ
Mô
hình dữ
liệu
Mô
hình xử
lý
Mô hình
xử lý
Mô hình
dữ liệu
Mô hình
xử lý
Nguy nV nV
Tạo sinh
ứng dụng
Tạo sinh
øng dơng
T¹o sinh
øng dơng
KiĨm thư
chun
giao
KiĨm thư
chun
giao
KiĨm thư
chun giao
60-90 ngμy
B mơn Công ngh ph n m m –
HCN
16
RAD - đặc điểm
Nguy nV nV
Hợp với các hệ thống có khả năng môđun hóa cao
hớng thnh phần, tái sử dụng
sử dụng công cụ tự động
Thời gian phát triển sản phẩm ngắn (60~90 ngy)
Không phù hợp với sản phẩm:
khó phân chia thnh các thnh phần
đòi hỏi hiệu năng cao
B mụn Cụng ngh ph n m m –
HCN
17
Mô hình tăng trởng (incremental model)
Nguy nV nV
Bản tăng 1
System/information
engineering
Phân
tích
Bản tăng 2
Thiết
kế
Phân
tích
M
hoá
Kiểm
thử
Thiết
kế
Bản tăng 3
Phân
tích
Chuyền
giao bản
tăng 1
M
hoá
Kiểm
thử
Thiết
kế
Bản tăng 4
Phân
tích
Chuyền
giao bản
tăng 2
M
hoá
Thiết
kế
Kiểm
thử
M
hoá
Chuyền
giao bản
tăng 3
Kiểm
thử
Chuyền
giao bản
tăng 4
Thời gian
B mụn Cụng ngh ph n m m –
HCN
18
Mô hình tăng trởng
Nguy nV nV
Chuyển giao dần từng phần của hệ thống
Sản phẩm chia thnh từng phần tăng theo yêu cầu
chức năng
Yêu cầu ngời dùng u tiên theo thứ tự phần tăng
Cho sản phẩm dùng trong thời gian ngắn
đáp ứng nhanh yêu cầu của khách
chiếm lĩnh thị trờng
khác với bản mẫu
Công ty phát triển phải có tiềm lực cao (công
nghệ, ti sản phần mềm)
B mụn Cụng ngh ph n m m –
HCN
19
Lập trình cực đoan (Extreme Programming-XP)
Nguy nV nV
Cách tiếp cận dựa trên việc phát triển, chuyển
giao dần từng phần nhỏ chức năng
Tạo các ca thử nghiệm trớc khi lập trình
đòi hỏi phải nắm vững yêu cầu; giao diện trớc khi
bắt tay vo mà hóa
Lập trình đội
tránh lỗi, nâng cao chất lợng
đảm bảo sự tuân theo các chuẩn XP đà đề ra
Viết lại khi có thể
chủ động tấn công lỗi
B mụn Cụng ngh ph n m m –
HCN
20
Kü thuËt thÕ hÖ thø 4
Fourth generation technology - 4GT
Nguy nV nV
Các kỹ thuật xác định đặc trng phần mềm ở
mức cao:
hớng mục đích (chức năng)
tự động sinh mà chơng trình theo đặc tả
Các công cụ/ứng dụng điển hình
truy vấn CSDL (SQL)
tạo báo cáo, b¶ng tÝnh
º sinh giao diƯn (giao diƯn Web)
B mơn Cơng ngh ph n m m –
HCN
21
4GT: đặc điểm
Nguy nV nV
Phân tích/thiết kế vẫn l bớc quan trọng
4GT chỉ trợ giúp (tự động hóa) việc sinh mÃ
chơng trình đối với từng chức năng cụ thể
ứng dụng còn hạn chế; không phải mọi
4GTcũng dễ dùng
Tíết kiệm công sức cho phát triển phần mềm nhỏ
Không hiệu quả với phần mềm lớn: mà hóa chØ
chiÕm mét tû lƯ nhá so víi ph©n tÝch thiÕt kÕ
B môn Công ngh ph n m m –
HCN
22
Phát triển hệ thống hình thức hóa
formal systems development
Xác định
yêu cầu
Bán t ng
t ng
Đặc tả
hình thức
Biến đổi
hình thức
Nguy nV nV
Kiểm thử tích hợp
& hệ thống
Các bớc của tiến trình phát triển
(đặc tả yêu cầu 1 cách hình thức bằng
các công cụ toán học trừu tợng)
B mụn Cụng ngh ph n m m –
HCN
23
Biến đổi hình thức
Nguy nV nV
Các phép biến đổi hìmh thức
T1
Đặc tả
hình thức
T2
R2
R1
P1
T3
P2
T4
Chơng trình
thực hiện đợc
R3
P3
P4
Các chứng minh tính đúng ®¾n cđa phÐp biÕn ®ỉi
B mơn Cơng ngh ph n m m –
HCN
24
Hạn chế phát triển hình thức hóa
Nguy nV nV
Hạn chế
Cần có kỹ năng đặc tả v sử dụng kỹ thuật tiên tiến
Khó đặc tả đợc mọi khía cạnh của hệ thống, chẳng
hạn nh giao diện
Khả năng ứng dụng
Những hệ thống quan trọng cần phảI đảm bảo độ an
ton, bảo mật trớc khi đa vo sử dụng, xử lý
nhiều, tơng tác hạn chế.
ít nh phát triĨn cã thĨ sư dơng.
B mơn Cơng ngh ph n m m –
HCN
25