Tải bản đầy đủ (.ppt) (42 trang)

Chương 2 các mô hình phát triển hệ thống

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (754.9 KB, 42 trang )

Chương 2

Các Mô hình
Phát triển Hệ thống

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

1


Nội dung
• Chu kỳ phát triển phần mềm (SDLC)
• Các mô hình thông dụng

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

2


Quy trình phần mềm là gì?
(Software Process)
• CNPM là công nghệ theo lớp (layered technology)

• Nền tảng của CNPM chính là lớp Process, nó là chất kết dính
công nghệ và cho phép phát triển các phần mềm hiệu quả và
đúng thời hạn
BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009


Methods – Các phương pháp


BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

4


Tools – Các công cu

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

5


Quy trình phát triển phần mềm
(Software development – SEP)
• Qui trình có thể hiểu là phương pháp thực hiện hoặc sản xuất
ra sản phẩm. Tương tự như vậy, SEP chính là phương pháp
phát triển hay sản xuất ra sản phẩm phần mềm.
• Thông thường một qui trình bao gồm những yếu tố cơ bản sau:
– Thủ tục (Procedures)
– Hướng dẫn công việc (Activity Guidelines)
– Biểu mẫu (Forms/templates)
– Danh sách kiểm định (Checklists)
– Công cụ hỗ trợ (Tools)

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

6


Quy trình phát triển phần mềm

(Software development – SEP)

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

7


Chi phí của công nghệ phần mềm

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

8


Chi phí của công nghệ phần mềm

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

9


Chu kỳ phát triển phần mềm
(Software Development Life Cycle - SDLC)
• Chu kỳ phần mềm (Software life cycle) là gì?
“ Là khoảng thời gian từ lúc phần mềm bắt đầu hình thành
cho đến lúc nó không còn dùng được nữa”
• Chu kỳ phần mềm thường trải qua các giai đoạn (phase) sau:
– Requirement
– Design
– Implementation

– Test
– Maintenance
• Chu kỳ phần mềm còn được gọi là chu kỳ phát triển phần mềm
(SDLC)
BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

10


Chu kỳ phát triển phần mềm
(Software Development Life Cycle - SDLC)

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

11


Các mô hình SDLC







Mô hình thác nước (waterfall)
Mô hình prototype
Mô hình RAD (rapid application development)
Mô hình tăng tiến (incremental model)
Mô hình xoắn ốc (spiral model)

Mô hình dựa vào thành phần (Component-Based Model)

Tùy theo mô hình áp dụng mà các bước trong mỗi giai đoạn sẽ
khác nhau: có thể từ 3 đến 30 bước

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

12


Mô hình thác nước
• Còn gọi là mô hình cổ điển (classic) hay mô hình tuần tự tuyến
tính (linear sequencial model)
• Các giai đoạn được thực hiện tuần tự

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

13


Mô hình waterfall

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

14


Giai đoạn 1
Phân tích yêu cầu và tài liệu đặc tả
(Requirements and Specifications)

• Là giai đoạn xác định những “đòi hỏi” (“What”) liên quan đến
chức năng và phi chức năng mà hệ thống phần mềm cần có.
Giai đoạn này cần sự tham gia tích cực của khách hàng và kết
thúc bằng một tài liệu được gọi là “Bản đặc tả yêu cầu phần
mềm” hay SRS (software requirement specification) chứa các
yêu cầu đã được duyệt (reviewed) và nghiệm thu (approved)
bởi những người có trách nhiệm đối với dự án (từ phía khách
hàng).
• SRS chính là nền tảng cho các hoạt động tiếp theo cho đến
cuối dự án.
BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

15


Giai đoạn 2
Phân tích hệ thống và thiết kế hệ thống
(System Analysis and Design):
• là giai đoạn định ra “làm thế nào” (“How”) để hệ thống phần
mềm đáp ứng được những “đòi hỏi” (“What”) mà khách hàng
yêu cầu trong SRS. Đây là chính là cầu nối giữa “đòi hỏi”
(“What”) và mã (Code) được hiện thực để đáp ứng yêu cầu đó

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

16


Giai đoạn 3:
Mã hóa và kiểm thử đơn vị

(Coding and Unit Test)
• Là giai đoạn hiện thực “làm thế nào” (“How”) được chỉ ra
trong giai đoạn “Phân tích hệ thống và thiết kế”.

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

17


Giai đoạn 4
Kiểm thử tích hợp và hệ thống
(Integration and System Testing)
• Giai đoạn này sẽ tiến hành kiểm thử mã (code) đã được hiện
thực, bao gồm kiểm thử tích hợp cho nhóm các thành phần và
kiểm thử toàn hệ thống (system test).
• Một khâu kiểm thử cuối cùng thường được thực hiện là
nghiệm thu (acceptance test), với sự tham gia của khách hàng
trong vai trò chính để xác định hệ thống phần mềm có đáp ứng
yêu cầu của họ hay không.

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

18


Giai đoạn 5
Vân hành và bảo trì
(Deployment and Maintenance):
• Là giai đoạn cài đặt, cấu hình và huấn luyện khách hàng, sửa
chữa những lỗi của phần mềm (nếu có) và phát triển những

thay đổi mới được khách hàng yêu cầu (như sửa đổi, thêm hay
bớt chức năng/đặc điểm của hệ thống).

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

19


Bất lợi của mô hình waterfall
• Các dự án thực tế ít khi tuân theo 1 cách tuần tự như mô hình.
Mặc dù mô hình có thể lặp nhưng không cụ thể, rõ ràng. Các
thay đổi do lặp lại có thể gây nhầm lẫn cho thành viên của đội
dự án.
• Thường khách hàng khó mà phát biểu tất cả các yêu cầu 1 cách
tường minh ngay lúc đầu được nhưng mô hình waterfall thì đòi
hỏi phải thu thập đầy đủ yêu cầu của khách trước khi sang bước
kế tiếp.
• Khách hàng cần phải kiên nhẫn đợi sản phẩm cho đến khi dự án
kết thúc. Nhiều lúc một lỗi nào đó của phần mềm sẽ không
được phát hiện cho đến khi chương trình chính thức được duyệt.
BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

20


Vai trò của mô hình waterfall
• Mô hình phản ảnh thực tế công nghệ.
• Là mô hình cơ sở cho đa số các hệ thống phát triển phần mềm
- phần cứng.


BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

21


Mô hình chữ V

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

22


Mô hình chữ V
• Toàn bộ qui trình được chia thành hai nhóm giai đoạn tương
ứng nhau: nhóm phát triển và nhóm kiểm thử. Mỗi giai đoạn
phát triển sẽ kết hợp với một giai đoạn kiểm thử tương ứng
• Các hoạt động kiểm thử phải được tiến hành song song (theo
khả năng có thể) ngay từ đầu chu trình cùng với các hoạt động
phát triển.
• Ví dụ, các hoạt động cho việc lập kế hoạch kiểm thử toàn hệ
thống có thể được thực hiện song song với các hoạt động phân
tích và thiết kế hệ thống

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

23


Mô hình prototype
(Mô hình làm bản mẫu)


BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

24


Mô hình prototype nên dùng khi nào?
• Khi khách hàng đưa ra các mục tiêu chính của phần mềm
nhưng không xác định đuợc các yêu cầu cụ thể như thế nào.
• Khi nhà phát triển không bảo đảm là giải thuật có thật sự hiệu
quả hay không, khả năng đáp ứng của hệ thống thế nào, tương
tác giữa người và máy nên xây dựng thế nào.

BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009

25


×