Xem mẫu

  1. TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM MÔN HỌC CÔNG NGHỆ PHẦN MỀM Chương 2 Quy trình xây dựng phần mềm CNPM/NN 1
  2. Chương 2 : Quy trình xây dựng phần mềm 2.1 Quy trình (process) 2.2 Một số quy trình xây dựng phần mềm 2.2.1 Mô hình thác nước 2.2.2 Mô hình phát triển gia tăng 2.2.3 Mô hình RAD 2.2.4 Mô hình bản mẫu 2.2.5 Mô hình xoắn ốc 2.3 Các quy trình khác 2.3.1 Quy trình RUP 2.3.2 Phương pháp phát triển phần mềm linh hoạt (PTPMLH - Agile software development) CNPM/NN 2
  3. Yêu cầu  Hiểu rõ một số quy trình phần mềm cơ bản  Trong thực tế người ta thường kết hợp nhiều quy trình  Những quy trình giới thiệu là những phương pháp cơ bản có tính nghiêm ngặt, hiện nay người ta áp dụng những quy trình mới có tính linh hoạt cao, tạo sự thoải mái cho người làm việc và phát huy tính sáng tạo nhưng vẫn phải tuân thủ các nguyên tắc CNPM/NN 3
  4. 2.1 Quy trình (process)  Quy trình (process) phần mềm bao gồm một tập hợp các hoạt động được tổ chức mà mục đích của nó là xây dựng và phát triển phần mềm.  Quy trình: Phải thực hiện những công việc gì?  Phương pháp: Chỉ ra cách thực hiện những công việc cụ thể (“how to”) tools methods process a “quality” focus CNPM/NN 4
  5. Quy trình khung (Process framework) Process framework Framework activities work tasks work products milestones & deliverables QA checkpoints Umbrella Activities CNPM/NN 5
  6. Quy trình khung  Truyền thông  Communication  Lập kế hoạch  Planning  Modeling  Mô hình hóa  Analysis of requirements  Xây dựng  Design  Triển khai  Construction  Code generation  Testing  Deployment CNPM/NN 6
  7. Các hoạt động khung  Liên quan đến  Công việc (Work tasks)  Sản phẩm công tác (Work products)  Mốc thời gian và thành quả chuyển giao (Milestones & deliverables)  Thời điểm kiểm tra chất lượng (QA checkpoints) CNPM/NN 7
  8. Hoạt động hỗ trợ  Quản lý dự án  Software project management  Kiểm tra kỹ thuật hình thức  Formal technical reviews  Bảo đảm chất lượng phần mềm  Software quality assurance  Quản lý cấu hình phần mềm  Software configuration  Chuẩn bị và tạo sản phẩm management  Quản lý sử dụng lại  Work product preparation and  Đo lường production  Quản lý rủi ro  Reusability management  Measurement  Risk management CNPM/NN 8
  9. 2.1 Mô hình phát triển phần mềm (Process Model)  Mô hình phát triển phần mềm là một thể hiện trừu tượng của quy trình phần mềm.  Nó biểu diễn các đặc tả về quy trình từ những khía cạnh cụ thể, do đó, nó chỉ cung cấp một phần thông tin về quy trình phần mềm CNPM/NN 9
  10. Lựa chọn mô hình phát triển dựa vào:  Bản chất của dự án và ứng dụng  Nhận thức rủi ro  Sự hiểu biết và kỹ năng của các kỹ sư  Kiến thức miền của người phát triển  Phương pháp và công cụ được dùng  Cách thức kiểm soát và các kết quả chuyển giao được yêu cầu CNPM/NN 10
  11. Năm mô hình phát triển phần mềm  Mô hình Thác nước (Waterfall Model)  Mô hình xử lý tăng dần (Incremental Process Models)  Mô hình tăng dần (Incremental Model)  Mô hình RAD (Rapid Application Development Model)  Mô hình Qui trình tiến hóa (Evolutionary Process models)  Mô hình Tạo bản mẫu (Prototyping Model)  Mô hình Xoắn ốc (Spiral Model) CNPM/NN 11
  12. Không có quy trình Inputs Outputs  Không thể biết khi nào hoàn thành do không có phân tích và thiết kế chính thức  Không có cách đánh giá các yêu cầu, và tiêu chuẩn chất lượng có được thỏa mãn hay không CNPM/NN 12
  13. Mô hình thác nước (Waterfall Model)  Mô hình thác nước [Winston Royce] đưa ra vào năm 1970 nhằm thay thế cho phương pháp “code-and-fix”  Lần đầu tiên đưa ra chính thức một cơ cấu gồm những giai đoạn phát triển phần mềm dựa vào yêu cầu đã xác định và được tạo tư liệu trong giai đoạn đầu CNPM/NN 13
  14. Mô hình thác nước CNPM/NN 14
  15. Đặc điểm mô hình thác nước  Phát triển theo trình tự các bước. Mỗi giai đoạn xác định tiêu chuẩn vào và ra. Mô hình dễ hiểu và dễ thực hiện đối với mọi người liên quan. Nó cung cấp một cấu trúc rõ ràng cho những nhân viên thiếu kinh nghiệm hay yếu về kỹ thuật.  Việc chuyển từ một giai đoạn này tới giai đoạn kế tiếp được thực hiện khi thỏa một kiểm tra (review) chính thức, xác định một sự đồng thuận giữa những thành viên dự án và khách hàng.  Áp dụng cho những phần mềm chất lượng cao, khi yêu cầu chất lượng nổi trội hơn những yêu cầu về lịch biểu và chi phí CNPM/NN 15
  16. Mô hình thác nước – nhược điểm  Mô hình có tính tuần tự theo 5 giai đoạn nên khi muốn quay lui để làm đúng một vấn đề hay một kết quả thì sẽ tốn kém nhiều chi phí và thời gian. Do đó cần phải quản lý chặt chẽ các hoạt động, phải đặc tả tất cả yêu cầu một cách chính xác và đầy đủ ngay từ ban đầu.  Khó đánh giá tình trạng của dự án, đánh giá kết quả của dự án ở thời điểm kiểm tra do việc tích hợp chỉ thực hiện ở giai đoạn cuối.  Tồn tại việc phải chờ (“delay”) trong nhóm làm việc.  Việc thực hiện trình tự không tự nhiên, tính lặp thường diễn ra trong thực tế. CNPM/NN 16
  17. Khi nào sử dụng mô hình thác nước  Khi xác định sản phẩm ổn định và những vấn đề về kỹ thuật đã biết rõ:  Nếu một công đã xây dựng một hệ thống như kế toán, bán hàng… thì những dự án xây dựng những sản phẩm tương tự có thể sử dụng mô hình thác nước  Tạo một phiên bản mới của một sản phẩm đang tồn tại trong đó những biến đổi (change) được xác định và kiểm soát CNPM/NN 17
  18. Mô hình tăng dần CNPM/NN 18
  19. Mô hình tăng dần  Các yêu cầu được xác định và phân loại theo độ ưu tiên, độ ưu tiên cao cho những chức năng chính và những chức năng có độ rủi ro cao  Phân chia các yêu cầu cho các vòng và thiết kế kiến trúc của toàn bộ hệ thống  Vòng đầu tiên tạo ra sản phẩm lõi (core product)  Các bước sau bổ sung các chức năng khác và tích hợp vào hệ thống nhằm hoàn thiện dần sản phẩm  Hệ thống tích hợp phải được kiểm tra đánh giá thường xuyên theo từng giai đoạn  Các yêu cầu và kiến trúc của toàn bộ hệ thống sẽ được điều chỉnh dựa vào những sản phẩm phát hành theo từng vòng CNPM/NN 19
  20. Mô hình tăng dần – ưu điểm  Những chức năng của hệ thống có thứ tự ưu tiên càng cao (chức năng chính, chức năng rủi ro cao) sẽ được thực hiện trước, do đó chúng sẽ được kiểm thử nhiều hơn, sản phẩm đươc hoàn thành phần cơ bản sớm  Sau mỗi lần tăng vòng thì có thể chuyển giao kết quả cho khách hàng. Những kết quả này đóng vai trò là mẫu thử để giúp tìm hiểu thêm các yêu cầu ở những vòng tiếp theo.  Có thể thực hiện nhiều bước đồng thời.  Nhân viên có thể thực hiện những công việc tương tự ở các vòng một cách liên tục CNPM/NN 20
nguon tai.lieu . vn