chuong3tv xuanhiens weblog

53 4 0
chuong3tv xuanhiens weblog

Đ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

– Mô hình tiến hóa được xem xét với những hệ thống mà chưa xác định hết tất cả các yêu cầu nhưng mong muốn được tiến triển, nó thường áp dụng cho những hệ thống mới hơn [r]

(1)

CHƯƠNG 3: CHU TRÌNH SỐNG CỦA MỘT DỰ ÁN PHẦN MỀM

(2)

Dự án phần mềm

Dự án phần mềm

Dự án phần mềm loại dự án tập trung đặc biệt vào việc tạo cập nhật phần mềm.

–Sản phẩm dự án phần mềm thực thi, kiểm thử chỉnh sửa

–Phải có tài liệu hướng dẫn cho người dùng bảo trì. –Thuộc tính phân biệt so với dự án kỹ thuật

• Sản phẩm vơ hình

• Người làm khơng có nhiều kinh nghiệm lĩnh vực chuyên môn

(3)

Quản lý dự án phần mềm

Quản lý dự án phần mềm

Quản lý dự án phần mềm: Đảm bảo dự án tạo ra sản phẩm phần mềm thực theo đúng kế hoạch.

–Quản lý dự án phần mềm trình lập kế hoạch, tổ chức đội dự án, giám sát, kiểm soát

–Mỗi dự án phần mềm phải có người quản lý, nhà cung cấp quản lý cấp cao

(4)

Quản lý dự án phần mềm

Quản lý dự án phần mềm

• Dự án phần mềm có hai hướng hoạt động:

–Phát triển phần mềm: tập trung vào việc phân tích, thiết kế, lập trình kiểm thử

(5)

Chu trình sống dự án phần mềm

Chu trình sống dự án phần mềm

• Chu trình sống dự án phần mềm (Software project life cycle): Toàn khung làm việc mà trong phần mềm hình thành, phát triển và trì (Software Development Life Cycle-SDLC)

(6)

Chu trình sống dự án phần mềm

Chu trình sống dự án phần mềm

(7)

Chu trình sống dự án phần mềm

Chu trình sống dự án phần mềm

• Giai đoạn phân tích u cầu (Requirement phase)

–Phân tích vấn đề yêu cầu cho việc phát triển phần mềm

• Giai đoạn thiết kế (Design Phase)

–Xác định cấu trúc phần mềm.

–Thường chia thành giai đoạn con:

• Giai đoạn thiết kế sơ bộ: Kiến trúc phần mềm ban đầu phát triển

(8)

Chu trình sống dự án phần mềm

Chu trình sống dự án phần mềm • Giai đoạn thực (Implementation phase):

–Lập trình để thực thi việc thiết kế phần mềm.

• Giai đoạn kiểm định (Testing phase):

–Phần mềm kiểm định chức mức độ thỏa mãn yêu cầu

–Thông thường chia làm giai đoạn:

• Kiểm định đơn vị (Unit Testing)

• Kiểm định kết hợp (Integration Testing)

• Kiểm định khả chấp nhận (Acceptance Testing)

(9)

Chu trình sống dự án phần mềm

Chu trình sống dự án phần mềm • Giai đoạn triển khai (Deployment Phase):

–Phần mềm cài đặt hệ thống theo dự kiến, huấn luyện người dùng

–Đây giai đoạn phần mềm phát triển xem xét cách hồn chỉnh

• Giai đoạn bảo trì (Maintenance Phase):

–Sửa lỗi hiệu chỉnh cập nhật phần mềm cung cấp thêm số chức

(10)

Chu trình sống dự án phần mềm

Chu trình sống dự án phần mềm

(11)

Các mơ hình chu trình sống

Các mơ hình chu trình sống

• Có nhiều mơ hình chu trình sống, hầu hết những biến đổi ba mơ hình phát triển phần mềm cổ điển.

–Mơ hình thác nước (Waterfall)

–Mơ hình tăng trưởng (Incremental)

• Mơ hình tăng trưởng

• Mơ hình RAD (Rapid Application Development)

–Mơ hình tiến hóa (Evolutionary Process)

(12)

Mơ hình thác nước (Waterfall)

(13)

Mơ hình thác nước (Waterfall)

Mơ hình thác nước (Waterfall) • Gồm giai đoạn:

–Xác định yêu cầu –Thiết kế

–Xây dựng (hay "triển khai", "mã hóa", "viết mã") –Liên kết

–Kiểm thử Chỉnh sửa (hay «kiểm nghiệm») –Cài đặt

