You are on page 1of 40

Chương 3

Mô hình vòng đời phần mềm

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 1
Vòng đời phần mềm
 Vòng đời phần mềm: thời kỳ tính từ khi phần
mềm được sinh ra đến khi chết đi
 Giai đoạn tổng quát:
 Định nghĩa (Definition)
 Phát triển (Development)
 Chịu đựng, chống đở (Support)

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 2
Vòng đời phần mềm
◉ Phân tích yêu cầu
 Nhà phân tích cần hiểu lĩnh vực chuyên môn
 Chức năng cần có cho sản phẩm
 Hành vi, hoạt động của sản phẩm
 Hiệu năng sản phẩm
 Giao diện của sản phẩm

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 3
Vòng đời phần mềm
◉ Đặc tả
 Dựa trên yêu cầu của người sử dụng
 Nhà phát triển đưa ra:
- Đầu ra của hệ thống
- Hệ thống cần làm gì
- Tài nguyên cần cho hệ thống

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 4
Vòng đời phần mềm
◉ Thiết kế
 Tiến trình các bước tập trung vào thuộc tính:
- Cấu trúc dữ liệu
- Kiến trúc phần mềm
- Biểu diễn giao diện
- Thuật toán

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 5
Vòng đời phần mềm
◉ Cài đặt
 Quá trình chuyển đổi từ thiết kế sang mã lệnh
◉ Tích hợp
 Tập hợp tất cả các pha phía trên
◉ Kiểm thử
◉ Bảo trì

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 6
Mô hình xây dựng và hiệu chỉnh
 Tiếng anh: Build and fix
 Không có đặc tả, thiết kế
 Làm đi làm lại cho đến khi đáp ứng được nhu
cầu của khách hàng
 Sử dụng trong các bài tập lập trình khoảng vài
trăm dòng lệnh
 Mô hình vừa và nhỏ

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 7
Mô hình xây dựng và hiệu chỉnh
Xây dựng
phiên bản
đầu tiên

Cập nhật cho đến khi


khách hàng chấp nhận

Đưa vào sử dụng


Phát triển

Bảo trì
Kết thúc hoạt động

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 8
Mô hình thác nước
 Tiếng anh: Waterfall Model
 Do Royce đề xuất
 Lỗi ở giai đoạn trước được phản hồi ở giai
đoạn sau đó
 Đầy đủ tài liệu, nhóm SQA chấp thuận => giai
đoạn được hoàn thành

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 9
Mô hình thác nước
Phân tích các yêu cầu Thay đổi 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
Thẩm tra
Giai đoạn tích hợp
Thẩm tra
Đưa vào hoạt động
Phát triển
Bảo trì Kết thúc hoạt động
© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 10
Mô hình thác nước
◉ Ưu điểm
 Kỷ luật cao
 Quy định tốt về tài liệu cho các giai đoạn
 Kiểm chứng cẩn thận bởi nhóm SQA
 Được ứng dụng rộng rãi

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 11
Mô hình thác nước
◉ Khuyết điểm
 Khách hàng không mô tả rõ ràng, đầy đủ các
yêu cầu
 Nhiều kiểm thử, thẩm tra tài liệu
 Hướng tài liệu => khó hình dung, khó hiểu với
khách hàng

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 12
Mô hình định khung nhanh
 Tiếng anh: Rapid Prototyping model
 Hoạt động có chức năng tương đương một tập
con sản phẩm
 Phát triển phần mềm gia tăng, tăng dần từng
bước sau mỗi chu kỳ (60-90 ngày)
 Xây dựng trên hướng thành phần

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 13
Mô hình định khung nhanh
Định khung nhanh Thay đổi 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
Thẩm tra
Giai đoạn tích hợp
Thẩm tra
Đưa vào hoạt động
Phát triển
Bảo trì Kết thúc hoạt động
© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 14
Mô hình tăng trưởng
 Tiếng anh: Incremental model
 Từ một chu kỳ lớn, sẽ được phân chia thành
nhiều chu kỳ nhỏ => đa chu kỳ phát triển
phần mềm
 Mỗi chu kỳ là một mô-đun
 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

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 15
Mô hình tăng trưởng
Phân tích yêu cầu
Thẩm tra
Giai đoạn đặc tả
Thẩm tra
Giai đoạn thiết kế
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
© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 16
Mô hình tăng trưởng
◉ Ưu điểm
 Có thể sớm tạo ra nguyên mẫu của sản phẩm
 Độ linh hoạt cao khi thay đổi yêu cầu
=> ít tốn chi phí
 Phân chia mô-đun => dễ test
 Dễ quản lý rủi ro
◉ Khuyết điểm
 Cần có khả năng thiết kế tốt, phân tích tốt

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 17
Mô hình tăng trưởng nhiều rủi ro
 Tiếng anh: Risk incremental model
 Giảm khó chịu cho khách hàng khi phải thay
đổi một sản phẩm hoàn toàn
 Chú ý việc phá vỡ các cấu trúc của bước xây
dựng trước đó

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 18
Mô hình tăng trưởng nhiều rủi ro
Xây dựng 1: Cài đặt, Giao cho
Đặc tả Thiết kế tích hợp khách
Xây dựng 2:
Cài đặt, Giao cho
Đặc tả Thiết kế tích hợp khách
Xây dựng 3: Cài đặt, Giao cho
Đặc tả Thiết kế tích hợp khách

Xây dựng n: Cài đặt, Giao cho


Đặc tả Thiết kế tích hợp khách

