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

kỹ nghệ phần mềm chương 3 tiến trình quy trình phát triển phần mềm.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 (789.11 KB, 11 trang )

1
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 1
KỸ NGHỆ PHẦN MỀM
CHƯƠNG 3:
Tiến trình / Quy trình
phát triển phần mềm
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 2
NỘI DUNG
1. Tiến trình phát triểnphầnmềm
2. Mô hình tiếntrìnhphầnmềm
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 3
TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM
Tiến trình
phát triển
phầnmềm
Yêu cầutừ
khách hàng
Ứng dụng /
Hệ thống
phầnmềm
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 4
TIẾN TRÌNH PHÁT TRIỂN – Ý nghĩa
 Quyết định chấtlượng sảnphẩmphầnmềm
 Đồng bộ hóa hoạt động trong dự án
 Quyết định thành công của đơnvị phát triển
KHÔNG CÓ TIẾN TRÌNH VẠN NĂNG
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 5
TIẾN TRÌNH PHÁT TRIỂN – Các yếutố
 Thủ tục (Procedures)
Tiến trình RUP (Rational Unifined Process)
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 6


TIẾN TRÌNH PHÁT TRIỂN – Các yếutố
 Hướng dẫncôngviệc (Activity Guidelines)
Công việcphântíchnghiệpvụ
2
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 7
TIẾN TRÌNH PHÁT TRIỂN – Các yếutố
 Biểumẫu (Forms / Templates)
Ví dụ: Biểumẫuchotiến trình RUP
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 8
TIẾN TRÌNH PHÁT TRIỂN – Các yếutố
Ví dụ: Công cụ cho tiếntrìnhRUP
¾ Rational AnalystStudio (Quảnlýyêucầu)
¾ Rational Rose (Tạomôhìnhpháttriển)
¾ Rational ClearCase (Quảnlýcấuhình)
 Công cụ hỗ trợ (Tools)
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 9
1. Xác định yêu cầu (Requirements)
TIẾN TRÌNH PHÁT TRIỂN – Hoạt động chính
KHÁCH HÀNG
Hệ thống
phầnmềm
NHÀ PHÁT TRIỂN
Nắmbắt
yêu cầu
-Chứcnăng hệ thống
-Ràngbuộchệ thống
ĐẶC TẢ
YÊU CẦU
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 10
TIẾN TRÌNH PHÁT TRIỂN – Hoạt động chính

2.
Phát triểnphầnmềm(Development)
KHÁCH HÀNG
Hệ thống
phầnmềm
Nắmbắt
yêu cầu
-Chứcnăng hệ thống
-Ràngbuộchệ thống
ĐẶC TẢ
YÊU CẦU
Xác định yêu cầu
HỆ THỐNG
VẬN HÀNH
ĐƯỢC
ĐỘI PHÁT TRIỂN
Phát triển
Hoạtđộng
tạora
phầnmềm
NHÀ PHÁT TRIỂN
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 11
TIẾN TRÌNH PHÁT TRIỂN – Hoạt động chính
3. Kiểmthử phầnmềm (Validation/Testing)

Xác định yêu cầu
ĐẶC TẢ
YÊU CẦU

Phát triển

HỆ THỐNG
VẬN HÀNH
ĐƯỢC
Kiểmthử phầnmềm
Đảmbảohệ thống
đáp ứng đòi hỏi
trong đặctả yêu cầu
HỆ THỐNG
ĐÚNG&
KHÔNG LỖI
PRODUCT RIGHT
RIGHT PRODUCT
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 12
TIẾN TRÌNH PHÁT TRIỂN – Hoạt động chính
4.
Tiếnhóaphầnmềm (Evolution)

Xác định yêu cầu
ĐẶC TẢ
YÊU CẦU

Phát triển
HỆ THỐNG
VẬN HÀNH
ĐƯỢC
Kiểmthử phầnmềm

HỆ THỐNG
ĐÚNG& KHÔNG LỖI
NHÂN TỐ

