Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Bài tập tuần 06 Kỹ nghệ yêu cầu phần mềm (Requirement Engineering) Mục tiêu - Thực tập (câu hỏi) Yêu cầu phần mềm - Thực tập công cụ đặc tả yêu cầu phần mềm - Đặc tả yêu cầu cho tốn (casestudy) mơn học: sử dụng usecase UML quan hệ xây dựng biểu đồ usecase o Đặc tả kịch chi tiết cho usecase c om o Xác định thành phần: tác nhân (actor), ca sử dụng (usecase) o Xác định mô tả yêu cầu phi chức ng Đánh giá Hoàn thành tập Yêu cầu phần mềm - Nắm đặc điểm công cụ đặc tả yêu cầu phần mềm: Biểu đồ luồng co - an 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) Phần I: Bài 1.1 du on usecase UML th Hoàn thành đặc tả yêu cầu cho tốn (casestudy) mơn học: sử dụng g - u a) Lựa chọn sau mô tả yêu cầu phi chức năng? cu Hệ thống phải phát sinh báo cáo tất chiến dịch quảng cáo cho khách hàng cụ thể Hệ thống phải cho phép người sử dụng nhập vào chi tiết khách hàng Hệ thống phải có khả lưu trữ ban đầu 500MB liệu, năm tăng lên 100MB Tất phương án b) Lựa chọn sau mô tả yêu cầu chức năng? Hệ thống phải có khả trả lời tất truy vấn giây Hệ thống cho phép người sử dụng thêm sản phẩm muốn mua vào giỏ hàng Người sử dụng gây lỗi 50% so với hệ thống Giao diện hệ thống thân thiện với người dùng c) Sơ đồ luồng liệu cung cấp thông tin gì? Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 17 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Đưa hình ảnh quan hệ đối tượng liệu Đưa hình ảnh chức biến đổi luồng liệu Chỉ định logic chúng xuất Chỉ tương tác hệ thống với kiện bên d) Đặc tả hệ thống mô tả _? Chức năng, hiệu ràng buộc hệ thống Bản cài đặt hệ thống Các phần tử kiến trúc phần mềm Thời gian cần thiết cho mô hệ thống e) Hoạt động sau mục tiêu xây dựng mơ hình u cầu? Xác định tập yêu cầu phần mềm thẩm định Mơ tả u cầu khách hàng Tạo lập sở cho thiết kế phần mềm Đưa giải pháp sơ cho vấn đề đặt c om f) Điều xảy sử dụng ngơn ngữ tự nhiên để mô tả yêu cầu? (chọn nhiều) an co ng Một vài yêu cầu diễn đạt chung, dạng yêu cầu Các yêu cầu, mục tiêu hệ thống thông tin thiết kế khơng phân biệt rõ ràng Dễ dẫn đến hiểu nhầm người đọc người viết Cung cấp thông tin đầy đủ cho người phát triển th Bài 1.2 g a) Bạn thử đưa cấu trúc chung cho tài liệu đặc tả yêu cầu Trình bày du on ngắn gọn lợi ích tài liệu đặc tả u cầu? b) Bạn tìm hiểu mơ tả vấn đề gây khó khăn thu thập yêu cu Bài 1.3 u cầu? Trong ngữ cảnh software engineering kỹ nghệ yêu cầu phần mềm, thảo luận nhóm viết đoạn ngắn bình luận tranh vui đây? Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 17 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Phần II: Công cụ đặc tả yêu cầu phần mềm Bài 1.4 Hãy gọi tên biểu đồ sau Mỗi biểu đồ hướng vấn đề đặc tả phân tích yêu cầu phần mềm? Từng biểu đồ cho biết thơng tin gì? Biểu đồ 1: Hệ thống bán hàng Chi tiết đơn đặt hàng mẫu HĐ trống Khách hàng Điền đơn hàng c om Đơn hàng điền Kiểm tra đơn hàng ng Đơn hàng duyệt th an co Ghi đơn hàng Đơn hàng Điều chỉnh kho du on g Đơn hàng duyệt Gửi nhà cung cấp Kho hàng cu u Biểu đồ 2: Hệ thống đăng ký học trực tuyến Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 17 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Biểu đồ 3: Hệ thống bán hàng Trả lời: Biểu đồ du on Biểu đồ u Biểu đồ Thông tin biểu đồ cung cấp cu Biểu đồ Hướng vấn đề g Tên gọi loại biểu đồ th an co ng c om Biểu đồ 4: Hệ thống đăng ký học trực tuyến Bài 1.5 Xây dựng biểu đồ luồng liệu (DFD (data flow diagram)) đặc tả phân tích yêu cầu phần mềm Background: • Với sơ đồ phân rã chức BFD, xem xét hệ thống thông tin theo quan điểm "chức năng" túy Để xem xét chi tiết thông tin cần cho việc thực chức nêu sử dụng biểu đồ luồng Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 17 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm liệu DFD DFD để biểu diễn cách linh hoạt thực thể ngoài, chức năng, luồng liệu kho liệu • DFD cơng cụ hữu hiệu giai đoạn phân tích u cầu DFD diễn tả hoạt động hệ thống hành (dựa xác định yêu cầu) • Việc xây dựng DFD theo mức cấp bậc: co ng c om o Sơ đồ ngữ cảnh (Context diagram): đầy sơ đồ mức cao Nó cho nhìn tổng qt hệ thống mơi trường tồn Ở mức này, sơ đồ ngữ cảnh có tiến trình nhất, tác nhân luồng liệu (khơng có kho liệu) o Sơ đồ mức sơ đồ phân rã từ sơ đồ ngữ cảnh Với mục đích mơ tả hệ thống chi tiết hơn, sơ đồ mức phân rã từ sơ đồ ngữ cảnh với tiến trình trình bày mục chức hệ thống o Sơ đồ mức i (i >= 1) sơ đồ phân rã từ sơ đồ mức i-1 Mỗi sơ đồ phân rã mức sua chi tiết hóa tiến trình mức trước Quá trình phân rã dừng đạt sơ đồ luồng liệu sơ cấp (khi tiến trình tính tốn hay thao tác liệu đơn giản, luồng liệu không cần chia nhỏ cu u du on g th an • Mỗi biểu đồ DFD kèm với mô tả chi tiết ý nghĩa luồng liệu bước thực chức xử lý DFD cung cấp thông tin đầu đầu vào thực thể trình Cấu trúc tổng qt thực thể có dạng sau: Bài tập minh hoạ: Hệ thống thông tin quản lý thư viện • Sơ đồ DFD mức ngữ cảnh: Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 17 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm co ng c om • Yêu cầu: xây dựng biểu đồ DFD cho yêu cầu chức Lập thẻ độc giả: bạn đọc phải đăng lý thẻ độc giả với thư viện thực mượn trả sách Khi đăng ký bạn đọc cần điền vào biểu mẫu sau: du on g th an Quy định: Tuổi người đăng ký phải từ 18 tuổi trở lên thẻ có giá trị hiệu lực vòng 12 tháng Hướng dẫn: Xác định thành phần: • Chức xử lý: Lập thẻ độc giả • Kho liệu: Thơng tin độc giả u • Xây dựng sơ đồ mơ tả chi tiết kèm theo cu Biểu đồ Mô tả Phần III: Đặc tả yêu cầu cho toán (casestudy) với usecase Background: • Sơ đồ usecase (UML): Mơ hình hóa chức mà hệ thống thực thi • Usecase gì? o Use case trình tự hành động hệ thống thực nhằm thu kết dễ thấy tới tác nhân o Một use case mơ hình hóa hội thoại nhiều tác nhân với hệ thống Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 17 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm o Một use case mô tả hành động hệ thống thực nhằm mang đến giá trị cho tác nhân • Mơ hình usecase (usecase model) gồm thành phần sau: Mơ hình usecase Các thành phần c om o Các biểu đồ ca sử dụng (usecase diagram): biểu diễn trực quan tranh tổng thể hệ thống định xây dựng o Phần mô tả lời kịch usecase (đặc tả usecase – usecase specification): mơ tả chi tiết trình tự tương tác tác nhân hệ thống kịch usecase Có thể sử dụng kết hợp thêm biểu đồ: ng Ø Biểu đồ Ø Biểu đồ tương tác du on g th an co o Đặc tả phụ trợ (Supplementary specification): đặc tả bổ sung yêu cầu phần mềm mà đặc tả usecase chưa mơ tả Ví dụ: yêu cầu chung cho chức năng, yêu cầu phi chức o Bảng giải (Glossary): danh sách từ vựng / thuật ngữ giải nghĩa kèm theo u • Biểu đồ usecase (usecase diagram) gồm thành phần sau: cu Biểu đồ usecase Các thành phần o Một đường bao (System boundary): thể ranh giới bên bên hệ thống o Tác nhân (Actor): Một tác nhân người vật thể có tương tác với hệ thống Có trao đổi thông tin với hệ thống, hay hưởng lợi từ hệ thống phải có tự trị định Tác nhân mô tả thực thể tham gia tương tác với vai trò cụ thể Ø Tác nhân là: người với vai trị xác định, thiết bị, hệ Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 17 https://fb.com/tailieudientucntt ... Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Phần II: Công cụ đặc tả yêu cầu phần mềm Bài 1.4 Hãy gọi tên biểu đồ sau Mỗi biểu đồ hướng vấn đề đặc tả phân tích yêu cầu phần mềm? ... https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm co ng c om • Yêu cầu: xây dựng biểu đồ DFD cho yêu cầu chức Lập thẻ độc giả: bạn đọc phải đăng... đặt hệ thống Các phần tử kiến trúc phần mềm Thời gian cần thiết cho mô hệ thống e) Hoạt động sau mục tiêu xây dựng mơ hình u cầu? Xác định tập yêu cầu phần mềm thẩm định Mô tả yêu cầu khách hàng