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

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương Các Mô hình Phát triển Hệ thống BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 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 Quy trình phần mềm gì? (Software Process) • CNPM công nghệ theo lớp (layered technology) • Nền tảng CNPM lớp Process, chất kết dính công nghệ cho phép phát triển phần mềm hiệu 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 Tools – Các công cu BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 Quy trình phát triển phần mềm (Software development – SEP) • Qui trình hiểu phương pháp thực sản xuất sản phẩm Tương tự vậy, SEP phương pháp phát triển hay sản xuất sản phẩm phần mềm • Thông thường qui trình bao gồm yếu tố 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 Quy trình phát triển phần mềm (Software development – SEP) BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 Chi phí của công nghệ phần mềm BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 Chi phí của công nghệ phần mềm BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 Chu kỳ phát triển phần mềm (Software Development Life Cycle - SDLC) • Chu kỳ phần mềm (Software life cycle) gì? “ Là khoảng thời gian từ lúc phần mềm bắt đầu hình thành lúc không dùng nữa” • Chu kỳ phần mềm thường trải qua giai đoạn (phase) sau: – Requirement – Design – Implementation – Test – Maintenance • Chu kỳ phần mềm gọi chu kỳ phát triển phần mềm (SDLC) BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 10 Mô hình tiến hóa (Evolutionary) • Cũng dạng mô hình mẫu (prototype), nhiên có khác biệt: – Mô hình tiến hóa xây dựng nhiều phiên prototype liên tiếp – Những phiên prototype trước sẽ xây dựng với mục tiêu tái sử dụng phiên sau BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 28 Mô hình tiến hóa (Evolutionary) BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 29 Khuyết điểm của mô hình tiến hóa • Quá trình không nhìn thấy rõ được: Các nhà quản lý cần phân phối thường xuyên phiên để đo lường tiến Nó không kinh tế việc làm hồ sơ cho phần mềm • Phần mềm thường dược cấu trúc nghèo nàn: Sự thay đổi liên tục dễ làm đổ vỡ cấu trúc phần mềm, tạo khó khăn tốn phí • Thường đòi hỏi kỹ đặc biệt: tiến hành nhóm nhỏ có kỹ cao cá nhân phải động BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 30 Mô hình tăng trưởng lặp (Incremental and iterative model) • Mô hình tăng dần (Incremental): thêm chức vào sản phẩm • Mô hình lặp (Iterative): thay đổi sản phẩm BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 31 Mô hình tăng trưởng Incremental Model BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 32 Mô hình tăng trưởng • Mô hình tăng dần kết hợp ưu điểm mô hình thác nước mô hình tiến hóa • Ý tưởng mô hình phân chia phần mềm thành phần tăng trưởng (increments) phát triển, bàn giao chúng cho khách hàng theo mức độ quan trọng • Phần tăng trưởng đến lượt phát triển yêu cầu tương ứng sẽ phân tích Chỉ thay đổi từ phía khách hàng cho phần chưa phát triển chấp nhận BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 33 Ưu điểm của mô hình tăng trưởng • Rút ngắn thời gian chờ đợi của khách hàng Khách hàng đợi đến toàn hệ thống hoàn thành Những thành phần quan trọng bàn giao sớm mang lại lợi ích sớm cho khách hàng • Tăng chất lượng phần mềm Thành phần quan trọng phát triển hoạt động sớm nhất, test nhiều Ý kiến khách hàng kinh nghiệm phát triển thành phần trước sẽ áp dụng cho thành phần sau BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 34 Ưu điểm của mô hình tăng trưởng • Giảm bớt những yêu cầu không cần thiết từ khách hàng Khi tính chưa có mặt hệ thống, họ sẽ nghĩ sẽ tích hợp vào lần bàn giao tiếp theo! • Tăng suất lao động Nhiều lập trình viên làm việc tốt dự án nhỏ mà họ sớm nhìn thấy thành lao động BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 35 Khuyết điểm của mô hình tăng trưởng • Không phải dự án phân chia thành phần tăng trưởng nhỏ để phát triển bàn giao BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 36 Mô hình RAD (Rapid Application Development) BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 37 Mô hình RAD (Rapid Application Development) • Chính mô hình tăng trưởng với chu kỳ phát triển cực ngắn • Để đạt mục tiêu này, RAD dựa phương pháp phát triển sở thành phần hóa hệ thống với việc tái sử dụng thành phần thích hợp • RAD thích hợp cho hệ thống quản lý thông tin BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 38 Mô hình xoắn ốc (Spiral model) BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 39 Mô hình xoắn ốc (Spiral model) • Phát triển từ mô hình thác nước cho thấy mức độ tổng quát pha sản xuất sản phẩm • Đặt trọng tâm phân tích rủi ro xem xét kế hoạch để giải chúng, thông qua nhiều chu kỳ nối tiếp lặp liên tiếp dựa chất mô hình lặp • Mỗi vòng lặp đại diện cho pha trình phần mềm Vòng tập trung tính khả thi, vòng kế định nghĩa yêu cầu, thiết kế, • Không có pha xem cố định vòng xoắn Mỗi vòng có đủ giai đoạn chu kỳ phần mềm BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 40 Mô hình dựa vào thành phần (Component-Based Model) BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 41 Case studies • Case study 1: page 33 • Case study 2: page 36 BM HTTT – Khoa CNTT – ĐHCN tpHCM - 2009 42 [...]... 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 - 20 09 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 - 20 09 21 Mô hình chữ V BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 22 Mô hình chữ V • Toàn bộ qui trình...Chu kỳ phát triển phần mềm (Software Development Life Cycle - SDLC) BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 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... toàn hệ thống  giúp tinh chỉnh yêu cầu, và giúp đội ngũ phát triển thông hiểu hơn những gì cần được phát triển • Tiếp theo có thể là một chu trình theo mô hình waterfall hay cũng có thể là mô hình khác BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 26 Bất lợi của mô hình prototype • Prototype thường được làm thật nhanh trong thời gian ngắn nên không được xây dựng trên cùng môi trường và công cụ phát triển. .. – Khoa CNTT – ĐHCN tpHCM - 20 09 23 Mô hình prototype (Mô hình làm bản mẫu) BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 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... BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 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... 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... đoạn phát triển thực sự sau đó BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 27 Mô hình tiến hóa (Evolutionary) • Cũng là một dạng mô hình mẫu (prototype), tuy nhiên có sự khác biệt: – Mô hình tiến hóa xây dựng nhiều phiên bản prototype liên tiếp nhau – Những phiên bản prototype trước sẽ được xây dựng với mục tiêu có thể tái sử dụng trong những phiên bản sau BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 28 Mô hình. .. bởi các nhóm nhỏ có kỹ năng cao cũng như các cá nhân phải năng động BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 30 Mô hình tăng trưởng và lặp (Incremental and iterative model) • Mô hình tăng dần (Incremental): thêm chức năng vào sản phẩm • Mô hình lặp (Iterative): thay đổi sản phẩm BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 31 Mô hình tăng trưởng Incremental Model BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 32. .. Model BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 32 Mô hình tăng trưởng • Mô hình tăng dần kết hợp những ưu điểm của mô hình thác nước và mô hình tiến hóa • Ý tưởng của mô hình này là phân chia phần mềm thành những phần tăng trưởng (increments) và phát triển, bàn giao chúng lần lượt cho khách hàng theo mức độ quan trọng • Phần tăng trưởng nào đến lượt được phát triển thì những yêu cầu tương ứng sẽ được phân... sẽ khác nhau: có thể từ 3 đến 30 bước BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 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 - 20 09 13 Mô hình waterfall BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 14 Giai đoạn 1 Phân tích yêu cầu và tài liệu đặc tả (Requirements ... không phát chương trình thức duyệt BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 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 sở cho đa số hệ thống phát triển. .. ĐHCN tpHCM - 20 09 31 Mô hình tăng trưởng Incremental Model BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 32 Mô hình tăng trưởng • Mô hình tăng dần kết hợp ưu điểm mô hình thác nước mô hình tiến hóa... - 20 09 21 Mô hình chữ V BM HTTT – Khoa CNTT – ĐHCN tpHCM - 20 09 22 Mô hình chữ V • Toàn qui trình chia thành hai nhóm giai đoạn tương ứng nhau: nhóm phát triển nhóm kiểm thử Mỗi giai đoạn phát

Ngày đăng: 03/12/2015, 19:38

Từ khóa liên quan

Mục lục

  • Chương 2

  • Nội dung

  • Quy trình phần mềm là gì? (Software Process)

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

  • Tools – Các công cụ

  • Quy trình phát triển phần mềm (Software development – SEP)

  • Slide 7

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

  • Slide 9

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

  • Slide 11

  • Các mô hình SDLC

  • Mô hình thác nước

  • Mô hình waterfall

  • Giai đoạn 1

  • Giai đoạn 2

  • Giai đoạn 3:

  • Giai đoạn 4

  • Giai đoạn 5

  • Bất lợi của mô hình waterfall

Tài liệu cùng người dùng

Tài liệu liên quan