THAY ĐỔI
Tiếnhoáphầnmềm
HOẠT ĐỘNG
TIẾN HOÁ
Khách hàng
Môi trường
Lỗichương trình
3
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 13
TIẾN TRÌNH – Cảitiếnnângcaochấtlượng
 Quy trình khung là cơ sởđểcảitiếntiến
trình nâng cao chấtlượng, năng suất
 Quy trình khung phổ biến(Cácchuẩn)
¾ ISO
¾ CMM (Capability Maturity Model)
¾ CMMI (Capability Maturity Model Integration)
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 14
MÔ HÌNH TIẾN TRÌNH – Khái niệm
Giai đoạn1
Giai đoạn2 Giai đoạn3
MÔ HÌNH TIẾN TRÌNH
Công việc1
Công việc2
Công việc 1.1.1
Công việc1.1
Công việc1.2
Công việc2.1
Công việc 2.1.1
TIẾN TRÌNH CỤ THỂ
Đơngiảnhoá

Trừutượng hoá
Theo góc nhìn
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 15
MÔ HÌNH TIẾN TRÌNH – Khái niệm
 Các góc nhìn tiếntrình:
¾ Luồng công việc: trình tự các hoạt động
¾ Luồng dữ liệu: luồng các dữ liệu di chuyển
¾ Vai trò/hành động: hành vi của tác nhân
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 16
MÔ HÌNH TIẾN TRÌNH – Vai trò
¾ Thể hiệnphương pháp phát triển
phầnmềm
¾ Cơ sởđểlựachọntiến trình phù hợp
bài toán
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 17
MÔ HÌNH TIẾN TRÌNH
 Mô hình thác nước (Water Fall Model)
 Phát triểntiến hóa (Evolutionary development)
 Phát triểnhệ thống hình thức
(
Formal systems development)
 Phát triểndựatrênsử dụng lại
(
Reuse-based development)
 Khác
Mộtsố mô hình tiếntrìnhphổ biến
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 18
TỔNG KẾT
z Khái niệm, ý nghĩavàchuẩncủatiếntrình
phầnmềm

z Nhóm hoạt động chính củatiến trình phát triển
phầnmềm: xác định yêu cầu, phát triển,kiểm
thử và tiến hoá phầnmềm
z Mô hình tiếntrìnhlàsự trừutượng tiếntrình
phát triển theo góc nhìn nào đó
4
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 19
MÔ HÌNH THÁC NƯỚC
(Water Fall Model)
z Ra đờisớm (1970) (mô hình vòng đờicổđiển)
z HT phầnmềmtrải qua 5 giai đoạn
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 20
Kiểmthử
Phân tích
Thiếtkế
Mã hoá
Bảotrì
MÔ HÌNH THÁC NƯỚC
(Water Fall Model)
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 21
z Xác định và phân tích các yêu
cầuchohệ thống
• Chứcnăng
• Ràng buộc
Đối tác tham gia:
khách hàng
người dùng
người phân tích
PHÂN TÍCH
Mã hóa Kiểmthử BảotrìPhân tích Thiếtkế

TÀI LIỆU YÊU CẦU
- Danh sách yêu cầu
-Môtả chi tiếtyêucầu
What to do?
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 22
z Xây dựng giải pháp thiếtkế
cho yêu cầuphầnmềm
Đầuvào:
tài liệuyêucầu
môi trường triển khai
Đầura
tài liệuthiếtkế
THIẾT KẾ
Phân tích Thiếtkế Mã hóa Kiểmthử Bảotrì
TÀI LIỆU THIẾT KẾ
-Môhìnhkiếntrúchệ thống
-Môhìnhthiếtkế chi tiết
Dữ liệu
Thuậttoán
Giao diện
How to do?
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 23
MÃ HÓA
z Viếtchương trình
z Kiểmtra, giámsátmãlệnh
z Gỡ lỗi(Debugging)
Đầu vào
tài liệuthiếtkế
Đầura
chương trình thựchiện được

