Academia.eduAcademia.edu
Quy trình phần mềm GV. Nguyễn Minh Huy Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 1 Nội dung Khái niệm cơ bản bản.. Các loại quy trình phần mềm mềm.. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 2 Nội dung Khái niệm cơ bản bản.. Các loại quy trình phần mềm mềm.. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 3 Khái niệm cơ bản Đặc điểm của làm việc không quy trình trình:: Không theo trình tự nhất định định.. Không có bài bản định sẵn sẵn.. Cảm tính tính,, lúc này lúc khác khác.. Khó dự đoán kết quả (predictable). Khó kiểm soát chất lượng (controllable). Khó lặp lại thành công (repeatable). Đầy may rủi!! rủi!! Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 4 Khái niệm cơ bản Quy trình phần mềm là gì gì? ? Chuỗi hoạt động động.. Theo trình tự nhất định định.. Sản xuất phần mềm mềm.. Pha Đầu vào Pha của quy trình trình:: Chuỗi con hoạt động liên quan quan.. Công đoạn đoạn.. Mỗi pha định nghĩa nghĩa:: WHAT: làm gì gì.. WHO: ai tham gia. gia. INPUT: đầu vào vào.. OUTPUT: đầu ra. ra. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy Hoạt động 1 Hoạt động 2 Đầu ra … Hoạt động N Phần mềm 5 Khái niệm cơ bản Cách cách mô tả quy trình trình:: Workflow: Theo luồng công việc việc.. Trình tự các bước quy trình trình.. Cách thông dụng thể hiện quy trình trình.. Dataflow: Theo luồng dữ liệu liệu.. Xoay quanh một đơn vị dữ liệu liệu.. Role/Action: Theo vai diễn diễn.. Xoay quanh một vai diễn diễn.. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 6 Khái niệm cơ bản Quy trình phỏng vấn xin việc việc:: Workflow: 1. Tiếp nhận hồ sơ 2. Xét duyệt 3. Phỏng vấn 4. Thông báo kết quả Dataflow: đơn vị dữ liệu “đơn xin việc việc”” 1. Tiếp nhận 2. Xét duyệt 2.1. Lưu trữ 2.2. Loại bỏ Role/Action: vai diễn “người phỏng vấn vấn”, ”, 2. Xét duyệt Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy 3. Phỏng vấn 3. Thông báo kết quả 7 Khái niệm cơ bản Các pha chính yếu trong quy trình trình:: Phân tích yêu cầu cầu.. Thiết kế phần mềm mềm.. Cài đặt phần mềm mềm.. Kiểm nghiệm phần mềm mềm.. Bảo trì phần mềm mềm.. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 8 Khái niệm cơ bản Phân tích yêu cầu cầu:: Trả lời câu hỏi WHAT WHAT.. Xác định những gì cần làm. làm. Vai trò tham gia: gia: BA ((B Business Analyst). Các hoạt động động:: Thu thập yêu cầu khách hàng hàng.. Đặc tả yêu cầu cầu.. Kiểm nghiệm yêu cầu cầu.. Mô hình hóa phần mềm mềm.. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 9 Khái niệm cơ bản Thiết kế phần mềm mềm:: Trả lời câu hỏi HOW HOW.. Xác định làm như thế nào nào.. Vai trò tham gia: gia: kiến trúc sư hệ thống (architect). Các hoạt động động:: Thiết kế tổng thể (high (high--level design). Thiết kế kiến trúc trúc.. Thiết kế chi tiết (low(low-level design). Thiết kế dữ liệu liệu.. Thiết kế giao diện diện.. Thiết kế xử lý. lý. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 10 Khái niệm cơ bản Cài đặt phần mềm mềm:: Hiện thực hóa bản thiết kế. kế. Vai trò tham gia: gia: lập trình viên (developer). Các hoạt động động:: Cài đặt mã nguồn nguồn.. Cài đặt cơ sở dữ liệu liệu.. Cấu hình hệ thống thống.. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 11 Khái niệm cơ bản Kiểm nghiệm phần mềm mềm:: Phát hiện lỗi: lỗi: So với phân tích tích,, thiết kế. kế. So với cách hiểu khách hàng hàng.. Vai trò tham gia: gia: kiểm tra viên (tester), khách hàng hàng,, lập trình viên viên.. Các hoạt động động:: Kiểm thự đơn vị (lập trình viên). viên). Thanh tra mã nguồn nguồn.. Kiểm thử hệ thống (tester). Nghiệm thu (khách hàng hàng). ). Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 12 Khái niệm cơ bản Bảo trì trì:: Pha “hậu mãi mãi”. ”. Vận hành hành,, chỉnh sửa sửa,, nâng cấp cấp.. Vai trò tham gia: gia: Kỹ thuật viên (technical support). Lập trình viên. viên. Các hoạt động động:: Thiết lập nền tảng hoạt động động:: máy móc móc,, mạng, mạng, ứng dụng dụng,, … Lắp đặt và cấu hình phần mềm mềm.. Thông báo và sửa lỗi phần mềm mềm.. Nâng cấp phần mềm mềm.. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 13 Nội dung Khái niệm cơ bản. bản. Các loại quy trình. trình. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 14 Các loại quy trình Mô hình thác nước – Waterfall Model: Winston Royce đề cập,1970. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 15 Các loại quy trình Mô hình thác nước – Waterfall Model: Đặc trưng trưng:: Các pha diễn ra TUẦN TỰ và ĐỘC LẬP. Tách rời giữa phác thảo và hiện thực thực.. Chú trọng kiểm nghiệm sau khi làm. làm. Ưu điểm điểm:: Thực hiện có hệ thống và bài bản bản.. Tiên liệu chặt chẽ trước khi làm. làm. Có thể dự đoán kết quả (predictable (predictable--process). Khuyết điểm điểm:: Khó khăn khi có thay đổi xảy ra. ra. Chỉ thích hợp với dự án có yêu cầu rõ ràng và ổn định định.. Cải tiến cho phép quay lui. lui. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 16 Các loại quy trình Mô hình tiến hóa – Evolutionary Model: Cải tiến phương pháp Code & Fix. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 17 Các loại quy trình Mô hình tiến hóa – Evolutionary Model: Đặc trưng trưng:: Không đặt nặng tiên liệu trước trước.. Cải tiến dần qua các phiên bản bản.. Nhận phản hồi thường xuyên xuyên.. Phân tích tích,, thiết kế, kế, và kiểm tra sơ lược lược.. Ưu điểm điểm:: Yêu cầu không cần rõ ràng và ổn định định.. Thích ứng tốt với thay đổi (adaptive (adaptive--process). Khuyết điểm điểm:: Thiếu cách tiếp cận toàn diện diện.. Dễ dẫn đến làm việc chấp vá. vá. Khó dự đoán kết quả. quả. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 18 Các loại quy trình Hiện thực hóa mô hình tiến hóa hóa:: Phát triển qua nhiều vòng lặp ngắn ngắn.. Mỗi vòng lặp là một quy trình con. Có sản phẩm THẬT sau mỗi vòng lặp. lặp. Các quy trình được sử dụng dụng:: Quy trình Waterfall lặp. lặp. Quy trình xoắn ốc. ốc. Quy trình RUP. Phương pháp Agile. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 19 Các loại quy trình Waterfall lặp: lặp: Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 20 Các loại quy trình Quy trình xoắn ốc (Spiral Process): Barry Boehm đề xuất xuất,, 1986. Mỗi xoắn ốc là một pha. pha. 4 hoạt động trong một pha: pha: Xác định mục tiêu tiêu.. Định lượng rủi ro. Thực hiện hiện.. Kế hoạch pha sau sau.. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 21 Các loại quy trình Quy trình RUP (R (Rational Unified Process): Do IBMIBM-Rational đề xuất (2003). Gồm 4 pha: pha: Inception: khảo sát sát.. Elaboration: phân tích & thiết kế. kế. Construction: cài đặt & kiểm nghiệm nghiệm.. Transition: bảo trì & nâng cấp cấp.. Cách lặp: lặp: lặp mỗi pha pha,, lặp cả quy trình trình.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy 22 Bài tập Bài tập mô phỏng quy trình trình:: Nhóm của bạn được giao thực hiện một “DỰ ÁN”. 1 – 2 thành viên trong nhóm đóng một VAI DiỄN. DiỄN. Mỗi vai diễn thực công việc ĐỘC LẬP. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 23 Bài tập Các vai diễn diễn:: Customer: Cung cấp yêu cầu qua trả lời phỏng vấn vấn.. Analyst: Thu thập yêu cầu cầu:: thông qua phỏng vấn (3 lần). lần). Phân tích yêu cầu cầu:: phân nhóm nhóm,, liệt kê, kê, giải thích thích.. Architect: Phác thảo sản phẩm phẩm:: lập khung sườn sườn,, dàn ý. Gợi ý thực hiện hiện:: diễn giải cách thực hiện hiện.. Developer: Hiện thực hóa sản phẩm phẩm:: phát triển theo dàn ý. QC Person: Kiểm tra sản phẩm phẩm:: lập bảng đánh dấu đạt đạt//chưa đạt đạt.. Nhập môn Công Nghệ Phần Mềm – Nguyễn Minh Huy 24