Đề tài Công cụ và quy trình phát triển phần mềm

Thủ tục (procedure) 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)

ppt45 trang | Chia sẻ: tuandn | Lượt xem: 3451 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Đề tài Công cụ và quy trình phát triển phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Công cụ & quy trình phát triển PM Thành viên nhóm Trần Đức Anh Nguyễn Thanh Tùng Tạ Duy Toàn Lê Vũ Linh Công cụ & quy trình phát triển PM Phạm Thanh Mân Nguyễn Mạnh Huy Phan Quốc Minh Nguyễn Khắc Cương Đề tài Công cụ & quy trình phát triển PM Mô hình thác nước (Waterfall Model)…. Nội dung Công cụ & quy trình phát triển PM Ưu điểm & Nhược điểm Tính chất của mô hình waterfall Những dự án nào tiến hành theo Waterfall? Các yêu tố cơ bản của quy trình Công cụ & quy trình phát triển PM Thủ tục (procedure) 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) Nội dung Công cụ & quy trình phát triển PM Ưu điểm & Nhược điểm Tính chất của mô hình waterfall Những dự án nào tiến hành theo Waterfall? Tổng quan Công cụ & quy trình phát triển PM Waterfall model - 1970 Tổng quan Công cụ & quy trình phát triển PM Vào năm 1970 , bài báo cáo với tiêu đề “Quản lý việc phát triển hệ thống phần mềm lớn” của Winston Royce (1925 – 1995). Mô hình này là kết quả của sự kết hợp các mô hình sản xuất từ các ngành kỹ thuật khác áp dụng cho công nghệ phần mềm. Mô hình thác nước mô tả quá trình phát triển phần mềm trong một dòng chảy tuần tự, tuyến tính. Điều này có nghĩa là một giai đoạn được bắt đầu khi hoàn tất giai đoạn trước nó. Và khi sang giai đoạn mới bạn không thể quay trở lại giai đoạn phía trước. Công cụ & quy trình phát triển PM Tổng quan Tổng quan Công cụ & quy trình phát triển PM Nội dung Công cụ & quy trình phát triển PM Ưu điểm & Nhược điểm Tính chất của mô hình waterfall Những dự án nào tiến hành theo Waterfall? Tính chất Đơn giản(rõ ràng các bước). Hạn chế tối thiểu các cố gắng dành cho các hoạt động không cho ra kết quả(Mỗi bước phải có kế hoạch cụ thể và kết quả của bước trước sẽ tiếp nối cho sự bắt đầu của bước tiếp theo,nên buộc phải có kết quả từng bước). Công cụ & quy trình phát triển PM Tránh được khả năng mất quản lý dự án(do các bước rõ ràng, quy định cái nào trước, cái nào sau cụ thể và thứ tự nên khó mà mất kiểm soát dự án lắm!!!) Không phải dự án nào cũng chia nhỏ mỗi bước thành các phần nhỏ hơn trong từng bước được. Công cụ & quy trình phát triển PM Tính chất Nội dung Công cụ & quy trình phát triển PM Ưu điểm & Nhược điểm Tính chất của mô hình waterfall Những dự án nào tiến hành theo Waterfall? Phân tích yêu cầu và tài liệu đặc tả. Thiết kế. Triển khai thực hiện. Kiểm thử. Liên kết và bảo trì. Công cụ & quy trình phát triển PM Các giai đoạn trong waterfall Công cụ & quy trình phát triển PM Phân tích các yêu cầu và tài liệu đặc tả  1 Là giai đoạn xác định những “đòi hỏi” 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à sản phẩm đầu ra là một tài liệu được gọi là “Bản đặc tả yêu cầu phần mềm” (software requirement specification). Công cụ & quy trình phát triển PM Trong đó bao gồm tập hợp 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). Phần mềm được xây dựng làm gì? Ứng dụng vào lĩnh vực nào....? Phân tích các yêu cầu và tài liệu đặc tả  1 Công cụ & quy trình phát triển PM SRS chính là nền tảng cho các hoạt động tiếp theo cho đến cuối dự án. Phân tích các yêu cầu và tài liệu đặc tả  1 Công cụ & quy trình phát triển PM  Là giai đoạn định ra “làm thế nào” để hệ thống phần mềm đáp ứng những “đòi hỏi” mà khách hàng yêu cầu trong SRS. Phân tích hệ thống và thiết kế   2 Công cụ & quy trình phát triển PM Đâ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 đó. Phân tích hệ thống và thiết kế   2 Công cụ & quy trình phát triển PM Cài đặt và kiểm thử từng phần 3 Chuyển bản thiết kế phần mềm thành một tập hợp các chương trình, hoặc đơn vị chương trình sau đó tiến hành kiểm thử các đơn vị để phát hiện khiếm khuyết và sửa chữa. Công cụ & quy trình phát triển PM 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). Tích hợp và kiểm thử hệ thống 4 Công cụ & quy trình phát triển PM 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. Tích hợp và kiểm thử hệ thống 4 Công cụ & quy trình phát triển PM Đây là giai đoạn cài đặt, cấu hình và hướng dẫn khách hàng sử dụng. Giai đoạn này 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). Cài đặt và bảo trì  5 Công cụ & quy trình phát triển PM Thông thường đây là bước có chu kì dài nhất, hệ thống đã hoàn tất và được đưa vào sử dụng. Bảo trì là việc sửa chữa lại các sai lầm không được phát hiện sớm ở các bước trước đó. Cài đặt và bảo trì  5 Các giai đoạn trong waterfall Công cụ & quy trình phát triển PM Tùy theo mô hình phát triển phần mềm, các nhóm công việc được triển khai theo những cách khác nhau. Để sản xuất cùng một sản phẩm phần mềm người ta có thể dùng các mô hình khác nhau. Tuy nhiên không phải tất cả các mô hình đều thích hợp cho mọi ứng dụng. Lưu ý Phương pháp Code and fix Công cụ & quy trình phát triển PM Thay thế phương pháp “code – and – fix” “Code and fix” Lập trình trước, sửa sau Phát triển tự nhiên, “hoang dã” Phân tích nhanh, ưu tiên cho code Code version 0 Thay đổi Nội dung Công cụ & quy trình phát triển PM Ưu điểm & Nhược điểm Tính chất của mô hình waterfall Những dự án nào tiến hành theo Waterfall? Ưu điểm Công cụ & quy trình phát triển PM Giai đoạn kế tiếp chỉ bắt đầu khi giai đoạn hiện hành hoàn tất. Người dùng cuối và khách hàng biết rõ. Quá trình phát triển đơn giản nên phù hợp với những dự án có ít thay đổi. Các đòi hỏi dài của hệ thống được nhận biết dài, phân tích trứơc khi hệ thống bắt đầu. Thay đổi yêu cầu được giảm tới độ tối thiểu khi dự án bắt đầu. Tài liệu đầy đủ nên dễ bảo trì. Giảm thiểu các lỗi mắc phải trong giai đoạn thiết kế. Công cụ & quy trình phát triển PM Ưu điểm Các giai đoạn được định nghĩa, với đầu vào và đầu ra rõ ràng nên dễ phân công công việc, phân bổ chi phí và giám sát công việc. Công cụ & quy trình phát triển PM Ưu điểm Nhược điểm Công cụ & quy trình phát triển PM Mô hình thác đổ là mô hình cũ nhất và được sử dụng rộng rãi nhất trong công nghệ phần mềm. Tuy nhiên cũng có nhiều ý kiến chỉ trích và cho rằng mô hình này có một số nhược điểm như sau: Nhược điểm Công cụ & quy trình phát triển PM Các dự án trong thực tế hiếm khi tuân theo dòng chảy tuần tự mà mô hình đề nghị. Mặc dầu mô hình cho phép lặp, nhưng điều đó chỉ làm gián tiếp. Kết quả là những thay đổi có thể gây ra lẫn lộn khi nhóm phát triển làm việc. Nhược điểm Công cụ & quy trình phát triển PM Khách hàng thường khó phát biểu mọi yêu cầu một cách tường minh ngay từ đầu. Mô hình tuần tự tuyến tính đòi hỏi điều này và thường khó thích hợp với sự không chắc chắn tự nhiên tồn tại vào lúc đầu của nhiều dự án. Nhược điểm Công cụ & quy trình phát triển PM Khách hàng phải kiên nhẫn chờ đợi, vì bản làm việc được của chương tình chỉ có được vào cuối của thời gian dự án. Một sai lầm ngớ ngẩn, nếu đến lúc có chương trình làm việc mới phát hiện ra, có thể là một thảm họa. Nhược điểm Công cụ & quy trình phát triển PM Với việc phân tích một số dự án hiện tại, Bradax thấy rằng bản chất tuyến tính của vòng đời cổ điển dẫn tới "các trạng thái tắc nghẽn", nghĩa là có một số thành viên của nhóm phát triển phải chờ đợi sự chuyển giao từ nhóm khác hoàn thành công việc ở pha trước. Nhược điểm Công cụ & quy trình phát triển PM Trong thực tế, thời gian chờ đợi có thể vượt quá thời gian sản xuất. Trạng thái nghẽn có xu hướng xẩy ra vào thời gian đầu và cuối của quy trình phần mềm. Không quay lui. Phải đặc tả một cách chính xác yêu cầu ngay từ đầu. Nhược điểm Công cụ & quy trình phát triển PM Luôn luôn nghĩ sẽ là hoàn hảo ngay từ đầu. Hệ thống phải kết thúc ở từng giai đoạn (có khi dài) do đó nó khó có thể thực hiện đầy đủ các yêu cầu của khách hàng. Mối quan hệ giữa các giai đoạn không thể được thể hiện. Không thấy đuợc sự tiến hoá của sản phẩm. Không thể phát triển sau khi phát hành sản phẩm. Công cụ & quy trình phát triển PM Nhược điểm Nhược điểm Công cụ & quy trình phát triển PM Khó đáp ứng đựơc các yêu cầu của khách hàng. Sản phẩm đựơc hình thành ở giai đoạn cuối của sản phẩm. Đa số những phần mềm ẩn chứa những nhược điểm không ít thì nhiều. Nhược điểm Công cụ & quy trình phát triển PM Người sử dụng không có cơ hội tham gia vào dự án trong suốt quá trình thực hiện dự án. Đặc biệt là dự án lớn. Họ chỉ thấy vào thời điểm cuối. Sử dụng khi: xác định sản phẩm ổn định và đã biết rõ vấn đề kỹ thuật. Nội dung Công cụ & quy trình phát triển PM Ưu điểm & Nhược điểm Tính chất của mô hình waterfall Những dự án nào tiến hành theo Waterfall? Những dự án dưa trên waterfall model? Mô hình waterfall chỉ nên sử dụng khi mà đội dự án đã có kinh nghiệm làm việc, bởi mô hình này đòi hỏi sự chính xác ngay từ đầu. Waterfall hợp với những dự án mà khách hàng xác định được yêu cầu cụ thể, chính xác ngay từ đầu và ít có khả năng thay đổi. Đối với những khách hàng lớn mà phong cách làm việc của họ chủ yếu theo mô hình truyền thống (waterfall) hoặc những khách hàng lo ngại có nhiều thay đổi trong dự án. Nên áp dụng waterfall với những dự án có fixed scope và fixed-price contract. Những dự án dưa trên waterfall model? Waterfall với các quy trình Công cụ & quy trình phát triển PM Công cụ & quy trình phát triển PM