Bài giảng Mô hình phát triển

Tài liệu Bài giảng Mô hình phát triển: 1Mụ hỡnh phỏt triển (2) Nguyễn Thanh Bỡnh Khoa Cụng nghệ Thụng tin Trường ðại học Bỏch khoa ðại học ðà Nẵng 2 Nội dung  Cỏc hoạt ủộng phỏt triển phần mềm  Cỏc mụ hỡnh phỏt triển phần mềm 23 Cỏc hoạt ủộng phỏt triển phần mềm  Phõn tớch tớnh khả thi  Phõn tớch và ủặc tả yờu cầu  Thiết kế  Mó húa  Kiểm thử  Bảo trỡ 4 Cỏc hoạt ủộng phỏt triển phần mềm  Phõn tớch tớnh khả thi  xỏc ủịnh vấn ủề cần giải quyết,  xem xột cỏc giải phỏp và kĩ thuật khỏc nhau • thuận lợi • bất lợi  ủỏnh giỏ về thời gian, giỏ thành, nguồn tài nguyờn cần thiết  Sản phẩm: tài liệu phõn tớch 35 Cỏc hoạt ủộng phỏt triển phần mềm  Phõn tớch và ủặc tả yờu cầu (1)  xỏc ủịnh nhu cầu của khỏch hàng/người sử dụng • xỏc ủịnh bài toỏn, chứ khụng phải là giải phỏp  khú khăn • khỏch hàng khụng biết rỏ cỏi họ cần • khỏch hàng khụng trỡnh bày rỏ cỏi họ muốn • cỏc thay ủổi  Sản phẩm: tài liệu ủặc tả yờu cầu 6 Cỏc hoạt ủộng phỏt triển phần mềm  Phõn tớch và ủ...

