Professional Documents
Culture Documents
© 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
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
© 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
© 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
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