(14)

Mơ hình thác nước (Waterfall)

Mơ hình thác nước (Waterfall)

• Đây mơ hình cũ ngày được sử dụng rộng rãi việc phát triển ứng dụng.

• Mơ hình bao gồm dãy giai đoạn, giai đoạn phải hoàn tất trước bắt đầu giai đoạn kế tiếp.

(15)

Mơ hình thác nước (Waterfall)

Mơ hình thác nước (Waterfall)

(16)

Mơ hình thác nước (Waterfall)

Mơ hình thác nước (Waterfall) • Thuận lợi:

–Hệ thống ghi chép cẩn thận

–Các giai đoạn tương ứng với giai đoạn quản lý dự án

–Chi phí ước lượng chương trình thấp xác

(17)

Mơ hình thác nước (Waterfall)

Mơ hình thác nước (Waterfall) • Hạn chế:

–Quá trình xây dựng phần mềm chia thành pha độc lập tạo nên nhiều khó khăn có thay đổi yêu cầu từ khách hàng

–Do tiếp xúc với khách hàng giai đoạn đầu tiên nên phần mềm khó đáp ứng tất nhu cầu khách hàng

(18)

Mơ hình thác nước (Waterfall)

Mơ hình thác nước (Waterfall)

–Việc quay lui để chỉnh sửa thay đổi cơng việc hồn tất tốn thời gian chi phí

–Khả thất bại cao.

• Ứng dụng

(19)

Mơ hình tăng trưởng (Incremental model)

Mơ hình tăng trưởng (Incremental model)

(20)

Mơ hình tăng trưởng (Incremental model)

Mơ hình tăng trưởng (Incremental model)

(21)

Mơ hình tăng trưởng (Incremental model)

Mơ hình tăng trưởng (Incremental model)

• Những yêu cầu phần mềm biết giai đoạn bắt đầu dự án chia nhóm cho phát triển mơ hình gia tăng.

• Vịng đầu tạo sản phẩm lõi

(22)

Mơ hình tăng trưởng (Incremental model)

Mơ hình tăng trưởng (Incremental model)

• Thuận lợi:

–Cung cấp phản hồi, cho phép chu kỳ phát triển sau rút học từ chu trình trước

–Các u cầu phần mềm tương đối ổn định và hoàn chỉnh giai đoạn sau

–Cho phép hiệu chỉnh yêu cầu cho phép thêm u cầu

–Mơ hình đáp ứng u cầu người dùng tốt mơ hình thác nước

–Chức chính, chức có độ rũi ro cao thực trước

(23)

Mơ hình tăng trưởng (Incremental model)

Mơ hình tăng trưởng (Incremental model)

• Bất lợi:

–Phần lớn yêu cầu phải biết thời điểm bắt đầu

–Phải xác định chức đầy đủ hồn chỉnh trước qua vịng sau

–Dự án dừng lại thời gian sau chu trình

–Rủi ro xảy chu trình con.

(24)

Mơ hình tăng trưởng (Incremental model)

Mơ hình tăng trưởng (Incremental model)

–Sự phát triển phần mềm trải qua nhiều giai đoạn lặp lặp lại, giao diện module phải định nghĩa kỹ giai đoạn đầu

–Những thao tác tác động phiên triển khai

(25)

Mơ hình tăng trưởng (Incremental model)

Mơ hình tăng trưởng (Incremental model)

• Ứng dụng:

–Mơ hình thường thực với dự án có số người so với mơ hình thác nước

–Kiểm thử thực dễ dàng phần nhỏ hệ thống

–Khi cần nhanh chóng đưa chức hệ thống

–Áp dụng cho sản phẩm có thời gian hoàn thiện > năm

(26)

Mơ hình RAD (Rapid Application Development)

Mơ hình RAD (Rapid Application Development)

• Mơ hình đưa IBM vào năm 1980, qua sách James Martin.

• RAD mơ hình quy trình phần mềm gia tăng mà nhấn mạnh tới chu kỳ phát triển ngắn (60-90 ngày)

(27)

Mơ hình RAD (Rapid Application Development)

Mơ hình RAD (Rapid Application Development)

• Xây dựng dựa hướng thành phần (Component-based) với khả tái sử dụng.

• Gồm số nhóm (teams), nhóm làm RAD theo pha

–Mơ hình nghiệp vụ –Mơ hình liệu –Mơ hình xử lý –Tạo ứng dụng

(28)

Mơ hình RAD (Rapid Application Development)

(29)