pdf18 trang | Chia sẻ: hunglv | Lượt xem: 1236 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Mô hình phát triển, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Mơ hình phát triển (2) Nguyễn Thanh Bình Khoa Cơng nghệ Thơng tin Trường ðại học Bách khoa ðại học ðà Nẵng 2 Nội dung  Các hoạt động phát triển phần mềm  Các mơ hình phát triển phần mềm 23 Các hoạt động phát triển phần mềm  Phân tích tính khả thi  Phân tích và đặc tả yêu cầu  Thiết kế  Mã hĩa  Kiểm thử  Bảo trì 4 Các hoạt động phát triển phần mềm  Phân tích tính khả thi  xác định vấn đề cần giải quyết,  xem xét các giải pháp và kĩ thuật khác nhau • thuận lợi • bất lợi  đánh giá về thời gian, giá thành, nguồn tài nguyên cần thiết  Sản phẩm: tài liệu phân tích 35 Các hoạt động phát triển phần mềm  Phân tích và đặc tả yêu cầu (1)  xác định nhu cầu của khách hàng/người sử dụng • xác định bài tốn, chứ khơng phải là giải pháp  khĩ khăn • khách hàng khơng biết rỏ cái họ cần • khách hàng khơng trình bày rỏ cái họ muốn • các thay đổi  Sản phẩm: tài liệu đặc tả yêu cầu 6 Các hoạt động phát triển phần mềm  Phân tích và đặc tả yêu cầu (2)  các bước • khảo sát, tổng hợp yêu cầu • phân tích yêu cầu • đặc tả yêu cầu • hợp thức hĩa yêu cầu 47 Các hoạt động phát triển phần mềm  Phân tích và đặc tả yêu cầu (3) Tổng hợp và phân tích yêu cầu ðặc tả yêu cầu Hợp thức hĩa yêu cầu Mơ hình hệ thống Yêu cầu hệ thống của người sử dụng Tài liệu đặc tả yêu cầu 8 Các hoạt động phát triển phần mềm  Thiết kế (1)  chuyển từ tài liệu đặc tả yêu cầu thành cấu trúc lơ-gíc cĩ thể cài đặt được  giải pháp cho vấn đề đã được đặc tả  thiết kế kiến trúc • các mođun và giao diện của các mơ-đun  thiết kế giao diện  thiết kế các mơ-đun • cấu trúc dữ liệu • thuật tốn  Sản phẩm: tài liệu thiết kế 59 Các hoạt động phát triển phần mềm  Thiết kế (2) Thiết kế kiến trúc đặc tả kiến trúc Thiết kế mơ-đun Thiết kế cấu trúc dữ liệu Thiết kế thuật tốn đặc tả mơ-đun đặc tả cấu trúc dữ liệu đặc tả thuật tốn Thiết kế giao diện đặc tả giao diện 10 Các hoạt động phát triển phần mềm  Thiết kế (3)  các phương pháp thiết kế • hướng chức năng • hướng đối tượng 611 Các hoạt động phát triển phần mềm  Mã hĩa và gở rối  mã hĩa • cài đặt các thiết kế bằng ngơn ngữ lập trình • khơng đơn thuần chỉ là lập trình • viết tài liệu • insertions/invariants • chuẩn lập trình (coding standards) • lập trình theo cặp (pair programming) • cơng cụ • quản lý phiên bản  gở rối • phát hiện các lỗi trong quá trình lập trình  Sản phẩm: chương trình 12 Các hoạt động phát triển phần mềm  Kiểm thử (1)  phát hiện lỗi trong chương trình  lập kế hoạch thực hiện kiểm thử • tạo các trường hợp kiểm thử • tiêu chuẩn kiểm thử • nguồn tài nguyên kiểm thử  mã nguồn được kiểm thử theo tài liệu thiết kế  Sản phẩm: báo cáo kiểm thử 713 Các hoạt động phát triển phần mềm  Kiểm thử (2)  các hoạt động kiểm thử • kiểm thử đơn vị • kiểm thử tích hợp • kiểm thử hệ thống • kiểm thử chấp nhận 14 Các hoạt động phát triển phần mềm  Kiểm thử (3)  các phương pháp kiểm thử • kiểm thử tĩnh • kiểm thử động • kiểm thử hộp đen • kiểm thử hộp trắng 815 Các hoạt động phát triển phần mềm  Bảo trì  bảo đảm chương trình vận hành tốt  cài đặt các thay đổi  cài đặt các yêu cầu mới  xử lý các lỗi khi vận hành  Sản phẩm: chương trình 16 Các mơ hình phát triển phần mềm  Sự tổ chức các hoạt động phát triển phần mềm  Mơ hình phát triển phần mềm hay tiến trình phát triển phần mềm  Cĩ nhiều mơ hình phát triển phần mềm  mơ hình thác nước  mơ hình nguyên mẫu  mơ hình V  mơ hình tiến hĩa  mơ hình xoắn ốc  mơ hình hợp nhất 917 Mơ hình thác nước (waterfall model) Phân tích tính khả thi Phân tích và đặc tả yêu cầu Thiết kế Mã hĩa và kiểm thử Cài đặt và bảo trì 18 Mơ hình thác nước  Ưu điểm  dự án nhỏ  yêu cầu xác định  Nhược điểm  dự án lớn  thời gian  sửa lỗi  yêu cầu thay đổi 10 19 Mơ hình nguyên mẫu (prototyping model) Phân tích yêu cầu Thiết kế nhanh Xây dựng nguyên mẫu ðánh giá Thiết kế 20 Mơ hình nguyên mẫu  Ưu điểm  phát hiện yêu cầu  hợp thức hĩa yêu cầu  thiết kế giao diện • giao diện trên giấy • giao diện “thật”  hệ thống cĩ rủi ro cao • yêu cầu khơng chắc chắn • giao diện chưa rỏ ràng • chiến lược cài đặt chưa rỏ ràng 11 21 Mơ hình nguyên mẫu  Hạn chế  khách hàng cĩ thể cho rằng nguyên mẫu là hệ thống thực • mong đợi khơng thực tế về tiến triển của dự án  người phát triển cĩ sự chọn lựa khơng tốt • phù hợp cho nguyên mẫu, nhưng khơng phù hợp cho hệ thống thực • xây dựng hệ thống thực như xây dựng nguyên mẫu  nguyên mẫu khơng giống hồn tồn hệ thống cuối cùng • khách hàng sẽ cĩ các phản ứng khác nhau 22 Mơ hình V (V model)  Nhấn mạnh vai trị kiểm thử ðặc tả yêu cầu Thiết kế kiến trúc Thiết kế chi tiết Mã hĩa Kiểm thử hệ thống Kiểm thử tích hợp Kiểm thử đơn vị 12 23 Mơ hình tiến hĩa (evolutionary model) ðặc tả Phát triển Hợp thức hĩa Phiên bản đầu tiên Phiên bản trung gian Phiên bản cuối cùng 24 Mơ hình tiến hĩa  Ưu điểm  dự án vừa và nhỏ  các phần của dự án phức tạp  các hệ thống cĩ thời gian sống ngắn  Hạn chế  cấu trúc hệ thống tồi  tiến trình khơng rỏ ràng 13 25 Mơ hình xoắn ốc (spiral model) Risk analysis Risk analysis Risk analysis Risk analysis Proto- type 1 Prototype 2 Prototype 3 Opera- tional protoype Concept of Operation Simulations, models, benchmarks S/W requirements Requirement validation Design V&V Product design Detailed design Code Unit test Integration testAcceptance testService Develop, verify next-level product Evaluate alternatives identify, resolve risks Determine objectives alternatives and constraints Plan next phase Integration and test plan Development plan Requirements plan Life-cycle plan REVIEW 26 Mơ hình xoắn ốc  nhấn mạnh việc đánh giá các rủi ro  phần mềm được xây dựng theo nhiều chu kỳ  mỗi chu kỳ tương ứng với một sản phẩm của một giai đoạn phát triển phần mềm  xác định các mục tiêu, giải pháp, ràng buộc  đánh giá các giải pháp, xác định các nguy cơ và tìm cách giải quyết chúng  phát triển và kiểm thử sản phẩm của chu kỳ này  lập kế hoạch cho chu kỳ tiếp theo 14 27 Mơ hình xoắn ốc  Rủi ro và giải pháp cho rủi ro  thất bại về nhân sự • tuyển dụng nhân sự cao cấp, đào tạo lẫn nhau, cĩ đầy đủ các nhân sự với chức năng khác nhau...  thời gian biểu và ngân sách khơng thực tế • đánh giá thật chi tiết, phát triển dần dần, tái sử dụng, loại bỏ bớt các yêu cầu khơng cần thiết ...  phát triển các chức năng khơng phù hợp • trao đổi thường xuyên với người sử dụng, cĩ tài liệu hướng dẫn sử dụng sớm...  phát triển giao diện người dùng khơng thích hợp • cần phân tích các cơng việc, xây dựng các hình mẫu trước, ...  thiếu yêu cầu đặt ra • phát triển các phần ổn định trước  vấn đề về hiệu quả • cần phải mơ phỏng, đo lường, thử nghiệm...  địi hỏi vượt quá sự đáp ứng của cơng nghệ hiên hành • phân tích kỹ tính khả thi về mặt kỹ thuật 28 Mơ hình xoắn ốc  Ưu điểm  hạn chế rủi ro sớm  nhận được feedbacks từ khách hàng sớm  dự án lớn, phức tạp  hệ thống cần phát triển nhiều phiên bản  yêu cầu chưa xác định rỏ ràng 15 29 Mơ hình hợp nhất (unified process)  Tiến trình hợp nhất cĩ thể được nhìn dưới hai gĩc nhìn khác nhau  Gĩc nhìn quản lý: quan tâm đến lĩnh vực kinh tế, chiến thuật, con người • Tiến trình gồm bốn giai đoạn  Gĩc nhìn kỹ thuật: quan tâm đến cơng nghệ, kiểm tra chất lượng, phương pháp • Tiến trình gồm nhiều bước lặp 30 Mơ hình hợp nhất  Gĩc nhìn quản lý Khởi đầu Inception Soạn thảo Elaboration Xây dựng Construction Chuyển giao Transition Vấn đề Giải phápðặt vấn đề Giải quyết vấn đề Thực hiện Thời gian 16 31 Mơ hình hợp nhất  Gĩc nhìn kỹ thuật: các bước lặp  Mỗi bước lặp gồm các hoạt động: • ðặc tả • Phân tích • Thiết kế • Mã hĩa • Kiểm thử • Cài đặt  Mỗi bước lặp là một tiến trình thác đổ 32 Mơ hình hợp nhất  Gĩc nhìn kỹ thuật Thời gian Bước lặp chuẩn bị Bước lặp kiến trúc Bước lặp kiến trúc Bước lặp phát triển Bước lặp phát triển Bước lặp chuyển giao Bước lặp chuyển giao Bước lặp phát triển Mẫu thử (maquette) Nguyên mẫu kiến trúc Nguyên mẫu kiến trúc Nguyên mẫu phát triển Nguyên mẫu phát triển Bước lặp Kết quả Phiên bản chính thức Phiên bản β Phiên bản β 17 33 Mơ hình hợp nhất  Kết hợp hai gĩc nhìn Thời gian Bước lặp chuẩn bị Bước lặp kiến trúc Bước lặp kiến trúc Bước lặp phát triển Bước lặp phát triển Bước lặp chuyển giao Bước lặp chuyển giao Bước lặp phát triển Mẫu thử (maquette) Nguyên mẫu kiến trúc Nguyên mẫu kiến trúc Nguyên mẫu phát triển Nguyên mẫu phát triển Phiên bản chính thức Phiên bản β Bước lặp Kết quả Phiên bản β Giai đoạn Khởi đầu Soạn thảo Xây dựng Chuyển giao 34 Mơ hình hợp nhất  Mơ hình hợp nhất và UML 18 35 Kết luận  Cĩ nhiều mơ hình phát triển phần mềm  mơ hình tuyến tính • mơ hình thác nước • mơ hình nguyên mẫu • mơ hình V  mơ hình lặp • mơ hình tiến hĩa • mơ hình xoắn ốc • mơ hình hợp nhất 36 Kết luận  Kết hợp nhiều mơ hình cho một dự án  hệ thống phức tạp, chia dự án thành các hệ thống con  mơ hình xoắn ốc hay mơ hình hợp nhất cho tồn bộ dự án  mỗi hệ thống con cĩ thể áp dụng một mơ hình khác nhau • mơ hình nguyên mẫu cho các hệ thống con phức tạp • mơ hình thác nước cho các hệ thống con khác

Các file đính kèm theo tài liệu này:

  • pdf2-MoHinhPhatTrien.pdf