Mô hình tiến trình phần mềm Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 3 TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM Tiến trình phát triển phần mềm Yêu cầu từ khách h
Trang 1Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mề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ần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 2
NỘI DUNG
1 Tiến trình phát triển phần mềm
2 Mô hình tiến trình phần mềm
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 3
TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM
Tiến trình phát triển phần mềm
Yêu cầu từ
khách hàng
Ứng dụng /
Hệ thống phần mềm
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 4
TIẾN TRÌNH PHÁT TRIỂN – Ý nghĩa
Quyết định chất lượng sản phẩm phần mềm
Đồng bộ hóa hoạt động trong dự án
Quyết định thành công của đơn vị phát triển
KHÔNG CÓ TIẾN TRÌNH VẠN NĂNG
TIẾN TRÌNH PHÁT TRIỂN – Các yếu tố
TIẾN TRÌNH PHÁT TRIỂN – Các yếu tố
Hướng dẫn công việc (Activity Guidelines)
Công vi ệc phân tích nghiệp vụ
Trang 2Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 7
TIẾN TRÌNH PHÁT TRIỂN – Các yếu tố
Ví dụ: Biểu mẫu cho tiến trình RUP
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 8
TIẾN TRÌNH PHÁT TRIỂN – Các yếu tố
Ví dụ: Công cụ cho tiến trình RUP
¾ Rational AnalystStudio (Quản lý yêu cầu)
¾ Rational Rose (Tạo mô hình phát triển)
¾ Rational ClearCase (Quản lý cấu hình)
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 9
TIẾN TRÌNH PHÁT TRIỂN – Hoạt động chính
KHÁCH HÀNG
Hệ thống
NHÀ PHÁT TRI ỂN
Nắm bắt
yêu cầu
- Chức năng hệ thống
- Ràng buộc hệ thống
YÊU C ẦU
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 10
TIẾN TRÌNH PHÁT TRIỂN – Hoạt động chính
KHÁCH HÀNG
Hệ thống phần mềm
Nắm bắt yêu cầu
- Chức năng hệ 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
t ạo ra
NHÀ PHÁT TRIỂN
TIẾN TRÌNH PHÁT TRIỂN – Hoạt động chính
…
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 ểm thử phần mềm
Đảm bảo hệ thống đáp ứng đòi hỏi trong đặc tả yêu cầu
HỆ THỐNG ĐÚNG&
KHÔNG LỖI
PRODUCT RIGHT
RIGHT PRODUCT
TIẾN TRÌNH PHÁT TRIỂN – Hoạt động chính
…
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 ểm thử phần mềm
ĐÚNG& KHÔNG LỖI
NHÂN TỐ THAY ĐỔI
Ti ến hoá phần mềm
HO ẠT ĐỘNG
TI ẾN HOÁ
Khách hàng Môi trường Lỗi chương trình
Trang 3Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 13
TIẾN TRÌNH – Cải tiến nâng cao chất lượng
Quy trình khung là cơ sở để cải tiến tiến
trình nâng cao chất lượng, năng suất
¾ ISO
¾ CMM (Capability Maturity Model)
¾ CMMI (Capability Maturity Model Integration)
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 14
MÔ HÌNH TIẾN TRÌNH – Khái niệm
Giai đoạn 1 Giai đoạn 2 Giai đoạn 3
MÔ HÌNH TIẾN TRÌNH
Công việc 1
Công việc 2
Công việc 1.1.1 Công việc 1.1
Công việc 1.2
Công việc 2.1
Công việc 2.1.1
TIẾN TRÌNH CỤ THỂ
Đơn giản hoá Trừu tượng hoá Theo góc nhìn
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 15
MÔ HÌNH TIẾN TRÌNH – Khái niệm
Các góc nhìn tiến trình :
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 16
MÔ HÌNH TIẾN TRÌNH – Vai trò
phần mềm
bài toán
MÔ HÌNH TIẾN TRÌNH
Mô hình thác nước (Water Fall Model)
Phát triển tiến hóa ( Evolutionary development )
Phát triển hệ thống hình thức
( Formal systems development )
Phát triển dựa trên sử dụng lại
( Reuse-based development )
Khác
Một số mô hình tiến trình phổ biến
TỔNG KẾT
z Khái niệm, ý nghĩa và chuẩn của tiến trình phần mềm
z Nhóm hoạt động chính của tiến trình phát triển phần mềm: xác định yêu cầu, phát triển,kiểm thử và tiến hoá phần mềm
z Mô hình tiến trình là sự trừu tượng tiến trình phát triển theo góc nhìn nào đó
Trang 4Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 19
MÔ HÌNH THÁC NƯỚC
(Water Fall Model)
z Ra đời sớm (1970) (mô hình vòng đời cổ điển)
z HT phần mềm trải qua 5 giai đoạn
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 20
Kiểm thử
Phân tích
Thiết kế
Mã hoá
Bảo trì
MÔ HÌNH THÁC NƯỚC
(Water Fall Model)
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 21
z Xác định và phân tích các yêu
cầu cho hệ thống
Đố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ểm thử Bảo trì Phân tích Thiết kế
TÀI LIỆU YÊU CẦU
- Danh sách yêu cầu
- Mô tả chi tiết yêu cầu
What to do?
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 22
z Xây dựng giải pháp thiết kế cho yêu cầu phần mềm
Đầu vào:
tài liệu yêu cầu môi trường triển khai
Đầu ra
tài liệu thiết kế
THIẾT KẾ Phân tích Thiết kế Mã hóa Kiểm thử Bảo trì
TÀI LIỆU THIẾT KẾ
- Mô hình kiến trúc hệ thống
- Mô hình thiết kế chi tiết
Dữ liệu Thuật toán Giao diện
How to do?
MÃ HÓA
z Viết chương trình
z Kiểm tra, giám sát mã lệnh
z Gỡ lỗi (Debugging)
Đầu vào
tài liệu thiết kế
Đầu ra
chương trình thực hiện được
tài liệu chương trình
Phân tích Thiết kế Mã hóa Kiểm thử Bảo trì
KIỂM THỬ
z Phát hiện và sửa lỗi phần mềm
z Đảm bảo phần mềm thỏa mãn yêu cầu khách hàng
Đầu vào:
tài liệu yêu cầu tài liệu thiết kế chương trình tài liệu chương trình
Đầu ra: tài liệu kết quả kiểm thử
Phân tích Thiết kế Mã hóa Kiểm thử Bảo trì
Trang 5Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 25
BẢO TRÌ
z Đưa hệ thống vào vận hành (triển khai)
z Sửa lỗi phần mềm
z Làm thích nghi phần mềm với môi trường mới
z Thay đổi phần mềm đáp ứng yêu cầu mới
Phân tích Thiết kế Mã hóa Kiểm thử Bảo trì
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 26
ƯU ĐIỂM MÔ HÌNH THÁC NƯỚC
¾ Xuất hiện sớm nhất, có ý nghĩa lý thuyết
¾ Các pha được xác định rõ ràng (đầu vào/ra)
¾ Thấy được trình tự kỹ nghệ từ đầu đến sản phẩm cuối
¾ Bảo trì thuận lợi
¾ Thích hợp khi yêu cầu hiểu tốt
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 27
¾ Tách biệt giữa các pha, tiến hành tuần tự
• Khó tuân thủ tuần tự: dự án lớn thường phải lặp lại
• Khó đáp ứng yêu cầu thay đổi của khách hàng
¾ Sai sót phát hiện muộn có thể là thảm họa
¾ Chậm có phiên bản thực hiện được
• Đòi hỏi khách hàng phải kiên nhẫn
NHƯỢC ĐIỂM MÔ HÌNH THÁC NƯỚC
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mề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ết kế, mã hóa, kiểm thử, triển khai và bảo trì
z Các pha tách biệt rõ ràng, tiến hành tuần tự, không quay lại
z Cần cải tiến mới sử dụng được trong thực tế
TỔNG KẾT
MÔ HÌNH TIẾN HÓA
Sản phẩm có được nhờ tiến hóa
Phát triển hệ thống bán hàng qua mạng
?
Cập nhật
mặt hàng Chọn hàng Thanh toán khách hàng Quản lý
KHÁCH HÀNG PHẦN MỀM
Thẩm định
MÔ HÌNH TIẾN HÓA
z Nên khởi đầu từ tập yêu cầ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
Trang 6Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 31
LƯỢC ĐỒ Mễ HèNH TIẾN HểA
Phiờn bản cuối cung
Đặc tả Phiờn bản
khởi đầu
tl e
s ri o
Đặc tả
khỏi quỏt
Phiờn bản trung gian
Phỏt triển
Thẩm định
Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 32
Mễ HèNH PHÁT TRIỂN TIẾN HOÁ
2 Mụ hỡnh xoắn ốc
3 Mụ hỡnh tăng trưởng
Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 33
Mễ HèNH LÀM BẢN MẪU
( Prototyping model)
z Người phỏt triển thường hiểu sai yờu cầu khỏch hàng
z Khỏch hàng thường phỏt hiện sai sút khi dựng sản phẩm
NHU CẦU LÀM BẢN MẪU
TẠO MễI TRƯỜNG ĐỂ THÂU TểM YấU CẦU
Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 34
Mễ HèNH LÀM BẢN MẪU
z Thõu túm yờu cầu người dựng, giảm thiểu sai sút
MỤC TIấU LÀM MẪU
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 )
HOẠT ĐỘNG LÀM BẢN MẪU
z Khởi đầu bằng pha thu thập yờu cầu
z Tiến hành thiết kế nhanh
z Xõy dựng bản mẫu
z Đỏnh giỏ khỏch hàng
z Làm mịn bản mẫu
z Nếu chưa được sản phẩm thỡ chuyển sang thiết kế nhanh và lặp lại
Kết thỳc?
Mễ HèNH BẢN MẪU – Vớ dụ
z Nhõn viờn ngõn hàng nắm rừ nghiệp vụ song chỉ diễn đạt được khi cú tỡnh huống
z Người phỏt triển gặp khú khăn khi thu thập cỏc thụng tin nghiệp vụ giao dịch ngõn hàng
z Người phỏt triển khụng hỡnh dung được nghiệp
vụ tổng thể
Khung cảnh vấn đề
? Hệ thống Quản lý giao dịch Ngõn hàng
Trang 7Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 37
MÔ HÌNH BẢN MẪU – Ví dụ
z Thông tin cho mỗi
thao tác nghiệp vụ
biểu diễn bằng trang
Web tĩnh
z Trình tự nghiệp vụ
được biểu diễn thông
qua các link
Giải pháp tạo mẫu
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mề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ản mẫu
z Trình diễn khía cạnh phần mềm mà khách hàng nhìn thấy (nhập liệu, kết xuất dữ liệu, thao tác)
z Phải nhanh và ít công sức (sử dụng 4GT)
z Phụ thuộc vào các yếu tố
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 39
CÁC LOẠI BẢN MẪU
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 40
ĐỊNH HƯỚNG LÀM BẢN MẪU
(throw-away approach)
(evolutionary approach)
(dựa trên thành phần)
KHI NÀO SỬ DỤNG BẢN MẪU ?
Các yêu cầu chưa rõ ràng
Xác định miền yêu cầu
chưa rõ ràng để phân tích
Dữ liệu vào/ra phức tạp
Đề xuất thuật toán,
giải pháp mới
Khó đánh giá hiệu quả thuật toán
Hệ thống thông tin quản lý Có tương tác người máy nhiều
MÔ HÌNH XOẮN ỐC ( Spiral Model )
- Loại trừ rủi ro sớm Kết hợp ưu điểm 2 mô 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 khách hàngÝ kiến
Phiên bản 1 Phiên bản 2
Phiên bản 3 - Loại trừ rủi ro
- Trình tự không
rõ ràng
Trang 8Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 43
Mễ HèNH XOẮN ỐC
( Spiral Model )
z Là quỏ trỡnh lặp theo hướng mở rộng, hoàn
thiện dần qua 4 hoạt động:
• Lập kế hoạch : xỏc lập tài nguyờn, thời hạn cho dự ỏn
• Phõn tớch rủi ro : xem xột cỏc mạo hiểm cú thể xẩy ra
• Kỹ nghệ : phỏt triển một phiờn bản của phần mềm
(lựa chọn một mụ hỡnh thớch hợp)
• Giao tiếp với khỏch hàng : khỏch hàng đỏnh giỏ về
phiờn bản đó phỏt triển; làm mịn, sửa đổi cỏc yờu cầu
Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 44
phân tích rủi ro
kỹ nghệ
phõn tớch rủi ro dựa trờn yờu cầu ban đầu
kế hoạch dựa trờn ý kiến của khỏch hàng
đỏnh giỏ của khỏch hàng
lập kế hoạch
đánh giá
bản mẫu ban đầu
bản mẫu tiếp theo
tiếp tục hay khụng?
phõn tớch rủi ro dựa trờn ý kiến của khỏch hàng
tập hợp yờu cầu ban đầu
và kế hoạch
dự ỏn
SƠ ĐỒ HOẠT ĐỘNG VỚI Mễ HèNH XOẮN ỐC
Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 45
Mụ hỡnh xoắn ốc - Vớ dụ
Pha nắm bắt yờu cầu Hệ thống QL chương trỡnh đào tạo
(Mụ hỡnh ca sử dụng – use cases)
Vũng xoỏy 1 Vũng xoỏy 2 Vũng xoỏy 3
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
Bộ mụn Cụng nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 46
KHẢ NĂNG LINH HOẠT
z Cỏc vũng trũn được lặp để đỏp ứng yờu cầu thay đổi của người dựng
z Kiểm soỏt rủi ro ở từng mức tiến húa
z Cú thể sử dụng cỏc mụ hỡnh khỏc nhau
để trỏnh cỏc rủi ro đó xỏc định
z Đỏnh giỏ chi phớ chớnh xỏc hơn cỏc phương phỏp khỏc
ƯU ĐIỂM Mễ HèNH XOẮN ỐC
z Yờu cầu thay đổi thường xuyờn dẫn đến lặp
vụ hạn và thất bại
z Khú thuyết phục khỏch hàng là phương
phỏp tiến húa cú thể kiểm soỏt được
z Đũi hỏi năng lực quản lý, năng lực phõn tớch
rủi ro cao -> cần chi phớ chuyờn gia
z Chưa được dựng rộng rói như mụ hỡnh
thỏc nước hoặc làm mẫu
NHƯỢC ĐIỂM Mễ HèNH XOẮN ỐC
z Thay vỡ chuyển giao một lần, quỏ trỡnh phỏt triển
và chuyển giao được chia làm nhiều lần, mỗi chuyển giao đỏp ứng một phần chức năng
z Yờu cầu người dựng được phõn loại ưu tiờn, mức cao sẽ thuộc phần chuyển giao sớm
z Khi phỏt triển một bản tăng, yờu cầu tương ứng
là cố định, tuy nhiờn, yờu cầu cho bản tăng sau vẫn phỏt triển
Mễ HèNH PHÁT TRIỂN TĂNG TRƯỞNG
(Incremental development)
Trang 9Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 49
analysis design code test
System/information
engineering
analysis design code test
analysis design code test
analysis design code test
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ần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mề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ần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mề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
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ần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mề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
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 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: A và B, A và C Vấn đề tương tự với tổng thể hệ thống (Kiến trúc nghèo nàn)
Trang 10Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 55
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ần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 56
TỔNG KẾT MÔ HÌNH TIẾN HÓA
• Hệ thống thường có cấu trúc nghèo nàn
• Ứng dụng cho nhiều lớp hệ thống khác nhau
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 57
VÍ DỤ Đặc tả hình thức
Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mề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”
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