Xem mẫu

  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 là một loại dự án tập trung đặc biệt vào việc tạo ra hoặc cập nhật phần mềm. – Sản phẩm của dự án phần mềm có thể được thực thi, kiểm thử và chỉnh sửa. – Phải có tài liệu hướng dẫn cho người dùng và bảo trì. – Thuộc tính phân biệt so với dự án kỹ thuật • Sản phẩm là vô hình •  Người làm không có nhiều kinh nghiệm về lĩnh  vực chuyên  môn  • Dự án phần mềm lớn thường là sản phẩm đặt trước • Kỹ thuật thay đổi rất nhanh
  3. 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 được thực hiện theo đúng kế hoạch. – Quản lý dự án phần mềm là quá 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 và quản lý cấp cao. – Quản lý dự án tốt không thể đảm bảo thành công, nhưng quản lý kém luôn luôn dẫn đến thất bại.
  4. 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 và kiểm thử – Hướng quản trị dự án: thực hiện các công việc lên kế hoạch, phân phối tài nguyên, giám sát và điều chỉnh công việc để đạt được mục tiêu, chi phí, thời gian và chất lượng.
  5. Chu trình sống của dự án phần mềm • Chu trình sống của dự án phần mềm (Software project life cycle): Toàn bộ khung làm việc mà trong đó phần mềm được hình thành, phát triển và duy trì (Software Development Life Cycle- SDLC) • Chu trình sống thường liên quan đến các mô hình và các giai đoạn phát triển phần mềm.
  6. Chu trình sống của dự án phần mềm • Chu trình sống của phần mềm gồm các giai đoạn:
  7. Chu trình sống của dự án phần mềm • Giai đoạn phân tích yêu cầu (Requirement phase) – Phân tích vấn đề hoặc 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 của phần mềm. – Thường được chia thành 2 giai đoạn con: • Giai  đoạn  thiết  kế  sơ  bộ:  Kiến  trúc  phần  mềm  ban  đầu  được phát triển. • Giai  đoạn  thiết  kế  chi  tiết:  mô  hình  chức  năng  được  xác  định cùng với giao diện người dùng và giao diện giữa các  moules.
  8. Chu trình sống của dự án phần mềm • Giai đoạn hiệ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 được kiểm định về chức năng và mức độ thỏa mãn các yêu cầu. – Thông thường được chia làm 3 giai đoạn: • Kiểm định đơn vị (Unit Testing) • Kiểm định kết hợp (Integration Testing) • Kiểm định khả năng chấp nhận (Acceptance Testing).  – Haigiai đoạn Unit testing và Integration testing có thể là bộ phận của chu trình lặp coding và testing
  9. Chu trình sống của dự án phần mềm • Giai đoạn triển khai (Deployment Phase): – Phần mềm được cài đặt trong hệ thống theo dự kiến, và huấn luyện người dùng. – Đây là giai đoạn phần mềm được phát triển và xem xét một cách hoàn chỉnh. • Giai đoạn bảo trì (Maintenance Phase): – Sửa lỗi và hiệu chỉnh hoặc cập nhật phần mềm cung cấp thêm một số chức năng. – Chi phí của giai đoạn này nhiều hơn so với giai đoạn phát triển ban đầu.
  10. Chu trình sống của dự án phần mềm – Giai đoạn bảo trì phần mềm cần phải xem lại mã của phầm mềm gốc để hiểu những gì đã được làm trước đó và tạo ra những thay đổi cho những module được chỉ định.
  11. Các mô hình của chu trình sống • Có nhiều mô hình chu trình sống, hầu hết đều là những sự biến đổi của 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) • Mô hình bản mẫu (Prototyping  models) • Mô hình xoắn ốc (Spiral models)
  12. Mô hình thác nước (Waterfall)
  13. Mô hình thác nước (Waterfall) • Gồm các 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ử và Chỉnh sửa (hay «kiểm nghiệm») – Cài đặt – Bảo trì
  14. Mô hình thác nước (Waterfall) • Đây là mô hình cũ nhất nhưng ngày nay vẫn được sử dụng rộng rãi trong việc phát triển các ứng dụng. • Mô hình bao gồm một dãy các giai đoạn, mỗi giai đoạn phải được hoàn tất trước khi bắt đầu giai đoạn kế tiếp. • Những giai đoạn được xem là tuần tự, với sự phản hồi chỉ được xác định trong thời gian chuyển tiếp giữa các giai đoạn.
  15. Mô hình thác nước (Waterfall) • Những trở ngại hoặc những hiệu chỉnh thường chờ đến giai đoạn bảo trì. Điều này có thể sẽ rất tốn kém.
  16. Mô hình thác nước (Waterfall) • Thuận lợi: – Hệ thống được ghi chép cẩn thận – Các giai đoạn tương ứng với các giai đoạn trong quản lý dự án. – Chi phí và những ước lượng chương trình có thể thấp hơn và chính xác hơn. – Những chi tiết có thể quan tâm với nhiều nỗ lực kỹ thuật hơn nếu phần mềm lớn hay phức tạp.
  17. Mô hình thác nước (Waterfall) • Hạn chế: – Quá trình xây dựng phần mềm được chia thành các pha độc lập tạo nên nhiều khó khăn khi có thay đổi về yêu cầu từ khách hàng. – Do chỉ tiếp xúc với khách hàng trong giai đoạn đầu tiên nên phần mềm khó đáp ứng tất cả nhu cầu của khách hàng. – Mô hình chỉ thích hợp khi các yêu cầu phần mềm được rõ ràng và không bị thay đổi (hoặc chỉ giới hạn ở pha thiết kế)
  18. Mô hình thác nước (Waterfall) – Việc quay lui để chỉnh sửa hoặc thay đổi một công việc đã hoàn tất rất tốn thời gian và chi phí. – Khả năng thất bại cao. • Ứng dụng – Mô hình này chỉ thích hợp với những dự án đã biết rõ yêu cầu của khách hàng.
  19. Mô hình tăng trưởng (Incremental model) • Thực chất là một loạt của những chu trình thác nước.
  20. Mô hình tăng trưởng (Incremental model) • Một dãy các chu trình con, sau mỗi chu trình con có thể chuyển giao cho khách hàng
nguon tai.lieu . vn