tài liệuchương trình
Phân tích Thiếtkế Mã hóa Kiểmthử Bảotrì
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 24
KIỂM THỬ
z Phát hiệnvàsửalỗiphầnmềm
z Đảmbảophầnmềmthỏamãnyêucầu khách hàng
Đầuvào:
tài liệuyêucầu
tài liệuthiếtkế
chương trình
tài liệuchương trình
Đầura: tài liệukếtquả kiểmthử
Phân tích Thiếtkế Mã hóa Kiểmthử Bảotrì
5
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 25
BẢO TRÌ
z Đưahệ thống vào vận hành (triển khai)
z Sửalỗiphầnmềm
z Làm thích nghi phầnmềmvớimôitrường mới
z Thay đổiphầnmềm đáp ứng yêu cầumới
Phân tích Thiếtkế Mã hóa Kiểmthử Bảotrì
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 26
ƯU ĐIỂM MÔ HÌNH THÁC NƯỚC
¾ Xuấthiệnsớmnhất, có ý nghĩa lý thuyết
¾ Các pha đượcxácđịnh rõ ràng (đầuvào/ra)
¾ Thấy đượctrìnhtự kỹ nghệ từđầu đến
sảnphẩmcuối
¾ Bảotrìthuậnlợi
¾ Thích hợpkhiyêucầuhiểutốt
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 27

¾ Tách biệtgiữa các pha, tiến hành tuầntự
• Khó tuân thủ tuầntự: dự án lớnthường phảilặplại
•Khóđáp ứng yêu cầu thay đổicủa khách hàng
¾ Sai sót phát hiệnmuộncóthể là thảmhọa
¾ Chậm có phiên bảnthựchiện được
• Đòi hỏi khách hàng phảikiênnhẫn
NHƯỢC ĐIỂM MÔ HÌNH THÁC NƯỚC
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 28
z Tiến trình phát triển theo mô hình thác nước
gồm: phân tích, thiếtkế, mã hóa, kiểmthử,
triển khai và bảotrì
z Các pha tách biệt rõ ràng, tiến hành tuầntự,
không quay lại
z Cầncảitiếnmớisử dụng được trong thựctế
TỔNG KẾT
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 29
MÔ HÌNH TIẾN HÓA
Sảnphẩmcóđượcnhờ tiến hóa
Phát triểnhệ thống
bán hàng qua mạng
?
Cậpnhật
mặt hàng
Chọn hàng
Thanh toán
Quảnlý
khách hàng

KHÁCH HÀNG PHẦN MỀM
Thẩm định

Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 30
MÔ HÌNH TIẾN HÓA
z Nên khởi đầutừ tậpyêucầu đãrõràng
z Hệ thống tiến hóa bằng cách thêm các
thuộc tính mới được khách hàng đề xuất
6
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 31
LC Mễ HèNH TIN HểA
Phiờn bn
cui cung
ct
Phiờn bn
khi u
tl e
sri o
ct
khỏi quỏt
Phiờn bn
trung gian
Phỏt trin
Thm nh
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 32
Mễ HèNH PHT TRIN TIN HO
1. Mụhỡnhbnmu
2. Mụ hỡnh xon c
3. Mụ hỡnh tng trng
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 33
Mễ HèNH LM BN MU
(
Prototyping model)

z Khỏch hng thng khú núi rừ c iuh mong i
z Ngi phỏt trinthng hiusaiyờucu khỏch hng
z Khỏch hng thng phỏt hin sai sút khi dựng snphm
NHU CU LM BN MU
TO MễI TRNG THU TểM YấU CU
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 34
Mễ HèNH LM BN MU
z Thõu túm yờu cungi dựng, gimthiu sai sút
z mbocỏcyờuculnhng gỡ khỏch hng mong i
MC TIấU LM MU
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 35
sản phẩm
cuối cùng
làm mịn
bản mẫu
xây dựng
bản mẫu
thiết kế
nhanh
đánh giá
của khách
bắt đầu
(thu thập
yêu cầu
)
HOT NG LM BN MU
z Khi ubng pha thu
thpyờucu
z Tin hnh thitk nhanh
z Xõy dng bnmu

