Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
1,53 MB
Nội dung
Quy trình phần mềm Nguyễn Thị Minh Tuyền Nội dung slide dựa vào slide Ian Sommerville Nội dung Mơ hình quy trình phần mềm Các hoạt động quy trình Thích nghi với thay đổi Quy trình RUP Nguyễn Thị Minh Tuyền Nhập mơn CNPM Nội dung Mơ hình quy trình phần mềm Các hoạt động quy trình Thích nghi với thay đổi Quy trình RUP Nguyễn Thị Minh Tuyền Nhập mơn CNPM Quy trình phần mềm v Quy trình phần mềm (software process) tập có cấu trúc hoạt động cần thiết để phát triển hệ thống phần mềm v Có nhiều quy trình phần mềm khác Tuy nhiên, tất bao gồm hoạt động: § Đặc tả - Định nghĩa hệ thống làm gì; § Thiết kế cài đặt – Định nghĩa tổ chức hệ thống cài đặt hệ thống; § Kiểm định – Kiểm tra hệ thống đáp ứng mong muốn người dùng; § Cải tiến – thay đổi hệ thống để đáp ứng thay đổi yêu cầu người dùng v Mơ hình quy trình phần mềm (software process model) biểu diễn trừu tượng quy trình Nó biểu diễn mơ tả quy trình từ góc nhìn Nguyễn Thị Minh Tuyền Nhập mơn CNPM Mơ tả quy trình phần mềm v Khi mơ tả quy trình, ta thường nói § hoạt động quy trình Ví dụ, đặc tả mơ hình liệu, thiết kế giao diện người dùng, … ; § thứ tự hoạt động v Các mơ tả quy trình gồm: § Sản phẩm, kết đầu hoạt động; § Vai trị, phản ánh trách nhiệm người tham gia vào quy trình; § Điều kiện trước điều kiện sau (Pre- and post-conditions), điều kiện phải đảm bảo trước sau hoạt động thực hay sản phẩm tạo Nguyễn Thị Minh Tuyền Nhập môn CNPM Quy trình hoạch định sẵn quy trình linh hoạt v Các quy trình hoạch định sẵn (plan-driven process) quy trình mà tất hoạt động lên kế hoạch trước tiến độ thực đánh giá dựa vào kế hoạch v Trong quy trình linh hoạt (agile process), kế hoạch phát triển dễ dàng thay đổi quy trình để đáp ứng thay đổi yêu cầu khách hàng v Hầu hết quy trình thực tế gồm phần tử hai phương pháp v Khơng có quy trình phần mềm hay sai! Nguyễn Thị Minh Tuyền Nhập mơn CNPM Các mơ hình quy trình phần mềm v Mơ hình thác nước (waterfall model) § Mơ hình hoạch định sẵn Các pha đặc tả phát triển phân biệt tách rời v Mô hình phát triển (incremental development) § Các pha đặc tả, phát triển thẩm định đan xen Có thể mơ hình hoạch định sẵn, mơ hình linh hoạt v CNPM theo hướng tái sử dụng (reuse-oriented software engineering) § Hệ thống xây dựng từ component có sẵn Có thể hoạch định sẵn, linh hoạt v Thực tế, hệ thống lớn phát triển cách sử dụng quy trình mà kết hợp phần tử từ mơ hình Nguyễn Thị Minh Tuyền Nhập mơn CNPM Mơ hình thác nước Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance Nguyễn Thị Minh Tuyền Nhập môn CNPM Các pha mơ hình thác nước v Mơ hình thác nước có pha sau: § § § § § Phân tích định nghĩa yêu cầu Thiết kế hệ thống phần mềm Cài đặt kiểm thử đơn vị (unit testing) Kiểm thử tích hợp kiểm thử tồn hệ thống Vận hành bảo trì v Nhược điểm: § khó khăn việc thích nghi với thay đổi sau quy trình vào guồng Về nguyên tắc, pha phải hoàn thành trước bắt đầu pha Nguyễn Thị Minh Tuyền Nhập môn CNPM Các vấn đề mơ hình thác nước v Sự phân chia không linh động dự án thành giai đoạn tách biệt gây khó khăn việc đáp ứng thay đổi u cầu người dùng § Vì vậy, mơ hình hợp lý u cầu hiểu rõ thay đổi hạn chế suốt q trình phát triển; § Rất hệ thống thương mại có u cầu ổn định v Mơ hình sử dụng hệ thống lớn hệ thống phát triển nhiều địa điểm khác § Bản chất quy trình hoạch định sẵn mơ hình thác nước giúp cho việc phối hợp công việc dễ dàng Nguyễn Thị Minh Tuyền 10 Nhập môn CNPM Các phân khu (sector) mơ hình xoắn ốc v Thiết lập mục tiêu § Xác định mục tiêu cụ thể pha v Đánh giá giảm thiểu rủi ro § Rủi ro đánh giá hoạt động tiến hành để giảm thiểu rủi ro v Phát triển thẩm định § Một mơ hình phát triển cho hệ thống chọn, mơ hình tổng quát v Lập kế hoạch § Dự án duyệt pha đường xoắn ốc lên kế hoạch Nguyễn Thị Minh Tuyền 47 Nhập môn CNPM Sử dụng mơ hình xoắn ốc v Ưu điểm: § Là phương pháp thực tế để phát triển hệ thống phần mềm lớn § Giúp kỹ sư hiểu rõ tương tác tốt với nguy mức tiến hóa § Cho phép áp dụng ngun giai đoạn tiến hóa § Giảm nguy trước trở thành vấn đề hệ thống v Nhược điểm: § Khơng phải “thuốc chữa bách bệnh” § Khó khăn việc thuyết phục khách hàng phương pháp điều khiển § Cần chuyên gia đánh giá nguy dựa vào chuyên gia để thành cơng Nếu nguy lớn khơng tìm quản lý được, vấn đề hệ thống xảy Nguyễn Thị Minh Tuyền 48 Nhập môn CNPM Nội dung Mơ hình quy trình phần mềm Các hoạt động quy trình Thích nghi với thay đổi Quy trình RUP Nguyễn Thị Minh Tuyền 49 Nhập mơn CNPM Quy trình RUP v The Rational Unified Process v Đây quy trình tổng quát bắt nguồn từ UML Unified Software Development Process v Kết hợp khía cạnh ba mơ hình quy trình tổng qt v Thường mơ tả ba khía cạnh § Khía cạnh động (dynamic perspective): pha theo thời gian; § Khía cạnh tĩnh (static perspective): hoạt động quy trình; § Khía cạnh thực tiễn (practice perspective): đề xuất thực tiễn tốt Nguyễn Thị Minh Tuyền 50 Nhập môn CNPM Các pha RUP Phase iteration Inception Nguyễn Thị Minh Tuyền Elaboration Construction 51 Transition Nhập môn CNPM Các pha RUP v Khởi động (Inception) § Thiết lập business case cho hệ thống v Phát triển (Elaboration) § Nghiên cứu vấn đề phát triển kiến trúc hệ thống v Xây dựng (Construction) § Thiết kế hệ thống, lập trình kiểm thử v Chuyển tiếp (Transition) § Triển khai hệ thống Nguyễn Thị Minh Tuyền 52 Nhập môn CNPM Vòng lặp RUP v Lặp pha (In-phase iteration) § Mỗi pha lặp lại với kết phát triển tăng dần v Lặp qua pha (Cross-phase iteration) § Việc lặp thực qua tồn pha Nguyễn Thị Minh Tuyền 53 Nhập môn CNPM Các workflow tĩnh RUP Workflow Description Business modelling The business processes are modelled using business use cases Requirements Actors who interact with the system are identified and use cases are developed to model the system requirements Analysis and design A design model is created and documented using architectural models, component models, object models and sequence models Implementation The components in the system are implemented and structured into implementation sub-systems Automatic code generation from design models helps accelerate this process Nguyễn Thị Minh Tuyền 54 Nhập môn CNPM Các workflow RUP Workflow Testing Description Testing is an iterative process that is carried out in conjunction with implementation System testing follows the completion of the implementation Deployment A product release is created, distributed to users and installed in their workplace Configuration and This supporting workflow managed changes to the change system management Project management This supporting workflow manages the system development Environment This workflow is concerned with making appropriate software tools available to the software development team Nguyễn Thị Minh Tuyền 55 Nhập môn CNPM Nguồn: http://www.ibm.com Nguyễn Thị Minh Tuyền 56 Nhập môn CNPM Ưu điểm RUP v Phát triển phần mềm theo vịng lặp § Các phần lên kế hoạch dựa vào độ ưu tiên khách hàng phân phối phần có độ ưu tiên cao trước v Quản lý yêu cầu § Viết tài liệu cách rõ ràng cho yêu cầu khách hàng theo dõi thay đổi yêu cầu v Sử dụng kiến trúc dựa vào component § Tổ chức hệ thống tập component tái sử dụng Nguyễn Thị Minh Tuyền 57 Nhập mơn CNPM Ưu điểm RUP v Mơ hình hóa phần mềm cách trực quan § Sử dụng mơ hình đồ họa UML để biểu diễn góc nhìn tĩnh động phần mềm v Kiểm tra chất lượng phần mềm § Đảm bảo phần mềm đáp ứng chuẩn chất lượng mặt tổ chức v Điều khiển thay đổi phần mềm § Quản lý thay đổi phần mềm sử dụng hệ thống quản lý thay đổi công cụ quản lý cấu hình Nguyễn Thị Minh Tuyền 58 Nhập mơn CNPM Tổng kết v Quy trình nên có hoạt động để đối phó với thay đổi Có thể có pha nguyên để hạn chế thay đổi không cần thiết u cầu thiết kế v Quy trình cấu trúc hóa cho phát triển phân phối cho thay đổi thực mà khơng phá vỡ tồn hệ thống v RUP mơ hình quy trình tổng qt đại tổ chức thành pha (khởi động, phát triển, xây dựng chuyển tiếp) Nguyễn Thị Minh Tuyền 59 Nhập môn CNPM Câu hỏi? Nguyễn Thị Minh Tuyền Nhập môn CNPM