SlideShare a Scribd company logo
1 of 18
Download to read offline
1
Mô 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
2
3
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
3
5
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à ñặ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
4
7
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 toán
 Sản phẩm: tài liệu thiết kế
5
9
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 toán
ñặc tả
mô-ñun ñặc tả
cấu trúc dữ liệu
ñặc tả
thuật toá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
6
11
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ử
7
13
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
8
15
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
9
17
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 hoàn toà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
VV
Product
design Detailed
design
Code
Unit test
Integration
test
Acceptance
test
Service 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
toà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

More Related Content

Similar to mo-hinh-phat-trien.pdf

Nhóm 11 _ Den da khong duong _ CNPM.pptx
Nhóm 11 _ Den da khong duong _ CNPM.pptxNhóm 11 _ Den da khong duong _ CNPM.pptx
Nhóm 11 _ Den da khong duong _ CNPM.pptxLnNguynThnh4
 
Quản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTNQuản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTNNguyen Van Toan
 
CONG NGHE PHAN MEM
CONG NGHE PHAN MEMCONG NGHE PHAN MEM
CONG NGHE PHAN MEMduc phong
 
Kĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmKĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmPhạm Trung Đức
 
Quản lý yêu cầu dự án
Quản lý yêu cầu dự ánQuản lý yêu cầu dự án
Quản lý yêu cầu dự ánNam Vo
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggHngPhmTh35
 
05_Project_management.ppt
05_Project_management.ppt05_Project_management.ppt
05_Project_management.ppttienlqtienlq
 
Quản lý dự án phần mềm dasssssssssaasdasdasd
Quản lý dự án phần mềm dasssssssssaasdasdasdQuản lý dự án phần mềm dasssssssssaasdasdasd
Quản lý dự án phần mềm dasssssssssaasdasdasdLNhtQuang11
 
Bài 2: Tổng quan về quản lý dự án & Lựa chọn và lập kế hoạch cho dự án
Bài 2: Tổng quan về quản lý dự án & Lựa chọn và lập kế hoạch cho dự ánBài 2: Tổng quan về quản lý dự án & Lựa chọn và lập kế hoạch cho dự án
Bài 2: Tổng quan về quản lý dự án & Lựa chọn và lập kế hoạch cho dự ánMasterCode.vn
 
Quản lý rủi ro phần mềm software risk management
Quản lý rủi ro phần mềm   software risk managementQuản lý rủi ro phần mềm   software risk management
Quản lý rủi ro phần mềm software risk managementnataliej4
 
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAGiải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAPopping Khiem - Funky Dance Crew PTIT
 
C3.Thiết kế sản phẩm.pdf
C3.Thiết kế sản phẩm.pdfC3.Thiết kế sản phẩm.pdf
C3.Thiết kế sản phẩm.pdfngThanhPht1
 
Chương 2: QUY TRÌNH VÀ TỔ CHỨC PHÁT TRIỂN SẢN PHẨM
Chương 2: QUY TRÌNH VÀ TỔ CHỨC PHÁT TRIỂN SẢN PHẨMChương 2: QUY TRÌNH VÀ TỔ CHỨC PHÁT TRIỂN SẢN PHẨM
Chương 2: QUY TRÌNH VÀ TỔ CHỨC PHÁT TRIỂN SẢN PHẨMLe Nguyen Truong Giang
 
Nhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmNhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmTrần Gia Bảo
 
Design Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kếDesign Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kếNhật Nguyễn Khắc
 
Bài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTITBài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTITNguynMinh294
 
MHthacnuoc_NMCNPM.pptx12112323213123123123
MHthacnuoc_NMCNPM.pptx12112323213123123123MHthacnuoc_NMCNPM.pptx12112323213123123123
MHthacnuoc_NMCNPM.pptx12112323213123123123LnNguynThnh4
 
Qlda Chp2 Quan Ly Tong The
Qlda Chp2 Quan Ly Tong TheQlda Chp2 Quan Ly Tong The
Qlda Chp2 Quan Ly Tong TheQuynh Khuong
 

Similar to mo-hinh-phat-trien.pdf (20)

Nhóm 11 _ Den da khong duong _ CNPM.pptx
Nhóm 11 _ Den da khong duong _ CNPM.pptxNhóm 11 _ Den da khong duong _ CNPM.pptx
Nhóm 11 _ Den da khong duong _ CNPM.pptx
 