Mơ hình RAD (Rapid Application Development)

Mơ hình RAD (Rapid Application Development)

• Ưu điểm:

–Thời gian phát triển giảm nhờ dùng công cụ

–„Chỉ cần người phát triển hơn, họ thân thiện với vấn đề

–„Nhanh chóng cho phép hình dung sản phẩm

–Dùng hiệu framework cơng cụ đóng gói (off-the-shelf tools and frameworks)

(30)

Mơ hình RAD (Rapid Application Development)

Mơ hình RAD (Rapid Application Development)

• Nhược điểm:

–Thiếu tham gia tốt người dùng chu kỳ sống phần mềm

–„Người phát triển phải có kỹ huấn luyện tốt cho việc sử dụng công cụ thời gian phát triển nhanh

–„Hệ thống có khả phân tách module –„Cần có đáp ứng thành phần sử dụng lại –„Người phát triển khách hàng phải nỗ lực

(31)

Mơ hình RAD (Rapid Application Development)

Mơ hình RAD (Rapid Application Development)

• Ứng dụng: Mơ hình áp dụng cho trường hợp:

–„Hệ thống dễ dàng phân chia module mở rộng

–„Hệ thống mà yêu cầu biết rõ hợp lý –„Người dùng tham gia tốt qua tồn chu kỳ

sống phần mềm

–„Dự án có thời gian phát triển ngắn, 60 ngày

(32)

Mơ hình tiến hóa (Evolution model)

Mơ hình tiến hóa (Evolution model)

• Mơ hình tiến hóa đưa nhằm giải những khó khăn gây yêu cầu khách hàng không rõ ràng hay thay đổi

(33)

Mơ hình tiến hóa (Evolution model)

(34)

Mơ hình tiến hóa (Evolution model)

Mơ hình tiến hóa (Evolution model)

• Những hoạt động đặc tả yêu cầu, phát triển kiểm tra thực đồng thời, với phản hồi nhanh.

• Mơ hình tiến hóa tin cậy vào phản hồi người sử dụng sau thi hành để tinh lọc những yêu cầu cho bước tiến hóa tiếp theo.

(35)

Mơ hình tiến hóa (Evolution model)

Mơ hình tiến hóa (Evolution model) • Hai kiểu mơ hình tiến hóa là:

–Khám phá phát triển (exploratory development):

• Đội dự án làm việc khách hàng để khám phá yêu cầu họ

• Dự án bắt đầu trước tiên với yêu cầu rõ ràng

• Các đặc tính khác thêm vào dựa đề nghị khách hàng

–Làm mẫu (throwaway prototyping):

• Mơ hình áp dụng cho giai đoạn phân tích u cầu • Đội dự án làm mẫu (prototype) để lấy ý kiến

khách hàng nhằm kiểm chứng làm rõ yêu cầu chưa rõ ràng

(36)

Mơ hình tiến hóa (Evolution model)

Mơ hình tiến hóa (Evolution model)Ưu điểm:

–Chú trọng việc tái sử dụng mẫu Một phần hệ thống phát triển giai đoạn phân tích phát triển yêu cầu thiết kế

(37)

Mơ hình tiến hóa (Evolution model)

Mơ hình tiến hóa (Evolution model) • Nhược điểm:

–Mơ hình cho phép khách hàng tham gia sâu vào trình phát triển nên có nhược điểm là:

• Khó khăn việc thiết kế: việc phát triển qua nhiều phiên phá vỡ kiến trúc tổng thể phần mềm

• Khó khăn việc quản lý: nhà quản lý thích nhìn thấy sản phẩm làm giai đoạn để tiện cho việc quản lý tiến độ Ngồi tài liệu mơ tả cho phiên thường không lập đầy đủ

• Khó khăn khách hàng gây ra: Khách hàng nhầm tưởng mẫu tốt gần sản phẩm thật Trong thực tế từ mẫu đến sản phẩm cuối khảng cách xa Ngồi khách hàng có xu hướng đưa thêm vào yêu cầu không cần thiết

(38)

Mơ hình tiến hóa (Evolution model)

Mơ hình tiến hóa (Evolution model) • Ứng dụng:

–Mơ hình tiến hóa thường áp dụng dự án có độ rủi ro cao

–Mơ hình tiến hóa xem xét với hệ thống mà chưa xác định hết tất yêu cầu mong muốn tiến triển, thường áp dụng cho hệ thống cập nhật hệ thống tồn