z ỏnh giỏ khỏch hng
z Lm mnbnmu
z Nucha csn
phmthỡchuyn sang
thitk nhanh v lpli
Kt thỳc?
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 36
Mễ HèNH BN MU Vớ d
z Nhõn viờn ngõn hng nm rừ nghipv song ch
din t c khi cú tỡnh hung
z Ngi phỏt tringpkhúkhnkhithuthpcỏc
thụng tin nghipv giao dch ngõn hng
z Ngi phỏt trin khụng hỡnh dung cnghip
v tng th
Khung cnh vn
? H thng Qunlýgiaodch Ngõn hng
7
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 37
MÔ HÌNH BẢN MẪU – Ví dụ
z Thông tin cho mỗi
thao tác nghiệpvụ
biểudiễnbằng trang
Web tĩnh
z Trình tự nghiệpvụ
đượcbiểudiễn thông
qua các link
Giải pháp tạomẫu
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 38
THIẾT KẾ BẢN MẪU
z Là hoạt động quan trọng của quá trình làm bảnmẫu

z Trình diễnkhíacạnh phầnmềm mà khách hàng
nhìn thấy(nhậpliệu, kếtxuấtdữ liệu, thao tác)
z Phải nhanh và ít công sức(sử dụng 4GT)
z Phụ thuộcvàocácyếutố
¾ Loạibảnmẫu
¾ Định hướng làm bảnmẫu
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 39
CÁC LOẠI BẢN MẪU
1. Bảnmẫutrêngiấy
2. Bảnmẫuthựchiệnmộtphầnchứcnăng
3. Bảnmẫugiaodiện
4. Bảnmẫuhướng tớisảnphẩm
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 40
ĐỊNH HƯỚNG LÀM BẢN MẪU
z Bảnmẫu dùng xong bỏđi
(throw-away approach)
z Bảnmẫu dùng tiếpchobướcsau
(evolutionary approach)
z Bảnmẫulàphầnhệ thống vậnhànhđược
(dựatrênthànhphần)
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 41
KHI NÀO SỬ DỤNG BẢN MẪU ?
Các yêu cầuchưarõràng
Xác định miềnyêucầu
chưarõràngđể phân tích
KHUNG CẢNH VẤN ĐỀ
Dữ liệu vào/ra phứctạp
từ nhiều nguồn khác nhau
Input/output chưarõràng
Đề xuất thuật toán,

giải pháp mới
Khó đánh giá hiệuquả
thuật toán
Hệ thống thông tin quảnlý
Có tương tác người máy nhiều
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 42
MÔ HÌNH XOẮN ỐC
(Spiral Model)
?
-Trình tự rõ ràng
-Loại trừ rủi ro sớm
Kết hợp ưu điểm2mô hình:
Mô hình
thác nước
Phân tích
Thiết kế
Mã hóa
Vận hành
Kiểm thử
- Trình tự tốt
-Rủi ro cao
Mô hình
bản mẫu
Ýkiến
khách hàng
Ýkiến
khách hàng
Phiên bản1
Phiên bản2
Phiên bản3

-Loại trừ rủi ro
- Trình tự không
rõ ràng
8
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 43
Mễ HèNH XON C
(Spiral Model)
z L quỏ trỡnh lp theo hng m rng, hon
thin dn qua 4 hot ng:
Lp k hoch:xỏc lp ti nguyờn, thi hn cho d ỏn
Phõn tớch ri ro: xem xột cỏc mo him cú th xy ra
K ngh: phỏt trin mt phiờn bn ca phn mm
(la chn mt mụ hỡnh thớch hp)
Giao tip vi khỏch hng: khỏch hng ỏnh giỏ v
phiờn bn ó phỏt trin; lm mn, sa i cỏc yờu cu
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 44
phân tích rủi ro
kỹ nghệ
phõn tớch ri ro
da trờn yờu
cu ban u
k hoch
da trờn ý
kin ca
khỏch hng
ỏnh giỏ
ca khỏch
hng
lập kế hoạch
đánh giá

