1. Trang chủ
  2. » Công Nghệ Thông Tin

03 04 requirement engineering using use case 97

27 167 0

Đ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

Nội dung

Requirement Engineering using Use Case Khảo sát yêu cầu với mơ hình Use Case Mai Thúy Nga, ngamt@thanglong.edu.vn Đại học Thăng Long Nội dung môn học Giới thiệu PTTK hướng đối tượng với UML Khái niệm Hướng đối tượng UML Đặc tả u cầu với mơ hình Use Case II Tổng quan Phân tích Thiết kế Phân tích Use Case II Phân tích Use Case I Ơn tập Mơ hình hóa Thiết kế Đặc tả u cầu với mơ hình Use Case I Object Oriented Analysis & Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Nội dung trình bày • Mục đích phân tích u cầu • Khái niệm mơ hình Use Case • Xây dựng mơ hình Use Case q trình phân tích • Đặc tả Use Case Object Oriented Analysis & Design with UML Mục đích phân tích u cầu (1) • Thiết lập trì thoả thuận khách hàng người tham gia dự án việc hệ thống làm • Khơng nói làm để đạt điều • Giúp cho người phát triển hệ thống hiểu biết rõ yêu cầu hệ thống • Đưa giới hạn mà hệ thống thực KHƠNG thực • Cung cấp thơng tin để lập kế hoạch phát triển dự án Object Oriented Analysis & Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Mục đích phân tích u cầu (2) • Cung cấp sở để ước lượng giá thành thời gian để phát triển hệ thống • Xác định giao diện người dùng hệ thống, nắm bắt u cầu mục đích người sử dụng • Là đầu vào cho giai đoạn dự án: Phân tích thiết kế Object Oriented Analysis & Design with UML Mục đích phân tích yêu cầu (3) Mục đích Khách hàng Mơ tả Hệ thống xây dựng Kiểm tra yêu cầu Đặc tả yêu cầu Object Oriented Analysis & Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Nội dung trình bày • Mục đích phân tích u cầu • Khái niệm mơ hình Use Case • Xây dựng mơ hình Use Case q trình phân tích • Đặc tả Use Case Object Oriented Analysis & Design with UML Mơ hình Use-Case (1) • Mơ hình hóa chức mà hệ thống thực thi • Mơ hình bao gồm chức định trước hệ thống • Sử dụng khái niệm Use Case Xem TKB Dang ky Mon hoc Sinhvien Dang nhap Object Oriented Analysis & Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Mơ hình Use-Case (2) • Đóng vai trò thỏa thuận khách hàng, người sử dụng người phát triển hệ thống • Cho phép khách hàng người sử dụng kiểm tra chức mà họ mong đợi hệ thống thực • Người phát triển hiểu cần phải làm • Mỗi Use-Case mô tả chi tiết, bước tác nhân hệ thống tương tác với nhau, hệ thống làm cho tác nhân Use Case • Cần xác định rõ phạm vi hệ thống • Các chức hệ thống đảm nhiệm • Các chức thực bên hệ thống Object Oriented Analysis & Design with UML Các đối tượng sử dụng mơ hình Use Case • Người sử dụng sử dụng sơ đồ use-case để hiểu thêm hệ thống • Người thiết kế sử dụng sơ đồ use-case làm sở cho công việc họ nắm bắt tổng quan hệ thống • Người kiểm tra chương trình sử dụng để lập kế hoạch cho tác vụ kiểm tra • Người viết tài liệu sử dụng làm sở để viết hướng dẫn cho người sử dụng • Quản lý dự án sử dụng để lập kế hoạch • Object Oriented Analysis & Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Các thành phần Use Case Use-Case Model Glossary Actors Use Cases Supplementary Specification Use-Case Specifications Object Oriented Analysis & Design with UML Tác nhân Use-Case • Tác nhân (Actor) • Tác nhân thể “một đó” tương tác với hệ thống • Chức (Use-Case) • Mơ tả chức mà hệ thống có • Mục đích để PHÂN TÍCH u cầu nghiệp vụ tốn khơng phải để THIẾT KẾ phần mềm QL Monhoc Giaovien Object Oriented Analysis & Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Bản đặc tả Use-Case Use-Case Specification • Bản đặc tả Use-Case • Là tài liệu bao gồm tất đặc tính use-case văn hố • Ví dụ: Miêu tả tóm tắt, luồng kiện ðể hiểu xác cần phải làm nên viết ñiều ñó thành tài liệu Software Requirements Specification (SRS) Object Oriented Analysis & Design with UML Thuật ngữ Đặc tả hỗ trợ • Các thuật ngữ (Glossary): • Định nghĩa, giải thích rõ từ chun mơn, thuật ngữ chung sử dụng tài liệu • Đặc tả hỗ trợ (Supplementary Specification): • Đặc tả yêu cầu không liên quan trực tiếp Use-Case (những yêu cầu khơng quy), quan trọng để đảm bảo chất lượng sản phẩm: • Độ tin cậy • Chất lượng Object Oriented Analysis & Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Phân loại yêu cầu (1) • Yêu cầu chức • Mơ tả hành động mà hệ thống làm mà không quan tâm đên buộc vật lý khác (ví dụ khơng nói PC tốc độ bao nhiêu, RAM ) • Các yêu cầu mô tả Đặc tả Use Case • Cần rõ đầu vào/ra chức hệ thống • Yêu cầu phi chức • Chỉ mơ tả thuộc tính hệ thống mơi trường hệ thống (ví dụ nói rõ cầu hình, trình duyệt, phần mềm ) • Được mô tả phần Đặc tả hỗ trợ Object Oriented Analysis & Design with UML Phân loại yêu cầu (2) Mơ tả Đặc tả u cầu • u cầu chức (Functionality) • Khả sử dụng (Usability) • Độ ổn định (Reliability) • Tốc độ (Performance) Các yêu cầu mặt chất lượng • Khả hỗ trợ (Supportability) • Các yêu cầu phụ • • • • Ràng buộc thiết kế (Design constraints) Yêu cầu cài đặt (Implementation requirements) Yêu cầu giao diện (Interface requirements) Yêu cầu vật lý (Physical requirements) Các yêu cầu phi chức (Được liệt kê Đặc tả hỗ trợ) Object Oriented Analysis & Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Lợi ích mơ hình Use-Case (1) • Giao tiếp người dùng & chun gia nghiệp vụ • Cung cấp thơng tin cần thiết giai đoạn sớm q trình phát triển hệ thống • Đảm bảo tất thành viên hệ thống hiểu vế u cầu tốn • Chỉ rõ người sử dụng hệ thống hệ thống làm • Thiết lập yêu cầu cho giao diện hệ thống • Kiểm tra tất yêu cầu • Đảm bảo người phát triển hiểu yêu cầu Object Oriented Analysis & Design with UML Lợi ích mơ hình Use-Case (2) Trao đổi Use Case Kiểm tra Chỉ rõ Người dùng Chuyên gia nghiệp vụ Users Object Oriented Analysis & Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Nội dung trình bày • Mục đích phân tích u cầu • Khái niệm mơ hình Use Case • Xây dựng mơ hình Use Case q trình phân tích • Đặc tả Use Case Object Oriented Analysis & Design with UML Phân tích hướng đối tượng (OOA) Phân tích hướng đối tượng (OOA) Tìm kiếm Actor Mơ hình Use Case Sơ đồ hành động Mơ hình lớp phân tích Các sơ đồ tương tác Trách nhiệm, hàm, thuộc tính Xây dựng mẫu ðánh giá & lặp lại Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 10 Requirement Engineering using Use Case Tìm chức hệ thống • Chức (Use Case): • Các tác nhân yêu cầu từ hệ thống? • Xem yêu cầu chức để tìm Use Case • Đối với tác nhân tìm được, đặt câu hỏi: • • • • Các cơng việc mà tác nhân muốn HT thực thi? Tác nhân có tạo hay thay đổi liệu HT? Tác nhân có phải thơng báo cho HT? Tác nhân có cần thơng tin thơng báo từ HT? • Thơng tin Use Case: • Tên UC nên rõ kết trình tương tác với tác nhân • Tên nên động từ • Mô tả ngắn gọn mục đích UC Object Oriented Analysis & Design with UML Những điều nên tránh làm Use Case • Tạo Use Case nhỏ • Hành động đơn giản mà cần mô tả vài dòng • Tạo q nhiều Use Case (hàng chục) • Nhóm Use Case liên quan thành UC tổng qt (mức 1) • Mơ tả Use Case tổng quát sơ đồ khác (mức 2) • Ví dụ: “Quản lý sách” bao gồm “Nhập sách”, “Xuất sách”, “ ” • Sử dụng Use-case cụ thể, làm việc với liệu cụ thể Ví dụ: • “Tìm sách theo tên” (nên “Tìm sách”) • “Nhập Pin vào máy ATM” (nên “Đăng nhập) • “Thêm sách” (nên “Quản lý sách” bao gồm “Thêm sách”) Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 13 Requirement Engineering using Use Case Tương tác Tác nhân Use Case • Thiết lập quan hệ Tác nhân Use Case • Chúng tương tác cách gửi tín hiệu cho • Chiều quan hệ chiều tín hiệu gửi • Từ tác nhân tới Use Case • Kích hoạt Use case • Hỏi thơng tin hệ thống • Thay đổi thơng tin hệ thống • Thơng báo cho UC kiện đặt biệt xảy với HT • Từ Use Case tới Actor • Nếu có điều xảy với HT tác nhân cần biết kiện • Use Case đơi cần hỏi thơng tin từ tác nhân trước Use Case đưa định Object Oriented Analysis & Design with UML Nội dung trình bày • Mục đích phân tích u cầu • Các nhân tố liên quan đến u cầu • Xây dựng mơ hình Use Case q trình phân tích • Đặc tả Use Case Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 14 Requirement Engineering using Use Case Thử đọc sơ đồ (1) Object Oriented Analysis & Design with UML Thử đọc sơ đồ (2) • Trả lời câu hỏi sau: • • • • Mô tả chức hệ thống Sinh viên tác động lên use-case nào? Giáo viên tác động lên use-case nào? Nếu A vừa sinh viên vừa giáo viên, thực use-case nào? • Sơ đồ khơng nói lên gì? • Những use-case cần thiết thực đầu tiên? • Sơ đồ Use Case mơ tả hết không? Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 15 Requirement Engineering using Use Case Đặc tả Use-Case • Tên: • Tên Use-case • Mơ tả ngắn gọn: • Mơ tả vai trò mục đích use-case, tránh kiểu diễn xi tên Use Case • Điều kiện • Tiền điều kiện • Hậu điều kiện • Luồng kiện (kịch bản): • Mơ tả lời mà hệ thống làm thể use-case • Sơ đồ hoạt động • Minh họa luồng kiện mơ hình • Các yêu cầu đặc biệt • Object Oriented Analysis & Design with UML Luồng kiện use-case (1) • Trả lời trình từ bắt đầu đến kết thúc use-case • Chỉ mơ tả chi tiết kiện thuộc use-case • Nếu có liên hệ với Use Case khác, nên có phân tích tham khảo ngắn gọn • Mơ tả liệu trao đổi tác nhân use-case • Cấu trúc: Ai làm gì, nào, với liệu gì, [vì mục đích gì] • Cần phân tích rõ hệ thống cần phải làm để đáp ứng u cầu tác nhân Khơng mặc định cho hệ thống tự biết làm điều • Tránh mơ tả chức năng, g/diện chi tiết thành phần liệu • Tránh mơ tả chung chung, lúc Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 16 Requirement Engineering using Use Case Luồng kiện use-case (2) • Luồng (Basic flow) • Luồng lý tưởng mà Use case thường hoạt động • Luồng phát sinh (Alternative flow) • Sử dụng nhiều lần luồng • Các trường hợp đặc biệt (vd nhấn mạnh tính HT) • Gây lỗi, cách xử lý lỗi tình • Chú ý • Chỉ cần luồng hiểu tác vụ mà Use Case thực thi • Phải có lời gọi luồng phát sinh từ luồng • Tránh viết luồng phát sinh dài, dài luồng • Tránh tách q nhiều luồng phát sinh Object Oriented Analysis & Design with UML Luồng kiện use-case (3) Tiền điều kiện Hậu điều kiện • Kịch thể Use Case • Một Use Case có nhiều kịch tùy thuộc vào ngữ cảnh cụ thể mà phát sinh Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 17 Requirement Engineering using Use Case Sơ đồ hành động (Activity Diagram) • Sơ đồ hành động sử dụng để minh hoạ luồng kiện Kiểm tra Trạng thái hành động Vào chức quản lý môn học Tiến trình song song [ xóa ] Xóa mơn [ thêm ] Đồng (Fork) Kiểm tra TKB Điều kiện ràng buộc Kiểm tra Môn học phụ thuộc Đồng (Join) [ kiểm tra thành công ] [ phát lỗi ] Gán môn Xử lý xung đột Chuyển dịch trạng thái Cập nhật TKB Object Oriented Analysis & Design with UML Một số ký hiệu khác mô hình Use Case • Các quan hệ • • • • Giao tiếp Bao gồm (include) Mở rộng (extend) Tổng qt hố (generalization) • Ghi (Notes) Addition Addition Base • Tạo gói (package) Addition Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 18 Requirement Engineering using Use Case Quan hệ giao tiếp (1) • Là quan hệ UC tác nhân, thể mũi tên Dangkihoc Sinhvien TKBTT Object Oriented Analysis & Design with UML Quan hệ giao tiếp (2) • Xét khác sơ đồ sau: Docgia Docgia Dangky Thuthu Dangky Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 19 Requirement Engineering using Use Case Quan hệ bao gồm (include) • Cho phép UC sử dụng chức UC khác • Chức UC Inclusion gọi UC • Nên sử dụng stereotype Inclusion Docgia Muonsach Base Timsach Object Oriented Analysis & Design with UML Ví dụ UC Rút tiền ATM Rút tiền mặt Thanh toán Xác thực KH Khách hàng ATM Chuyển khoản UC Rút tiền Gọi UC “Xác thực KH” Hiển thị menu KH chọn chức “Rút tiền” UC Xác thực KH Đưa thẻ vào máy Kiểm tra thẻ KH nhập PIN Hệ thống kiểm tra PIN E1: Thẻ sai E2: Sai PIN E3: Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 20 Requirement Engineering using Use Case Khi dùng quan hệ • Tách hành vi (chức năng) chung nhiều UC Inclusion • Tránh việc mơ tả hành vi nhiều lần UC • Đảm bảo hành vi chung thống • Tách hành vi UC sở nên đóng gói riêng (encapsulate) Base • Tách hành vi khơng phải UC (hành vi quan trọng) • Giảm thiểu phức tạp luồng kiện Object Oriented Analysis & Design with UML Quan hệ mở rộng (extend) • Cho phép mở rộng chức UC • Chèn hành vi UC Extension vào UC sở • Chỉ chèn điều kiện extend (mở rộng, phát sinh) • Chèn vào lớp sở điểm phát sinh (extension point) • Nên sử dụng stereotype Base TTbangTK Khachhang ThanhToan HTTK Extension TT Tiền mặt Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 21 Requirement Engineering using Use Case Ví dụ UC Rút tiền ATM Rút tiền Khách hàng ATM Rút tiền giấy Rút tiền xu Giả sử có hệ thống ATM hỗ trợ rút loại tiền tiền giấy tiền xu Object Oriented Analysis & Design with UML Đặc tả UC Rút tiền UC Rút tiền • • Luồng phát sinh Rút tiền xu Luồng chính: (Phần viết chung với UC Rút tiền, viết riêng UC tương đối phức tạp) Gọi UC “Xác thực KH” để ktra KH Hiển thị menu KH chọn chức “Rút tiền” Nhập số tiền cần rút Hệ thống gửi giao dịch tới ngân hàng chờ chấp thuận Máy ATM xuất tiền Trả lại thẻ In biên lai Luồng phát sinh: • • Luồng phát sinh “Rút tiền xu” phát sinh bước luồng (Có thể có luồng phát sinh khác) • • Nếu KH chọn thể loại tiền xu KH nhập số lượng xu Hệ thống tính tổng số tiền cần rút KH chấp nhận Khay tiền xu mở để xuất tiền UC Rút tiền tiếp tục thực A1: Hết tiền A2: Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 22 Requirement Engineering using Use Case Khi dùng quan hệ • Tách hành vi ngoại lệ, đặc biệt khơng bắt buộc Base • Chỉ thực thi điều kiện cụ thể • Tách để làm đơn giản luồng Extension • Thêm hành vi mở rộng cho UC sở • Phát triển hành vi cách độc lập, chí phiên sau (UC sở hồn thành) • Ví dụ năm tới máy ATM hỗ trợ rút phiếu mua hàng Object Oriented Analysis & Design with UML Quan hệ tổng qt hố (Generalization) • Được sử dụng để vài tính chất chung nhóm tác nhân Use case • Sử dụng khái niệm kế thừa • Mơ tả hành vi chung (chia sẻ) UC cha • Mơ tả hành vi riêng (các) UC Giáo vụ ðăng ký họ học ðăng ký qua DT ðăng ký qua internet Giaovien GVMoi GvCohuu Sinh viên Sinh viên mạng Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 23 Requirement Engineering using Use Case Ví dụ UC Rút tiền ATM Xác thực KH Kiểm tra mật Kiểm tra vân tay Object Oriented Analysis & Design with UML Khi dùng quan hệ • Dùng để mơ tả hành vi chung, cấu trúc mục đích hay nhiều UC • Chỉ UC thành phần họ UC • Tránh mơ tả hành vi (chung) nhiều lần • Đảm bảo hành vi chung thống Parent • Thực thi UC • Theo luồng kiện UC cha Child • Chèn thêm hành vi riêng UC theo mơ tả UC • Một số hành vi UC cha bị sửa đổi UC Child Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 24 Requirement Engineering using Use Case Thêm ghi (Notes) • Thêm ghi để sơ đồ rõ ràng Dang ky lam the vien Docgia Dangky Object Oriented Analysis & Design with UML Tạo gói (Package) • Có thể nhóm thành phần (Use-Case, Actor, quan hệ sơ đồ khác) thành nhóm chung (package) • Nếu số lượng Use Case q lớn, nên chia chúng vào nhóm • Dễ hiểu mơ hình tổng thể • Dễ bảo trì mơ hình Use Case • Dễ giao việc cho thành viên • Xem xét khả gộp nhóm • Tương tác với tác nhân • Nhóm Use Case hợp thành quy trình (module) tương đối hoàn thiện Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 25 Requirement Engineering using Use Case Tóm tắt • Đặc tả u cầu • Đóng vai trò thỏa thuận khách hàng, người sử dụng người phát triển hệ thống • Cho phép khách hàng người sử dụng kiểm tra chức mà họ mong đợi hệ thống thực • Người phát triển hiểu cần phải làm • Cần tn thủ theo quy trình hợp lý • Một số ý đặc tả u cầu với mơ hình Use Case • Sử dụng mẫu tài liệu, hướng dẫn • Phát triển luồng kiện đơn giản, rõ ràng mặt nghiệp vụ (trách đưa thông tin chi tiết, kỹ thuật) • Xây dựng sơ đồ hành động cho vấn đề phức tạp Object Oriented Analysis & Design with UML Ví dụ UC Mua hàng mạng • Mơ tả: • Giả sử có hệ thống hàng ảo mạng • UC Bán hàng cho phép khách hàng (KH) mua mặt hàng mong muốn • Ví dụ u cầu KH phải thành tốn trực tuyến • Tiền điều kiện: • KH muốn mua hàng cửa hàng ảo • KH toán điện tử tới ngân hàng mà cửa hàng hỗ trợ • Hậu điều kiện: • Thành cơng KH chấp nhận mua hàng q trình tốn với ngân hàng thực thành cơng Hóa đơn lập, hàng hóa dành riêng cho KH • Nếu q trình tốn với ngân hàng khơng thành cơng, hóa đơn khơng lập, hàng khơng bán • Thực thể: • Mặt hàng, Giỏ hàng, Đơn hàng • Use case liên quan: • Tìm kiếm hàng, quản lý đơn hàng (Giao hàng) Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 26 Requirement Engineering using Use Case Luồng kiện cho Use Case KH duyệt, tìm kiếm xem thơng tin mặt hàng muốn mua (xem UseCase xem hàng) KH chọn chức “Đưa hàng vào giỏ hàng” Hệ thống đưa mặt hàng vào giỏ KH nhập số lượng muốn mua (mặc định 1) Hệ thống tự động cập nhật giá giỏ hàng KH lặp lại q trình để mua tiếp mặt hàng khác Giỏ hàng khơng q trình KH tìm/mua mặt hàng khác Nếu giỏ hàng có mặt hàng này, hệ thống báo lại cho KH Quản lý giỏ hàng 4 Mỗi KH có giỏ hàng riêng rẽ khơng nhìn thấy thơng tin KH chọn chức “Xem giỏ hàng” lúc cần Hệ thống hiển thị giỏ hàng với đầy đủ mặt hàng KH chọn, số lượng giá loại KH thay đổi số lượng, bỏ mặt hàng mà KH không muốn mua KH chọn chức thành tốn, xem luồng phụ “Thanh toán” Object Oriented Analysis & Design with UML Luồng phụ: Thanh tốn KH chọn chức toán KH yêu cầu nhập thẻ tốn địa giao hàng (???) Thơng tin toán đưa tới ngân hàng, hệ thống chờ kết từ ngân hàng (Quá trình xử lý giao dịch ngân hàng định) Nếu ngân hàng không chập nhận giao dịch Hệ thống thông báo kết tới KH, yêu cầu nhập lại thông tin Nếu ngân hàng chấp nhận (Số tiền tương ứng KH chuyển sang tài khoản cửa hàng) Hệ thống lập Đơn hàng lưu lại (xem Use-Case quản lý đơn hàng) Số lượng hàng tồn kho giảm tương ứng Hệ thống thông báo thành công cho KH trang web gửi thông tin đơn hàng qua mail KH Giỏ hàng bị xóa (Nếu mua tiếp, giỏ hàng tạo mới) Object Oriented Analysis & Design with UML OOAD using UML 3/4 - 27 ... Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Các thành phần Use Case Use- Case Model Glossary Actors Use Cases Supplementary Specification Use- Case Specifications... Design with UML OOAD using UML 3/4 - Requirement Engineering using Use Case Bản đặc tả Use- Case Use- Case Specification • Bản đặc tả Use- Case • Là tài liệu bao gồm tất đặc tính use- case văn hố •... UML OOAD using UML 3/4 - 15 Requirement Engineering using Use Case Đặc tả Use- Case • Tên: • Tên Use- case • Mơ tả ngắn gọn: • Mơ tả vai trò mục đích use- case, tránh kiểu diễn xi tên Use Case •

Ngày đăng: 19/03/2018, 12:46

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w