–Được dùng để phát triển loại phần mềm tương đối nhỏ (dưới 500 000 dịng code), có vịng đời tương đối ngắn

(39)

Mơ hình tiến hóa (Evolution model)

Mơ hình tiến hóa (Evolution model)

(40)

Mơ hình mẫu (Prototype model)

Mơ hình mẫu (Prototype model)

• Mơ hình mẫu dựa ý tưởng xây dựng một mẫu thử ban đầu (Prototype – nguyên mẫu) và đưa cho người sử dụng xem xét; sau đó, tinh chỉnh mẫu thử qua nhiều phiên thỏa mãn yêu cầu người sử dụng dừng lại.

(41)

Mơ hình mẫu (Prototype model)

Mơ hình mẫu (Prototype model)

• Mẫu thử ban đầu trở thành sản phẩm Khi yêu cầu người sử dụng thỏa mãn lúc xây dựng xong hệ thống (Evolutionary Prototyping)

(42)

Mơ hình mẫu (Prototype model)

(43)

Mơ hình mẫu (Prototype model)

(44)

Mơ hình mẫu (Prototype model)

Mơ hình mẫu (Prototype model) • Ưu điểm:

–Khách hàng tương tác sớm với hệ thống

–„Khách hàng người phát triển làm việc với nhau –Người phát triển xác định xác u

cầu, phát yêu cầu

(45)

Mơ hình mẫu (Prototype model)

Mơ hình mẫu (Prototype model) • Nhược điểm:

–Là phương pháp Quick-and-dirty Những nguyên mẫu Quick-and-dirty thường gây khó khăn việc thiếu tư liệu hay tư liệu không phù hợp

–Hệ thống xây dựng mang cấu trúc cách nghèo nàn với lựa khơng tốt Hệ thống có chất lượng thấp khó bảo trì sau thời gian dài

–„Khách hàng hối thúc nhà phát triển hoàn thành sản phẩm thấy prototype „

(46)

Mơ hình mẫu (Prototype model)

Mơ hình mẫu (Prototype model) • Ứng dụng:

–Khi u cầu khơng biết rõ, không ổn định, thông tin không đáp ứng tốt cho việc phân tích dự án

–„Một vài phần hệ thống lớn tạo theo mơ hình mẫu

–Khi người phát triển không chắn việc dùng giải thuật hay kiến trúc tối ưu

(47)

Mô hình mẫu (Prototype model)

Mơ hình mẫu (Prototype model)

–Phù hợp với hệ thống

• User-interface intensive systems • Interactive online systems

(48)

Mơ hình xoắn ốc (Spiral model)

Mơ hình xoắn ốc (Spiral model)

• Mơ hình xoắn ốc Boehm đưa năm 1988 Mơ hình đưa thêm vào việc phân tích yếu tố rủi ro

(49)

Mơ hình xoắn ốc (Spiral model)

(50)

Mơ hình xoắn ốc (Spiral model)

Mơ hình xoắn ốc (Spiral model) • Mỗi chu trình có phạm vi hoạt động:

–Xác định mục tiêu, ràng buộc chọn lựa.

– Uớc lượng chọn lựa, xác định rũi ro giải pháp. –Phát triển sản phẩm mức tiếp theo.

–Lập kế hoạch cho giai đoạn tiếp theo.

• Với lần lặp xoắn ốc (bắt đầu từ tâm), phiên hồn thiện dần.

(51)

Mơ hình xoắn ốc (Spiral model)

Mơ hình xoắn ốc (Spiral model) • Thuận lợi:

–Quản lý rủi ro tốt mơ hình khác

–Các u cầu phần mềm xác định xác hơn –Hệ thống đáp ứng tốt yêu cầu khách hàng

• Nhược điểm:

–Khó thuyết phục khách hàng lớn cách tiếp cận tiến hóa kiểm sốt

(52)

Mơ hình xoắn ốc (Spiral model)

Mơ hình xoắn ốc (Spiral model)

–Mơ hình xoắn ốc đòi hỏi lực quản lý cao, khơng quản lý tốt dễ rơi vào trạng thái sửa đổi cục khơng có kế hoạch mơ hình làm mẫu –Mơ hình cịn tương đối chưa sử

dụng rộng rãi

–Cần phải có thêm số năm trước kh ingười ta xác định tính hiệu mơ hình với chắn hồn tồn

(53)

Mơ hình xoắn ốc (Spiral model)

Mơ hình xoắn ốc (Spiral model) • Ứng dụng:

Ngày đăng: 20/04/2021, 01:26

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

Tài liệu liên quan