Bài giảng Nhập môn công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm

ặc tả các yêu cầu cho bài toán (casestudy) với usecase • Đặc tả các yêu cầu phi chức năng và lập bảng chú giải các từ vựng / thuật ngữ – Các yêu cầu phi chức năng và chức năng không được đưa ra trong bất kỳ use case cụ thể nào • Chức năng (Functionality): Các yêu cầu chức năng tổng quan cho tất cả các use case • Khả năng sử dụng (Usability): Ví dụ: các yêu cầu về khả năng sử dụng dễ dàng hoặc yêu cầu về đào tạo người dùng. • Độ tin cậy (Reliability): Các độ đo định lượng như thời gian trung bình giữa các lần gặp sự cố hoặc lỗi trên nghìn dòng mã • Hiệu năng (Performance): Bao gồm thời gian đáp ứng, số lượng người sử dụng đồng thời,. • Khả năng hỗ trợ (Supportability): Các yêu cầu nhằm tăng cường khả năng hỗ trợ hoặc khả năng bảo trì của hệ thống • Các ràng buộc thiết kế (Design constraints) • Yêu cầu: Đặc tả các yêu cầu cho bài toán (casestudy) với nhóm chức năng đã chọn. (cả y/c chức năng và phi chức năng) • Phần nội dung này các nhóm làm vào trong file .docx (báo cáo) • Các nhóm chuẩn bị thêm một slide powerpoint về nội dung Đặc tả các yêu cầu ở trên, buổi học tiếp theo sẽ trình bày

