Bài giảng Công nghệ phần mềm ứng dụng - Bài 3: Phương pháp xác định yêu cầu thông tin đến các bạn sinh viên kiến thức kỹ thuật xác định yêu cầu phần mềm; nội dung xác định yêu cầu phần mềm; các nguyên lý phân tích yêu cầu sử dụng.
CÔNG NGHỆ PHẦN MỀM ỨNG DỤNG Giảng viên: ThS Thạc Bình Cường v1.0015112208 BÀI PHƯƠNG PHÁP XÁC ĐỊNH YÊU CẦU Giảng viên: ThS Thạc Bình Cường v1.0015112208 MỤC TIÊU BÀI HỌC • Trình bày kỹ thuật khảo sát phần mềm yêu cầu phần mềm; xem xét đánh giá xác định tính khả thi • Sử dụng công cụ mô tả để mô hình hóa hệ thống • Xây dựng mơ hình logic yêu cầu phần mềm v1.0015112208 CÁC KIẾN THỨC CẦN CĨ • Tin học đại cương; • Ngơn ngữ lập trình; • Phân tích thiết kế hệ thống thơng tin v1.0015112208 HƯỚNG DẪN HỌC • Dựa vào liệu thu thập được, sử dụng kiến thức đặc tả mô tả yêu cầu phân loại liệu • Nắm thành phần mơ tả u cầu • Rà sốt u cầu cách chạy “miệng” mơ hình để khẳng định yêu cầu hiểu v1.0015112208 CẤU TRÚC NỘI DUNG v1.0015112208 3.1 Kỹ thuật xác định yêu cầu phần mềm 3.2 Nội dung xác định yêu cầu phần mềm 3.3 Các nguyên lý phân tích yêu cầu sử dụng 3.1 KỸ THUẬT XÁC ĐỊNH YÊU CẦU PHẦN MỀM Yêu cầu phần mềm: • Tất yêu cầu phần mềm khách hàng, người sử dụng phần mềm nêu bao gồm: Các chức phần mềm; Hiệu phần mềm; Các yêu cầu thiết kế giao diện; Các yêu cầu đặc biệt khác • Các yêu cầu phần mềm phân loại theo thành phần phần mềm: Các yêu cầu phần mềm (Software); Các yêu cầu phần cứng (Hardware); Các yêu cầu liệu (Data); Các u cầu người (People, Users) • Mục đích: Yêu cầu phần mềm xác định phần mềm đáp ứng yêu cầu mong muốn khách hàng – người sử dụng phần mềm? v1.0015112208 3.1 KỸ THUẬT XÁC ĐỊNH YÊU CẦU PHẦN MỀM • Kỹ thuật vấn; • Sao chép từ phần mềm tương tự; • Phiếu điều tra – bảng hỏi từ khách hàng; • Thảo luận thành viên: Người đầu tư, nhóm phát triển, người dùng ban Quản lý; • Phân loại yêu cầu chức phi chức v1.0015112208 3.2 NỘI DUNG XÁC ĐỊNH YÊU CẦU PHẦN MỀM • Phát yêu cầu phần mềm (Requirements elicitation) • Phân tích u cầu phần mềm thương lượng với khách hàng (Requirements analysis and negotiation) • Mơ tả u cầu phần mềm (Requirements specification) • Mơ hình hóa hệ thống (System modeling) • Kiểm tra tính hợp lý yêu cầu phần mềm (Requirements validation) • Quản trị yêu cầu phần mềm (Requirements management) • Quy trình xác định u cầu phần mềm: Xây dựng mẫu Vấn đề Phát yêu cầu Phát triển đặc tả Rà sốt Tạo mơ hình phân tích v1.0015112208 3.2.1 PHÁT HIỆN YÊU CẦU PHẦN MỀM • Các vấn đề phát yêu cầu phần mềm (Problems) Phạm vi phần mềm (Scope); Hiểu rõ phần mềm (Understanding); Các thay đổi hệ thống (Volatility) • Phương pháp áp dụng yêu cầu phần mềm: Xác định phương pháp sử dụng phát yêu cầu phần mềm: vấn, làm việc nhóm, buổi họp, gặp gỡ đối tác… Tìm kiếm nhân (chuyên gia, người sử dụng) có hiểu biết sâu sắc nhất, chi tiết hệ thống giúp xác định yêu cầu phần mềm Xác định “môi trường kỹ thuật – technical environment” Xác định “ràng buộc miền lĩnh vực” Thu hút tham gia nhiều chuyên gia, khách hàng để có quan điểm xem xét phần mềm khác từ phía khách hàng Thiết kế kịch sử dụng phần mềm v1.0015112208 10 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) • (a+b)*(c+a*d)–e*(a+b) Biểu đồ luồng liệu (DFD) Hệ thống (System): tập hợp liệu (data) xử lý chức tương ứng (functions) b a Các ký pháp sử dụng: Thể chức (functions) Thể luồng liệu + a d * c + Kho liệu Vào liệu tương tác hệ thống người sử dụng • * Ví dụ mơ tả biểu thức tốn học DFD: v1.0015112208 17 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) Ví dụ đặc tả chức thư viện qua DFD Yêu cầu từ người mượn Sách Tên sách, tác giả Tên người mượn Kho sách Tên tác giả Có sách Danh sách tác giả Danh sách tên sách Sách Thông tin sách Tên sách; Tên người mượn Tên sách Danh sách người mượn Danh sách chủ đề Tìm theo chủ đề Liệt kê tên sách liên quan đến chủ đề Chủ đề Chủ đề yêu cầu v1.0015112208 Đưa Tên sách 18 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) • Các hạn chế DFD: Ý nghĩa ký pháp sử dụng xác định định danh lựa chọn người sử dụng Trong DFD không xác định rõ hướng thực (control aspects) A B E D F C Biểu đồ DFD không rõ đầu vào để thực chức D đầu sau thực chức D: Chức D cần A, B C; Chức D cần A, B C để thực hiện; Chức D kết xuất kết cho E F; Chức D kết xuất kết chung cho E F; Chức D kết xuất kết riêng cho E F v1.0015112208 19 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) A • B DFD khơng xác định đồng chức năng/module: A xử lý liệu B hưởng (nhận) kết xử lý từ A A B chức khơng đồng (asynchronous activities) cần có buffer để ngăn chặn tình trạng liệu • FSM chứa: • Tập hữu hạn trạng thái Q; • Tập hữu hạn đầu vào I; • Các chức chuyển tiếp High pressure alarm ON OFF Restart v1.0015112208 20 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) • Đặc tả yêu cầu phần mềm FSM: Xem xét ví dụ thư viện với giao dịch sau: Mượn sách/trả sách; Thêm đầu sách/loại bỏ đầu sách; Liệt kê danh sách đầu sách theo tên tác giả hay theo chủ đề; Tìm kiếm sách theo yêu cầu người mượn; Tìm kiếm sách hạn trả Các yêu cầu đặc biệt thư viện: Độc giả không mượn số lượng sách định, thời gian định Một số sách không mượn Một số người khơng mượn số loại sách đó… v1.0015112208 21 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) Cc đối tượng: Tên sách Mã CO AV BR L R Nhân viên phục vụ Người mượn • Chúng ta cần có tập hợp (danh sách) tiêu đề sách, danh sách tác giả cho sách, danh sách chủ đề liên quan sách • Ta có tập hợp sách (mỗi đầu sách có nhiều sách thư viện) Mỗi sách có trạng thái sau: • (AV) – Available phép mượn, (CO) – (BR) – mượn (Check Out; Borrow), (L): Last, (R): Remove • Có thể có hạn chế số sách mượn cho nhóm độc giả độc giả… v1.0015112208 22 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) • Mơ hình đặc tả – Mơ hình thực thể liên kết • Mơ hình khái niệm cho phép đặc tả yêu cầu logic hệ thống, thường sử dụng hệ thống liệu lớn ER Model: Thực thể; Quan hệ; Thuộc tính Biểu đồ thực thể: Thực thể – tập hợp thông tin liên quan cần xử lý phần mềm Thực thể có mối quan hệ: – person owns car Person v1.0015112208 Owns Car 23 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) • Thực thể có thuộc tính • Thuộc tính: Tính chất thực thể đối tượng liệu Đặt tên cho mẫu (instance) đối tượng liệu; Mô tả mẫu (instance); Tạo liên kết (reference) đến mẫu khác Ford Car Automobile Company Blue ID Ford Tập thuộc tính đối tượng liệu xác định thông qua ngữ cảnh toán v1.0015112208 24 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) • Quan hệ – mối liên quan đối tượng liệu Bookstore Orders N Books Cardinality: định lượng mối quan hệ 1:1 one–to–one 1:N one–to–many M:N many–to–many Modality: – có, khơng có quan hệ – bắt buộc có quan hệ Customer v1.0015112208 Is provided with N Repair Action 25 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) Các yêu cầu đặc tả tốt: • Dễ hiểu với người dùng • Có điều nhập nhằng • Có quy ước mơ tả, tạo đơn giản • Với phong cách từ xuống (topdown) • Dễ triển khai cho pha sau vòng đời: thiết kế hệ thống thiết kế chương trình giao diện dễ làm, đảm bảo tính quán,… v1.0015112208 26 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) Ví dụ ERD mơ tả thư viện Area N Deals with Copy Belongs to N N Title Written by State Text Was held by Holds Author M Borrower Limit ER diagram for a library v1.0015112208 27 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) • Quan hệ – mối liên quan đối tượng liệu Bookstore Orders N Books Cardinality: định lượng mối quan hệ 1:1 one–to–one 1:N one–to–many M:N many–to–many Modality: – có, khơng có quan hệ – bắt buộc có quan hệ Customer v1.0015112208 Is provided with N Repair Action 28 3.2.3 ĐẶC TẢ YÊU CẦU PHẦN MỀM (tiếp theo) Các yêu cầu đặc tả tốt: • Dễ hiểu với người dùng • Có điều nhập nhằng • Có quy ước mơ tả, tạo đơn giản • Với phong cách từ xuống (topdown) • Dễ triển khai cho pha sau vòng đời: thiết kế hệ thống thiết kế chương trình giao diện dễ làm, đảm bảo tính quán,… v1.0015112208 29 3.3 CÁC NGUN LÝ PHÂN TÍCH U CẦU SỬ DỤNG • Ngun lý I Mơ hình hóa liệu: Xác định đối tượng liệu; Xác định đặc tính đối tượng liệu; Thiết lập mối quan hệ đối tượng liệu • Ngun lý II Mơ hình hóa chức năng: Xác định chức chuyển đổi đối tượng liệu; Chỉ luồng liệu qua hệ thống nào; Biểu diễn phận sản sinh liệu phận tiêu thụ, sử dụng liệu • Ngun lý III Mơ hình hóa hành vi: Chỉ trạng thái (states) khác hệ thống; Đặc tả tượng (events) làm hệ thống thay đổi trạng thái • Nguyên lý IV: Phân hoạch mơ hình: Tinh lọc mơ hình để biểu diễn mức trừu tượng thấp hơn; Lọc đối tượng liệu; Tạo phân cấp chức năng; Biểu diễn hành vi mức chi tiết khác • Nguyên lý V Bản chất (Essence): Hãy bắt đầu cách tập trung vào chất vấn đề không xem xét chi tiết cài đặt v1.0015112208 30 TÓM LƯỢC CUỐI BÀI Trong tìm hiểu nội dung sau: v1.0015112208 • Kỹ thuật xác định yêu cầu phần mềm; • Nội dung xác định yêu cầu phần mềm; • Các ngun lý phân tích u cầu sử dụng 31 ... định yêu cầu phần mềm 3. 3 Các nguyên lý phân tích yêu cầu sử dụng 3. 1 KỸ THUẬT XÁC ĐỊNH YÊU CẦU PHẦN MỀM Yêu cầu phần mềm: • Tất yêu cầu phần mềm khách hàng, người sử dụng phần mềm nêu bao gồm:... dụng phần mềm v1.0015112208 10 3. 2.1 PHÁT HIỆN YÊU CẦU PHẦN MỀM • Sản phẩm (đầu ra) phát yêu cầu phần mềm: Bảng kê (statement) đòi hỏi chức khả thi phần mềm Bảng kê phạm vi ứng dụng phần mềm. .. gồm: Các chức phần mềm; Hiệu phần mềm; Các yêu cầu thiết kế giao diện; Các yêu cầu đặc biệt khác • Các yêu cầu phần mềm phân loại theo thành phần phần mềm: Các yêu cầu phần mềm (Software);