Bài giảng Nhập môn Công nghệ phần mềm: Tuần 2 - Nguyễn Thị Minh Tuyền

58 51 0
Bài giảng Nhập môn Công nghệ phần mềm: Tuần 2 - Nguyễn Thị Minh Tuyền

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Nhập môn Công nghệ phần mềm - Tuần 2: Quy trình phần mềm cung cấp cho người học các kiến thức: Mô hình quy trình phần mềm, các hoạt động của quy trình, thích nghi với sự thay đổi, quy trình RUP. Mời các bạn cùng tham khảo.

Nhập mơn Cơng nghệ phần mềm Tuần 2-3: Quy trình phần mềm Nội dung slide dịch phát triển dựa vào slide Ian Sommerville CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quy trình phần mềm £ 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 £ Có nhiều quy trình phần mềm khác Tất bao gồm hoạt động: p Đặc tả: Định nghĩa hệ thống làm gì; p Thiết kế cài đặt: Định nghĩa tổ chức hệ thống cài đặt hệ thống; p Kiểm định: Kiểm tra hệ thống đáp ứng mong muốn người dùng; p Cải tiến: thay đổi hệ thống để đáp ứng thay đổi u cầu người dùng £ 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ tả quy trình phần mềm £ Khi mơ tả quy trình, ta thường nói p 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, … ; p thứ tự hoạt động £ Các mơ tả quy trình gồm: p Sản phẩm: kết đầu hoạt động; p Vai trò: phản ánh trách nhiệm người tham gia vào quy trình; p Điều kiện trước điều kiện sau (Pre- and postconditions): điều kiện phải đảm bảo trước sau hoạt động thực hay sản phẩm tạo CuuDuongThanCong.com https://fb.com/tailieudientucntt Quy trình hoạch định sẵn quy trình linh hoạt £ 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 £ 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 £ Hầu hết quy trình thực tế gồm phần tử hai phương pháp £ Khơng có quy trình phần mềm hay sai! CuuDuongThanCong.com https://fb.com/tailieudientucntt Các mơ hình quy trình phần mềm £ Mơ hình thác nước (waterfall model) p 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 £ Mơ hình phát triển (incremental development) p 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 £ CNPM theo hướng tái sử dụng (reuse-oriented software engineering) p Hệ thống xây dựng từ component có sẵn Có thể hoạch định sẵn, linh hoạt £ Thực tế, hệ thống lớn phát triển cách sử dụng quy trình tạo cách kết hợp phần tử từ mơ hình CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình thác nước CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình thác nước Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance CuuDuongThanCong.com https://fb.com/tailieudientucntt Ưu điểm £ Quy trình rõ ràng è người quản lý dễ dàng theo dõi tiến độ cơng việc £ 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 p Vì quy trình hoạch định sẵn è giúp cho việc phối hợp công việc dễ dàng 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ưu điểm chuyển giao £ Khách hàng sớm bàn giao sản phẩm (từng phần) £ Các phần đầu xem nguyên để hỗ trợ cho việc xác định yêu cầu cho phần sau £ Nguy thất bại tồn hệ thống thấp £ Duy trì ưu điểm phát triển phần è dễ thích nghi với thay đổi hệ thống £ Những dịch vụ hệ thống có độ ưu tiên cao kiểm thử nhiều p Khách hàng gặp lỗi phần mềm phần quan trọng hệ thống 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình xoắn ốc Boehm £ Quy trình biểu diễn đường xoắn ốc chuỗi hoạt động với bước quay lui £ Mỗi vòng lặp đường xoắn ốc biểu diễn pha quy trình £ Khơng có pha cố định đặt tả hay thiết kế, vòng lặp đường xoắn ốc chọn theo nhu cầu £ Rủi ro đánh giá rõ ràng giải suốt quy trình 45 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mơ hình quy trình xoắn ốc Boehm Determine objectives, alternatives and constraints Risk analysis Evaluate alternatives, identify, resolve risks Risk analysis Risk analysis Operational protoype Prototype Prototype REVIEW Requirements plan Life-cycle plan Plan next phase CuuDuongThanCong.com Risk analysis Prototype Simulations, models, benchmarks Concept of Operation S/W requirements Development plan Requirement validation Integration and test plan Design V&V Acceptance test Service Product design Detailed design Code Unit test Integration test Develop, verify next-level product https://fb.com/tailieudientucntt 46 Các phân khu (sector) mơ hình xoắn ốc £ Thiết lập mục tiêu p Xác định mục tiêu cụ thể pha £ Đánh giá giảm thiểu rủi ro p Rủi ro đánh giá hoạt động tiến hành để giảm thiểu rủi ro £ Phát triển thẩm định p Một mơ hình phát triển cho hệ thống chọn, mơ hình tổng qt £ Lập kế hoạch p Dự án duyệt pha đường xoắn ốc lên kế hoạch 47 CuuDuongThanCong.com https://fb.com/tailieudientucntt Sử dụng mơ hình xoắn ốc £ Ưu điểm: p Là phương pháp thực tế để phát triển hệ thống phần mềm lớn p Giúp kỹ sư hiểu rõ tương tác tốt với nguy mức tiến hóa p Cho phép áp dụng nguyên giai đoạn tiến hóa p Giảm nguy trước trở thành vấn đề hệ thống £ Nhược điểm: p Không phải “thuốc chữa bách bệnh” p Khó khăn việc thuyết phục khách hàng phương pháp điều khiển p 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 48 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 49 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quy trình RUP £ The Rational Unified Process £ Đây quy trình tổng quát bắt nguồn từ UML Unified Software Development Process £ Kết hợp khía cạnh ba mơ hình quy trình tổng qt £ Thường mơ tả ba góc độ: p Góc độ động (dynamic perspective): pha theo thời gian; p Góc độ tĩnh (static perspective): hoạt động quy trình; p Góc độ thực tiễn (practice perspective): đề xuất kinh nghiệm thực tế 50 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các pha RUP Phase iteration Inception Elaboration Transition Construction 51 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các pha RUP £ Khởi động (Inception) p Thiết lập business case cho hệ thống £ Phát triển (Elaboration) p Nghiên cứu vấn đề phát triển kiến trúc hệ thống £ Xây dựng (Construction) p Thiết kế hệ thống, lập trình kiểm thử £ Chuyển tiếp (Transition) p Triển khai hệ thống 52 CuuDuongThanCong.com https://fb.com/tailieudientucntt Vòng lặp RUP £ Lặp pha (In-phase iteration) p Mỗi pha lặp lại với kết phát triển tăng dần £ Lặp qua pha (Cross-phase iteration) p Việc lặp thực qua toàn pha 53 CuuDuongThanCong.com https://fb.com/tailieudientucntt Nguồn: http://www.ibm.com CuuDuongThanCong.com https://fb.com/tailieudientucntt 54 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 CuuDuongThanCong.com The components in the system are implemented and structured into implementation sub-systems Automatic code generation from design models helps 55 accelerate this process https://fb.com/tailieudientucntt 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 change the 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 56 Fundamental best practices £ Phát triển phần mềm theo vòng lặp 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 £ Quản lý yêu cầu p 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 £ Sử dụng kiến trúc dựa vào component p Tổ chức hệ thống tập component tái sử dụng 57 CuuDuongThanCong.com https://fb.com/tailieudientucntt Fundamental best practices £ Mơ hình hóa phần mềm cách trực quan p Sử dụng mơ hình đồ họa UML để biểu diễn góc nhìn tĩnh động phần mềm £ Kiểm tra chất lượng phần mềm p Đảm bảo phần mềm đáp ứng chuẩn chất lượng mặt tổ chức £ Điều khiển thay đổi phần mềm p 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 58 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... chia thành phần nhỏ (increment) Mỗi phần giao cho khách hàng chứa phần tính yêu cầu £ Những yêu cầu có độ ưu tiên cao đặt phần £ Trong q trình phát triển, việc phân tích u cầu cho phần tiến hành... Dựa vào việc tái sử dụng cách có hệ thống p Hệ thống tích hợp từ thành phần có sẵn từ hệ thống COTS (Commercial-off-the-shelf) £ Các giai đoạn quy trình p p p p Phân tích component; Bổ sung yêu... code and test Sub-system integration test plan System integration test Sub-system integration test 30 CuuDuongThanCong.com https://fb.com/tailieudientucntt Cải tiến phần mềm £ Phần mềm linh hoạt

Ngày đăng: 11/01/2020, 19:48