Quản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTNQuản lý quy trình phần mềm KHTN
Quản lý quy trình phần mềm KHTN
 
CONG NGHE PHAN MEM
CONG NGHE PHAN MEMCONG NGHE PHAN MEM
CONG NGHE PHAN MEM
 
Ứng dụng mạng Nơ-ron nhân tạo phát triển phần mềm theo Agile
Ứng dụng mạng Nơ-ron nhân tạo phát triển phần mềm theo AgileỨng dụng mạng Nơ-ron nhân tạo phát triển phần mềm theo Agile
Ứng dụng mạng Nơ-ron nhân tạo phát triển phần mềm theo Agile
 
Kĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềmKĩ thuật bảo trì phần mềm
Kĩ thuật bảo trì phần mềm
 
Quản lý yêu cầu dự án
Quản lý yêu cầu dự ánQuản lý yêu cầu dự án
Quản lý yêu cầu dự án
 
ggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggg
 
05_Project_management.ppt
05_Project_management.ppt05_Project_management.ppt
05_Project_management.ppt
 
Quản lý dự án phần mềm dasssssssssaasdasdasd
Quản lý dự án phần mềm dasssssssssaasdasdasdQuản lý dự án phần mềm dasssssssssaasdasdasd
Quản lý dự án phần mềm dasssssssssaasdasdasd
 
Bài 2: Tổng quan về quản lý dự án & Lựa chọn và lập kế hoạch cho dự án
Bài 2: Tổng quan về quản lý dự án & Lựa chọn và lập kế hoạch cho dự ánBài 2: Tổng quan về quản lý dự án & Lựa chọn và lập kế hoạch cho dự án
Bài 2: Tổng quan về quản lý dự án & Lựa chọn và lập kế hoạch cho dự án
 
Quản lý rủi ro phần mềm software risk management
Quản lý rủi ro phần mềm   software risk managementQuản lý rủi ro phần mềm   software risk management
Quản lý rủi ro phần mềm software risk management
 
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQAGiải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT - SQA
 
C3.Thiết kế sản phẩm.pdf
C3.Thiết kế sản phẩm.pdfC3.Thiết kế sản phẩm.pdf
C3.Thiết kế sản phẩm.pdf
 
Chương 2: QUY TRÌNH VÀ TỔ CHỨC PHÁT TRIỂN SẢN PHẨM
Chương 2: QUY TRÌNH VÀ TỔ CHỨC PHÁT TRIỂN SẢN PHẨMChương 2: QUY TRÌNH VÀ TỔ CHỨC PHÁT TRIỂN SẢN PHẨM
Chương 2: QUY TRÌNH VÀ TỔ CHỨC PHÁT TRIỂN SẢN PHẨM
 
Nhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềmNhập môn công nghệ phần mềm
Nhập môn công nghệ phần mềm
 
Design Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kếDesign Pattern - Những công thức vàng trong thiết kế
Design Pattern - Những công thức vàng trong thiết kế
 
Bài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTITBài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTIT
 
MHthacnuoc_NMCNPM.pptx12112323213123123123
MHthacnuoc_NMCNPM.pptx12112323213123123123MHthacnuoc_NMCNPM.pptx12112323213123123123
MHthacnuoc_NMCNPM.pptx12112323213123123123
 
tài liệu test
tài  liệu testtài  liệu test
tài liệu test
 
Qlda Chp2 Quan Ly Tong The
Qlda Chp2 Quan Ly Tong TheQlda Chp2 Quan Ly Tong The
Qlda Chp2 Quan Ly Tong The
 

mo-hinh-phat-trien.pdf

  • 1. 1 Mô 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
  • 2. 2 3 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
  • 3. 3 5 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à ñặ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
  • 4. 4 7 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 toán Sản phẩm: tài liệu thiết kế
  • 5. 5 9 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 toán ñặc tả mô-ñun ñặc tả cấu trúc dữ liệu ñặc tả thuật toá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
  • 6. 6 11 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ử
  • 7. 7 13 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
  • 8. 8 15 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
  • 9. 9 17 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. 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. 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 hoàn toà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. 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. 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 VV Product design Detailed design Code Unit test Integration test Acceptance test Service 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. 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. 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. 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. 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. 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 toà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