Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Tổng quan về xác định yêu cầu người dùng
Điểm lại các thuật ngữ và khái niệm chính
trong phân tích và thiết kế
? Giới thiệu qui trình phân tích và thiết kế
bao gồm roles, artifacts và workflow
? Tìm hiểu sự khác nhau giữa phân tích và
thiết ke
ngu?i dùng Duong Anh Ð?c 9/2000 16 Glossary Từ điển thuật ngữ (Glossary) ?Giới thiệu ?Bảng chú giải OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 17 Ví dụ: Glossary ?Bảng chú giải của ứng dụng Course Registration: ? Course (Học phần): Một môn học được dạy trong trường. ? Course Offering (Lớp): Một lớp học cụ thể được mở trong một học kỳ cụ thể cùng một học phần có thể được mở song song nhiều lớp trong một học kỳ. Thông tin gồm cả ngày học trong tuần và giờ học. ? Course Catalog (Danh mục học phần): Danh mục đầy đủ của tất cả các học phần được dạy trong trường. ? Faculty: Toàn bộ cán bộ giảng dạy của trường.. ? Finance System (Hệ thống thanh toán): Hệ thống dùng để xử lý các thông tin thanh toán học phí. ? Grade (Điểm số): Sự đánh giá cho một sinh viên cụ thể trong một lớp cụ thể. ? Professor (Giáo sư): Người giảng dạy trong trường. ? Report Card (Phiếu điểm): Toàn bộ điểm số cho tất cả học phần một sinh viên đã học trong một học kỳ xác định. ? Roster (Danh sách sinh viên đăng ký): Tất cả sinh viên đăng ký vào một lớp học cụ thể. ? Student (Sinh viên): Người đăng ký vào học các lớp của trường. ? Schedule (Lịch học): Các học phần mà một sinh viên đã chọn học trong học kỳ hiện tại. ? Transcript (Bản sao học bạ): Bản sao tất cả điểm số cho tất cả các học phần của một sinh viên cụ thể được chuyển cho hệ thống thanh toán để hệ thống này lập hóa đơn cho sinh viên. OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 18 Các chủ đề ?Giới thiệu ?Các khái niệm chính ?Phát biểu bài toán ?Bảng chú giải ?Use-Case Model ?Các đặc tả bổ sung ?Checkpoints OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 19 Use-Case Reports ... Use-Case Model Actors Use Cases Use-Case Model ?Giới thiệu ?Survey Description ?Use-Case Packages ?Use Cases ?Actors ?Relationships ?Diagrams ?Use-Case View OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 20 Use-Case Model Kiểm tra bởiHiện thực bởi Cài đặt bởi Implementation Model Test Model Các Use Case lái công việc từ giai đoạn phân tích đến test Design Model Use-Case Model OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 21 Ví dụ: Use-Case Model: Use-Case Diagram Submit Grades Professor View Report Card Select Courses to Teach Student Course Catalog Register for Courses Maintain Student Information Maintain Professor InformationRegistrar Billing SystemClose Registration Login OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 22 ?Tên ?Brief description ?Luồng các sự kiện ?Relationships ?Activity và State diagrams ?Use-Case diagrams ?Special requirements ?Preconditions ?Postconditions ?Các diagram khác Use Case Use-Case Reports ... Use-Case Model Actors Use Cases OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 23 Luồng các sự kiện (Use-Case Flows of Events) ?Có một basic flow (Happy Path) ?Một số alternative flows ?Các biến thể thường gặp (Regular variants) ?Các trường hợp bất thường (Odd cases) ?Exceptional flows xử lý các tình huống lỗi Happy Path OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 24 Scenarios là gì ? ?Scenario là một thể hiện của use case OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 25 Ví dụ: Activity Diagram initial state action state Phân nhánh các tác vụ đồng hành Kết hợp các tác vụ đồng hành biểu thức kiểm tra (guard expression) Cập nhật lịch học Chọn Course Check Schedule Check Pre-requisites Ghi tên vào course Giải quyết các conflict [Sinh viên đã được thêm vào course ] [ checks completed ] [ checks failed ] OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 26 Ví dụ: Đặc tả Use-Case ?Điểm lại đặc tả của một use-case hoàn chỉnh được cung cấp trong tài liệu mô tả các yêu cầu của ứng dụng Course Registration OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 27 Các chủ đề ?Giới thiệu ?Các khái niệm chính ?Phát biểu bài toán ?Bảng chú giải ?Use-Case Model ?Các đặc tả bổ sung ?Checkpoints OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 28 ?Functionality ?Tính khả dụng (Usability) ?Tính tinh cậy (Reliability) ?Tính hiệu năng(Performance) ?Tính hỗ trợ (Supportability) ?Các ràng buộc thiết kế Supplementary Specification Các đặc tả bổ sung OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 29 Ví dụ: Các đặc tả bổ sung ? Tài liệu tham khảo ?Không có. ? Chức năng ?Hỗ trợ nhiều người dùng làm việc đồng thời. ?Nếu một lớp bị hết chỗ khi một sinh viên đang đăng ký học có lớp đó thì sinh viên này phải được thông báo. ? Tính khả dụng ?Giao diện người dùng tương thích Windows 95/98. ? Tính ổn định ?Hệ thống phải hoạt động liên tục 24 giờ/ngày, 7 ngày/tuần, với thời gian ngưng hoạt động không quá 10%. ? Hiệu suất ?Hệ thống phải hỗ trợ đến 2000 người dùng truy xuất CSDL trung tâm đồng thời bất kỳ lúc nào, và đến 500 người dùng truy xuất các server cục bộ. ?Hệ thống phải cho phép truy xuất đến CSDL danh mục học phần cũ với độ trễ không quá 10 giây. ?Hệ thống phải có khả năng hoàn tất 80% giao dịch trong vòng 2 phút. ? Sự hỗ trợ ?Không có. ? Tính bảo mật ?Hệ thống phải ngăn chặn sinh viên thay đổi lịch học của người khác, và ngăn các giáo sư thay đổi lớp dạy của giáo sư khác. ?Chỉ có giáo sư mới có thể nhập điểm cho sinh viên. ?Chỉ có cán bộ đào tạo mới được phép thay đổi thông tin của sinh viên. ? Các ràng buộc thiết kế ?Hệ thống phải tích hợp với hệ thống có sẵn, Hệ thống danh mục học phần, một CSDL RDBMS. ?Hệ thống phải cung cấp giao điện dựa trên Windows. OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 30 Các chủ đề ?Giới thiệu ?Các khái niệm chính ?Phát biểu bài toán ?Bảng chú giải ?Use-Case Model ?Các đặc tả bổ sung ?Checkpoints OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 31 Checkpoints: Requirements: Use-Case Model ?Use-case model có dễ hiểu không? ?Sau khi nghiên cứu use-case model, bạn có hình thành được một ý tưởng rõ ràng về các chức năng của hệ thống và cách thức mà chúng liên hệ với nhau ? ?Đã xác định hết tất cả các actor? Tất cả các yêu cầu chức năng được thỏa? ?Use-case model có chứa các hành vi vô dụng nào không? ?Việc chia model thành các use-case package có xác đáng? OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 32 Checkpoints: Requirements: Actors ?Đã xác định hết tất cả các actor? ?Mỗi actor có tham gia vào ít nhất một use case? ?Mỗi actor thật sự có một vai trò (role)? Có cần ghép hoặc tách các actor không? ?Có tồn tại 2 actor đóng cùng một vai trò đối với 1use case không? ?Tên của các actor có gợi nhớ không? Users và customers có hiểu tên của chúng ? OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 33 Checkpoints: Requirements: Use-Cases ?Mỗi use case có ít nhất một actor tương tác? ?Các use case có độc lập với nhau? ?Tồn tại các use case có các luồng sự kiện và các hành vi tương tự nhau không? ?Liệu các use case có tên duy nhất, gợi nhớ, và dễ hiểu để chúng không bị nhầm lẫm trong các giai đoạn sau? ?Các customer và user có hiểu tên và mô tả của các use case không? OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 34 Checkpoints: Requirements:Các đặc tả Use-Case ?Is it clear who wishes to perform a use-case? ?Mục đích của use-case có rõ ràng? ?Brief description có cho ta hình ảnh trung thực của use- case? ?Có xác định rõ luồng sự kiện của use-case như thế nào và khi nào bắt đầu và kết thúc? ?Chuỗi các giao tiếp giữa actor và use-case có tiện nghi không (từ góc nhìn của user)? ?Các tương tác và các thông tin trao đổi của actor có rõ ràng? ?Có use-case nào quá phức tạp không? ?Các luồng sự kiện (basic và alternative) được mô hình đúng đắn? OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 35 Checkpoints: Requirements: Glossary ?Các thuật nhữ có định nghĩa rõ ràng và súc tích? ?Mỗi thuật ngữ có dùng đâu đó trong các mô tả use-case? ?Các thuật ngữ có được sử dụng hợp lý trong các mô tả ngắn về các actor và use case? OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 36 Review: ?Các thành phần chính của Requirements? ?Các thành phần của Requirements được dùng để làm gì? ?Use-case model là gì? ?Actor là gì? ?Use case là gì? Liệt kê một số thuộc tính của use case. ?Sự khác nhau giữa use-case và scenario? ?Supplementary specification là gì và nó chứa những gì? ?Glossary là gì và nó chứa những gì? OOAD S? d?ng UML - T?ng quan v? yêu c?u ngu?i dùng Duong Anh Ð?c 9/2000 37 Bài tập: ?Mô tả các thành phần chính của Requirements: ?Problem statement ?Use-case model main diagram ?Supplementary specification ?Glossary ?Điểm lại các thông tin về y/c người dùng được sử dụng trong mô hình, ghi chú tất cả các câu hỏi, các vấn đề còn tranh cãi, mâu thuẫn
File đính kèm:
- Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Tổng quan về xác định yêu cầu người dùng.pdf