Nhóm đặc tả Nhóm thiết kế Nhóm cài đặt/ tích hợp


© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 19
Mô hình đồng bộ và ổn định
 Tiếng anh: Synchronize and stabilize model
 Được triển khai ở Microsoft, Inc

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 20
Mô hình đồng bộ và ổn định

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 21
Mô hình xoắn ốc
 Tiếng anh: Spiral model
 Yếu tố rủi ro
 Do Boehm đề xuất để giảm 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à đạt nhiều thành công

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 22
Mô hình xoắn ốc
Phân tích rủi ro
Phân tích rủi ro Thay đổi yêu cầu
Định khung nhanh 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
Giai đoạn tích hợp
Phát triển Kiểm thử
Bảo trì Đưa vào hoạt động
23
© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm Kết thúc hoạt động
Mô hình xoắn ốc
Mô hình được vẽ theo dạng xoắn ốc
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
Thẩ ủi r o
mt
Thẩ ra
mt Định khung
ra
nhanh
Đặc tả
Thẩ
m tra
Thiết kế

Thẩ
m tra Cài đặt

Tích hợp

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 24
Mô hình xoắn ốc
◉ Điểm mạnh
 Hướng rủi ro
 Đánh giá mức độ rủi ro
 Công việc luân phiên
 Chịu ràng buộc hỗ trợ tái sử dụng phần mềm
 Chất lượng phần mềm quan trọng
 Giảm kiểm thử, nhanh chóng sửa lỗi
 Bảo trì đơn giản trong vòng tròn xoắn ốc
 Không phân biệt phát triển và bảo trì

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 25
Mô hình xoắn ốc
◉ Điểm yếu
 Hướng rủi ro
 Dành cho phần mềm nội bộ có kích thước lớn
 Dự án có thể chấm dứt do rủi ro
ảnh hưởng đến kí hợp đồng, uy tính công ty, rắc
rối pháp lý
 Kích thước sản phẩm ảnh hưởng đến phân tích
rủi ro

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 26
Mô hình vòi phun nước

Phát triển thêm


Đưa vào hoạt động

Giai đoạn cài đặt và tích hợp

Giai đoạn cài đặt


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

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 27
Mô hình mã nguồn mở
 Tiếng anh: Open source model
Cài đặt phiên bản
đầu tiên

Thực hiện hiệu chỉnh,


hoàn thiện, thích ứng,
phân phối bảo trì

Kết thúc
© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 28
Mô hình lặp và tăng trưởng
 Tiếng anh: Iterative and incremental model
 Từ các yêu cầu ban đầu có thể mở rộng và cập nhật
trong quá trình phát triển còn lại của phần mềm

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 29
Mô hình lặp và tăng trưởng

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 30
Mô hình cây tiến hóa
 Tiếng anh: Evolution-tree model
 Thực hiện đồng thời phát triển và bảo trì phần mềm
 Mô hình thường được sử dụng ở giai đoạn bảo trì

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 31
Mô hình cây tiến hóa

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 32
Mô hình phát triển nhanh
 Tiếng anh: Extreme programming and agile
processes
 Là tiếp cận mới về phát triển phần mềm đang được
thảo luận rộng rãi
 Dựa trên mô hình lặp và tăng trưởng
 Nhóm phát triển dựa trên các đặc điểm khác nhau mà
khách hàng muốn sản phẩm hỗ trợ
 Nhóm phát triển tính chi phí mỗi đặc điểm
 Quá trình trên thay thế cho pha yêu cầu, phân tích
 Pha cài đặt bắt đầu sớm hơn để có thể làm việc trên
phần mềm

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 33
Mô hình phát triển ứng dụng nhanh
 Tiếng anh: Rapid application development

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 34
Mô hình phát triển ứng dụng nhanh
 Tiếng anh: Rapid application development

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 35
Mô hình V
 Tiếng anh: V model
 Cải tiến từ mô hình thác nước với các khái
niệm gần nhau
 Chu trình phát triển phần mềm không có điểm
bắt đầu và điểm kết thúc mà tạo thành một
chu trình

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 36
Mô hình V

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 37
So sánh các mô hình chu trình sống
Mô hình Điểm mạnh Điểm yếu
Xây dựng Tốt đối với các chương
Không đáp ứng được
và hiệu trình ngắn không yêu
chương trình lớn
chỉnh cầu bảo trì
Sản phẩm có thể
Tiếp cận có kỷ luật
Thác nước không theo khách
Hướng tài liệu
hàng
Định Đảm bảo sản phẩm
khung theo yêu cầu khách
nhanh hàng

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 38
So sánh các mô hình chu trình sống
Mô hình Điểm mạnh Điểm yếu
Đòi hỏi kiến trúc mở
Tăng Trở lại sớm Có thể thoái hóa
trưởng Đẩy mạnh bảo trì thành xây dựng và
hiệu chỉnh
Có những điều mà
khách hàng cần trong
Đồng bộ Không được sử dụng
tương lai
và ổn định rộng rãi
Đảm bảo các thành
phần tích hợp tốt

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 39
So sánh các mô hình chu trình sống
Mô hình Điểm mạnh Điểm yếu
Sản phẩm kích thước
Kết hợp được đặc lớn
Xoắn ốc điểm các mô hình Nhà phát triển có khả
khác năng phân tích, giải
quyết rủi ro
Hỗ trợ lặp lại các giai
Vòi phun đoạn
Có thể suy thoái
nước Song song hóa các
giai đoạn

© 2004
Nhập Goodrich,
môn Tamassia
Công Nghệ Phần Mềm 40

You might also like