pdf38 trang | Chia sẻ: hachi492 | Ngày: 05/01/2022 | Lượt xem: 582 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Nhập môn công nghệ phần mềm - Tuần 6: Kỹ nghệ yêu cầu phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nhập môn Công nghệ phần mềm Introduction to Software Engineering (IT3180) Bài tập tuần 06 Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) Giang vien Mục tiêu 210/21/2020 Department of Software Engineering - SOICT/HUST • Thực hiện các bài tập (câu hỏi) về Yêu cầu phần mềm • Thực hiện các bài tập về công cụ đặc tả yêu cầu phần mềm • Đặc tả các yêu cầu cho bài toán (casestudy) của môn học: sử dụng usecase của UML – Xác định các thành phần: tác nhân (actor), ca sử dụng (usecase) và các quan hệ → xây dựng biểu đồ usecase – Đặc tả kịch bản chi tiết cho các usecase – Xác định và mô tả các yêu cầu phi chức năng Đánh giá 310/21/2020 Department of Software Engineering - SOICT/HUST • Hoàn thành các bài tập về Yêu cầu phần mềm • Nắm được đặc điểm của các công cụ đặc tả yêu cầu phần mềm: Biểu đồ luồng dữ liệu – DFD (data flow diagram) + Máy trạng thái – FSM (Finite state machine) + Sơ đồ thực thể liên kết – ERD (entity relation diagram) + Usecase (UML) • Hoàn thành đặc tả các yêu cầu cho bài toán (casestudy) của môn học: sử dụng usecase của UML Bài 1.1 a) Lựa chọn nào sau đây mô tả một yêu cầu phi chức năng? 1. Hệ thống phải phát sinh ra một báo cáo về tất cả các chiến dịch quảng cáo cho một khách hàng cụ thể 2. Hệ thống phải cho phép những người sử dụng nhập vào chi tiết các khách hàng 3. Hệ thống phải có khả năng lưu trữ ban đầu là 500MB dữ liệu, mỗi năm tăng lên 100MB 4. Tất cả các phương án trên đều đúng 10/21/2020 Department of Software Engineering - SOICT/HUST 4 Bài 1.1 b) Lựa chọn nào sau đây mô tả một yêu cầu chức năng? 1. Hệ thống phải có khả năng trả lời tất cả các truy vấn trong 5 giây 2. Hệ thống cho phép người sử dụng thêm một sản phẩm muốn mua vào giỏ hàng 3. Người sử dụng sẽ gây ra ít lỗi hơn 50% so với hệ thống hiện tại 4. Giao diện hệ thống thân thiện với người dùng 10/21/2020 Department of Software Engineering - SOICT/HUST 5 Bài 1.1 c) Sơ đồ luồng dữ liệu cung cấp thông tin gì? 1. Đưa ra hình ảnh quan hệ giữa các đối tượng dữ liệu 2. Đưa ra hình ảnh những chức năng biến đổi luồng dữ liệu 3. Chỉ ra những quyết định logic chính khi chúng xuất hiện 4. Chỉ ra sự tương tác của hệ thống với sự kiện bên ngoài 10/21/2020 Department of Software Engineering - SOICT/HUST 6 Bài 1.1 d) Đặc tả hệ thống mô tả _____? 1. Chức năng, hiệu năng và các ràng buộc của hệ thống 2. Bản cài đặt của hệ thống 3. Các phần tử kiến trúc phần mềm 4. Thời gian cần thiết cho mô phỏng hệ thống 10/21/2020 Department of Software Engineering - SOICT/HUST 7 Bài 1.1 e) Hoạt động nào sau đây không phải là mục tiêu của xây dựng mô hình yêu cầu? 1. Xác định một tập các yêu cầu phần mềm có thể được thẩm định 2. Mô tả các yêu cầu khách hàng 3. Tạo lập một cơ sở cho thiết kế phần mềm 4. Đưa ra giải pháp sơ bộ cho vấn đề đặt ra 10/21/2020 Department of Software Engineering - SOICT/HUST 8 Bài 1.1 f) Điều gì xảy ra khi sử dụng ngôn ngữ tự nhiên để mô tả các yêu cầu? (chọn nhiều) 1. Một vài yêu cầu được diễn đạt chung, đi cùng nhau ở dạng một yêu cầu 2. Các yêu cầu, mục tiêu hệ thống và thông tin thiết kế có thể không được phân biệt rõ ràng 3. Dễ dẫn đến hiểu nhầm giữa người đọc và người viết 4. Cung cấp thông tin đầy đủ nhất cho người phát triển 10/21/2020 Department of Software Engineering - SOICT/HUST 9 Bài 1.2 a) Bạn thử đưa ra một cấu trúc chung nhất cho tài liệu đặc tả yêu cầu. Trình bày ngắn gọn các lợi ích chính của tài liệu đặc tả yêu cầu? 10/21/2020 Department of Software Engineering - SOICT/HUST 10 Tài liệu yêu cầu Ví dụ 10/21/2020 Department of Software Engineering - SOICT/HUST 11 Ví dụ 10/21/2020 Department of Software Engineering - SOICT/HUST 12 Bài 1.2 b) Bạn hãy tìm hiểu và mô tả các vấn đề gây ra các khó khăn trong thu thập yêu cầu? 10/21/2020 Department of Software Engineering - SOICT/HUST 13 Bài 1.2 Hướng dẫn: • Những vấn đề từ phía người dùng: – Người dùng không hiểu họ muốn gì – Người dùng liên tục thay đổi yêu cầu – Người dùng không hiểu về kỹ thuật – Người dùng không hiểu về quy trình phát triển • Những vấn đề từ phía nhà phát triển: – Ngôn từ của người dùng và nhà phát triển không khớp nhau – Nhà phát triển cố lái cho yêu cầu của người dùng khớp với một hệ thống hay mô hình sẵn có thay vì phát triển một hệ thống theo nhu cầu của khách hàng – Việc phân tích có thể do các lập trình viên thực hiện thay vì các nhân viên có kỹ năng phân tích để có thể hiểu được nhu cầu của khách hàng một cách đúng đắn • Những vấn đề khác: – Các yêu cầu thường mang tính đặc thù của tổ chức đặt hàng nó, do đó nó thường khó hiểu, khó định nghĩa và không theo một tiêu chuẩn nào cả – Các hệ thống thông tin lớn có rất nhiều người sử dụng, do đó các yêu cầu thường rất đa dạng và có các mức ưu tiên khác nhau, thậm chí mâu thuẫn lẫn nhau – Người đặt hàng nhiều khi là các nhà quản lý, không phải là người dùng thực sự do đó việc đưa ra các yêu cầu thường không chính xác10/21/2020 Department of Software Engineering - SOICT/HUST 14 Bài 1.3 Trong ngữ cảnh của software engineering và kỹ nghệ yêu cầu phần mềm, hãy thảo luận nhóm và viết một đoạn ngắn bình luận về bức tranh vui dưới đây? 10/21/2020 Department of Software Engineering - SOICT/HUST 15 Bài 1.4 Hãy gọi tên các biểu đồ sau đây. Mỗi biểu đồ hướng về vấn đề gì trong đặc tả và phân tích yêu cầu phần mềm? Từng biểu đồ cho chúng ta biết những thông tin gì? 10/21/2020 Department of Software Engineering - SOICT/HUST 16 Bài 1.4 Biểu đồ 1: Hệ thống bán hàng 10/21/2020 Department of Software Engineering - SOICT/HUST 17 Chi tiết đơn đặt hàng và mẫu HĐ trống Đơn hàng đã được điền Đơn hàng đã được duyệt Đơn hàng đã được duyệt 1 Điền đơn hàng 2 Kiểm tra đơn hàng 3 Ghi đơn hàng 4 Điều chỉnh kho 5 Gửi nhà cung cấp 1 Đơn hàng 2 Kho hàng Khách hàng Bài 1.4 Biểu đồ 2: Hệ thống đăng ký học trực tuyến 10/21/2020 Department of Software Engineering - SOICT/HUST 18 Bài 1.4 Biểu đồ 3: Hệ thống bán hàng 10/21/2020 Department of Software Engineering - SOICT/HUST 19 Bài 1.4 Biểu đồ 4: Hệ thống đăng ký học trực tuyến 10/21/2020 Department of Software Engineering - SOICT/HUST 20 Bài 1.5 Xây dựng biểu đồ luồng dữ liệu (DFD (data flow diagram)) Background: • DFD biểu diễn một cách linh hoạt các thực thể ngoài, các chức năng xử lý, luồng dữ liệu và các kho dữ liệu. • Việc xây dựng DFD theo các mức cấp bậc: – Sơ đồ ngữ cảnh (Context diagram) – Sơ đồ mức 0 – Sơ đồ mức i • Mỗi biểu đồ DFD cũng đi kèm với các mô tả chi tiết về ý nghĩa các luồng dữ liệu và các bước thực hiện của chức năng xử lý. DFD cũng cung cấp thông tin về đầu ra và đầu vào của mỗi thực thể và chính quá trình. 10/21/2020 Department of Software Engineering - SOICT/HUST 21 Bài 1.5 Xây dựng biểu đồ luồng dữ liệu (DFD (data flow diagram)) Background: • Cấu trúc tổng quát: 10/21/2020 Department of Software Engineering - SOICT/HUST 22 Bài 1.5 Xây dựng biểu đồ DFD cho yêu cầu chức năng Lập thẻ độc giả: bạn đọc phải đăng lý thẻ độc giả với thư viện thì mới có thể thực hiện mượn trả sách. Khi đăng ký bạn đọc cần điền vào một biểu mẫu như sau: Quy định: Tuổi của người đăng ký phải từ 18 tuổi trở lên và thẻ có giá trị hiệu lực trong vòng 12 tháng. 10/21/2020 Department of Software Engineering - SOICT/HUST 23 Bài 1.5 Hướng dẫn: Xác định các thành phần: • Chức năng xử lý: Lập thẻ độc giả • Kho dữ liệu: Thông tin độc giả • Xây dựng sơ đồ và các mô tả chi tiết kèm theo 10/21/2020 Department of Software Engineering - SOICT/HUST 24 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Sơ đồ usecase (UML): Mô hình hóa các chức năng mà hệ thống sẽ thực thi. • Usecase là gì? – Use case là một trình tự hành động của hệ thống thực hiện nhằm thu được một kết quả dễ thấy tới một tác nhân nào đó. – Một use case mô hình hóa một hội thoại giữa một hoặc nhiều tác nhân với hệ thống – Một use case mô tả hành động của hệ thống thực hiện nhằm mang đến một giá trị nào đó cho tác nhân 10/21/2020 Department of Software Engineering - SOICT/HUST 25 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Mô hình usecase: – Các biểu đồ ca sử dụng (usecase diagram) – Phần mô tả bằng lời các kịch bản usecase (đặc tả usecase – usecase specification) – Đặc tả phụ trợ (Supplementary specification) – Bảng chú giải (Glossary) 10/21/2020 Department of Software Engineering - SOICT/HUST 26 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Biểu đồ usecase (usecase diagram): 10/21/2020 Department of Software Engineering - SOICT/HUST 27 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Đặc tả usecase (usecase specification): – Miêu tả tất cả các vấn đề liên quan đến một ca sử dụng. Dùng làm cơ sở cho các định hướng phân tích, thiết kế, mã hóa, kiểm thử theo hướng ca sử dụng ở các công đoạn tiếp theo. 10/21/2020 Department of Software Engineering - SOICT/HUST 28 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Nhóm chức năng số 1 trong casestudy: "1. Quản lý thông tin hộ khẩu, nhân khẩu“ – Tác nhân: “Quản lý tổ dân phố”, hai tác nhân con thể hiện hai vai trò “Tổ trưởng” và “Tổ phó” – Các usecase tổng quát: • Đăng nhập / đăng xuất, các usecase khác được thực hiện với điều kiện usecase “Đăng nhập” thực hiện thành công • Quản lý thông tin sổ hộ khẩu • Quản lý thông tin nhân khẩu • Thống kê thông tin nhân khẩu • Tìm kiếm thông tin, usecase tìm kiếm có thể được gọi đến khi tác nhân thực hiện các usecase quản lý khác10/21/2020 Department of Software Engineering - SOICT/HUST 29 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Nhóm chức năng số 1 trong casestudy: "1. Quản lý thông tin hộ khẩu, nhân khẩu“ – Xây dựng biểu đồ usecase tổng quát 10/21/2020 Department of Software Engineering - SOICT/HUST 30 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Nhóm chức năng số 1 trong casestudy: "1. Quản lý thông tin hộ khẩu, nhân khẩu“ – Biểu đồ usecase phân rã cho “Quản lý thông tin sổ hộ khẩu” 10/21/2020 Department of Software Engineering - SOICT/HUST 31 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Nhóm chức năng số 1 trong casestudy: "1. Quản lý thông tin hộ khẩu, nhân khẩu“ – Biểu đồ usecase phân rã cho “Quản lý thông tin nhân khẩu” 10/21/2020 Department of Software Engineering - SOICT/HUST 32 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Nhóm chức năng số 1 trong casestudy: "1. Quản lý thông tin hộ khẩu, nhân khẩu“ – Biểu đồ usecase phân rã cho “Thống kê thông tin nhân khẩu” 10/21/2020 Department of Software Engineering - SOICT/HUST 33 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase Đặc tả use case UC001 “Đăng nhập” 10/21/2020 Department of Software Engineering - SOICT/HUST 34 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase Đặc tả use case UC001 “Đăng nhập” 10/21/2020 Department of Software Engineering - SOICT/HUST 35 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Đặc tả các yêu cầu phi chức năng và lập bảng chú giải các từ vựng / thuật ngữ – Các yêu cầu phi chức năng và chức năng không được đưa ra trong bất kỳ use case cụ thể nào • Chức năng (Functionality): Các yêu cầu chức năng tổng quan cho tất cả các use case • Khả năng sử dụng (Usability): Ví dụ: các yêu cầu về khả năng sử dụng dễ dàng hoặc yêu cầu về đào tạo người dùng. • Độ tin cậy (Reliability): Các độ đo định lượng như thời gian trung bình giữa các lần gặp sự cố hoặc lỗi trên nghìn dòng mã • Hiệu năng (Performance): Bao gồm thời gian đáp ứng, số lượng người sử dụng đồng thời,... • Khả năng hỗ trợ (Supportability): Các yêu cầu nhằm tăng cường khả năng hỗ trợ hoặc khả năng bảo trì của hệ thống • Các ràng buộc thiết kế (Design constraints) • 10/21/2020 Department of Software Engineering - SOICT/HUST 36 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Ví dụ: 10/21/2020 Department of Software Engineering - SOICT/HUST 37 Đặc tả các yêu cầu cho bài toán (casestudy) với usecase • Yêu cầu: Đặc tả các yêu cầu cho bài toán (casestudy) với nhóm chức năng đã chọn. (cả y/c chức năng và phi chức năng) • Phần nội dung này các nhóm làm vào trong file .docx (báo cáo) • Các nhóm chuẩn bị thêm một slide powerpoint về nội dung Đặc tả các yêu cầu ở trên, buổi học tiếp theo sẽ trình bày. 10/21/2020 Department of Software Engineering - SOICT/HUST 38

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

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_tuan_6_ky_nghe_yeu_cau.pdf