Tài liệu Bài giảng Mô hình phát triển: 1Mụ hỡnh phỏt triển
(2)
Nguyễn Thanh Bỡnh
Khoa Cụng nghệ Thụng tin
Trường ðại học Bỏch khoa
ðại học ðà Nẵng
2
Nội dung
Cỏc hoạt ủộng phỏt triển phần mềm
Cỏc mụ hỡnh phỏt triển phần mềm
23
Cỏc hoạt ủộng phỏt triển
phần mềm
Phõn tớch tớnh khả thi
Phõn tớch và ủặc tả yờu cầu
Thiết kế
Mó húa
Kiểm thử
Bảo trỡ
4
Cỏc hoạt ủộng phỏt triển
phần mềm
Phõn tớch tớnh khả thi
xỏc ủịnh vấn ủề cần giải quyết,
xem xột cỏc giải phỏp và kĩ thuật khỏc nhau
• thuận lợi
• bất lợi
ủỏnh giỏ về thời gian, giỏ thành, nguồn tài
nguyờn cần thiết
Sản phẩm: tài liệu phõn tớch
35
Cỏc hoạt ủộng phỏt triển
phần mềm
Phõn tớch và ủặc tả yờu cầu (1)
xỏc ủịnh nhu cầu của khỏch hàng/người sử
dụng
• xỏc ủịnh bài toỏn, chứ khụng phải là giải phỏp
khú khăn
• khỏch hàng khụng biết rỏ cỏi họ cần
• khỏch hàng khụng trỡnh bày rỏ cỏi họ muốn
• cỏc thay ủổi
Sản phẩm: tài liệu ủặc tả yờu cầu
6
Cỏc hoạt ủộng phỏt triển
phần mềm
Phõn tớch và ủ...
18 trang |
Chia sẻ: hunglv | Lượt xem: 1247 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Mô hình phát triển, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Mơ hình phát triển
(2)
Nguyễn Thanh Bình
Khoa Cơng nghệ Thơng tin
Trường ðại học Bách khoa
ðại học ðà Nẵng
2
Nội dung
Các hoạt động phát triển phần mềm
Các mơ hình phát triển phần mềm
23
Các hoạt động phát triển
phần mềm
Phân tích tính khả thi
Phân tích và đặc tả yêu cầu
Thiết kế
Mã hĩa
Kiểm thử
Bảo trì
4
Các hoạt động phát triển
phần mềm
Phân tích tính khả thi
xác định vấn đề cần giải quyết,
xem xét các giải pháp và kĩ thuật khác nhau
• thuận lợi
• bất lợi
đánh giá về thời gian, giá thành, nguồn tài
nguyên cần thiết
Sản phẩm: tài liệu phân tích
35
Các hoạt động phát triển
phần mềm
Phân tích và đặc tả yêu cầu (1)
xác định nhu cầu của khách hàng/người sử
dụng
• xác định bài tốn, chứ khơng phải là giải pháp
khĩ khăn
• khách hàng khơng biết rỏ cái họ cần
• khách hàng khơng trình bày rỏ cái họ muốn
• các thay đổi
Sản phẩm: tài liệu đặc tả yêu cầu
6
Các hoạt động phát triển
phần mềm
Phân tích và đặc tả yêu cầu (2)
các bước
• khảo sát, tổng hợp yêu cầu
• phân tích yêu cầu
• đặc tả yêu cầu
• hợp thức hĩa yêu cầu
47
Các hoạt động phát triển
phần mềm
Phân tích và đặc tả yêu cầu (3)
Tổng hợp và
phân tích yêu cầu
ðặc tả yêu cầu
Hợp thức hĩa
yêu cầu
Mơ hình hệ thống
Yêu cầu hệ thống
của người sử dụng
Tài liệu đặc tả
yêu cầu
8
Các hoạt động phát triển
phần mềm
Thiết kế (1)
chuyển từ tài liệu đặc tả yêu cầu thành cấu trúc lơ-gíc cĩ
thể cài đặt được
giải pháp cho vấn đề đã được đặc tả
thiết kế kiến trúc
• các mođun và giao diện của các mơ-đun
thiết kế giao diện
thiết kế các mơ-đun
• cấu trúc dữ liệu
• thuật tốn
Sản phẩm: tài liệu thiết kế
59
Các hoạt động phát triển
phần mềm
Thiết kế (2)
Thiết kế
kiến trúc
đặc tả
kiến trúc
Thiết kế
mơ-đun Thiết kế
cấu trúc dữ liệu
Thiết kế
thuật tốn
đặc tả
mơ-đun đặc tả
cấu trúc dữ liệu
đặc tả
thuật tốn
Thiết kế
giao diện
đặc tả
giao diện
10
Các hoạt động phát triển
phần mềm
Thiết kế (3)
các phương pháp thiết kế
• hướng chức năng
• hướng đối tượng
611
Các hoạt động phát triển
phần mềm
Mã hĩa và gở rối
mã hĩa
• cài đặt các thiết kế bằng ngơn ngữ lập trình
• khơng đơn thuần chỉ là lập trình
• viết tài liệu
• insertions/invariants
• chuẩn lập trình (coding standards)
• lập trình theo cặp (pair programming)
• cơng cụ
• quản lý phiên bản
gở rối
• phát hiện các lỗi trong quá trình lập trình
Sản phẩm: chương trình
12
Các hoạt động phát triển
phần mềm
Kiểm thử (1)
phát hiện lỗi trong chương trình
lập kế hoạch thực hiện kiểm thử
• tạo các trường hợp kiểm thử
• tiêu chuẩn kiểm thử
• nguồn tài nguyên kiểm thử
mã nguồn được kiểm thử theo tài liệu thiết kế
Sản phẩm: báo cáo kiểm thử
713
Các hoạt động phát triển
phần mềm
Kiểm thử (2)
các hoạt động kiểm thử
• kiểm thử đơn vị
• kiểm thử tích hợp
• kiểm thử hệ thống
• kiểm thử chấp nhận
14
Các hoạt động phát triển
phần mềm
Kiểm thử (3)
các phương pháp kiểm thử
• kiểm thử tĩnh
• kiểm thử động
• kiểm thử hộp đen
• kiểm thử hộp trắng
815
Các hoạt động phát triển
phần mềm
Bảo trì
bảo đảm chương trình vận hành tốt
cài đặt các thay đổi
cài đặt các yêu cầu mới
xử lý các lỗi khi vận hành
Sản phẩm: chương trình
16
Các mơ hình phát triển phần
mềm
Sự tổ chức các hoạt động phát triển phần mềm
Mơ hình phát triển phần mềm hay tiến trình phát triển
phần mềm
Cĩ nhiều mơ hình phát triển phần mềm
mơ hình thác nước
mơ hình nguyên mẫu
mơ hình V
mơ hình tiến hĩa
mơ hình xoắn ốc
mơ hình hợp nhất
917
Mơ hình thác nước
(waterfall model)
Phân tích tính
khả thi
Phân tích và
đặc tả yêu cầu
Thiết kế
Mã hĩa và
kiểm thử
Cài đặt và bảo
trì
18
Mơ hình thác nước
Ưu điểm
dự án nhỏ
yêu cầu xác định
Nhược điểm
dự án lớn
thời gian
sửa lỗi
yêu cầu thay đổi
10
19
Mơ hình nguyên mẫu
(prototyping model)
Phân tích yêu cầu
Thiết kế nhanh
Xây dựng nguyên mẫu
ðánh giá
Thiết kế
20
Mơ hình nguyên mẫu
Ưu điểm
phát hiện yêu cầu
hợp thức hĩa yêu cầu
thiết kế giao diện
• giao diện trên giấy
• giao diện “thật”
hệ thống cĩ rủi ro cao
• yêu cầu khơng chắc chắn
• giao diện chưa rỏ ràng
• chiến lược cài đặt chưa rỏ ràng
11
21
Mơ hình nguyên mẫu
Hạn chế
khách hàng cĩ thể cho rằng nguyên mẫu là
hệ thống thực
• mong đợi khơng thực tế về tiến triển của dự án
người phát triển cĩ sự chọn lựa khơng tốt
• phù hợp cho nguyên mẫu, nhưng khơng phù hợp
cho hệ thống thực
• xây dựng hệ thống thực như xây dựng nguyên
mẫu
nguyên mẫu khơng giống hồn tồn hệ
thống cuối cùng
• khách hàng sẽ cĩ các phản ứng khác nhau
22
Mơ hình V
(V model)
Nhấn mạnh vai trị kiểm thử
ðặc tả yêu cầu
Thiết kế kiến trúc
Thiết kế chi tiết
Mã hĩa
Kiểm thử hệ thống
Kiểm thử tích hợp
Kiểm thử đơn vị
12
23
Mơ hình tiến hĩa
(evolutionary model)
ðặc tả
Phát triển
Hợp thức
hĩa
Phiên bản
đầu tiên
Phiên bản
trung gian
Phiên bản
cuối cùng
24
Mơ hình tiến hĩa
Ưu điểm
dự án vừa và nhỏ
các phần của dự án phức tạp
các hệ thống cĩ thời gian sống ngắn
Hạn chế
cấu trúc hệ thống tồi
tiến trình khơng rỏ ràng
13
25
Mơ hình xoắn ốc
(spiral model)
Risk
analysis
Risk
analysis
Risk
analysis
Risk
analysis Proto-
type 1
Prototype 2
Prototype 3
Opera-
tional
protoype
Concept of
Operation
Simulations, models, benchmarks
S/W
requirements
Requirement
validation
Design
V&V
Product
design Detailed
design
Code
Unit test
Integration
testAcceptance
testService Develop, verify
next-level product
Evaluate alternatives
identify, resolve risks
Determine objectives
alternatives and
constraints
Plan next phase
Integration
and test plan
Development
plan
Requirements plan
Life-cycle plan
REVIEW
26
Mơ hình xoắn ốc
nhấn mạnh việc đánh giá các rủi ro
phần mềm được xây dựng theo nhiều chu kỳ
mỗi chu kỳ tương ứng với một sản phẩm của một giai
đoạn phát triển phần mềm
xác định các mục tiêu, giải pháp, ràng buộc
đánh giá các giải pháp, xác định các nguy cơ và tìm
cách giải quyết chúng
phát triển và kiểm thử sản phẩm của chu kỳ này
lập kế hoạch cho chu kỳ tiếp theo
14
27
Mơ hình xoắn ốc
Rủi ro và giải pháp cho rủi ro
thất bại về nhân sự
• tuyển dụng nhân sự cao cấp, đào tạo lẫn nhau, cĩ đầy đủ các nhân sự
với chức năng khác nhau...
thời gian biểu và ngân sách khơng thực tế
• đánh giá thật chi tiết, phát triển dần dần, tái sử dụng, loại bỏ bớt các
yêu cầu khơng cần thiết ...
phát triển các chức năng khơng phù hợp
• trao đổi thường xuyên với người sử dụng, cĩ tài liệu hướng dẫn sử
dụng sớm...
phát triển giao diện người dùng khơng thích hợp
• cần phân tích các cơng việc, xây dựng các hình mẫu trước, ...
thiếu yêu cầu đặt ra
• phát triển các phần ổn định trước
vấn đề về hiệu quả
• cần phải mơ phỏng, đo lường, thử nghiệm...
địi hỏi vượt quá sự đáp ứng của cơng nghệ hiên hành
• phân tích kỹ tính khả thi về mặt kỹ thuật
28
Mơ hình xoắn ốc
Ưu điểm
hạn chế rủi ro sớm
nhận được feedbacks từ khách hàng sớm
dự án lớn, phức tạp
hệ thống cần phát triển nhiều phiên bản
yêu cầu chưa xác định rỏ ràng
15
29
Mơ hình hợp nhất
(unified process)
Tiến trình hợp nhất cĩ thể được nhìn
dưới hai gĩc nhìn khác nhau
Gĩc nhìn quản lý: quan tâm đến lĩnh
vực kinh tế, chiến thuật, con người
• Tiến trình gồm bốn giai đoạn
Gĩc nhìn kỹ thuật: quan tâm đến
cơng nghệ, kiểm tra chất lượng,
phương pháp
• Tiến trình gồm nhiều bước lặp
30
Mơ hình hợp nhất
Gĩc nhìn quản lý
Khởi đầu
Inception
Soạn thảo
Elaboration
Xây dựng
Construction
Chuyển giao
Transition
Vấn đề Giải phápðặt vấn đề Giải quyết vấn đề Thực hiện
Thời gian
16
31
Mơ hình hợp nhất
Gĩc nhìn kỹ thuật: các bước lặp
Mỗi bước lặp gồm các hoạt động:
• ðặc tả
• Phân tích
• Thiết kế
• Mã hĩa
• Kiểm thử
• Cài đặt
Mỗi bước lặp là một tiến trình thác đổ
32
Mơ hình hợp nhất
Gĩc nhìn kỹ thuật
Thời gian
Bước lặp chuẩn bị
Bước lặp kiến trúc
Bước lặp kiến trúc
Bước lặp phát triển
Bước lặp phát triển
Bước lặp chuyển giao
Bước lặp chuyển giao
Bước lặp phát triển
Mẫu thử (maquette)
Nguyên mẫu kiến trúc
Nguyên mẫu kiến trúc
Nguyên mẫu phát triển
Nguyên mẫu phát triển
Bước lặp Kết quả
Phiên bản chính thức
Phiên bản β
Phiên bản β
17
33
Mơ hình hợp nhất
Kết hợp hai gĩc nhìn
Thời gian
Bước lặp chuẩn bị
Bước lặp kiến trúc
Bước lặp kiến trúc
Bước lặp phát triển
Bước lặp phát triển
Bước lặp chuyển giao
Bước lặp chuyển giao
Bước lặp phát triển
Mẫu thử (maquette)
Nguyên mẫu kiến trúc
Nguyên mẫu kiến trúc
Nguyên mẫu phát triển
Nguyên mẫu phát triển
Phiên bản chính thức
Phiên bản β
Bước lặp Kết quả
Phiên bản β
Giai đoạn
Khởi đầu
Soạn thảo
Xây dựng
Chuyển giao
34
Mơ hình hợp nhất
Mơ hình hợp nhất và UML
18
35
Kết luận
Cĩ nhiều mơ hình phát triển phần mềm
mơ hình tuyến tính
• mơ hình thác nước
• mơ hình nguyên mẫu
• mơ hình V
mơ hình lặp
• mơ hình tiến hĩa
• mơ hình xoắn ốc
• mơ hình hợp nhất
36
Kết luận
Kết hợp nhiều mơ hình cho một dự án
hệ thống phức tạp, chia dự án thành các hệ
thống con
mơ hình xoắn ốc hay mơ hình hợp nhất cho
tồn bộ dự án
mỗi hệ thống con cĩ thể áp dụng một mơ
hình khác nhau
• mơ hình nguyên mẫu cho các hệ thống con phức
tạp
• mơ hình thác nước cho các hệ thống con khác
Các file đính kèm theo tài liệu này:
- 2-MoHinhPhatTrien.pdf