bn mu ban u
bn mu tip theo
tip tc
hay khụng?
phõn tớch ri ro
da trờn ý kin
ca khỏch hng
tp hp yờu
cu ban u
v k hoch
d ỏn
SHOT NG VI Mễ HèNH XON C
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 45
Mụ hỡnh xon c-Vớ d
Pha nm bt yờu cu H thng QL chng trỡnh o to
(Mụ hỡnh ca s dng use cases)
Vũng xoỏy 1
Vũng xoỏy 2 Vũng xoỏy 3
Cp nht t in
Cp nht t in
Cp nht
chng trỡnh
Cp nht
chng trỡnh
Cp nht ngnh
o to
Cp nht ngnh
o to
Gỏn chng trỡnh
vo lp hc

Gỏn chng trỡnh
vo lp hc
La chn
mụn hc theo
khung
chng trỡnh
La chn
mụn hc theo
khung
chng trỡnh
To chng trỡnh
theo chng trỡnh
ó cú
To chng trỡnh
theo chng trỡnh
ó cú
Cp nht
thụng tin
lp hc
Cp nht
thụng tin
lp hc
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 46
KH NNG LINH HOT
z Cỏc vũng trũn c lp ỏp ng yờu cu
thay i ca ngi dựng
z Kim soỏt ri ro tng mc tin húa
z Cú th s dng cỏc mụ hỡnh khỏc nhau
trỏnh cỏc ri ro ó xỏc nh
z ỏnh giỏ chi phớ chớnh xỏc hn cỏc

phng phỏp khỏc
U IM Mễ HèNH XON C
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 47
z Yờu cu thay i thng xuyờn dn n lp
vụ hn v tht bi
z Khú thuyt phc khỏch hng l phng
phỏp tin húa cú th kim soỏt c
z ũi hi nng lc qun lý, nng lc phõn tớch
ri ro cao -> cn chi phớ chuyờn gia
z Cha c dựng rng rói nh mụ hỡnh
thỏc nc hoc lm mu
NHC IM Mễ HèNH XON C
B mụn Cụng ngh phnmm Khoa CNTT- HCN- HQGHN K ngh phnmm Slide 48
z Thay vỡ chuyn giao mt ln, quỏ trỡnh phỏt trin
v chuyn giao c chia lm nhiu ln,
mi chuyn giao ỏp ng mt phn chc nng
z Yờu cu ngi dựng c phõn loi u tiờn,
mc cao s thuc phn chuyn giao sm
z Khi phỏt trin mt bn tng, yờu cu tng ng
l c nh, tuy nhiờn, yờu cu cho bn tng sau
vn phỏt trin
Mễ HèNH PHT TRIN TNG TRNG
(Incremental development)
9
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 49
analysis
design code test
System/information
engineering
analysis

design code test
analysis
design code test
analysis
design code t est
B¶n t¨ng 2
ChuyÒn giao
b¶n t¨ng 4
Thêi gian
B¶n t¨ng 3
B¶n t¨ng 1
B¶n t¨ng 4
ChuyÒn giao
b¶n t¨ng 1
ChuyÒn giao
b¶n t¨ng 2
ChuyÒn giao
b¶n t¨ng 3
MÔ HÌNH PHÁT TRIỂN TĂNG TRƯỞNG
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 50
HOẠT ĐỘNG PHÁT TRIỂN TĂNG TRƯỞNG
Xác định yêu cầu
tổng thể
Gán yêu cầu cho
các bản tăng
Thiết kế
kiến trúc
Phát triển
bản tăng
Tích hợp

