Professional Documents
Culture Documents
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 1
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 2
1
2.2 Các mô hình qui trình phát triển phần mềm
Mô hình thác nước :
Mô hình dựa trên kế hoạch rõ ràng.
Phân chia và tách biệt các công đoạn đặc tả và phát triển
phần mềm.
Mô hình tăng tiến :
Đặc tả, phát triển và thẩm định phần mềm xen kẽ nhau.
Có thể linh hoạt hay dựa trên kế hoạch rõ ràng.
Mô hình tích hợp và cấu hình :
Hệ thống được lắp ghép từ các thanh phần có sẵn và có thể
cấu hình được.
Có thể linh hoạt hay dựa trên kế hoạch rõ ràng.
Trong thực tế, đa số các hệ thống lớn được phát triển dùng mô hình
mà tích hợp nhiều ý tưởng của các mô hình cụ thể trên.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 3
Trong thực tế, mỗi bước phải hoàn thành trước khi thực hiện bước
tiếp theo.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 4
2
Mô hình thác nước
Yếu điểm chính : khó thích nghi với các thay đổi sau khi qui trình
đã vận hành.
Được dùng chủ yếu cho các hệ thống kỹ thuật lớn.
Được dùng khi các yêu cầu phần mềm rất rõ ràng và được hiểu
rất tốt, các thay đổi rất ít xảy ra trong khi tiến hành phát triển
phần mềm.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 5
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 6
3
Các lợi ích của mô hình tăng tiến
Giảm giá sự thích nghi từ các thay đổi của yêu cầu người dùng.
Dễ dàng nhận hồi đáp của khách hàng trên công việc phát triển
phần mềm đã và đang tiến hành.
Phân phối và triển khai sớm phần mềm dùng được cho khách
hàng, chứ không cần chờ version hoàn chỉnh cuối cùng.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 7
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 8
4
Mô hình linh hoạt
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 9
SCRUM – Cách tiếp cận phát triển linh hoạt phổ biến nhất.
Scrum là một “bộ khung làm việc” cơ bản để tiếp cận những công việc phức tạp. Dựa trên bộ khung
này, nhóm làm việc có thể áp dụng những quy trình, kỹ thuật khác nhau cho công việc của mình… Nó
là một thành viên của họ Agile.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 10
5
Phát triển linh hoạt
Ưu Khuyết
Uyển chuyển hơn Khó tiên đoán
Sản phầm cuối cùng
Sản phẩm ra thị
không được phân phối
trường nhanh hơn
lần đầu.
Tài liệu thường để ở
Giao tiếp tốt hơn
hậu trường.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 11
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 12
6
Các ưu & khuyết điểm của ý tưởng dùng lại
Giá và rủi ro giảm nhiều so với cách xây dựng từ đầu.
Phân phối và triển khai hệ thống nhanh hơn.
Phải dung hòa các yêu cầu phần mềm với các thành phần sẵn có,
do đó có thể hệ thống không thỏa mãn chính xác các yêu cầu
thực tế của người dùng.
Mất kiểm soát trên sự phát triển của các thành phần sẵn có.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 13
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 14
7
Qui trình kỹ thuật về yêu cầu phần mềm
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 15
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 16
8
Mô hình tổng quát của qui trình thiết kế
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 17
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 18
9
Thẩm định phần mềm
Họat động phổ dụng để đảm bảo chất lượng phần mềm :
Verification and validation (V & V)
Mục đích của Verification là chỉ ra việc hệ thống đã tương thích
với các đặc tả (các yêu cầu chức năng và phi chức năng).
Mục đích của Validation là chỉ ra việc phần mềm thỏa mãn các
yêu cầu thực sự của khách hàng. Như vậy công việc validation là
chỉ ra được các đặc tả là đúng với các yêu cầu thực sự của khách
hàng.
V & V liên quan đến việc kiểm tra, đánh giá và kiểm thử hệ thống.
Kiểm thử hệ thống (Testing): thi hành phần mềm với các test
cases xác định để tìm lỗi.
Testing: là hoạt động chủ yếu nhất của V&V.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 19
10
Các công đoạn của testing trong qui trình phát
triển dựa trên kế hoạch.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 21
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 22
11
Đương đầu với các thay đổi
Thay đổi là không tránh khỏi trong mọi dự án phần mềm lớn :
nghiệp vụ thay đổi,
xuất hiện công nghệ mới
platform thay đổi...
Thay đổi dẫn đến việc phải làm lại : phân tích lại các yêu cầu +
thiết kế và hiện thực các chức năng mới...
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 23
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 24
12
Qui trình phát triển phần mềm mẫu
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 25
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 26
13
Phân phối tăng tiến
Các ưu điểm :
chức năng phần mềm thường được
cung cấp sớm hơn, Các khuyết điểm :
mỗi phần tăng tiến hoạt động như 1 có thể đòi hỏi tập các phương
prototype, tiện cơ bản.
ít rủi ro hơn về các lỗi dự án tổng thể, đặc tả được phần phối cùng
các dịch vụ ưu tiên nhất được kiểm với phần mềm.
thử nhiều nhất.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 27
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 28
14
Các hoạt động nhằm cải tiến qui trình
Đo lường qui trình :
ta phải đo đạc 1 hay nhiều thuộc tính của qui trình hay của
phần mềm. Các thông số đo này tạo cơ sở giúp ta quyết định
việc cải tiến qui trình có hiệu quả thực sự không.
giảm giá thành phát triển phần mềm.
hay tang tốc qui trình phát triển phần mềm.
Phân tích qui trình : Qui trình hiện hành được đánh giá, các điểm
yếu, các cổ nút chai được nhận dạng. Các mô hình qui trình (các
bản đồ qui trình) diễn tả qui trình có thể được phát triển.
Thay đổi qui trình : Các thay đổi qui trình được đề nghị để định vị
1 số điểm yếu qui trình được tìm thấy. Các thay đổi này được giới
thiệu và chu kỳ bắt đầu lại để thu thập dữ liệu về độ hiệu quả của
các thay đổi.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 29
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 30
15
Mô hình CMMI (Capability Maturity Model Integration)
Các chiến lược cải tiến qui trình được định nghĩa và được dùng
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 31
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 32
16
2.5 Kết chương
Chương này đã giới thiệu cho chúng ta những nội dung :
qui trình phát triển phần mềm.
các mô hình của qui trình phát triển như mô hình thác nước, mô
hình tang tiến, mô hình dùng lại thành phần hay phần mềm có
sẵn.
các hoạt động chính của việc phát triển phần mềm như đặc tả
yêu cầu, thiết kế, hiện thực, kiểm thử, phân phối và duy trì, đương
đầu với các thay đổi, cải tiến qui trình...
các tài liệu miêu tả kết quả của dự án phần mềm.
Khoa Khoa học & Kỹ thuật Máy tính Môn : Công nghệ phần mềm
Trường ĐH Bách Khoa Tp.HCM Chương 2 : Qui trình phát triển phần mềm
© 2010 Slide 33
17