Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Trang 1Gv: Vũ Thị Dương Email: duongvt01@gmail.com
KHOA CÔNG NGHỆ THÔNG TIN
Trường Đại học công nghiệp Hà Nội
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Trang 2Mô hình hóa trường hợp sử dụng
Bài 3
Trang 3Nội dung chi tiết
3. Mô hình hóa yêu cầu (biểu đồ ca sử dụng)
Trang 4Giới thiệu mô hình hóa UC
Trong pha thu thập yêu cầu và phân tích hệ thống thường phải xây dựng các biểu đồ cho
Mô hình nghiệp vụ
Mô hình trường hợp sử dụng
Mô hình giao diện người sử dụng
Mô hình trường hợp sử dụng (Use case model) mô tả hệ thống được
sử dụng như thế nào
Use case (UC) hệ thống và tác nhân hệ thống xác định phạm vi hệ thống
UC là những gì bên trong hệ thống
Actor là những gì bên ngoài hệ thống
Biểu đồ UC mô tả tương tác giữa các UC và tác nhân để hình thành chức năng hệ thống
Trang 5Các khái niệm mô hình hóa UC
Trường hợp sử dụng (Use case-UC)
Tác nhân (Actor)
Quan hệ (Relationship)
Biểu đồ hoạt động (Activity Diagram)
Biểu đồ trường hợp sử dụng (Use case Diagram)
Trang 6Tác nhân
Tác nhân (actor)?
hay tác nhân ngoài là một vai trò của một hay nhiều
người, vật thể trong sự tương tác với hệ thống (Mô tả
ai, cái gì tương tác với hệ thống- đóng vai)
Đối tác phải là người (vật thể) có trao đổi thông tin với
hệ thống hay hưởng lợi từ hệ thống và phải có sự tự
Đặt tên: theo vai trò, không theo tên cụ thể vì
nó là lớp
Customer
Trang 7Tìm kiếm tác nhân như thế nào?
Ai sẽ sử dụng chức năng chính của hệ thống?
Ai giúp hệ thống làm việc hàng ngày?
Ai quản trị, bảo dưỡng để hệ thống làm việc liên tục?
Hệ thống quản lý thiết bị phần cứng nào?
Hệ thống đang xây dựng tương tác với hệ thống khác nào?
Ai hay cái gì quan tâm đến kết quả hệ thống cho lại?
Trang 8Ví dụ
Trang 9 Không cho biết hệ thống làm việc bên trong?
Không phải là thiết kế, cài đặt mà là một phần của
vấn đề cần giải quyết
Mô tả bất kỳ cái gì bên trong phạm vi hệ thống
Purchase Ticket
Trang 10 Một ca sử dụng chỉ ra làm thế nào 1 mục tiêu của
người sử dụng được thỏa mãn bởi hệ thống
Purchase Ticket
Trang 11Ca sử dụng
Ca sử dụng phải liên kết với một hay một số đối tác trong đó có 1 đối tác chính (Đối tác kích hoạt ca sử dụng một cách trực tiếp hay gián tiếp)
Một ca sử dụng phải dẫn tới 1 kết quả cụ thể- nghĩa là 1 kết quả nhận biết được trọn vẹn va đo đếm được
Cần phân biệt các mục tiêu của người sử dụng và các tương tác của họ với hệ thống
Mục tiêu là cái mà người sử dụng mong đợi
Tương tác là kỹ thuật cho phép đáp ứng mục tiêu
Ví dụ: Mục tiêu: có được một văn bản trình bày đẹp
Tương tác: Chọn định dạng trang, font, lề…
Trang 13Xây dựng UC để làm gì?
Là kết quả thỏa thuận giữa khách hàng và người phát triển hệ
thống phần mềm
Mô hình có khả năng được sử dụng xuyên suốt quá trình phát triển
Phân tích
Thu thập, lọc và đánh giá UC
Thiết kế, cài đặt
Cài đặt UC
Kiểm tra
Kiểm tra xem UC thỏa mãn?
UC gắn các bước trong tiến
trình phát triển
UC và tiến trình phát triển
Trang 14Use case
Diễn đạt Hiểu
Kiểm tra Thiết kế
Cài đặt
Trang 15Tìm kiếm UC như thế nào?
Với mỗi tác nhân đã tìm ra, hãy trả lời các câu hỏi sau để tìm ra các Use case hệ thống
Tác nhân yêu cầu hệ thống thực hiện chức năng nào?
Tác nhân cần đọc, tạo lập, bãi bỏ, lưu trữ, sửa đổi các thông tin nào trong hệ thống?
Tác nhân cần thông báo cho hệ thống sự kiện xảy ra trong nó?
Hệ thống cần thông báo cái gì đó cho tác nhân?
Hệ thống cần vào/ra nào? Vào/ra đi đến đâu hay từ đâu?
Đặt tên UC hệ thống
Theo khái niệm nghiệp vụ của tổ chức
Không sử dụng từ kỹ thuật, chuyên môn
Sử dụng các động từ, cụm từ ngắn gọn
Tùy theo tầm cỡ dự án mà mỗi hệ thống có từ 20-70 UC
Trang 16Ví dụ: Hệ thống đăng ký học
thời khóa biểu
thông tin tính học phí cho hệ thu học phí
cho 1 học kỳ, lấy về bản phân công giảng dạy
thông tin về kế hoạch học, sinh viên, thầy giáo
Đăng ký môn học (đăng ký, nhận thời khóa biểu);
Chọn môn để giảng ; Yêu cầu bản phân công để giảng, yêu cầu thời khóa biểu (yêu cầu bản phân công)
Duy trì thông tin môn học; Duy trì thông tin sinh viên; Duy trì
thông tin thầy; lập bản giói thiệu các môn học (Duy trì khóa học)
Trang 17Đã tìm đầy đủ UC cho hệ thống?
Các câu hỏi sau giúp xác định đã tìm đầy đủ UC?
Mỗi yêu cầu chức năng ở trong ít nhất một UC?
Nếu yêu cầu chức năng không ở trong UC nào thì nó sẽ không được cài đặt sau này
Đã khảo sát mọi tác nhân tương tác với hệ thống?
Tác nhân cung cấp cho hệ thống thông tin nào?
Tác nhân nhận thông tin nào từ hệ thống?
Đã nhận biết mọi hệ thống bên ngoài tương tác với hệ thống đang xây dựng?
Thông tin nào hệ thống bên ngoài nhận và gửi cho hệ thống đang xây dựng?
Trang 18Luồng sự kiện trong UC
Tài liệu luồng sự kiện (flow of events) mô tả hành vi của UC
mô tả luồng logíc đi qua UC
mô tả người sử dụng làm gì, hệ thống làm gì
Trong một UC có nhiều luồng sự kiện: luồng chính, luồng phụ
Kịch bản (Scenario) Một ca sử dụng phải là tập hợp của nhiều chuỗi hành động Mỗi chuỗi hành động đó gọi là 1 kịch bản (scenario)
Trang 19Làm tài liệu UC (đặc tả)
nào, nó bắt đầu và kết thúc ra sao, nó có thể diễn ra theo các kịch bản nào
Thông thường bao gồm các thông tin sau
Trang 20Tài liệu luồng sự kiện
tác, ngày lập, người lập, version
Tiền điều kiện (pre-condition):
Điều kiện cần thực hiện trước khi UC khởi động ;
Không phải UC nào cũng có tiền điều kiện
Luồng sự kiện chính và luồng sự kiện rẽ nhánh
Hậu điều kiện (post-condition)
Các yêu cầu về giao diện: (tùy ý) : thêm các ràng buộc về giao diện người máy
Các ràng buộc phi chức năng (tùy ý): Tấn suất khối lượng, …
Trang 21Tài liệu luồng sự kiện
Mô tả vắn tắt UC
Tiền điều kiện (pre-condition)
Luồng sự kiện chính và luồng sự kiện rẽ nhánh
chi tiết về UC được mô tả trong hai luồng sự kiện này
mô tả cái gì sẽ xảy ra để thực hiện chức năng của UC
Nội dung tài liệu
UC khởi động như thế nào?
Các đường đi xuyên qua các UC
Luồng chính thông qua UC
Luồng rẽ nhánh thông qua UC
Các luồng lỗi
UC kết thúc thế nào.
Hậu điều kiện (post-condition)
Trang 22Thí dụ tài liệu luồng sự kiện
Làm tài liệu các luồng sự kiện cho UC “Purchase Ticket”
Mô tả tóm tắt:
Tên ca sử dụng: Purchase ticket
Mục đích: Giúp khách hàng mua vé đến địa điểm mong muốn
Tóm lược: Khách hàng chọn nơi đến sau đó có thể xem các thông tin
về các chuyến bay và có thể đặt mua vé và kết thúc
Trang 23Thí dụ tài liệu luồng sự kiện
Làm tài liệu các luồng sự kiện cho UC “Purchase Ticket”
Các bước trong luồng sự kiện chính
1 UC bắt đầu khi customer chọn chức năng xem thông tin chuyến bay
2 Hệ thống hiển thị thành phố đến, đi và thời gian hạ cánh, cất cánh
3 User nhập nơi đến, đi, thời gian ngày tháng khởi hành và trở về
4 Hệ thống hiển thị danh sách chuyến bay và giá vé
A1 Không còn chuyến bay
5 User chọn chuyến bay để đặt trước
6 Hệ thống hiển thị các loại vé để user chọn
7 User chọn giá vé
A2 User chọn giá vé cho thành viên frequent-flyer
8 Hệ thống hiển thị giá vé sẽ bán cho khách hàng
9 User khẳng định giá vé
10 Hệ thống hiển thị loại thẻ tín dụng, số thẻ, thời gian hết hạn
11 User nhập loại thẻ tín dụng, số thẻ, thời gian hết hạn
12 Hệ thống trình mua bằng thẻ
Trang 24Thí dụ tài liệu luồng sự kiện
A6 Không thấy tài khoản A7 Không đủ tiền
E1 Không xâm nhập được hệ thống tín dụng
A1 Không có chuyến bay
1 Hệ thống hiển thị thông điệp thông báo không có chuyến bay
2 User khẳng định thông điệp
3 Trở lại luồng chính Bước 2.
A2 Vé dành cho thành viên frequent-flyer
1 Hệ thống hiển thị số hiệu frequent-flayer
2 User nhập số
3 Hệ thống khẳng định tính hợp lệ của số A3 Số không hợp lệ
Trang 25Thí dụ tài liệu luồng sự kiện
Làm tài liệu các luồng sự kiện cho UC “Đăng ký môn học”
Đối tác: sinh viên
Ngày lập… Người lập… Version….
Mô tả các kịch
Điều kiện đầu vào: Ca sử dụng được thực hiện khi sinh viên đăng nhập thành công vào hệ thống và chỉ hoạt động được khi ca sử dụng duy trì thông tin môn học đã được thực hiện
Kịch bản chính
Trang 26Thí dụ đặc tả ca sử dụng
Ca sử dụng này bắt đầu khi sinh viên đăng nhập vào hệ thống ĐKMH
và nhập mật khẩu của mình Hệ thống kiểm tra thấy mật khẩu là
đúng đắn (R1) và nhắc sinh viên chọn năm học, học kỳ này hay sau (R2) Sinh viên nhập học kỳ mình muốn, hệ thống nhắn sinh viên
chọn việc trong Thêm, Bỏ, Xem, In, Ra
Nếu thêm được chọn thì kịch bản con: C1- Thêm một mộn học được thực hiện
Nếu Bỏ được chọn thì kịch bản con: C2- Bỏ một mộn học được thực hiện
Nếu Xem được chọn thì kịch bản con: C3- xem một lịch biểu được thực hiện
Nếu in được chọn thì kịch bản con: C4-In một lịch biểu được thực hiện
Nếu Ra được chọn thì ca sử dụng kết thúc
Trang 27 R3: Các lớp giảng không hiển thị được: Thông báo cho người dùng
là chọn lựa đó chưa sẵn sàng ở thời điểm hiện tại, Ca sử dụng bắt đầu lại
R4: Kết nối không được thiết lập: Thông tin được sao lưu và hệ
Trang 28Đặc tả ca sử dụng
Mô bả gồm 2 sự kiện chính và các sự kiện ngoại lệ Các sự kiện chi làm 2 luồng, luồng tương tứng với tác nhân và luồng tương ứng với hệ thống
Hành động của tác nhân Hành động của hệ thống
Sinh viên: Đưa vào mật
khẩu và tên đăng nhập
2 Hệ thống xác nhận mật khẩu và tên đăng nhập 3.Sinh viên chọn học kỳ và
năm học
4.Hệ thống hiển thị các môn học có thể có trong học kỳ 5.Sinh viên chọn môn học 6 Hệ thống ghi nhận việc
chọn môn học
Trang 30Các quan hệ
Quan hệ kết hợp (Association)
Là loại quan hệ giữa tác nhân và UC
Mũi tên cho biết ai là người khởi xưởng giao tiếp
Customer Purchase Ticket
Customer Purchase Ticket Credit System
Trang 31 Thể hiện một UC luôn luôn sử dụng chức năng của UC khác
Sử dụng để mô hình hóa để tách một phần chung sử dụng lại giữa hai hay nhiều UC
Quan hệ mở rộng (Extends)
Quan hệ khái quát hóa (Generalization)
Check Credit Customer Purchase Ticket
<<include>>
Trang 32Các quan hệ
Quan hệ kết hợp (Association)
Quan hệ gộp (Includes)
Một UC tùy ý mở rộng chức năng do UC khác cung cấp
Mô tả một UC sử dụng chức năng của UC khác if and only if Nghĩa là nó sát nhật tùy theo điện kiện nào đó hành vi của ca sử dụng kia tại một số điểm đặc biệt trong kịch bản của nó
(đặt trước có thể trả tiền trước hoặc không)
Quan hệ khái quát hóa (Generalization)
Check Credit Customer Change Reservation
<<extends>>
Trang 33 Phần chức năng sử dụng chung có thể để trong UC mới – UC trừu tượng
UC trừu tượng không bị tác nhân kích hoạt giao tiếp
Quan hệ khái quát hóa (Generalization)
Trang 34 Chỉ ra một vài tác nhân hay UC
có một số cái chung, giống nhau
Không nhất thiết hình thành
quan hệ này cho các tác nhân
Khi một loại tác nhân kích hoạt một hay vài UC mà loại tác tác nhân khác không kích hoạt ->
nên hình thành quan hệ khái quát hóa
Khi cả hai loại tác nhân cùng sử dụng các UC -> không cần mô
Customer
Corporate Customer Individual Customer
Private Company
Govenment Agency
Abstract Actor
Concrete Actors
Trang 35Biểu đồ Use Case
Mô hình UC được mô tả bởi một hay nhiều biểu đồ UC
Số lượng biểu đồ UC cho một dự án là tùy ý
Không quá nhiều làm rối loạn
Phải đảm bảo đầy đủ để biểu diễn đầy đủ thông tin của hệ thống
Nó là công cụ mạnh giúp thu thập yêu cầu chức năng hệ thống
Nó chỉ ra quan hệ giữa UC và tác nhân và giữa UC với nhau
Sử dụng biểu đồ để làm tài liệu UC, tác nhân và các quan hệ giữa chúng
Lợi ích chính của biểu đồ UC là làm giao tiếp
Khi quan sát các UC, customer biết hệ thống có các chức năng nào
Khi quan sát các tác nhân, customer biết ai giao tiếp với hệ thống
Khi quan sát cả UC và tác nhân, customer biết phạm vi dự án
Trang 36Thí dụ biểu đồ Use Case
Trang 37Thí dụ biểu đồ Use Case
Trang 38Biểu đồ Use Case
Không nên mô hình hóa quan hệ kết hợp giữa tác nhân với tác nhân -> vì giao tiếp giữa các tác nhân là ở bên ngoài hệ thống
Hãy sử dụng biểu đồ luồng công việc để khảo sát quan hệ giữa các tác nhân
Không hình thành quan hệ Association giữa các UC
Biểu đồ chỉ ra có các UC nào nhưng không chỉ ra trật tự thực hiện chúng
Mỗi UC phải có tác nhân kích hoạt (trừ UC trong quan hệ
extends và quan hệ includes)
Nên vẽ mũi tên thể hiện association đi từ tác nhân đến UC
Có thể xem CSDL là lớp ở dưới biểu đồ UC
Có thể nhập tin vào CSDL ở UC này và xâm nhập dữ liệu trong CSDL ở UC khác
Không vẽ association giữa các UC để chỉ ra luồng thông tin
Trang 39 mô tả luồng sự kiện trong mô hình hóa hệ thống
Sử dụng text như trước đây sẽ khó đọc khi logíc phức tạp, có nhiều rẽ nhánh
khía cạnh động của hệ thống
các bước trình tự hay tương tranh trong quá trình tính toán
Trang 40Biểu đồ hoạt động
Activity với actions
“Display available flight”
Display fare
Enter credit information
Ticket [Unconfirmed]
Reserve seat
Generate confirmation
number
Ticket [Purchased]
[Approved]
[ Invalid account, Insufficient funds, Credit
system not available ]
Trang 41Biểu đồ hoạt động
Reserve seat confirmation numberGenerate
Display fare
Enter credit information
Generate and E-mail receipt
Display confirmation number
[ Approved ]
[ Invalid account;
Insufficient funds; Credit
system not available ]
Trang 42Tóm tắt
Biểu đồ UC là gì?
Quan hệ giữa biểu đồ UC và biểu đồ nghiệp vụ
Các khái niệm của mô hình UC
Cách tìm kiếm UC, tác nhân, quan hệ trong mô hình UC
Cách mô tả luồng sự kiện
văn bản
biểu đồ hoạt động
Các phần tử đồ họa xây dựng biểu đồ UC
Trang 43Bài tập 1
Cấp phá tiền cho những ai có thẻ ngân hàng, cho phép rút một số lượng tiền bởi hệ thống thông tin của ngân hàng và những ai có thẻ VISA (cho phép từ xa bởi hệ thống VISA)
Cho xem kiểm tra số tiền tài khoản và bỏ tiền vào tài khoản bằng tiền mặt hoặc ngân phiếu đối với những ai có thẻ ngân hàng
Kiểm tra mã PIN,
Mã PIN nhập sai 3 lần thì thẻ bị nuốt
và các thẻ bị nuốt ra
Xác định các tác nhân và ca sử dụng,
Vẽ biểu đồ ca sử dụng
Trang 44Bài tập 2
Quản lý đào tạo nhân viên: Một công ty muốn mô tả bằng UM: việc đào tạo nhân viên để tin học hóa một số công việc Việc đào tạo bắt đầu khi người quản lý đào tạo nhận được yêu cầu đào tạo của một số nhân viên Nhân viên này có thể xem danh mục các chuyên đề đào tạo của các đơn vị đào tạo ký kết với công ty Yêu cầu của nhân viên được xen xét bởi người quản lý đạo tạo và người quản lý sẽ trả lời là chấp nhận hay từ chối đề nghị đó Trong
trường hợp chấp nhận, người quản lhys sẽ xã định chuyên đề phù hợp trong danh mục các chuyên đề sau đó gửi cho nhân viên nội dung của chuyên đề và danh sách các khóa đào tạo Nhân viên sẽ chọn khóa đào tạo và người quản
lý sẽ đăng ký khóa học với đơn vị đạo tạo cho nhân viên Trong trường hợp muốn hủy bỏ đăng ký, nhân viên phải thông baosowms cho người quanrlys biết sớm để người quản lý thực hiện hủy bỏ Cuối khóa khọc nhân viên chuyển phiếu đánh giá kết qur học về cho công ty Người quản lý sẽ kiểm tra hó đơn thanh toán tiền của đơn vị đào tạo
Xây dựng biểu đồ ca sử dụng