bản tăng
Kiểm thử
hệ thống
Hệ thống chưa hoàn thành
Hệ thống
cuối cùng
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 51
Mô hình tăng trưởng - Ví dụ
? Hệ thống Quản lý chương trình đào tạo
Bản tăng 1
Bản tăng 2 Bản tăng 3
Cập nhật từ điển
Cập nhật từ điển
Cập nhật
chương trình
Cập nhật
chương trình
Cập nhật ngành
đào tạo
Cập nhật ngành
đào tạo
Gán chương trình
vào lớp học
Gán chương trình
vào lớp học
Lựa chọn
môn học theo
khung
chương trình
Lựa chọn

môn học theo
khung
chương trình
Tạo chương trình
theo chương trình
đã có
Tạo chương trình
theo chương trình
đã có
Cập nhật
thông tin
lớp học
Cập nhật
thông tin
lớp học
MÔ HÌNH TỔNG THỂ GỒM 7 CA SỬ DỤNG
ĐƯỢC CHIA LÀM 3 BẢN TĂNG DẦN
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 52
z Có sản phẩm dùng được trong thời gian ngắn
• đáp ứng nhanh yêu cầu của khách hàng
• chiếm lĩnh thị trường
z Bản tăng trước như là bản mẫu cho bản tăng sau
z Rủi ro được loại bỏ sớm
z Dịch vụ hệ thống ưu tiên mức cao nhất được
kiểm thử nhiều nhất
ƯU ĐIỂM MÔ HÌNH TĂNG TRƯỞNG
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 53
z Tổng chi phí phát triển là cao hơn bình thường
z Tổng thời gian để chuyển giao toàn bộ chức năng
là lớn hơn

z Kế hoạch chuyển giao mang tính quyết định
thành công, nếu sai sẽ dẫn đến thảm họa
NHƯỢC ĐIỂM MÔ HÌNH TĂNG TRƯỞNG
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 54
VẤN ĐỂ VỚI MÔ HÌNH TĂNG TRƯỞNG – Ví dụ
z Theo từng bản tăng cho ra
các thuộc tính giao diện:
A, B, C
z Khó khăn khi cần tích hợp
giao diện: AvàB, AvàC
Vấn đề tương tự với
tổng thể hệ thống
(Kiến trúc nghèo nàn)
10
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 55
z Bao gồm: Mô hình bản mẫu, Mô hình
xoắn ốc, Mô hình tăng trưởng
z Phát triển sơ bộ
 Làm việc với khách hàng để có được đặc tả
khái quát ban đầu của hệ thống. Có thể
bắt đầu với hiểu biết chưa đầy đủ.
z Thực hiện phát triển bằng cách làm mẫu
 Mục tiêu là để hiểu hệ thống. Bản mẫu
ban đầu được phát triển có thể còn sơ sài.
TỔNG KẾT MÔ HÌNH TIẾN HÓA
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 56
TỔNG KẾT MÔ HÌNH TIẾN HÓA
z Hạn chế
• Hệ thống thường có cấu trúc nghèo nàn
z Khả năng ứng dụng

• Ứng dụng cho nhiều lớp hệ thống khác nhau
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 57
VÍ DỤ
Đặc tả hình thức
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 58
C: N
R: N
Reading?: N
Display!: String
A!: {on, off}
R = reading?
C 40 => display! = “”
C 20 => display! = “Insulin low”
C 9 => A! = on ∧ display! = “Insulin very
low”
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 59 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 60
Mô hình dựa theo thành phần (CBSE)
z Gắn với những công nghệ hướng đối tượng
(Object-oriented technologies) qua việc tạo các
lớp (classes) có chứa cả dữ liệu và giải thuật
xử lý dữ liệu
z Có nhiều tương đồng với mô hình xoắn ốc
z Với ưu điểm tái sử dụng các thành phần qua
Thư viện / kho các lớp: tiết kiệm 70% thời
gian, 80% giá thành
z Với UML như chuẩn công nghiệp đang triển
khai
11
Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 61
Mô hình dựa theo thành phần (CBSE)

×