Bài giảng Công nghệ phần mềm nâng cao: Vòng đời và các mô hình phát triển phần mềm bao gồm những nội dung về Software life-cycle; quy trình phát triển phần mềm; các mô hình phát triển phần mềm như mô hình tuyến tính, mô hình chế thử, mô hình phát triển ứng dụng nhanh, các mô hình tiến hóa, mô hình phát triển đồng thời, mô hình hướng thành phần.
Vịng Đời Các Mơ Hình Phát Triển Phần Mềm Công Nghệ Phần Mềm Nâng Cao Outline Software life-cycle Qui Q i trình ì h phát há triển iể Phần Phầ mềm ề Các mơ hình phát triển Mơ hình tuyến tính Mơ hình chế thử Mơ hình phát triển ứng dụng nhanh Các mơ hình tiến hóa Mơ hình phát triển đồng thời Mơ hình hướng thành phần Pham Ngoc Hung, Coltech, VNU, 2009 Vòng đời phần mềm (Software life life-cycle) cycle) Vòngg đời pphần mềm thời kỳỳ tính từ pphần mềm sinh (tạo) chết (từ lúc hình thành đáp ứng yêu cầu, vận hành, bảo dưỡng loại bỏ khơng đâu dùng)) Quy trình phần mềm (vòng đời phần mềm) phân hâ chia hi thành hà h pha h chính: hí h phân hâ tích, í h thiết hiế kế, kế chế tạo, kiểm thử, bảo trì Biểu diễn pha có khác theo người Pham Ngoc Hung, Coltech, VNU, 2009 Mơ hình vịngg đời pphần mềm Boehm Xác định yêu cầu hệ thống Kiểm chứng Xác định yêu cầu phần mềm Kiểm chứng Thiết kế Kiểm chứng Thiết kế chi tiết Kiểm chứng Lập trình Gỡ lỗi ỗ Kiểm thử Chạy thử Vận hành Bảo trì Kiểm chứng lại Pham Ngoc Hung, Coltech, VNU, 2009 S nghĩ Suy hĩ ới vềề vòng ò đời phần hầ mềm ề (1) Pha xác định yêu cầu thiết kế có vai trị định đến ế chất ấ lượng phần ầ mềm, ề chiếm ế phần ầ lớn cơng sức so với lập trình, kiểm thử chuyển giao phần mềm (2) Pha cụ thể hóa cấu trúc phần mềm phụ thuộc nhiều vào suyy nghĩ g xuốngg ((top-down) p ) trừu tượng ợ g hóa, chi tiết hóa (3) Pha thiết kế, chế tạo theo xuống, pha kiểm thử hì d ới lên lê (bottom-up) (b ) Pham Ngoc Hung, Coltech, VNU, 2009 S nghĩ Suy hĩ ới vềề vòng ò đời phần hầ mềm ề ((4)) Trước chuyển y sang gp pha pp phải đảm bảo p pha kiểm thử khơng cịn lỗi (5) Cần có chế kiểm tra chất lượng, xét duyệt pha h nhằm hằ đảm đả bảo bả không khô gây â lỗi cho h pha h sau (6) Tư liệu pha không dùng cho pha sau, mà đối tượng quan trọng cho kiểm tra đảm bảo chất lượng quy trình phần mềm Pham Ngoc Hung, Coltech, VNU, 2009 S nghĩ Suy hĩ ới vềề vòng ò đời phần hầ mềm ề ((7)) Cần chuẩn hóa mẫu biểu,, cách gghi chépp tạo tư liệu ệ cho pha, nhằm đảm bảo chất lượng phần mềm (8) Thao tác bảo trì phần mềm việc xử lý quay vòng trở lại pha vòng đời phần mềm nhằm biến đổi, sửa chữa, nâng cấp phần mềm Pham Ngoc Hung, Coltech, VNU, 2009 Các phương pháp lun v k thut cho tng pha Tên pha Xác định yêu cầu Thiết kế hệ thống Thiết kế chơngg trình Lập trình Đảm bảo chất lợng Vận hành Bảo ả trìì Nội dung nghiệp vụ Đặc tả yêu cầu ngời dùng Xác định yêu cầu phần mềm Thiết kế phần mềm Thiết kế cấu trúc phần mềm Phơng pháp, kỹ thuật Phân tích cấu trúc hãa ThiÕt kÕ cÊu tróc hãa LËp tr×nh cÊu tróc Là thiết kế chi tiết: Thiết kế cấu Phơng pháp Jackson trúc bên trongg phần p mềm ((đơn Phơ pháp Phơng há vị chơng trình môđun) Warnier Mà hóa ngôn ngữ lập trình Mà hóa cấu trúc hóa Kiểm tra chất lợng phần mềm đà Phơng pháp kiểm thử chơng trình phát triển Sử dụng, vận hành phần mềm đà phát triển triển Biến đổi, đổi điều chØnh Ch−a thĨ phÇn mỊm Pham Ngoc Hung, Coltech, VNU, 2009 Quy trình phát triển phần mềm Common process framework Framework activities Task sets Tasks Mil Milestones, d deliverables li bl SQA points Umbrella activities Pham Ngoc Hung, Coltech, VNU, 2009 Mơ hình tuyến tính Phân tích Thiết kế Lập trình Kiểm thử Cơng nghệ học Hệ thống/Thơng tin Điển hình mơ hình vịng đời cổ điển (mơ hình thác nước) Classic life cycle / ự dùng g waterfall model: mơ hình hayy đựoc Pham Ngoc Hung, Coltech, VNU, 2009 10 Mơ hình gia tăng Gia tăng Phân tích Thiết kế Lập trình Xuất xưởng Kiểm thử System/info E i Engineering i Gia tăng Phân tích Gia tăng Thiết kế Phân tích Gia tăng Lập trình Kiểm thử Thiết kế Phân tích Lập trình Thiết kế Xuất xưởng Kiểm thử Xuất xưởng Lập trình Kiểm thử XX C l d titime Calendar Pham Ngoc Hung, Coltech, VNU, 2009 25 Mơ hình xoắn ốc (spiral) Lập kế hoạch Phân tích rủi ro Giao tiếp khách hàng Khái niệm Kỹ nghệ Làm Nâng cấp Bảo trì Pham Ngoc Hung, Coltech, VNU, 2009 Khách hàng đánh giá Xây dựng & g Xuất xưởng 26 Mơ hình xoắn ốc (tiếp) Giao tiếp p khách hàng: g ggiữa người g pphát triển khách hàng để tìm hiểu yêu cầu, ý kiến Lập kế hoạch: Xác lập tài nguyên, thời hạn thông tin khác Phân tích rủi ro: Xem xét mạo hiểm kỹ thuật mạo hiểm ể quản lý Kỹ nghệ: Xây dựng hay số biểu diễn ứng dụng Pham Ngoc Hung, Coltech, VNU, 2009 27 Mơ hình xoắn ốc (tiếp) Xâyy dựng ự g xuất xưởng: g xâyy dựng, ự g, kiểm thử,, cài đặt cung cấp hỗ trợ người dùng (tư liệu, huấn luyện, ) Đánh giá khách hàng: Nhận phản hồi người sử dụng biểu diễn phần mềm giai đ đoạn kỹ nghệ hệ vàà cài ài đặt đặ Pham Ngoc Hung, Coltech, VNU, 2009 28 Mơ hình xoắn ốc: Mạnh yếu? Tốt cho hệệ pphần mềm qquyy mô lớn Dễ kiểm soát mạo hiểm mức tiến hóa Khó thuyết phục khách hàng phương pháp tiến hóa xoắn ốc kiểm sốt Chưa dùng rộng rãi mơ hình tuyến tính chế thử Pham Ngoc Hung, Coltech, VNU, 2009 29 Mô hình pphát triển đồngg thời (The concurrent development model) Xác định mạng lưới hoạt động đồng thời (Network of concurrent activities) Các ự kiện ệ ((events)) xuất ệ theo điều kiện ệ vận ậ động ộ g trạng thái hoạt động Dùng cho loại ứng dụng cho hình ảnh xác vềề trạng thái trạng dự án Thường dùng phát triển ứng dụng khách/chủ ( li t/ (client/server applications): li ti ): system t andd componets t are developed concurrently Pham Ngoc Hung, Coltech, VNU, 2009 30 Mơ hình hướng thành phần (Component-based model) Gắn với Gắ ới hữ công ô nghệ hệ hướng h đối tượng t (Obj t (Objectoriented technologies) qua việc tạo lớp (classes) có chứa liệu giải thuật xử lý liệu Có nhiều tương đồng với mơ hình xoắn ốc Với ưu điểm tái sử dụng thành phần qua Thư viện / kho lớp: tiết kiệm 70% thời gian, 80% giá thành, số sản xuất 26.2/16.9 Với UML chuẩn công nghiệp triển khai Pham Ngoc Hung, Coltech, VNU, 2009 31 Mơ hình hì h hướng h thành hà h phần hầ Lập kế hoạch Phân tích rủi ro Giao tiếp khách hàng Khách hàng đánh giá Pham Ngoc Hung, Coltech, VNU, 2009 Xác định thành phần ứng viên Xây dựng bước lặp thứ n hệ thống Kỹ nghệ Xây dựng & Xuất xưởng Đặt thành phần vào th thư viện iệ Tìm thành phần từ thư viện Lấy thành phần ế có ó Xây dựng thành phần kh kh.có có 32 Mơ hình hình thức (Formal model) Còn gọi CNHPM phòng (Cleanroom SE) Tậpp hợpp cơngg cụ nhằm đặc tả tốn học pphần mềm máy tính từ khâu định nghĩa, phát triển đến kiểm chứng Giúp kỹ sư phần mềm phát sửa lỗi khó Thườngg dùngg trongg pphát triển SW cần độộ an toàn cao (y tế, hàng không, ) Pham Ngoc Hung, Coltech, VNU, 2009 33 Mơ hình hình thức: Điểm yếu? Cần nhiều thời gian cơng sức để phát triển Phí đào tạo cao người có cho áp dụng mơ hình hình thức Khó sử dụng rộng rãi cần kiến thức tốn kỹ ă ủ khách h hàng hà Pham Ngoc Hung, Coltech, VNU, 2009 34 Outline Software life-cycle Qui trình phát triển ể Phần ầ mềm ề Các mơ hình phát triển Mơ hình tuyến tính Mơ hình chế thử Mơ hình phát triển ứng dụng nhanh Các mơ hình tiến hóa Mơ hình phát triển đồng thời Mơ hình hướng thành phần Pham Ngoc Hung, Coltech, VNU, 2009 35 Thảo luận Chọn mơ hình cho phát triển PM? Pham Ngoc Hung, Coltech, VNU, 2009 36 Thực trạng ngành Công nghiệp PM Hầu hết tổ chức/cty PM tách biệt hoàn toàn pha phát triển pha bảo trì -> HT (sản phầm PM) khó bảo trì -> Khó sử dụng lại thành phần Quản lý dự án vs vs quản lý sản phẩm Mở rộng mục tiêu việc quản lý để bao quát họ sản phẩm quản lý sản phẩm riêng biệt Pham Ngoc Hung, Coltech, VNU, 2009 37 Pham Ngoc Hung, Coltech, VNU, 2009 38 Pham Ngoc Hung, Coltech, VNU, 2009 39 ... hình phát triển đồng thời Mơ hình hướng thành phần Pham Ngoc Hung, Coltech, VNU, 2009 Vòng đời phần mềm (Software life life-cycle) cycle) Vòngg đời pphần mềm thời kỳỳ tính từ pphần mềm. .. hà Pham Ngoc Hung, Coltech, VNU, 2009 34 Outline Software life-cycle Qui trình phát triển ể Phần ầ mềm ề Các mô hình phát triển Mơ hình tuyến tính Mơ hình chế thử Mơ hình phát triển. .. life-cycle Qui Q i trình ì h phát há triển iể Phần Phầ mềm ề Các mơ hình phát triển Mơ hình tuyến tính Mơ hình chế thử Mơ hình phát triển ứng dụng nhanh Các mơ hình tiến hóa Mơ hình