chƢƠng 5: mô hình hóa chức năng
TRANSCRIPT
CHƢƠNG 5: Mô hình hóa chức năng
Chƣơng trƣớc thảo luận về các kỹ thuật thu thập yêu cầu phổ biến hơn, nhƣ
phỏng vấn, JAD, và quan sát. Sử dụng các kỹ thuật này, nhà phân tích xác định các
yêu cầu và tạo ra một định nghĩa yêu cầu. Các định nghĩa yêu cầu đƣợc xác định
những gì hệ thống là để làm. Trong chƣơng này, chúng ta thảo luận làm thế nào
các thông tin đƣợc thu thập bằng cách sử dụng các kỹ thuật này đƣợc tổ chức và
trình bày dƣới dạng sơ đồ hoạt động và các trƣờng hợp sử dụng. Bởi vì UML đã
đƣợc chấp nhận nhƣ một ký pháp tiêu chuẩn của OMG nên gần nhƣ tất cả các dự
án phát triển hƣớng đối tƣợng ngày nay đều sử dụng sơ đồ hoạt động và các trƣờng
hợp sử dụng để lập và tổ chức các yêu cầu thu đƣợc trong giai đoạn phân tích.
Một biểu đồ hoạt động có thể đƣợc sử dụng cho bất kỳ loại hoạt động mô
hình hóa quá trình.2 Trong chƣơng này, chúng tôi mô tả việc sử dụng chúng trong
mô hình hóa quá trình nghiệp vụ. Mô hình quy trình mô tả hoạt động của một hệ
thống nghiệp vụ. Họ minh hoạ các quy trình hoặc các hoạt động đƣợc thực hiện và
các đối tƣợng (dữ liệu) di chuyển giữa chúng nhƣ thế nào. Một mô hình quy trình
có thể đƣợc sử dụng để ghi lại một hệ thống hiện tại (tức là, nhƣ là hệ thống) hoặc
một hệ thống mới đang đƣợc phát triển (nghĩa là hệ thống to be), cho dù đó là máy
vi tính hay không. Có rất nhiều kỹ thuật lập mô hình quy trình khác nhau đang
đƣợc sử dụng hiện nay:
Một ca sử dụng là một cách chính thức để hệ thống nghiệp vụ tƣơng tác với
môi trƣờng của nó. Nó minh hoạ các hoạt động đƣợc thực hiện bởi những ngƣời sử
dụng hệ thống. Do đó, mô hình ca sử dụng thƣờng đƣợc xem nhƣ là một cái nhìn
bên ngoài hay chức năng của một quy trình nghiệp vụ trong đó nó cho thấy cách
ngƣời dùng xem quá trình chứ không phải là các cơ chế bên trong mà tiến trình và
các hệ thống hỗ trợ vận hành. Giống nhƣ biểu đồ hoạt động, ca sử dụng có thể ghi
lại hệ thống hiện tại (tức là, nhƣ là hệ thống) hoặc hệ thống mới đang đƣợc phát
triển
Biểu đồ hoạt động và ca sử dụng là các mô hình logic mô tả các hoạt động trong
lĩnh vực kinh doanh mà không đề xuất cách tiến hành nhƣ thế nào. Các mô hình
lôgic đôi khi đƣợc gọi là các mô hình miền vấn đề. Đọc một biểu đồ hoạt động
hoặc ca sử dụng, về nguyên tắc, không nên chỉ ra nếu một hoạt động đƣợc vi tính
hóa hay thủ công; nếu một mảnh thông tin đƣợc thu thập bằng giấy hoặc qua Web;
hoặc nếu thông tin đƣợc đặt trong một tủ hồ sơ hoặc cơ sở dữ liệu lớn. Những chi
tiết vật lý này đƣợc xác định trong quá trình thiết kế khi các mô hình lôgíc đƣợc
tinh chế thành các mô hình vật lý. Các mô hình này cung cấp thông tin cần thiết để
xây dựng hệ thống. Bằng cách tập trung vào các hoạt động hợp lý đầu tiên, các nhà
phân tích có thể tập trung thảo luận làm thế nào các doanh nghiệp có thể hoạt động
mà không bị phân tâm với các chi tiết thực
Bƣớc đầu tiên, nhóm dự án thu thập các yêu cầu từ ngƣời sử dụng (xem
Chƣơng 4). Tiếp theo, sử dụng các phiếu yêu cầu, nhóm dự án mô tả quá trình
nghiệp vụ một cách tổng thể sử dụng biểu đồ hoạt động. Tiếp theo, nhóm sử dụng
các hoạt động đã xác định để xác định các ca sử dụng xảy ra trong hoạt động kinh
doanh. Sau đó họ chuẩn bị mô tả ca sử dụng và biểu đồ ca sử dụng cho từng trƣờng
hợp ca. Ca sử dụng là các hoạt động rời rạc mà ngƣời dùng thực hiện, chẳng hạn
nhƣ bán đĩa CD, đặt hàng CD, và nhận đĩa CD đã trả về từ khách hàng. Ngƣời
dùng làm việc chặt chẽ với nhóm dự án để tạo ra các mô hình quy trình nghiệp vụ
dƣới dạng biểu đồ hoạt động và mô tả ca sử dụng có chứa tất cả thông tin cần thiết
để bắt đầu mô hình hóa hệ thống. Một biểu đồ hoạt động và ca sử dụng đƣợc chuẩn
bị, hệ thống phân tích sẽ biến chúng thành một biểu đồ ca sử dụng, thể hiện quan
điểm hành vi hoặc chức năng bên ngoài của quá trình nghiệp vụ. Tiếp theo, nhà
phân tích thƣờng tạo ra biểu đồ lớp (xem Chƣơng 6) để tạo ra một mô hình cấu
trúc của vấn đề trong lĩnh vực kinh doanh.
Trong chƣơng này, trƣớc tiên chúng ta mô tả mô hình quy trình nghiệp vụ và
biểu đồ hoạt động. Thứ hai, chúng ta mô tả ca sử dụng, các yếu tố của chúng và
một tập hợp các nguyên tắc để tạo các ca sử dụng. Thứ ba, chúng ta mô tả biểu đồ
ca sử dụng và làm thế nào để tạo chúng. Thứ tƣ, sử dụng các ca sử dụng làm cơ sở,
chúng ta xem lại chủ đề của dự toán quy mô ƣớc lƣợng.
MÔ HÌNH QUY TRÌNH NGHIỆP VỤ VỚI BIỂU ĐỒ HOẠT ĐỘNG
Mô hình quy trình nghiệp vụ mô tả các hoạt động khác nhau, khi kết hợp với
nhau, hỗ trợ một quy trình nghiệp vụ. Các quy trình nghiệp vụ thƣờng cắt ngang
các phòng ban chức năng (ví dụ, việc tạo ra một sản phẩm mới sẽ liên quan đến
nhiều hoạt động khác nhau sẽ kết hợp nỗ lực của nhiều nhân viên trong nhiều
phòng ban). Hơn nữa, từ quan điểm hƣớng đối tƣợng, chúng đã cắt qua nhiều đối
tƣợng. Nhƣ vậy, nhiều phát triển hệ thống hƣớng đối tƣợng trƣớc đó có xu hƣớng
bỏ qua mô hình hóa quy trình nghiệp vụ. Thay vào đó, họ chỉ tập trung vào các quá
trình mô hình thông qua các ca sử dụng và các mô hình hành vi (xem chƣơng 7).
Tuy nhiên, hôm nay chúng ta nhận ra rằng các mô hình hoá các quy trình nghiệp
vụ là một hoạt động mang tính xây dựng có thể đƣợc sử dụng để giải quyết các yêu
cầu đã thu thập đƣợc (xem Chƣơng 4). Một vấn đề tiềm ẩn trong việc xây dựng mô
hình quy trình nghiệp vụ, từ quan điểm phát triển hệ thống hƣớng đối tƣợng, là
chúng có khuynh hƣớng củng cố một tƣ duy phân rã chức năng. Tuy nhiên, miễn là
chúng đƣợc sử dụng đúng, chúng là một công cụ rất mạnh để truyền đạt sự hiểu
biết hiện tại của nhà phân tích về các yêu cầu với ngƣời dùng. Trong phần này của
chƣơng, chúng tôi giới thiệu việc sử dụng biểu đồ hoạt động của UML 2.0 nhƣ một
phƣơng tiện để xây dựng mô hình quy trình nghiệp vụ.
Biểu đồ hoạt động đƣợc sử dụng để mô hình hành vi trong một quy trình
nghiệp vụ độc lập với các đối tƣợng. Bằng nhiều cách, các sơ đồ hoạt động có thể
đƣợc xem nhƣ những sơ đồ luồng dữ liệu tinh vi đƣợc sử dụng kết hợp với phân
tích cấu trúc. Tuy nhiên, không giống nhƣ sơ đồ luồng dữ liệu, biể hoạt động bao
gồm các ký hiệu mô tả các mô hình song song, các hoạt động đồng thời và các quá
trình quyết định phức tạp. Nhƣ vậy, các biểu đồ hoạt động có thể đƣợc sử dụng để
mô hình tất cả mọi thứ từ quy trình nghiệp vụ cấp cao liên quan đến nhiều trƣờng
hợp sử dụng khác nhau, với các chi tiết của một ca sử dụng cá nhân, tất cả các chi
tiết cụ thể của một phƣơng pháp cá nhân. Tóm lại, các biểu đồ hoạt động có thể
đƣợc sử dụng để mô hình bất kỳ loại quá trình. Trong chƣơng này, chúng tôi giới
hạn phạm vi hoạt động của chúng tôi về biểu đồ hoạt động với mô hình hóa các
quy trình nghiệp vụ cấp cao.
An action(Một hành động)
-Is a simple, nondecomposable piece of
behavior.( Là một hành vi đơn giản,
không thể vận dụng đƣợc.)
-Is labeled by its name.( Đƣợc dán
nhãn theo tên của nó.)
An activity(Một hoạt động)
-Is used to represent a set of actions.(
Đƣợc sử dụng để đại diện cho một bộ
hành động)
-Is labeled by its name. .( Đƣợc dán
nhãn theo tên của nó.)
An object node(Một nút đối tượng)
-Is used to represent an object that is
connected to a set of object flows.(
Đƣợc sử dụng để đại diện cho một đối
tƣợng đƣợc kết nối với một tập các
luồng đối tƣợng.)
-Is labeled by its class name.( Đƣợc
gắn nhãn theo tên lớp của nó.)
A control flow(Một luồng điều khiển)
-Shows the sequence of execution.(
Cho thấy trình tự thực thi)
An object flow(Một luồng đối tượng) ---------------------
Action
Activity
Class Name
-Shows the flow of an object from one
activity (or action) to another activity
(or action).( Cho thấy dòng chảy của
một vật từ một hoạt động (hoặc hành
động) đến một hoạt động khác (hoặc
hành động).)
An initial node(Một nút ban đầu)
-Portrays the beginning of a set of
actions or activities.( Miêu tả sự bắt
đầu của một tập hợp các hành động
hoặc hoạt động.)
A final-activity node(Nút hoạt động
cuối cùng)
-Is used to stop all control flows and
object flows in an activity (or action).(
Đƣợc sử dụng để ngăn chặn tất cả các
luồng điều khiển và luồng đối tƣợng
trong một hoạt động (hoặc hành động))
A final-flow node(Một nút lưu lượng
cuối cùng)
-Is used to stop a specific control flow
or object flow.( Đƣợc sử dụng để ngăn
chặn một dòng chảy kiểm soát cụ thể
hoặc dòng chảy đối tƣợng)
A decision node(Nút quyết định)
-Is used to represent a test condition to
ensure that the control flow or object
flow only goes down one path.( Đƣợc
sử dụng để đại diện cho một điều kiện
kiểm tra để đảm bảo rằng dòng chảy
điều khiển hoặc lƣu lƣợng đối tƣợng
chỉ đi xuống một con đƣờng)
-Is labeled with the decision criteria to
continue down the specific path.( Đƣợc
gắn nhãn với các tiêu chí quyết định để
tiếp tục theo con đƣờng cụ thể.)
[Decision
Criteria]
A merge node(Một nút kết hợp)
-Is used to bring back together different
decision paths that were created using a
decision node.( Đƣợc sử dụng để mang
lại các đƣờng dẫn quyết định khác
nhau đã đƣợc tạo ra bằng cách sử dụng
một nút quyết định)
Các yếu tố của một Biểu đồ Hoạt động
Các biểu đồ hoạt động mô tả các hoạt động chính và các mối quan hệ giữa các hoạt
động trong một quy trình. Hình 5-1 cho thấy cú pháp của một biểu đồ hoạt động.
Hình 5-2 trình bày một biểu đồ hoạt động đơn giản đại diện cho một phần của một
hệ thống cuộc hẹn đối với một văn phòng bác sĩ.
- Get Patient Information: Nhận thông tin bệnh nhân.
- Create New Patient: Tạo Bệnh nhân mới
- Appt Request Info: Thông tin cuộc hẹn
- Appt = Appoinment: Cuộc hẹn
- Create Appointment: Tạo cuộc hẹn
- Cancel Appointment: Hủy bỏ cuộc hẹn
- Change Appointment: Thay đổi cuộc hẹn
Actions and Activities
- Actions and Activities (Hành động và Hoạt động):
Hoạt động và các hoạt động đƣợc thực hiện vì một số lý do kinh doanh cụ
thể. Hoạt động và các hoạt động có thể đại diện cho hành vi thủ công hoặc bằng
máy tính. Chúng đƣợc miêu tả trong một biểu đồ hoạt động nhƣ một hình chữ nhật
có góc đƣợc bo tròn (xem Hình 5-1). Hơn nữa, họ nên có một cái tên bắt đầu bằng
một động từ và kết thúc bằng một danh từ (ví dụ nhƣ Thực hiện bổ nhiệm hoặc
Thực hiện thanh toán). Tên phải ngắn gọn, nhƣng có đủ thông tin để ngƣời đọc có
thể dễ dàng hiểu chính xác những gì họ làm. Sự khác biệt duy nhất giữa hành động
và hoạt động là một hoạt động có thể bị phân chia thành một tập hợp các hoạt động
và / hoặc các hành động, trong khi một hành động đại diện cho một phần không
đƣợc vận dụng của hành vi tổng thể đƣợc mô phỏng. Thông thƣờng, chỉ hoạt động
đƣợc sử dụng cho quá trình kinh doanh hoặc xây dựng mô hình quy trình làm việc.
Hơn nữa, trong hầu hết các trƣờng hợp, mỗi hoạt động đƣợc kết hợp với ca sử
dụng. Biểu đồ hoạt động trong Hình 5-2 cho thấy sáu hoạt động riêng biệt nhƣng
có liên quan cho một hệ thống chỉ định điển hình đƣợc sử dụng trong văn phòng
bác sĩ: Tìm thông tin bệnh nhân, tạo bệnh nhân mới, sắp xếp thanh toán, tạo hẹn,
hủy bổ nhiệm và thay đổi cuộc hẹn.
- Object Nodes (Các nút đối tượng):
Các hoạt động và hành động thƣờng sửa đổi hoặc chuyển đổi các đối
tƣợng. Các nút đối tƣợng mô hình các đối tƣợng này trong một sơ đồ hoạt
động. Các nút đối tƣợng đƣợc miêu tả trong một sơ đồ hoạt động nhƣ các
hình chữ nhật (Hình 5-1). Tên lớp của đối tƣợng đƣợc viết bên trong hình
chữ nhật. Về cơ bản, các nút đối tƣợng đại diện cho luồng thông tin từ hoạt
động này sang hoạt động khác. Hệ thống chỉ định đơn giản đƣợc miêu tả
trong Hình 5-2 cho thấy các nút đối tƣợng chạy từ các hoạt động Bổ nhiệm
và Thay đổi các hoạt động Bổ nhiệm.
- Control Flows and Object Flows (Dòng điều khiển và các luồng đối tượng):
Có hai loại dòng chảy khác nhau trong biểu đồ hoạt động: kiểm soát
và đối tƣợng (Xem Hình 5-1). Mô hình luồng kiểm soát các con đƣờng thực
hiện thông qua một quy trình nghiệp vụ. Một dòng điều khiển đƣợc miêu tả
nhƣ một đƣờng kẻ cố định với mũi tên trên nó cho thấy hƣớng dòng chảy.
Các luồng điều khiển có thể đƣợc gắn liền với hành động hoặc hoạt động.
Hình 5-2 miêu tả một tập hợp các dòng điều khiển thông qua hệ thống bổ
nhiệm của một bác sỹ. Các luồng đối tƣợng mô hình luồng các đối tƣợng
thông qua quy trình nghiệp vụ. Bởi vì các hoạt động và hành động thay đổi
hoặc biến đổi các đối tƣợng, các luồng đối tƣợng là cần thiết để hiển thị các
vật thể thực sự chảy vào và ra khỏi các hành động hoặc các hoạt động. Một
luồng đối tƣợng đƣợc mô tả nhƣ là một đƣờng kẻ đứt với mũi tên trên nó
cho thấy hƣớng dòng chảy. Một luồng đối tƣợng cá nhân phải đƣợc gắn vào
một hành động hoặc hoạt động ở một đầu và một nút đối tƣợng ở đầu kia.
Hình 5-2 miêu tả một bộ điều khiển và các luồng đối tƣợng thông qua hệ
thống bổ nhiệm văn phòng của bác sĩ.
Nút điều khiển.
Có bảy loại nút điều khiển khác nhau trong biểu đồ hoạt động: hoạt
động ban đầu, hoạt động cuối cùng, dòng cuối cùng, quyết định, hợp nhất,
ngã ba và tham gia (xem Hình 5-1). Một nút ban đầu mô tả sự khởi đầu của
một tập hợp các hành động hoặc các hoạt động. Một nút ban đầu đƣợc hiển
thị nhƣ là một vòng tròn nhỏ điền vào. Một nút hoạt động cuối cùng đƣợc sử
dụng để dừng quá trình đƣợc mô phỏng. Bất cứ khi nào đạt tới một nút hoạt
động cuối cùng, tất cả các hành động và hoạt động đều kết thúc ngay lập tức,
bất kể chúng đã hoàn thành. Nút hoạt động cuối cùng đƣợc biểu diễn dƣới
dạng một vòng tròn bao quanh một vòng tròn nhỏ, đƣợc làm đầy, làm cho nó
trông giống mắt con bò. Một nút điều khiển mới đƣợc bổ sung vào sơ đồ
hoạt động trong UML 2.0 là nút lƣu lƣợng cuối cùng. Một nút lƣu lƣợng
cuối cùng tƣơng tự nhƣ nút hoạt động cuối cùng, ngoại trừ việc nó dừng một
con đƣờng thực hiện cụ thể thông qua quy trình nghiệp vụ nhƣng cho phép
các đƣờng đồng thời hoặc song song khác tiếp tục. Một nút lƣu lƣợng cuối
cùng đƣợc hiển thị nhƣ một vòng tròn nhỏ với một X trong đó.
Quyết định và hợp nhất các nút hỗ trợ mô hình hoá cấu trúc quyết
định của một quy trình nghiệp vụ. Nút quyết định đƣợc sử dụng để biểu diễn
điều kiện kiểm tra thực tế xác định đƣờng đi nào thoát khỏi nút quyết định sẽ
đi qua. Trong trƣờng hợp này, mỗi lối thoát phải đƣợc dán nhãn với điều
kiện bảo vệ. Một điều kiện bảo vệ đại diện cho giá trị của bài kiểm tra cho
rằng đƣờng dẫn cụ thể sẽ đƣợc thực hiện. Ví dụ, trong hình 5-2, nút quyết
định ngay bên dƣới hoạt động Thông tin nhận bệnh nhân có hai đƣờng dẫn
loại trừ lẫn nhau có thể đƣợc thực hiện: một cho bệnh nhân cũ, hoặc trƣớc,
bệnh nhân, và một cho bệnh nhân mới. Nút kết hợp đƣợc sử dụng để kết hợp
lại nhiều đƣờng dẫn riêng biệt đã đƣợc chia tách dựa trên quyết định trƣớc
đó (ví dụ: các đƣờng dẫn cũ và mới của bệnh nhân trong Hình 5-2 đƣợc đƣa
lại với nhau). Tuy nhiên, đôi khi, vì mục đích rõ ràng, có thể tốt hơn là
không sử dụng một nút hợp nhất. Ví dụ, trong hình 5-3, trong hai biểu đồ
hoạt động, cả hai đại diện cho mức tổng quan của một quy trình đặt hàng, thì
dễ hiểu hơn, trong đó một ở bên trái hay bên phải? Một ở bên trái có chứa
một nút hợp nhất cho câu hỏi Thêm Tìm trong Đặt hàng, nhƣng một ở bên
phải không. Trong một ý nghĩa nào đó, nút quyết định đóng vai trò gấp đôi
trong sơ đồ bên phải. Nó cũng phục vụ nhƣ một nút hợp nhất. Về mặt kỹ
thuật, chúng ta không nên bỏ qua nút hợp nhất, tuy nhiên đôi khi đúng kỹ
thuật theo các quy tắc biểu đồ của UML có thể làm cho biểu đồ trở nên khó
hiểu. Từ quan điểm mô hình hóa quy trình nghiệp vụ, một sự hiểu biết thông
thƣờng có thể đi một chặng đƣờng dài.
Hình 5-3 Hai Biểu đồ hoạt động rất giống nhau
Các ngã ba và nối các nút cho phép các mô hình song song và đồng
thời đƣợc mô phỏng (xem hình 5-1). Nút ngã ba đƣợc sử dụng để phân chia
hành vi của quá trình kinh doanh thành nhiều luồng song song hoặc đồng
thời. Không giống nhƣ nút quyết định, các đƣờng dẫn không loại trừ nhau
(tức là, cả hai đƣờng dẫn đƣợc thực hiện đồng thời). Ví dụ, trong hình 5-4,
nút ngã ba đƣợc sử dụng để chỉ ra rằng hai quá trình đồng thời, song song sẽ
đƣợc thực hiện. Trong trƣờng hợp này, mỗi quá trình đƣợc thực hiện bởi hai
bộ vi xử lý riêng biệt (cha mẹ). Mục đích của nút kết nối tƣơng tự nhƣ nút
kết hợp. Nút kết nối chỉ đơn giản mang lại các luồng song song hoặc riêng
biệt trong quá trình kinh doanh thành một luồng duy nhất.
Đường bơi
Nhƣ đã đƣợc mô tả, sơ đồ hoạt động có thể mô hình một quy trình
nghiệp vụ độc lập với bất kỳ việc thực hiện đối tƣợng nào. Tuy nhiên, có
những lúc nó giúp phá vỡ một sơ đồ hoạt động theo cách mà nó có thể đƣợc
sử dụng để phân công trách nhiệm cho các đối tƣợng hoặc cá nhân thực sự
sẽ thực hiện các hoạt động. Điều này đặc biệt hữu ích khi mô hình hoá luồng
công việc kinh doanh và đƣợc thực hiện thông qua việc sử dụng các đƣờng
bơi. Trong hình 5-4, các sàn bơi đƣợc sử dụng để chia giữa hai cha mẹ việc
tạo ra một bữa trƣa của trƣờng học bao gồm một bơ đậu phộng và bánh
sandwich, đồ uống và món tráng miệng. Trong trƣờng hợp này, chúng tôi sử
dụng các đƣờng bơi dọc. Chúng tôi cũng có thể rút ra biểu đồ hoạt động sử
dụng nhiều hƣớng từ trái sang phải thay vì định hƣớng từ trên xuống dƣới.
Trong trƣờng hợp đó, các đƣờng bơi sẽ đƣợc vẽ theo chiều ngang.
Trong quy trình công việc kinh doanh thực tế, sẽ có các hoạt động liên
quan đến vai trò của các cá nhân tham gia vào quy trình làm việc kinh doanh
(ví dụ: nhân viên hoặc khách hàng) và các hoạt động cần thực hiện bởi hệ
thống thông tin đang đƣợc tạo ra. Sự liên kết các hoạt động với vai trò bên
ngoài, vai trò nội bộ và hệ thống rất hữu ích khi tạo các mô tả trƣờng hợp sử
dụng và sơ đồ mô tả sau trong chƣơng này.
Hƣớng dẫn tạo biểu đồ hoạt động
Scott Ambler đƣa ra các hƣớng dẫn sau khi tạo sơ đồ hoạt động:
1. Bởi vì một biều đồ hoạt động có thể đƣợc sử dụng để mô hình bất kỳ loại
quy trình, bạn nên thiết lập bối cảnh hoặc phạm vi hoạt động đƣợc mô
phỏng. Một khi bạn đã xác định phạm vi, bạn nên cung cấp cho các sơ đồ
một tiêu đề thích hợp.
2. Bạn phải xác định các hoạt động, kiểm soát dòng chảy và các luồng đối
tƣợng xảy ra giữa các hoạt động.
3. Bạn nên xác định bất kỳ quyết định nào là một phần của quá trình đƣợc
mô phỏng.
4. Bạn nên cố gắng để xác định bất kỳ triển vọng cho song song trong quá
trình.
5. Bạn nên vẽ biểu đồ hoạt động.
Khi vẽ biều đồ hoạt động, biểu đồ nên đƣợc giới hạn trong một nút
ban đầu bắt đầu quá trình đƣợc mô phỏng. Nút này nên đƣợc đặt ở trên cùng
hoặc phía trên bên trái của sơ đồ, phụ thuộc vào sự phức tạp của biểu đồ.
Hơn nữa, đối với hầu hết các doanh nghiệp quy trình, chỉ nên có một nút
hoạt động cuối cùng duy nhất. Nút này nên đƣợc đặt tại đáy hoặc dƣới cùng
bên phải của sơ đồ (xem Hình 5-2, 5-3, và 5-4). Bởi vì hầu hết các cấp cao
quy trình kinh doanh là tuần tự, không song song, việc sử dụng một nút lƣu
lƣợng cuối cùng cần đƣợc hạn chế.
Khi mô hình các quy trình nghiệp vụ cấp cao hoặc quy trình làm việc,
chỉ quan trọng hơn các quyết định nên đƣợc đƣa vào các sơ đồ hoạt động.
Trong những trƣờng hợp đó, các điều kiện bảo vệ kết hợp với dòng chảy ra
của các nút quyết định nên đƣợc loại trừ lẫn nhau. Hơn nữa, các dòng chảy
ra và các điều kiện bảo vệ nên tạo thành một tập hợp hoàn chỉnh (tức là tất
cả các giá trị tiềm năng của quyết định đƣợc liên kết với một trong các dòng
chảy).
Giống nhƣ trong mô hình ra quyết định, cần gạt và tham gia chỉ để đại
diện cho các hoạt động song song quan trọng trong tiến trình. Ví dụ, một
phiên bản thay thế của hình 5-4 có thể không bao gồm dĩa và gia nhập liên
kết với các Jelly Get, Bread, Get Peanut Bơ, Uống, và Trứng Tráng miệng.
Điều này rất đơn giản hóa sơ đồ.
Khi bố trí biểu đồ hoạt động, các đƣờng giao cắt cần đƣợc giảm thiểu để
tăng cƣờng khả năng đọc của biểu đồ. Các hoạt động trên biểu đồ cũng nên
đƣợc trình bày trong một thứ tự từ trái sang phải và / hoặc từ trên xuống
dƣới, dựa trên thứ tự hoạt động đƣợc thực hiện. Ví dụ, trong hình 5-4, hoạt
động Create Sandwich diễn ra trƣớc hoạt động tạo bữa trƣa.
Các con lƣớt sóng chỉ nên đƣợc sử dụng để đơn giản hóa sự hiểu biết về sơ
đồ hoạt động. Hơn nữa, các đƣờng bơi sẽ làm tăng khả năng đọc của một sơ
đồ. Ví dụ, khi sử dụng một định hƣớng nằm ngang cho các hành lang bơi, thì
vận tốc trên cùng phải đại diện cho đối tƣợng quan trọng nhất hoặc cá nhân
tham gia vào tiến trình. Thứ tự của phần còn lại bể bơi nên đƣợc dựa trên
giảm thiểu số luồng đi qua các bể bơi. Ngoài ra, khi có các luồng đối tƣợng
giữa các hoạt động liên quan đến cá nhân (swimlanes) thực hiện các hoạt
động của quá trình, rất hữu ích để đối tƣợng thực sự chảy từ mỗi cá thể sang
cá thể khác bằng cách bao gồm một đối tƣợng nút giữa hai cá thể (tức là
giữa hai hành lang bơi). Tất nhiên, điều này, tác động nhƣ thế nào đến cách
bố trí các đƣờng bơi trên sơ đồ.
Cuối cùng, bất kỳ hoạt động nào không có dòng chảy ra hoặc dòng chảy bất
kỳ nên đƣợc thử thách. Các hoạt động không có dòng chảy ra đƣợc gọi là
các hoạt động của lỗ đen. Nếu hoạt động là thực sự là một điểm kết thúc
trong sơ đồ, hoạt động cần phải có một dòng chảy kiểm soát từ nó đến một
hoạt động cuối cùng hoặc nút lƣu lƣợng cuối cùng. Một hoạt động không có
dòng chảy nào đƣợc gọi là phép lạ Hoạt động. Trong trƣờng hợp này, hoạt
động hoặc thiếu một dòng vào từ nút ban đầu của biểu đồ hoặc từ một hoạt
động khác
USE-CASE DESCRIPTIONS MÔ TẢ CA SỬ DỤNG
Ca sử dụng là những mô tả đơn giản về các chức năng của hệ thống từ quan điểm
của ngƣời sử dụng. Biểu đồ ca sử dụng là biểu đồ chức năng mô tả các chức năng
cơ bản của hệ thống - nghĩa là ngƣời sử dụng có thể làm gì và hệ thống nên đáp
ứng các hành động của ngƣời dùng nhƣ thế nào. Tạo biểu đồ ca sử dụng là một quá
trình gồm hai bƣớc: Đầu tiên, ngƣời dùng làm việc với nhóm dự án để phác họa ca
sử dụng dựa trên văn bản; Bƣớc thứ hai, nhóm dự án chuyển các phác họa ca sử
dụng ở bƣớc 1 thành các biểu đồ ca sử dụng chính thức. Về việc phác họa ca sử
dụng và biểu đồ ca sử dụng dựa trên các yêu cầu đã đƣợc xác định và biểu đồ mô
tả hoạt động của quá trình kinh doanh chứa tất cả các thông tin cần thiết để tạo ra
biểu đồ ca sử dụng. Mặc dù có thể bỏ qua bƣớc phác họa ca sử dụng và di chuyển
trực tiếp tới các Biểu đồ ca sử dụng và các biểu đồ khác theo sau, ngƣời dùng
thƣờng gặp khó khăn trong việc mô tả công việc kinh doanh các quy trình chỉ sử
dụng biểu đồ sử dụng. Thông qua việc tạo mô tả ca sử dụng, ngƣời dùng có thể mô
tả chi tiết yêu cầu của từng ca sử dụng cá nhân. Đối với những mô tả về ca sử dụng
đầu tiên hoặc biểu đồ ca sử dụng - kỹ thuật nói trên, nó thực sự không quan trọng.
Cả hai cần đƣợc thực hiện để mô tả đầy đủ các yêu cầu mà hệ thống thông tin phải
đáp ứng. Trong văn bản này, chúng tôi trình bày việc tạo ra một mô tả về ca sử
dụng đầu tiên.
Ca sử dụng là các trình điều khiển chính cho tất cả các kỹ thuật lập sơ đồ UML.
Một ca sử dụng truyền đạt ở mức cao những gì hệ thống cần làm và tất cả các kỹ
thuật lập sơ đồ UML xây dựng trên này bằng cách trình bày chức năng sử dụng
theo một cách khác cho một mục đích khác. Ca sử dụng là các khối xây dựng theo
đó hệ thống đƣợc thiết kế và xây dựng.
Các ca sử dụng nắm bắt tƣơng tác điển hình của hệ thống với ngƣời dùng của hệ
thống (ngƣời dùng cuối và các hệ thống khác). Các tƣơng tác này đại diện cho
quan điểm bên ngoài hoặc chức năng của hệ thống từ quan điểm của ngƣời
dùng.Mỗi ca sử dụng mô tả một và chỉ một chức năng trong đó ngƣời dùng tƣơng
tác với hệ thống, mặc dù ca sử dụng có thể chứa nhiều đƣờng dẫn mà ngƣời dùng
có thể mất khi tƣơng tác với hệ thống (ví dụ nhƣ khi tìm kiếm một cuốn sách trong
một hiệu sách trên Web, ngƣời dùng có thể tìm kiếm theo chủ đề, tác giả, hoặc
theo tiêu đề). Mỗi con đƣờng thực hiện có thể thông qua các ca sử dụng đƣợc gọi
là một kịch bản. Một cách khác để xem xét một kịch bản là nhƣ thể một kịch bản là
một sự khởi đầu của một ca sử dụng cụ thể. Các tài nguyên đƣợc sử dụng rộng rãi
trong mô hình hành vi (xem Chƣơng 7). Cuối cùng, bằng cách xác định tất cả các
kịch bản và thử thực hiện chúng thông qua vai trò chơi các thẻ CRC (xem chƣơng
6) bạn sẽ đƣợc kiểm tra rõ ràng và đầy đủ sự hiểu biết đang phát triển của bạn về
hệ thống đang đƣợc phát triển.
Khi tạo các ca sử dụng, nhóm dự án phải làm việc chặt chẽ với ngƣời dùng để thu
thập các yêu cầu cần thiết cho các ca sử dụng. Điều này thƣờng đƣợc thực hiện
thông qua các cuộc phỏng vấn, các phiên họp của JAD và quan sát. Thu thập các
yêu cầu cần thiết cho một ca sử dụng là một quy trình tƣơng đối đơn giản, nhƣng
cần phải thực hiện đáng kể. Một nơi tốt để tìm các ca sử dụng tiềm năng là biểu đồ
hoạt động đại diện của quá trình kinh doanh. Trong nhiều ca, các hoạt động đƣợc
xác định trong biểu đồ hoạt động sẽ trở thành các ca sử dụng trong quá trình kinh
doanh đƣợc mô hình hoá. Điều quan trọng cần nhớ là mỗi ca sử dụng đƣợc liên kết
với một và chỉ có một vai trò mà ngƣời dùng có trong hệ thống. Ví dụ: nhân viên
tiếp tân trong văn phòng bác sĩ có thể đóng nhiều vai trò - ngƣời đó có thể hẹn, trả
lời điện thoại, lƣu hồ sơ bệnh án, chào đón bệnh nhân, vân vân. Hơn nữa, có thể
nhiều ngƣời dùng sẽ đóng vai trò nhƣ nhau.Vì vậy, ca sử dụng phải đƣợc kết hợp
với vai trò của ngƣời dùng chứ không phải với ngƣời dùng.
Types of Use Cases Các loại ca sử dụng
Có nhiều loại ca sử dụng khác nhau. Chúng tôi đề xuất hai loại riêng biệt để phân
loại dựa trên mục đích của ca sử dụng và số lƣợng thông tin mà ca sử dụng chứa:
(1) tổng quan so với chi tiết; và (2) thiết yếu so với thực tế.
Một ca sử dụng tổng quát đƣợc sử dụng để cho phép nhà phân tích và ngƣời dùng
đồng ý về tổng quát các yêu cầu. Thông thƣờng chúng đƣợc tạo ra rất sớm trong
quá trình đánh giá các yêu cầu hệ thống, và chúng chỉ ghi lại các thông tin cơ bản
về ca sử dụng, chẳng hạn nhƣ tên, số ID, diễn viên chính, loại và mô tả ngắn gọn.
Sau khi ngƣời dùng và nhà phân tích đồng ý về tổng quan cấp cao về các yêu cầu,
các ca sử dụng tổng thể có thể đƣợc chuyển đổi sang các ca sử dụng chi tiết. Một
ca sử dụng chi tiết thƣờng là tài liệu, càng nhiều càng tốt, tất cả các thông tin cần
thiết cho ca sử dụng.
Ca sử dụng thiết yếu là một ca chỉ mô tả các vấn đề thiết yếu tối thiểu cần thiết để
hiểu đƣợc chức năng đƣợc yêu cầu. Một ca sử dụng thực tế đi xa hơn và mô tả một
bộ bƣớc cụ thể. Ví dụ, một ca sử dụng thiết yếu trong văn phòng nha sĩ có thể nói
rằng nhân viên tiếp tân nên cố gắng kết hợp thời gian hẹn mong muốn của bệnh
nhân với thời gian có sẵn, trong khi ca sử dụng thực tế có thể nói rằng nhân viên
tiếp tân nên tìm kiếm các ngày có sẵn trên lịch sử dụng MS Exchange để xác định
xem thời gian hẹn đã yêu cầu có sẵn hay không. Sự khác biệt chính là các ca sử
dụng thiết yếu đƣợc thực hiện độc lập, trong khi ca sử dụng tổng quát là mô tả chi
tiết về cách sử dụng hệ thống khi nó đƣợc thực hiện.Nhƣ vậy những ca sử dụng
thực tế thƣờng chỉ đƣợc sử dụng trong thiết kế, triển khai và thử nghiệm chi tiết.
Identify the Major Use Cases
Bốn bƣớc đầu tiên bằng văn bản sử dụng các ca xử lý xem xét lại sơ đồ hoạt
động, tìm ra ranh giới chủ đề, liệt kê các tác nhân chính và các báo cáo của họ , và
xác định và viết tổng quan các ca sử dụng chính dựa trên các kết quả này . Các cap
sử dụng này sẽ tạo thành cơ sở của các ca sử dụng đƣợc chứa trong sơ đồ cas-
use . Hãy dành vài phút và quay lại và xem lại các yêu cầu đƣợc xác định trong
Hình 4-15 và sơ đồ hoạt động vừa hoàn thành (xem Hình 5-14) để xác định ba đến
chín ca sử dụng chính trƣớc khi bạn tiếp tục đọc.
Để bắt đầu, dƣờng nhƣ ranh giới chủ đề phải đƣợc rút ra theo cách sao cho
bất cứ điều gì không thuộc Hệ thống bán hàng qua Internet của CD Selections,
chẳng hạn nhƣ các nhà cung cấp và khách hàng, phải đƣợc xác định là các tác nhân
chính. Do đó , chúng đƣợc coi là nằm ngoài phạm vi của hệ thống. Các bên liên
quan tiềm năng khác đƣợc yêu cầu có thể là hệ thống phân phối , quản lý tiếp thị
điện tử (EM) và các cửa hàng CD Selections hiện tại.
Sau khi xem xét lại Hình 4-15, có vẻ nhƣ hệ thống phân phối và các cửa
hàng lựa chọn CD hiện tại phải nằm ngoài phạm vi của Hệ thống bán hàng qua
Internet. Nhƣ vậy chúng cũng cần đƣợc xác định là các tác nhân chính. Cũng giống
nhƣ vậy, ngƣời quản lý EM nên đƣợc coi là một phần của Hệ thống Bán hàng
Internet và trƣớc tiên không nên đƣợc xác định là một diễn viên chính. Hãy nhớ
rằng các diễn viên chính chỉ là những ngƣời có thể đƣợc xem là nằm ngoài phạm vi
của hệ thống. Quyết định cho phép cô quản lý EM, CD Selections hiện tại hoặc hệ
thống phân phối là bên trong hay bên ngoài của hệ thống là một cái gì đó tùy
ý. Theo quan điểm của khách hàng, hệ thống phân phối và các cửa hàng Lựa
chọn CD hiện tại có thể đƣợc coi là bên trong hệ thống tổng thể và có thể lập
luận rằng ngƣời quản lý EM là hệ thống sử dụng chính của Internet Sales System.
Tại thời điểm này trong quá trình, điều quan trọng là phải đƣa ra quyết định
và tiếp tục. Trong quá trình viết các ca sử dụng, có các cơ hội để xem lại quyết
định này để xác định xem thiết lập của ca sử dụng đƣợc xác định là cần thiết và đủ
để mô tả các yêu cầu của hệ thống bán hàng Internet cho CD Selections. Nhƣ
bạn thấy dựa trên các phần trƣớc việc tìm ra các ranh giới của hệ thống và liệt kê
các tác nhân chính là liên quan chặt chẽ.
Dựa trên các yêu cầu về chức năng và biểu đồ tính hiệu quả, Alec và nhóm
của ông đã xác định bốn ca sử dụng chính: Duy trì thông tin CD, Duy trì Thông tin
về Việc Bán CD , đặt hàng, và Điền Đơn Đặt hàng. Bạn đã cân nhắc việc thêm
các đĩa CD mới vào cơ sở dữ liệu, xoá các thƣ mục cũ, và thay đổi thông tin về đĩa
CD nhƣ ba ca sử dụng riêng rẽ - thực tế là chúng. Ngoài ba tính năng này, chúng
tôi cũng cần có các ca sử dụng để tìm thông tin về đĩa CD và in các báo cáo về đĩa
CD. Tuy nhiên, mục tiêu của chúng tôi tại thời điểm này là để phát triển một bộ
nhỏ các ca sử dụng thiết yếu cho hệ thống bán hàng Internet. Các mô hình tƣơng tự
nên đƣợc hiển nhiên cho tiếp thị . Chúng tôi có các quy trình tƣơng tự để ghi các
tài liệu tiếp thị mới cho một đĩa CD, tạo ra nó, tái quảng cáo nó, cập nhật, xóa và in
nó. Những hoạt động này thƣờng đƣợc yêu cầu bất cứ lúc nào mà bạn có thông
tin để đƣợc lƣu trữ trong cơ sở dữ liệu.
Nhóm dự án tại CD Selections đã xác định đƣợc bốn ca sử dụng
chính. Tại thời điểm này trong quá trình, nhóm dự án đã bắt đầu viết các casử dụng
cho cả bốn. Hãy nhớ rằng một ca sử dụng tổng thể chỉ có năm phần thông tin: tên
ca sử dụng, số ID , diễn viên chính, loại và mô tả ngắn gọn. Tại thời điểm này
chúng tôi đã xác định đƣợc các tác nhân chính và đã liên kết chúng với bốn ca sử
dụng. Hơn nữa, bởi vì chúng ta chỉ mới bắt đầu quá trình phát triển, tất cả bốn ca
sử dụng sẽ đƣợc tổng quan và các loại thiết yếu. Bởi vì các số ID chỉ đơn giản
đƣợc sử dụng cho mục đích nhận dạng(nghĩa là chúng hoạt động nhƣ một khoá
trong cơ sở dữ liệu), các giá trị của chúng có thể đƣợc gán theo thứ tự . Điều này
để lại cho chúng tôi chỉ với hai mẩu thông tin cho mỗi ca sử dụng để viết. Tên ca
sử dụng phải là một hành động động từ-danh từ cụm từ kết hợp (ví dụ, Hãy bổ
nhiệm).
Trong CD Selections Internet Sales tình hình, Thông tin về CD Maint , Duy
trì Thông tin Tiếp thị CD , Đặt hàng, và Điền đầy đủ dƣờng nhƣ nắm bắt đƣợc bản
chất của từng ca sử dụng. Cuối cùng, một mô tả ngắn gọn đƣợc viết để mô tả mục
đích của ca sử dụng hoặc mục tiêu của tác nhân chính sử dụng ca sử dụng. Đoạn
văn này có thể từ một xu đến một tiểu luận ngắn. Ý tƣởng là để nắm bắt các vấn
đề chính trong ca sử dụng và làm cho chúng rõ ràng. (Xem Hình 5-15).
Bƣớc thứ năm là xem xét cẩn thận các ca sử dụng hiện tại . Dành ít phút để
xem lại các ca sử dụng và đảm bảo bạn hiểu chúng. Dựa vào bản mô tả của tất cả
bốn ca sử dụng, dƣờng nhƣ có một ca sử dụng bị thiếu rõ ràng: Main tain
Order. Bởi vì nhóm dự án không bao gồm ngôn ngữ trong mô tả ngắn gọn về ca sử
dụng, có vẻ nhƣ nhóm dự án tin rằng việc duy trì một đơn đặt hàng khác hẳn
với việc đặt một đơn đặt hàng mà nó cần phải có ca sử dụng riêng để mô tả
nó . Hơn nữa, có vẻ nhƣ không hợp lý là một khách hàng sẽ thấy việc đặt một đơn
đặt hàng và thực hiện lệnh nhƣ ca sử dụng tƣơng tự . Loại quá trình tƣơng tác và
gia tăng này tiếp tục cho đến khi nhóm dự án cảm thấy rằng họ đã xác định các ca
sử dụng chính cho Hệ thống Bán hàng Internet.
ELEMENTS OF A USER CASE DESCRIPTION (CÁC THÀNH
PHẦN CỦA MÔ TẢ CA SỬ DỤNG)
Mô tả ca sử dụng chứa tất cả thông tin cần thiết để xây dựng các biểu đồ tiếp theo,
nhƣng nó thể hiện thông tin một cách không chính thức mà thƣờng đơn giản hơn
cho ngƣời dùng hiểu. Hình 5-5 mô tả ca sử dụng mẫu. Mô tả ca sử dụng có ba phần
cơ bản: thông tin tổng quan, mối quan hệ, và luồng sự kiện.
Overview Information (thông tin tổng quan)
Thông tin tổng quan xác định ca sử dụng và cung cấp các thông tin nền cơ bản về
ca sử dụng. Tên ca sử dụng phải là một cụm từ động từ (ví dụ, Make
Appointment). Số ID ca sử dụng cung cấp một cách duy nhất để tìm mọi ca sử
dụng và cũng cho phép nhóm nghiên cứu để theo dõi các quyết định thiết kế trở lại
một yêu cầu cụ thể.Nhƣ đã nêu, loại ca sử dụng là tổng quan hoặc chi tiết và cần
thiết hoặc thực sự. actoris chính thƣờng là kích hoạt của ca sử dụng-ngƣời hoặc vật
mà bắt đầu thực hiện ca sử dụng. Mục đích chính của ca sử dụng là để đạt đƣợc
mục tiêu của ngƣời diễn viên chính. Mô tả ngắn gọn thƣờng là một câu mô tả bản
chất của ca sử dụng. Mức độ quan trọng có thể đƣợc sử dụng để ƣu tiên các ca sử
dụng. Nhƣ đƣợc mô tả trong Chƣơng 1, phát triển hƣớng đối tƣợng có xu hƣớng
tuân theo một phƣơng pháp tiếp cận phát triển theo từng giai đoạn, trong đó một số
phần của hệ thống đƣợc phát triển và các phần khác chỉ đƣợc phát triển trong phần
sau phiên bản. Mức độ quan trọng cho phép ngƣời dùng xác định ƣu tiên các chức
năng kinh doanh quan trọng nhất và cần phải là một phần của phiên bản đầu tiên
của hệ thống và ít quan trọng hơn và có thể đợi đến phiên bản sau nếu cần. Mức độ
quan trọng có thể sử dụng thang mờ, chẳng hạn nhƣ cao, trung bình và thấp (ví dụ
nhƣ trong hình 5-5 chúng tôi đã chỉ định mức độ quan trọng cao đối với ca sử dụng
cuộc hẹn). Nó cũng có thể đƣợc thực hiện chính thức hơn bằng cách sử dụng một
trọng số trung bình của một bộ tiêu chí. Ví dụ: Larman17 đề xuất đánh giá từng ca
sử dụng đối với các tiêu chí sau bằng cách sử dụng thang từ 0 đến 5:
■ Ca sử dụng đại diện cho một quá trình kinh doanh quan trọng.
■ Ca sử dụng hỗ trợ doanh thu hoặc giảm chi phí.
■ Công nghệ cần thiết để hỗ trợ ca sử dụng là mới hoặc có nguy cơ và do đó sẽ
đòi hỏi nghiên cứu đáng kể.
■ Chức năng mô tả trong ca sử dụng là phức tạp, nguy hiểm, và hoặc thời gian
quan trọng. Tùy thuộc vào sự phức tạp của từng ca sử dụng, có thể hữu ích khi xem
xét việc chia tách việc thực hiện của nó qua nhiều phiên bản khác nhau.
■ Ca sử dụng có thể làm tăng sự hiểu biết về thiết kế phát triển liên quan đến nỗ
lực chi tiêu.
Ca sử dụng có thể có nhiều bên liên quan có quan tâm đến ca sử dụng. Nhƣ vậy,
mỗi ca sử dụng liệt kê từng bên liên quan với lợi ích của mỗi ngƣời trong ca sử
dụng (ví dụ: Bệnh nhân và Bác sĩ) Danh sách các bên liên quan luôn bao gồm diễn
viên chính (ví dụ bệnh nhân). Mỗi ca sử dụng thƣờng có một trình kích hoạt-sự
kiện gây ra ca sử dụng để bắt đầu (ví dụ: Các cuộc gọi của Bệnh nhân và yêu cầu
một cuộc hẹn mới hoặc yêu cầu hủy hoặc thay đổi cuộc hẹn hiện tại). Một kích
hoạt có thể là một kích hoạt bên ngoài, chẳng hạn nhƣ một khách hàng đặt hàng
hoặc báo thức chuông báo động, hoặc nó có thể là một kích hoạt thời gian, chẳng
hạn nhƣ một cuốn sách đang quá hạn tại thƣ viện hoặc nhu cầu phải trả tiền thuê.
Relationships (các mối quan hệ)
Các mối quan hệ sử dụng mối quan hệ giải thích ca sử dụng có liên quan nhƣ thế
nào với ca sử dụng khác và ngƣời dùng. Có bốn loại mối quan hệ cơ bản: liên kết,
mở rộng, bao gồm và khái quát hóa. Một mối quan hệ liên kết tài liệu truyền thông
diễn ra giữa ca sử dụng và các diễn viên sử dụng ca sử dụng. Một diễn viên là đại
diện UML cho vai trò mà ngƣời dùng sử dụng trong ca sử dụng.Ví dụ, trong hình
5-5, ca sử dụng Appointment MakeUp đƣợc liên kết với Bệnh nhân diễn viên.
Trong trƣờng hợp này bệnh nhân sẽ hẹn. Tất cả các bên liên quan đến ca sử dụng
đƣợc ghi lại bằng mối quan hệ liên kết. Một mối quan hệ mở rộng đại diện cho
việc mở rộng chức năng của ca sử dụng để kết hợp hành vi tùy chọn. Trong hình 5-
5, ca sử dụng Appointment sử dụng điều kiện sử dụng ca Create New Patient. Ca
sử dụng này chỉ đƣợc thực hiện nếu bệnh nhân không tồn tại trong cơ sở dữ liệu
bệnh nhân. Nhƣ vậy, nó không phải là một phần của luồng thông thƣờng của các
sự kiện và nên đƣợc mô hình hoá với một mối quan hệ mở rộng và luồng luân
phiên đặc biệt. Một mối quan hệ bao gồm đại diện của sự bao gồm bắt buộc của
một ca sử dụng khác. Quan hệ bao gồm cho phép phân hủy chức năng - việc phá
vỡ một ca sử dụng phức tạp thành một số ví dụ đơn giản hơn.Ví dụ, trong hình 5-5,
ca sử dụng Sự thanh toán đã đƣợc coi là phức tạp và đầy đủ để đƣợc đƣa ra nhƣ là
một riêng biệt ca sử dụng có thể đƣợc thực hiện bởi ca Đặt hẹn Bổ nhiệm. Mối
quan hệ bao gồm cũng cho phép các phần của ca sử dụng đƣợc sử dụng lại bằng
cách tạo ra chúng nhƣ các ca sử dụng riêng biệt. Mối quan hệ tổng quát cho phép
các ca sử dụng để hỗ trợ thừa kế. Ví dụ, ca sử dụng trong Hình 5-5 có thể đƣợc
thay đổi để một bệnh nhân mới có thể đƣợc kết hợp với một ca sử dụng chuyên
biệt gọi là Make New Patient Appointment và một bệnh nhân cũ có thể đƣợc kết
hợp với một buổi hẹn Make Old Patient. Hành vi phổ biến hoặc tổng quát mà cả
việc Đặt ngƣời bệnh mới Bổ nhiệm và Đặt các ca bệnh sử dụng Nỗi Lớn dành cho
Bệnh nhân Lớn sẽ đƣợc đƣa vào trong ca sử dụng Hẹn hẹn tổng quát - ví dụ nhƣ
mối liên hệ bao gồm trong ca sử dụng Sự sắp xếp Thanh toán. Nói cách khác, việc
Đặt ngƣời bệnh mới Bổ nhiệm và Đặt các Bệnh nhân Ứng dụng hẹn tuổi già sẽ kế
thừa việc sử dụng các ca sử dụng Hợp đồng trong ca sử dụng Hẹn giờ hẹn. Hành vi
chuyên biệt sẽ đƣợc đặt trong ca sử dụng chuyên biệt thích hợp. Ví dụ, mối liên hệ
kéo dài với ca sử dụng Bệnh nhân Tạo mới sẽ đƣợc đặt trong ca sử dụng Cẩm nang
Dành cho Bệnh nhân Đặt biệt mới là ca sử dụng hợp nhất.
Flow of Events (Luồng sự kiện)
Cuối cùng, các bƣớc riêng lẻ trong quy trình kinh doanh đƣợc mô tả. Có ba loại
bƣớc khác nhau, hoặc các sự kiện của sự kiện có thể đƣợc ghi lại: luồng thông
thƣờng của các sự kiện, các luồng phụ và luân phiên hoặc khác thƣờng, luồng:
1. Các sự kiện bình thƣờng của các sự kiện chỉ bao gồm các bƣớc đƣợc thực hiện
bình thƣờng trong một ca sử dụng. Các bƣớc đƣợc liệt kê theo thứ tự chúng đƣợc
thực hiện. Trong hình 5-5, bệnh nhân và nhân viên tiếp tân có một cuộc trò chuyện
về bệnh nhân tên, địa chỉ và hành động cần thực hiện.
2. Trong một số trƣờng hợp, luồng thông thƣờng của các sự kiện nên đƣợc phân
hủy thành một tập hợp các dòng nhỏ để giữ sự lƣu thông bình thƣờng của sự kiện
càng đơn giản càng tốt. Trong hình 5-5, chúng ta đã xác định đƣợc ba phụ: Bổ
nhiệm, Hủy bổ nhiệm, và Thay đổi Bổ nhiệm. Mỗi bƣớc của tiểu phụ đƣợc liệt kê.
Các tiểu phụ này dựa trên logic luồng điều khiển trong biểu đồ hoạt động của quá
trình kinh doanh (xem hình 5-2). Thay vào đó, chúng ta có thể thay thế một
subflow bằng một ca sử dụng riêng biệt có thể đƣợc kết hợp thông qua các mối
quan hệ bao gồm thảo luận). Tuy nhiên, điều này nên đƣợc thực hiện chỉ khi ca sử
dụng vừa đƣợc tạo ra có ý nghĩa của chính nó. Ví dụ, trong hình 5-5, nó có ý nghĩa
để đƣa ra một ca Tạo Nổi mới, Hủy bổ nhiệm, và / hoặc Thay đổi Sự bổ nhiệm?
Nếu có, thì (các) tiểu dự án nên đƣợc thay thế bằng một cuộc gọi đến ca sử dụng có
liên quan, và ca sử dụng phải đƣợc thêm vào danh sách mối quan hệ bao gồm.
3. Các luồng luân phiên hoặc đặc biệt là những vấn đề xảy ra nhƣng không đƣợc
xem là tiêu chuẩn. Những điều này phải đƣợc ghi lại. Ví dụ, trong hình 5-5, chúng
ta đã xác định đƣợc bốn luồng thay thế hoặc đặc biệt. Đầu tiên chỉ đơn giản là giải
quyết nhu cầu tạo ra một bệnh nhân mới trƣớc khi bệnh nhân mới có thể hẹn.
Thông thƣờng, bệnh nhân đã có trong cơ sở dữ liệu bệnh nhân. Giống nhƣ các tiểu
phụ, mục đích chính của việc tách biệt các luồng luân phiên hoặc đặc biệt là giữ
cho các sự kiện bình thƣờng trở nên đơn giản nhất có thể. Một lần nữa, nhƣ với các
hiệu ứng phụ, thay thế các luồng luân phiên hoặc đặc biệt với các ca sử dụng riêng
biệt có thể đƣợc tích hợp qua mở rộng mối quan hệ (xem thảo luận trƣớc đó).
Khi nào các sự kiện nên đƣợc đƣa ra từ luồng các sự kiện rơi vào các luồng lũ hoặc
luồng lũ và / hoặc những luồng luân phiên hoặc đặc biệt đƣợc đƣa ra trong các ca
sử dụng riêng? Hoặc, khi mọi việc nên đơn giản chỉ để lại một mình? Các tiêu chí
chính cần dựa trên mức độ phức tạp mà ca sử dụng đòi hỏi. Việc khó hiểu hơn về
ca sử dụng, các sự kiện có thể xảy ra nhiều hơn trong các tiểu phụ, hoặc các luồng
phụ và luồng luân phiên hoặc đặc biệt nên đƣợc đƣa ra trong các ca sử dụng riêng
biệt đƣợc gọi là ca sử dụng hiện tại.Điều này, tất nhiên, sẽ tạo ra các ca sử dụng
nhiều hơn.Vì vậy, các ca sử dụng sơ đồ (xem các cuộc thảo luận sau đây) sẽ trở
nên lộn xộn hơn.Xin thực tế nói, chúng ta phải quyết định có ý nghĩa hơn. Điều
này sẽ khác nhau rất nhiều, tùy thuộc vào vấn đề và khách hàng. Hãy nhớ rằng,
chúng tôi đang cố gắng đại diện, càng đầy đủ và súc tích càng tốt, sự hiểu biết của
chúng tôi về các quy trình kinh doanh mà chúng tôi đang điều tra để khách hàng có
thể xác nhận các yêu cầu mà chúng tôi đang làm mẫu. Vì vậy, thực sự không có
câu trả lời đúng duy nhất. Nó thực sự phụ thuộc vào nhà phân tích, khách hàng và
vấn đề.
Optional Characteristics (các tính năng tùy chọn)
Có các đặc điểm khác của ca sử dụng có thể đƣợc ghi lại. Bao gồm mức độ phức
tạp của ca sử dụng, khoảng thời gian ƣớc tính để thực hiện ca sử dụng, hệ thống sử
dụng ca liên quan, dữ liệu cụ thể chảy giữa các diễn viên chính và ca sử dụng, bất
kỳ thuộc tính cụ thể, hạn chế hoặc hoạt động liên quan đến ca sử dụng, bất kỳ điều
kiện tiên quyết nào cần phải đáp ứng cho ca sử dụng để thực hiện hoặc bất kỳ bảo
đảm nào có thể đƣợc thực hiện dựa trên việc thực hiện ca sử dụng.Nhƣ chúng tôi
đã lƣu ý ở phần đầu của phần này, là không có bộ tiêu chuẩn các đặc tính của một
ca sử dụng phải đƣợc bắt. Trong cuốn sách này, chúng tôi khuyên các thông tin
trong hình 5-5 là số tiền tối thiểu phải đƣợc thu thập.
GUILINES FOR CREATING CA SỬ DỤNG
(Hƣớng dẫn tạo mô tả Use-Case)
Bản chất của một Ca sử dụnglà sự lƣu chuyển của các sự kiện. Phát hiện dòng chảy của
các sự kiện theo cách có ích cho các giai đoạn phát triển sau cùng nói chung đi kèm với
kinh nghiệm. Hình 5-6 cung cấp một bộ các hƣớng dẫn đã đƣợc chứng minh là hữu ích
(18) Các nguyên tắc này dựa trên Cockburn, Viết Các Ca sử dụng Hiệu quả, và Graham,
Di chuyển tới Công nghệ Đối tƣợng.
1. Viết mỗi tập trong các hình thức đối tƣợng-động từ-trực tiếp đối tƣợng (và đôi khi giới từ-
đối tƣợng gián tiếp).
2. Hãy chắc chắn rằng rõ ràng là ngƣời khởi xƣớng của bƣớc này.
3. Viết các bƣớc từ quan điểm của ngƣời quan sát độc lập.
4. Viết từng bƣớc ở mức độ trừu tƣợng nhƣ nhau.
5. Đảm bảo ca sử dụng có một bộ các bƣớc hợp lý.
6. Áp dụng nguyên tắc KISS một cách tự do.
7. Viết các hƣớng dẫn lặp đi lặp lại sau khi thiết lập các bƣớc đƣợc lặp lại.
Hình 5-6:
Trƣớc tiên, hãy viết từng bƣớc riêng lẻ trong đối tƣợng-động từ trực tiếp-đối tƣợng
và, tùy ý, đối tƣợng giới từ-đối tƣợng. Mẫu này đã trở thành đƣợc gọi là các câu SVDPI.
Hình thức này đã đƣợc chứng minh là hữu ích trong việc xác định các lớp học và các hoạt
động (xem Chƣơng 6). Ví dụ, trong hình 5-5, bƣớc đầu tiên trong dòng chảy bình thƣờng
của sự kiện, Bệnh nhân liên hệ với văn phòng về một cuộc hẹn, cho thấy khả năng của ba
loại đối tƣợng: Bệnh nhân, Văn phòng, và Bổ nhiệm. Cách tiếp cận này đơn giản hoá quá
trình xác định các lớp trong mô hình cấu trúc (mô tả trong Chƣơng 6). Không thể sử dụng
câu SVDPI cho tất cả các bƣớc nhƣng chúng nên đƣợc sử dụng bất cứ khi nào có thể.
Thứ hai, làm rõ ai là ngƣời khởi xƣớng hành động và ai là ngƣời tiếp nhận hành
động trong từng bƣớc. Thông thƣờng ngƣời khởi xƣớng phải là đối tƣợng của câu và
ngƣời nhận phải là đối tƣợng trực tiếp của câu. Ví dụ, trong hình 5-5, bƣớc thứ hai, bệnh
nhân cung cấp cho Ngƣời tiếp tân tên họ và địa chỉ của họ, rõ ràng miêu tả Bệnh nhân là
ngƣời khởi xƣớng và Tiếp tân làm ngƣời nhận.
Thứ ba, hãy viết một bƣớc từ quan điểm của một ngƣời quan sát độc lập. Để thực
hiện việc này, mỗi bƣớc có thể phải đƣợc viết trƣớc tiên từ quan điểm của ngƣời khởi tạo
và ngƣời nhận. Dựa trên hai quan điểm, phiên bản xem mắt của chim có thể đƣợc viết ra.
Ví dụ, trong Hình 5-5, Bệnh nhân cung cấp Ngƣời tiếp tân với tên và địa chỉ của họ,
không phải quan điểm của bệnh nhân cũng nhƣ ngƣời tiếp tân.
Thứ tƣ, viết từng bƣớc ở cùng mức trừu tƣợng. Mỗi bƣớc cần làm cho cùng một
lƣợng tiến bộ về hƣớng hoàn thành ca sử dụng nhƣ từng bƣớc khác. Đối với các ca sử
dụng ở cấp cao, tiến độ có thể là rất lớn, trong khi ca sử dụng mức thấp, mỗi bƣớc có thể
chỉ là tiến bộ gia tăng. Ví dụ, trong hình 5-5, mỗi bƣớc đại diện cho cùng một lƣợng nỗ
lực để hoàn thành.
Thứ năm, đảm bảo rằng ca sử dụng có một bộ hành động hợp lý. Mỗi ca sử dụng
phải đại diện cho một giao dịch. Do đó, mỗi ca sử dụng phải bao gồm bốn phần:
1. Tác nhân chính bắt đầu thực hiện ca sử dụng bằng cách gửi yêu cầu (và có thể
dữ liệu) tới hệ thống.
2. Hệ thống đảm bảo rằng yêu cầu (và dữ liệu) là hợp lệ.
3. Hệ thống xử lý yêu cầu (và dữ liệu) và có thể thay đổi trạng thái nội bộ của
chính nó.
4. Hệ thống sẽ gửi diễn viên chính kết quả xử lý.
Ví dụ, trong hình 5-5, (1) bệnh nhân yêu cầu một cuộc hẹn (bƣớc 1 và 2), (2) nhân
viên tiếp tân quyết định xem bệnh nhân có trong cơ sở dữ liệu (bƣớc 3) hay không, (3)
nhân viên lễ tân thiết lập giao dịch hẹn khám (bƣớc 4 và 5) và (4) nhân viên lễ tân đƣa ra
thời gian và ngày hẹn bệnh nhân (bƣớc 6).
Hƣớng dẫn thứ sáu là nguyên tắc KISS. Nếu ca sử dụng trở nên quá phức tạp và /
hoặc quá dài, ca sử dụng sẽ bị phân hủy thành một tập hợp các ca sử dụng. Hơn nữa, nếu
dòng chảy bình thƣờng của sự kiện trong ca sử dụng trở nên quá phức tạp, nên sử dụng
các dòng nhỏ hơn. Ví dụ, trong hình 5-5, bƣớc thứ năm trong dòng chảy bình thƣờng của
các sự kiện là đủ phức tạp để phân hủy nó thành ba dòng chảy riêng biệt. Tuy nhiên, nhƣ
đã nêu ở trên, cần phải cẩn thận để tránh khả năng phân huỷ quá nhiều. Hầu hết việc phân
hủy phải đƣợc thực hiện với các lớp (xem Chƣơng 6).
Hƣớng dẫn thứ bảy đề cập đến các bƣớc lặp đi lặp lại.Nói chung, trong một ngôn
ngữ lập trình nhƣ Visual Basic hoặc C, chúng ta đặt định nghĩa vòng lặp và các điều
khiển ở đầu vòng lặp. Tuy nhiên, vì các bƣớc đƣợc viết bằng tiếng Anh đơn giản, tốt hơn
là chỉ cần viết Lặp lại các bƣớc từ A đến E cho đến khi một số điều kiện đƣợc đáp ứng
sau bƣớc E. Nó làm cho ca sử dụng dễ đọc hơn cho những ngƣời không quen với lập
trình.
BUSINESS PROCESS MODELING WITH ACTIVITY DIAGRAMS -
Mô hình hóa quy trình nghiệp vụ với biểu đồ hoạt động
Dựa trên các yêu cầu về chức năng đƣợc xác định cho Hệ thống Bán hàng qua
Internet, Alec và nhóm của ông đã quyết định rằng có ít nhất bốn hoạt động cấp
cao cần đƣợc giải quyết: Đặt Đơn đặt hàng CD, Duy trì Thông tin về CD, Duy trì
Thông tin Tiếp thị CD, và Điền Đơn Mail . Là một bƣớc đầu tiên hƣớng tới việc
phát triển một mô hình chức năng về các yêu cầu chức năng, Alec đã quyết định
mô hình hóa dòng chảy tổng thể của việc thực hiện các quy trình kinh doanh nhƣ là
một sơ đồ hoạt động. Sau khi xem xét kỹ lƣỡng các yêu cầu Đặt CD tại nhà, nhóm
đã xác định đƣợc quyết định và hai hoạt động bổ sung: Đặt Đặt InStore và Đặt
Đơn đặt hàng Đặc biệt. Các hoạt động này dựa trên các yêu cầu đƣợc trình bày ở
điểm 3.5 của Hình 4-15. Hơn nữa, nhóm nghiên cứu nhận thấy có vẻ nhƣ có ba
cách thực thi đồng thời riêng biệt ngụ ý trong yêu cầu. Con đƣờng thứ nhất xử lý
đơn đặt hàng, phần thứ hai đề cập đến việc duy trì thông tin tiếp thị, và thứ ba tập
trung vào việc duy trì thông tin về đĩa CD. Dựa trên những hiểu biết mới này, Alec
và nhóm của ông đã vẽ sơ đồ hoạt động cho hệ thống Bán hàng Internet thể hiện
trong hình 5-14.
EXPANDING THE MAJOR USES CASES
Bƣớc thứ 6 là chọn một trong số những ca sử dụng chính để mở rộng. Sử dụng các
mức độ quan trọng của ca sử dụng có thể giúp thực hiện việc này. Ví dụ trong hình
5.5, Ca sử dụng Appointment có mức độ quan trọng cao. Nhƣ vậy, nó phải là một
trong những Ca sử dụng đầu tiên đƣợc mở rộng. Các tiêu chí đƣợc đề xuất bởi
Larman23
cũng có thể đƣợc sử dụng để đặt ƣu tiên các ca sử dụng, nhƣ đã nói ở
trên.
Điều quan trọng là phải nhớ rằng Ca sử dụngđƣợc sử dụng cho cả as-is và to-be mô
hình hành vi. As-is Ca sử dụngtập trung vào hệ thống hiện tại, trong khi các to-be
Ca sử dụngtập trung vào hệ thống mới mong muốn. Hai cách phổ biến nhất để thu
thập thông tin cho các Ca sử dụnglà thông qua các cuộc phỏng vấn và các hội thảo
JAD (đôi khi quan sát cũng đƣợc sử dụng cho các mô hình as-is). Nhƣ đã thảo luận
trong Chƣơng 4, những kỹ thuật này đều có lợi thế và bất lợi.
Bất kể có sử dụng các cuộc phỏng vấn hoặc các cuộc hội thảo JAD, nghiên cứu
gần đây cho thấy một số cách để thu thập thông tin cho các Ca sử dụngsử dụng tốt
hơn những cách khác. Quy trình hiệu quả nhất bao gồm việc sử dụng mƣời ba
bƣớc để tạo mô tả Ca sử dụng và bốn bƣớc bổ sung để tạo sơ đồ Ca sử dụng(xem
Hình 5-11). Mƣời ba bƣớc này đƣợc thực hiện theo thứ tự, nhƣng dĩ nhiên các nhà
phân tích thƣờng xoay vòng trong số đó một cách lặp đi lặp lại khi họ chuyển từ
Ca sử dụngsang Use-case.
Xác định các Ca sử dụngchính
1. Xem lại sơ đồ hoạt động.
2. Tìm ranh giới của chủ đề.
3. Xác định các tác nhân chính và mục đích của chúng.
4. Xác định và viết các bản tổng quát của các Ca sử dụngchính cho các bên trên.
5. Cẩn thận xem xét các Ca sử dụnghiện tại. Sửa lại nếu cần.
Mở rộng các Ca sử dụngchính
6. Chọn một trong các Ca sử dụngđể mở rộng.
7. Bắt đầu điền vào các chi tiết của Ca sử dụngđã chọn.
8. Viết dòng chảy bình thƣờng của các sự kiện của Use-case
9. Nếu dòng chảy bình thƣờng của sự kiện là quá phức tạp hoặc lâu dài, phân hủy thành các
dòng phụ.
10. Liệt kê các dòng chảy thay thế hoặc ngoại lệ có thể xảy ra.
11. Đối với mỗi luồng luân phiên hoặc ngoại lệ, hãy liệt kê actor và / hoặc hệ thống phản
ứng.
Xác nhận các Ca sử dụng
12. Cẩn thận xem xét các Ca sử dụnghiện tại. Sửa lại nếu cần.
13. Bắt đầu lại từ đầu.
Tạo sơ đồ Use-Cases
1. Vẽ ranh giới chủ đề.
2. Đặt các Ca sử dụngtrên biểu đồ.
3. Đặt các actor trên sơ đồ.
4. Vẽ các liên kết.
Xác nhận các ca sử dụng chính
Bƣớc thứ mƣời hai là xem xét cẩn thận các ca sử dụng hiện tại và xác minh rằng ca
sử dụng là đúng nhƣ đã viết, nghĩa là xem xét ca sử dụng với ngƣời dùng để đảm
bảo từng bƣớc là chính xác. Đánh giá nên tìm kiếm các cơ hội để đơn giản hóa ca
sử dụng bằng cách phân chia nó thành một tập hợp các ca sử dụng nhỏ hơn, hợp
nhất nó với những ngƣời khác, tìm kiếm các khía cạnh chung trong cả ngữ nghĩa
và cú pháp của các ca sử dụng, và xác định ca sử dụng mới. Đây cũng là thời gian
để xem xét thêm các bao gồm, mở rộng, hoặc mối quan hệ tổng quát giữa các ca sử
dụng. Cách mạnh mẽ nhất để xác định ca sử dụng là yêu cầu ngƣời dùng đóng vai
trò, hoặc thực hiện quá trình sử dụng các bƣớc viết trong ca sử dụng. Nhà phân tích
sẽ đƣa cho ngƣời sử dụng các mảnh giấy đƣợc dán nhãn là đầu vào chính cho ca sử
dụng và sẽ có ngƣời sử dụng thực hiện theo các bƣớc viết nhƣ một công thức để
đảm bảo rằng các bƣớc đó thực sự có thể tạo ra các đầu ra đƣợc xác định cho ca sử
dụng các đầu vào của nó.
Bƣớc thứ mƣời ba và cuối cùng là lặp lại toàn bộ các bƣớc một lần nữa. Ngƣời
dùng thƣờng thay đổi suy nghĩ của họ về ca sử dụng là gì và những gì nó bao gồm.
Nó rất dễ bị mắc kẹt trong các chi tiết vào thời điểm này, vì vậy hãy nhớ rằng mục
tiêu là chỉ cần giải quyết các ca sử dụng chính. Do đó, nhà phân tích nên tiếp tục
lặp lại các bƣớc này cho đến khi họ và những ngƣời dùng tin rằng một số ca sử
dụng hợp lý đã đƣợc ghi lại để bắt đầu xác định các lớp ứng viên cho mô hình cấu
trúc (xem Chƣơng 6). Khi các lớp ứng cử viên đƣợc xác định, rất có thể là các ca
sử dụng bổ sung sẽ đƣợc phát hiện. Hãy nhớ rằng, hƣớng đối tƣợng phát triển hệ
thống là cả lặp và gia tăng. Nhƣ vậy, đừng lo lắng về việc xác định mỗi và mọi ca
sử dụng có thể vào thời điểm này trong sự phát triển của hệ thống.
Khi tất cả các ca sử dụng đã đƣợc xác định, bƣớc cuối cùng trong phiên họp của
JAD là xác minh rằng chúng là chính xác. Nhóm dự án đã có vai trò ngƣời sử
dụng-chơi các ca sử dụng một lần nữa. Một vài vấn đề nhỏ đƣợc phát hiện và đã
đƣợc fi xed. Tuy nhiên, một vấn đề lớn đã đƣợc phát hiện: làm thế nào là một
khách hàng mới đƣợc tạo ra? Điều này đã đƣợc giải quyết một cách dễ dàng bằng
cách tạo ra một ca sử dụng mới: Tạo Khách hàng Mới. Ca sử dụng mới đã đƣợc
thêm vào nhƣ một phần mở rộng cho ca sử dụng Checkout. Hình 5-18 minh hoạ
các ca sử dụng đã sửa đổi. Tại thời điểm này, quá trình phát triển ứng dụng thực sự
có thể bắt đầu lại từ đầu, hoặc chúng ta có thể tiếp tục vẽ sơ đồ ca sử dụng.
Tạo Sơ đồ Ca sử dụng
Bởi vì sơ đồ ca sử dụng chỉ cung cấp tổng quan về các ca sử dụng chi tiết, nhóm
nghiên cứu thấy rằng việc tạo ra sơ đồ ca sử dụng từ các mô tả ca sử dụng chi tiết
rất dễ dàng. (Lƣu ý: Hãy nhớ rằng sơ đồ ca sử dụng chỉ hiển thị ranh giới chủ thể,
các ca sử dụng, các diễn viên và các mối liên kết khác nhau giữa các thành phần
này.) Nhóm nghiên cứu đã tính đến bốn bƣớc chính để vẽ biểu đồ ca sử dụng trong
Hình 5-11.
Trƣớc tiên, họ đặt một hộp vào biểu đồ ca sử dụng để đại diện cho Hệ thống Bán
hàng Internet và đặt tên hệ thống ở đầu hộp. Thứ hai, họ thêm ca sử dụng vào sơ
đồ. Thứ ba, họ đặt các diễn viên gần các ca sử dụng mà họ đã liên kết. Thứ tƣ, họ
rút ra trong hiệp hội kết nối các diễn viên với các ca sử dụng tƣơng ứng. Hình 5-19
miêu tả sơ đồ ca sử dụng mà nhóm tạo ra.
Tinh chỉnh quy mô dự án và ước tính nỗ lực sử dụng các điểm sử dụng
Bây giờ khía cạnh mô hình chức năng của nỗ lực phát triển hệ thống đã đƣợc hoàn
thành, Alec và nhóm của ông đã quyết định rằng họ cần phải tinh chỉnh việc ƣớc
tính kích cỡ và nỗ lực để xây dựng hệ thống. Dựa trên các ca sử dụng đã hoàn
thành (xem Hình 5-18) và sơ đồ ca sử dụng (xem Hình 5-19) và sử dụng mẫu điểm
sử dụng (xem hình 5-13), Alec có thể sử dụng ca sử dụng nhƣ là cơ sở cho dự toán
thay vì sử dụng điểm ƣớc lƣợng điểm hoạt động mà ông đã làm trƣớc đó (xem
Hình 3-21).
Thứ nhất, Alec phải phân loại từng diễn viên và sử dụng ca là đơn giản, trung bình,
hoặc phức tạp. Trong ca của các diễn viên, Gạch và kho vữa và Hệ thống phân
phối đã có một API đƣợc xác định rõ. Nhƣ vậy chúng đƣợc phân loại là các diễn
viên đơn giản. Trung tâm Thẻ Tín dụng đƣợc coi là trung bình, trong khi đó các
nhà cung cấp và các nhân viên khách hàng đƣợc phân loại là phức tạp. Điều này đã
cho một trọng số của nam diễn viên chƣa đƣợc điều chỉnh là 10. (Xem Hình 5-20.)
Thứ hai, Alec phân loại mỗi ca sử dụng dựa trên số lƣợng giao dịch duy nhất mà
mỗi ngƣời phải xử lý. Trong ca này, có ba ca sử dụng đơn giản (Place InStore
Hold, đặt hàng đặc biệt và điền đơn hàng), một ca sử dụng trung bình (Tạo khách
hàng mới) và năm ca sử dụng phức tạp (đặt hàng, thanh toán, duy trì đơn hàng, duy
trì CD Informent, và Duy trì Thông tin Tiếp thị CD). Dựa vào đó, tổng trọng lƣợng
ca sử dụng không đƣợc điều chỉnh đã đƣợc tính là 100 (xem Hình 5-20).
Thứ ba, Alec tính giá trị 110 cho các điểm ca sử dụng không đƣợc điều chỉnh.
Thứ tƣ, ông đánh giá từng yếu tố phức tạp về kỹ thuật, đánh giá từng yếu tố môi
trƣờng, và com đƣa ra các giá trị cho TCF và EF (xem Hình 5-20).
Thứ năm, sử dụng điểm ca sử dụng không đƣợc điều chỉnh và giá trị TCF và EF,
Alec tính giá trị là 134.992 cho điểm sử dụng điều chỉnh.
Thứ sáu, dựa trên nguyên tắc quyết định để xác định liệu có nên sử dụng 20 hoặc
28 làm giá trị cho nhân số giờ của con ngƣời, Alec nhận ra rằng anh ta nên sử dụng
28. Do đó, Alec ƣớc tính nỗ lực còn lại cho dự án là 3,779.776 ngƣời-giờ. Chuyển
đổi ngƣời-giờ cho ngƣời-tháng (3.779.776/160) và sử dụng phƣơng trình thời gian
dự tính mà ông đã đƣợc sử dụng trong ƣớc tính trƣớc đó, 3.0 * person-months1 / 3
(xem Hình 3-21), Alec ƣớc tính rằng lịch trình sẽ vẫn thấp hơn 10 tháng (8,6
tháng) mà ông ta ƣớc tính ban đầu. Tuy nhiên, nếu anh ta không đƣa ra ƣớc tính,
anh ta nhận ra rằng anh ta đã phải thay đổi đáng kể đến lịch trình hiện tại. Điều này
có thể làm cho dự án rơi vào tình trạng nguy hiểm vì không đƣợc hoàn thành đúng
thời hạn. Mặc dù hiện tại anh ta cho rằng anh ta khá thông minh trong việc đƣa ra
ƣớc tính, nhƣng anh ta nhận ra rằng bảng 2.5 tháng của anh ta đã giảm xuống còn
1.4 tháng và thậm chí anh ta thậm chí không phân tích các mô hình phân tích. Nhƣ
vậy, Alec nhận ra rằng để ngăn ngừa bất kỳ sự chậm trễ nào trong kế hoạch, anh ta
phải quản lý cẩn thận đội.
Actors (Tác nhân)
Các thanh dán nhãn trên biểu đồ thể hiện các tác nhân (xem hình 5-7). Một tác
nhân không phải là ngƣời dùng cụ thể, mà là một vai trò mà ngƣời dùng có thể
chơi trong khi tƣơng tác với hệ thống. Một tác nhân cũng có thể đại diện cho một
hệ thống khác trong đó hệ thống hiện tại tƣơng tác. Trong trƣờng hợp này, tác nhân
có thể đƣợc đại diện bởi một hình chữ nhật chứa << actor >> và tên của hệ thống.
Về cơ bản, các tác nhân đại diện cho các yếu tố chính trong môi trƣờng mà hệ
thống hoạt động. Các tác nhân có thể cung cấp đầu vào cho hệ thống, nhận đầu ra
từ hệ thống, hoặc cả hai. Sơ đồ trong Hình 5-8 cho thấy ba tác nhân sẽ tƣơng tác
với hệ thống bổ nhiệm (bệnh nhân, bác sĩ, và quản lý).
Hình 5 -7 : Cách sử dụng sơ đồ trƣờng hợp
Đôi khi một tác nhân đóng một vai trò đặc biệt của một loại hình tác nhân tổng
quát hơn. Ví dụ, có thể có những lần khi một bệnh nhân mới tƣơng tác với hệ
thống theo một cách hơi khác so với bệnh nhân nói chung. Trong trƣờng hợp này,
một tác nhân chuyên nghiệp (tức là bệnh nhân mới) có thể đƣợc đặt trên mô hình,
đƣợc hiển thị bằng một đƣờng thẳng với một tam giác rỗng ở cuối của một tác
nhân tổng quát hơn (tức là bệnh nhân). Nam tác nhân chuyên nghiệp sẽ thừa hƣởng
hành vi của một tác nhân tổng quát hơn và mở rộng nó theo cách nào đó (xem hình
5-9). Bạn có thể nghĩ ra một số cách mà bệnh nhân mới có thể hành xử khác với
bệnh nhân hiện tại?
Hình 5-8: Biểu đồ sử dụng-trƣờng hợp cho hệ thống bổ nhiệm
Association (Hiệp hội)
Các trƣờng hợp sử dụng đƣợc kết nối với các tác nhân thông qua các mối quan hệ
liên kết; những mối quan hệ này thể hiện những trƣờng hợp sử dụng mà các tác
nhân tƣơng tác (xem hình 5-7). Một đƣờng vẽ từ một tác nhân đến một trƣờng hợp
sử dụng mô tả một hiệp hội. Hiệp hội thƣờng đại diện cho giao tiếp hai chiều giữa
trƣờng hợp sử dụng và tác nhân. Nếu truyền thông chỉ là một chiều, thì một mũi
tên cố định có thể đƣợc sử dụng để chỉ định hƣớng dòng thông tin. Ví dụ, trong
hình 5-8, tác nhân bệnh nhân truyền thông với trƣờng hợp sử dụng cuộc hẹn. Bởi
vì không có mũi tên trên liên kết, giao tiếp là hai chiều. Cuối cùng, có thể đại diện
cho tính đa dạng của hiệp hội. Hình 5-8 hiển thị dấu hoa thị (*) ở cuối của mối liên
hệ giữa trƣờng hợp sử dụng Bệnh nhân và Thực hiện bổ nhiệm. Điều này chỉ đơn
giản chỉ ra rằng một bệnh nhân riêng lẻ (ví dụ của Ngƣời bệnh) thực hiện trƣờng
hợp Đặt hẹn Bổ nhiệm nhiều lần nhƣ anh ta mong muốn và có thể cho một phần
của cuộc hẹn trong trƣờng hợp sử dụng cuộc hẹn làm cho thực hiện bởi nhiều bệnh
nhân khác nhau . Trong hầu hết các trƣờng hợp, kiểu quan hệ nhiều đến nhiều này
là thích hợp. Tuy nhiên, có thể hạn chế số bệnh nhân có thể đƣợc kết hợp với
trƣờng hợp Đặt hẹn Bổ nhiệm. Chúng ta thảo luận chi tiết về vấn đề số nhiều trong
chƣơng tiếp theo liên quan đến sơ đồ lớp.
Use Case (Trường hợp sử dụng):
Một trƣờng hợp sử dụng, mô tả bởi một hình bầu dục trong UML, là một
quá trình chính mà hệ thống sẽ thực hiện có lợi cho một nam tác nhân hoặc một số
tác nhân theo cách nào đó (xem hình 5-7) và nó đƣợc gắn nhãn bằng một cụm từ
động từ mô tả. Chúng ta có thể biết từ hình 5-8 rằng hệ thống có ba trƣờng hợp sử
dụng chính: Đặt lịch hẹn, sản xuất thông tin về lịch trình và tính sẵn có của bản ghi
Đôi khi trƣờng hợp sử dụng bao gồm mở rộng hoặc khái quát hóa các chức
năng của trƣờng hợp sử dụng khác trong sơ đồ. Chúng đƣợc hiển thị bằng cách sử
dụng các mối quan hệ bao gồm mở rộng và tổng quát. Để tăng tính dễ hiểu của
một biểu đồ trƣờng hợp sử dụng, các trƣờng hợp sử dụng cấp cao thƣờng đƣợc vẽ
trên các trình độ thấp hơn. Có thể dễ dàng hơn để hiểu các mối quan hệ này với sự
trợ giúp của các ví dụ. Giả sử mỗi lần bệnh nhân làm hẹn, bệnh nhân đƣợc yêu cầu
xác minh các khoản thanh toán. Tuy nhiên, thỉnh thoảng cần phải thực hiện sắp xếp
thanh toán mới. Do đó, chúng tôi có thể muốn có một trƣờng hợp sử dụng đƣợc gọi
là Thanh toán bù trừ để mở rộng trƣờng hợp Đặt hẹn Bổ nhiệm để bao gồm chức
năng bổ sung này. Trong Hình 5-10, một mũi tên gắn nhãn với phần mở rộng đã
đƣợc rút ra giữa trƣờng hợp sử dụng Sự kiện Sắp xếp thanh toán và Trƣờng hợp Sử
dụng Cuộc hẹn để biểu thị mối quan hệ sử dụng đặc biệt này. Hơn nữa, trƣờng hợp
sử dụng Bầu chọn thanh toán đã đƣợc rút ra thấp hơn trƣờng hợp sử dụng Cuộc
hẹn
Tƣơng tự nhƣ vậy, có những lần khi một trƣờng hợp sử dụng duy nhất chứa
các chức năng phổ biến đƣợc các trƣờng hợp sử dụng khác sử dụng. Ví dụ: giả sử
có một trƣờng hợp sử dụng đƣợc gọi là Quản lý Lịch trình thực hiện một số công
việc thông thƣờng cần thiết để duy trì lịch hẹn của bác sĩ văn phòng, và hai trƣờng
hợp sử dụng Ghi lại sự sẵn có và sản xuất Thông tin Lịch trình cả hai thực hiện các
công việc thƣờng lệ. Hình 5-10 chỉ ra cách chúng ta có thể thiết kế hệ thống để
Manage Schedule là một trƣờng hợp sử dụng chung đƣợc sử dụng bởi những ngƣời
khác. Một mũi tên gắn nhãn với đƣợc sử dụng để biểu thị mối quan hệ bao gồm và
trƣờng hợp sử dụng đƣợc bao gồm dƣới các trƣờng hợp sử dụng chứa nó
Cuối cùng, đôi khi nó có ý nghĩa để sử dụng một mối quan hệ tổng quát để
đơn giản hóa các trƣờng hợp sử dụng cá nhân. Ví dụ nhƣ trong Hình 5-10, trƣờng
hợp sử dụng cuộc hẹn đã đƣợc chuyên biệt để bao gồm một trƣờng hợp sử dụng
cho Bệnh nhân cũ và Bệnh nhân mới. Trƣờng hợp sử dụng Phiếu cũ dành cho
Bệnh nhân cũ thừa hƣởng tính năng của trƣờng hợp sử dụng Sự kiện Đặt hẹn (bao
gồm cả việc mở rộng trƣờng hợp sử dụng Thoả thuận Thanh toán) và mở rộng
chức năng của chính nó bằng trƣờng hợp sử dụng Thông tin Cập nhật về Bệnh
nhân. Trƣờng hợp sử dụng Appt dành cho Bệnh nhân Mới cũng thừa hƣởng tất cả
các chức năng của trƣờng hợp Đặt hẹn Sử dụng chung và gọi ra trƣờng hợp sử
dụng Bệnh nhân Tạo mới, bao gồm các chức năng cần thiết để đƣa bệnh nhân mới
vào cơ sở dữ liệu bệnh nhân. Mối quan hệ tổng quát đƣợc biểu diễn dƣới dạng một
mũi tên rỗng không có nhãn với trƣờng hợp sử dụng phổ biến hơn cao hơn trƣờng
hợp sử dụng thấp hơn. Cũng lƣu ý rằng chúng tôi đã thêm tác nhân chuyên biệt thứ
hai, Bệnh nhân cũ, và rằng tác nhân bệnh nhân bây giờ chỉ đơn giản là một sự tổng
quát của các tác nhân bệnh nhân cũ và mới
Subject Boundary (Ranh giới chủ đề):
Các trƣờng hợp sử dụng đƣợc bao gồm trong ranh giới chủ đề, là một hộp xác định
phạm vi của hệ thống và mô tả rõ ràng các phần của sơ đồ là bên ngoài hoặc bên
trong nó (xem hình 5-7). Một trong những quyết định khó khăn nhất là làm thế nào
để vẽ ranh giới chủ đề. Ranh giới chủ đề có thể đƣợc sử dụng để tách riêng một hệ
thống phần mềm khỏi môi trƣờng của nó, một hệ thống con từ các hệ thống con
khác trong hệ thống phần mềm, hoặc một quá trình riêng lẻ trong một hệ thống
phần mềm. Chúng cũng có thể đƣợc sử dụng để tách riêng một hệ thống thông tin,
bao gồm cả phần mềm và các bên trong, từ môi trƣờng của nó. Nhƣ vậy, cần cẩn
thận để quyết định xem phạm vi của hệ thống thông tin là gì.
Tên của chủ thể có thể xuất hiện bên trong hoặc trên đầu trang của hộp. Ranh giới
chủ đề đƣợc vẽ dựa trên phạm vi của hệ thống. Trong hệ thống bổ nhiệm, các tác
nhân Quản lý và Bác sĩ có thể không đƣợc rút ra. Hãy nhớ rằng các tác nhân nằm
ngoài phạm vi của hệ thống. Trong hình 5-8, chúng tôi liệt kê một nhân viên tiếp
tân làm một phần của trƣờng hợp sử dụng.
Tuy nhiên, trong trƣờng hợp này, chúng tôi giả định rằng nhân viên tiếp tân là một
tác nhân nội bộ là một phần của trƣờng hợp sử dụng cuộc hẹn Make Appointment.
Nhƣ vậy, nhân viên lễ tân không đƣợc vẽ trên sơ đồ.
Trƣờng hợp sử dụng mô tả các chức năng của một hệ thống và là một mô hình của
hộp thoại giữa các tác nhân và hệ thống. Do đó, chúng có xu hƣớng đƣợc sử dụng
để mô hình hóa cả bối cảnh của hệ thống và các yêu cầu chi tiết cho hệ thống. Mặc
dù mục đích chính của các trƣờng hợp sử dụng là ghi lại các yêu cầu chức năng
của hệ thống nhƣng chúng cũng đƣợc sử dụng làm cơ sở để kiểm tra hệ thống đang
phát triển. Trong phần này, chúng tôi mô tả một phƣơng pháp hỗ trợ thu thập yêu
cầu và lập hồ sơ với các trƣờng hợp sử dụng. Điều quan trọng cần nhớ là trƣờng
hợp sử dụng đƣợc sử dụng cho cả mô hình hành vi nhƣ hiện tại và tƣơng lai. Các
trƣờng hợp sử dụng tập trung vào hệ thống hiện tại, trong khi các trƣờng hợp sử
dụng thực sự tập trung vào hệ thống mới mong muốn. Hai cách phổ biến nhất để
thu thập thông tin cho các trƣờng hợp sử dụng là thông qua các cuộc phỏng vấn và
các phiên JAD (đôi khi cũng đƣợc sử dụng cho các mô hình nhƣ là). Nhƣ đã thảo
luận trong Chƣơng 4, những kỹ thuật này có những lợi thế và bất lợi.
Bất kể có sử dụng các cuộc phỏng vấn hoặc các cuộc hội thảo JAD, nghiên cứu
gần đây cho thấy một số cách để thu thập thông tin cho các ca sử dụng tốt hơn
những cách khác. Quy trình hiệu quả nhất bao gồm việc sử dụng mƣời ba bƣớc để
tạo mô tả trƣờng hợp sử dụng 20 và bốn bƣớc bổ sung để tạo sơ đồ trƣờng hợp sử
dụng (xem Hình 5-11). Mƣời ba bƣớc này đƣợc thực hiện theo thứ tự, nhƣng dĩ
nhiên các nhà phân tích thƣờng xoay vòng trong số họ một cách lặp đi lặp lại khi
họ chuyển từ trƣờng hợp sử dụng sang trƣờng hợp sử dụng.
CREATING USE-CASE DESCRIPTIONS AND USE-CASE DIAGRAMS
QUY TRÌNH TẠO MÔ TẢ CA SỬ DỤNG VÀ CÁC BIỂU ĐỒ CA SỬ DỤNG
Trƣờng hợp sử dụng mô tả các chức năng của một hệ thống và là một mô
hình của hộp thoại giữa các diễn viên và hệ thống. Do đó, chúng có xu hƣớng đƣợc
sử dụng để mô hình hóa cả bối cảnh của hệ thống và các yêu cầu chi tiết cho hệ
thống. Mặc dù mục đích sử dụng chủ yếu trƣờng hợp là tài liệu các yêu cầu chức
năng của hệ thống, chúng cũng đƣợc sử dụng làm cơ sở để thử nghiệm các hệ
thống đang phát triển. Trong phần này, chúng tôi mô tả một phƣơng pháp hỗ trợ
thu thập yêu cầu và lập hồ sơ với các trƣờng hợp sử dụng.
Điều quan trọng cần nhớ là trƣờng hợp sử dụng đƣợc sử dụng cho cả mô
hình hành vi nhƣ hiện tại và tƣơng lai. Các trƣờng hợp sử dụng tập trung vào hệ
thống hiện tại, trong khi các trƣờng hợp sử dụng thực sự tập trung vào hệ thống
mới mong muốn. Hai cách phổ biến nhất để thu thập thông tin cho các trƣờng hợp
sử dụng là thông qua các cuộc phỏng vấn và các phiên JAD (đôi khi cũng đƣợc sử
dụng cho các mô hình nhƣ là). Nhƣ đã thảo luận trong Chƣơng 4, những kỹ thuật
này có những lợi thế và bất lợi.
Bất kể có sử dụng các cuộc phỏng vấn hoặc các cuộc hội thảo JAD, nghiên
cứu gần đây cho thấy một số cách để thu thập thông tin cho các ca sử dụng tốt hơn
những cách khác. Quy trình hiệu quả nhất bao gồm việc sử dụng mƣời ba bƣớc để
tạo mô tả trƣờng hợp sử dụng 20 và bốn bƣớc bổ sung để tạo sơ đồ trƣờng hợp sử
dụng (xem Hình 5-11). Mƣời ba bƣớc này đƣợc thực hiện theo thứ tự, nhƣng tất
nhiên các nhà phân tích thƣờng chu kỳ trong số họ một cách lặp đi lặp lại khi họ di
chuyển từ trƣờng hợp sử dụng để sử dụng trƣờng hợp.
Xác định các trường hợp sử dụng chính
Bước đầu tiên là xem lại sơ đồ hoạt động. Điều này giúp nhà phân tích để có
đƣợc một cái nhìn toàn cảnh về quá trình kinh doanh cơ bản đang đƣợc mô phỏng.
Bước thứ hai là xác định ranh giới của đối tƣợng. Điều này giúp nhà phân
tích xác định phạm vi của hệ thống. Tuy nhiên, khi chúng ta làm việc thông qua
SDLC, ranh giới của hệ thống sẽ thay đổi.
Bước thứ ba là xác định các tác nhân chính và mục tiêu của họ. Các tác nhân
chính tham gia vào hệ thống sẽ đến từ một danh sách các bên liên quan và ngƣời sử
dụng. Tuy nhiên, hãy nhớ lại rằng một diễn viên là một vai trò mà một bên liên
quan hoặc ngƣời dùng đóng, không phải là ngƣời dùng cụ thể (ví dụ: bác sĩ, không
phải tiến sĩ Jones). Các mục tiêu đại diện cho các chức năng mà hệ thống phải cung
cấp cho các diễn viên cho hệ thống để đƣợc một thành công. Xác định những
nhiệm vụ mà mỗi diễn viên phải thực hiện có thể tạo điều kiện thuận lợi cho việc
này. Ví dụ, nhân viên cần tạo, đọc, cập nhật, hoặc xóa (CRUD) bất kỳ thông tin
nào hiện có trong hệ thống, có bất kỳ thay đổi bên ngoài nào mà một diễn viên phải
thông báo cho hệ thống hay có bất kỳ thông tin nào mà hệ thống cần cho diễn
viên? Bƣớc 2 và 3 đƣợc liên kết với nhau. Khi các bên đƣợc xác định và mục tiêu
của họ đƣợc khám phá, ranh giới của hệ thống sẽ thay đổi.
Bƣớc thứ tƣ là xác định và viết các trƣờng hợp sử dụng chính với thông tin
cơ bản về từng loại, chứ không phải nhảy vào một trƣờng hợp sử dụng và mô tả nó
hoàn toàn (nghĩa là chỉ là trƣờng hợp sử dụng tổng quan). Nhớ lại từ phần mô tả
trƣớc đây về các phần tử của trƣờng hợp sử dụng mà các trƣờng hợp sử dụng tổng
quan chỉ chứa tên trƣờng hợp sử dụng, số ID, loại, diễn viên chính, mức độ quan
trọng và mô tả ngắn gọn. Chỉ tạo các trƣờng hợp sử dụng tổng quan vào thời điểm
này ngăn ngƣời dùng và nhà phân tích quên các trƣờng hợp sử dụng chính và giúp
ngƣời dùng giải thích toàn bộ quy trình nghiệp vụ mà họ chịu trách nhiệm. Nó
cũng giúp họ hiểu làm thế nào để mô tả các trƣờng hợp sử dụng và giảm cơ hội
chồng chéo giữa các trƣờng hợp sử dụng. Điều này là quan trọng tại thời điểm này
để hiểu và xác định từ viết tắt và thuật ngữ để nhóm dự án và những ngƣời khác từ
bên ngoài nhóm ngƣời sử dụng có thể hiểu rõ các trƣờng hợp sử dụng. Một lần
nữa, sơ đồ hoạt động là một điểm khởi đầu rất hữu ích cho bƣớc này.
Bốn bƣớc đầu tiên bằng văn bản sử dụng các trƣờng hợp đối phó với việc
xem xét sơ đồ hoạt động, tìm kiếm ranh giới chủ đề, liệt kê các tác nhân chính và
mục đích của chúng, và xác định và viết tổng quan về các trƣờng hợp sử dụng
chính dựa trên các kết quả này. Các trƣờng hợp sử dụng này sẽ tạo thành cơ sở của
các trƣờng hợp sử dụng đƣợc chứa trong sơ đồ trƣờng hợp sử dụng. Dành một phút
đi quay lại và xem xét các yêu cầu đƣợc xác định trong Hình 4-15 và biểu đồ hoạt
động mà chúng ta hoàn thành (xem Hình 5-14) để xác định ba đến chín trƣờng hợp
sử dụng chính trƣớc khi bạn tiếp tục đọc hiểu.
Để bắt đầu, có vẻ nhƣ ranh giới chủ đề nên đƣợc rút ra theo cách nhƣ vậy
rằng bất cứ điều gì không phải là một phần của Hệ thống bán hàng qua Internet của
CD Selections, chẳng hạn nhƣ các nhà cung cấp và khách hàng, nên đƣợc xác định
là các tác nhân chính. Vì vậy, chúng đƣợc xem xét bên ngoài phạm vi của hệ
thống. Các tác nhân tiềm năng khác đƣợc xác định có thể là phân phối hệ thống,
quản lý tiếp thị điện tử (EM) và các cửa hàng Lựa chọn CD hiện tại.
Sau khi xem xét lại Hình 4-15, có vẻ nhƣ hệ thống phân phối và hiện tại
Các cửa hàng Lựa chọn CD phải nằm ngoài phạm vi của Hệ thống Bán hàng qua
Internet. Nhƣ vậy, chúng cũng cần đƣợc xác định là các tác nhân chính. Nó cũng
có vẻ nhƣ là ngƣời quản lý EM nên đƣợc coi là một phần của Hệ thống Bán hàng
Internet và, do đó, không nên đƣợc xác định nhƣ một diễn viên chính. Hãy nhớ
rằng, các diễn viên chính chỉ là những ngƣời có thể đƣợc xem nhƣ là bên ngoài
phạm vi của hệ thống. Quyết định về việc quản lý EM, hiện tại CD Selections lƣu
trữ, hoặc hệ thống phân phối là bên trong hoặc bên ngoài của hệ thống là hơi tùy
tiện. Theo quan điểm của khách hàng, hệ thống phân phối và đĩa CD hiện tại Các
cửa hàng lựa chọn có thể đƣợc xem là bên trong hệ thống tổng thể, và nó có thể
đƣợc lập luận rằng ngƣời quản lý EM là ngƣời sử dụng chính của Hệ thống Bán
hàng Internet.
Tại thời điểm này trong quá trình, điều quan trọng là phải đƣa ra quyết định
và tiếp tục. Suốt trong quá trình viết các trƣờng hợp sử dụng, có nhiều cơ hội để
xem xét lại quyết định này để xác định liệu các tập hợp các trƣờng hợp sử dụng
đƣợc xác định là cần thiết và đủ để mô tả các yêu cầu của Hệ thống Bán hàng
Internet cho Lựa chọn CD. Nhƣ bạn thấy, dựa trên việc tìm kiếm các ranh giới của
hệ thống và liệt kê các tác nhân chính là rất lớnliên kết.
Dựa trên các yêu cầu chức năng và sơ đồ hoạt động, Alec và nhóm của ông
xác định bốn trƣờng hợp sử dụng chính tổng quan: Duy trì Thông tin về CD, Duy
trì Tiếp thị CD Thông tin, Đặt hàng, và Điền Đơn hàng. Bạn có thể đã cân nhắc
việc thêm mới Đĩa CD vào cơ sở dữ liệu, xóa những đĩa cũ, và thay đổi thông tin
về đĩa CD nhƣ ba riêng biệt sử dụng các trƣờng hợp - mà trên thực tế, đó là. Ngoài
ba điều trên, chúng tôi cũng cần phải sử dụng các trƣờng hợp tìm kiếm thông tin về
đĩa CD và in báo cáo về đĩa CD. Tuy nhiên, mục tiêu của chúng tôi tại điểm này là
để phát triển một bộ nhỏ các trƣờng hợp sử dụng thiết yếu cho hệ thống bán hàng
Internet. Các cùng một mô hình nên đƣợc hiển nhiên cho các tài liệu tiếp thị.
Chúng ta có cùng quy trình để ghi lại các tài liệu tiếp thị mới cho một đĩa CD, tạo
ra nó, đọc nó, cập nhật nó, xóa nó, và in nó. Những hoạt động này thƣờng đƣợc
yêu cầu bất kỳ lúc nào bạn có thông tin đƣợc lƣu trữ trong cơ sở dữ liệu.
Nhóm dự án tại CD Selections đã xác định đƣợc bốn trƣờng hợp sử dụng
chính này. Tại đây điểm trong quá trình, nhóm dự án bắt đầu viết các trƣờng hợp
sử dụng tổng quan cho bốn. Hãy nhớ rằng một trƣờng hợp sử dụng tổng quan chỉ
có năm phần thông tin: tên trƣờng hợp sử dụng, ID số, diễn viên chính, loại, và mô
tả ngắn. Vào thời điểm này, chúng tôi đã xác định các tác nhân chính và đã kết hợp
chúng với bốn trƣờng hợp sử dụng. Hơn nữa, bởi vì chúng ta đang bắt đầu quá
trình phát triển, tất cả bốn trƣờng hợp sử dụng sẽ đƣợc tổng quan và các loại thiết
yếu. Bởi vì số ID chỉ đơn giản đƣợc sử dụng để nhận dạng (nghĩa là chúng hoạt
động nhƣ một khoá trong cơ sở dữ liệu), các giá trị của chúng có thể đƣợc gán theo
thứ tự cách thức. Điều này để lại cho chúng tôi chỉ với hai mẩu thông tin cho mỗi
trƣờng hợp sử dụng để viết. Các tên trƣờng hợp sử dụng phải là sự kết hợp giữa
động từ-động từ hoạt động (ví dụ: Thực hiện cuộc hẹn).
Trong tình huống Bán hàng qua mạng CD, Duy trì Thông tin về CD, Duy
trì CD Thông tin Tiếp thị, Đặt hàng, và Đơn đặt hàng Fill dƣờng nhƣ nắm bắt đƣợc
bản chất của mỗi các trƣờng hợp sử dụng. Cuối cùng, một mô tả ngắn gọn đƣợc
viết để mô tả mục đích của trƣờng hợp sử dụng hoặc mục tiêu của các diễn viên
chính sử dụng trƣờng hợp sử dụng. Mô tả này có thể bao gồm từ một câu cho một
bài luận ngắn. Ý tƣởng là để nắm bắt các vấn đề chính trong trƣờng hợp sử dụng
và thực hiện họ rõ ràng. (Xem Hình 5-15).
Bƣớc thứ năm là xem xét cẩn thận các trƣờng hợp sử dụng hiện tại. Có thể
cần phải phân chia một số trong số chúng thành nhiều trƣờng hợp sử dụng hoặc
hợp nhất một vài trong số chúng vào một trƣờng hợp sử dụng đơn lẻ. Ngoài ra, dựa
trên tập hiện tại, trƣờng hợp sử dụng mới có thể đƣợc xác định. Bạn nên nhớ rằng
xác định trƣờng hợp sử dụng là một quá trình lặp đi lặp lại, với ngƣời dùng thƣờng
thay đổi suy nghĩ của họ về trƣờng hợp sử dụng là gì và nó bao gồm những gì.
Thật dễ dàng để bị mắc kẹt trong các chi tiết tại thời điểm này, vì vậy bạn cần phải
nhớ rằng mục tiêu ở bƣớc này là xác định các trƣờng hợp sử dụng chính và bạn chỉ
tạo ra các trƣờng hợp sử dụng tổng quan. Chẳng hạn, trong ví dụ của bác sĩ trong
Hình 5-10, chúng ta đã xác định một trƣờng hợp sử dụng là Make Appointment.
Trƣờng hợp sử dụng này bao gồm các trƣờng hợp cho cả bệnh nhân mới và bệnh
nhân hiện tại, cũng nhƣ khi bệnh nhân thay đổi hoặc hủy bỏ một cuộc hẹn. Chúng
tôi có thể đã xác định từng hoạt động này (hẹn, thay đổi cuộc hẹn, hoặc hủy cuộc
hẹn) làm các trƣờng hợp sử dụng riêng biệt, nhƣng điều này sẽ tạo ra một tập hợp
các trƣờng hợp sử dụng nhỏ.
Bí quyết là chọn kích thƣớc phù hợp để bạn kết thúc với ba đến chín trƣờng
hợp sử dụng trong mỗi hệ thống. Nếu nhóm dự án phát hiện ra hơn tám trƣờng hợp
sử dụng, điều này cho thấy các trƣờng hợp sử dụng quá nhỏ hoặc ranh giới của hệ
thống quá lớn. Nếu có hơn 9 trƣờng hợp sử dụng, các trƣờng hợp sử dụng nên
đƣợc nhóm lại thành các gói (tức là, các nhóm hợp lý các trƣờng hợp sử dụng) để
làm cho sơ đồ dễ đọc hơn và giữ cho các mô hình ở mức độ phức tạp hợp lý. Đơn
giản là tại thời điểm đó để sắp xếp các trƣờng hợp sử dụng và nhóm lại các trƣờng
hợp sử dụng nhỏ này vào các trƣờng hợp sử dụng lớn hơn bao gồm một số trƣờng
hợp nhỏ hoặc để thay đổi ranh giới của hệ thống.22
Mở rộng các trường hợp sử dụng chính
Bƣớc thứ sáu là chọn một trong những trƣờng hợp sử dụng chính để mở rộng.
Sử dụng mức độ quan trọng của trƣờng hợp sử dụng có thể giúp thực hiện việc
này. Ví dụ, trong hình 5-5, trƣờng hợp sử dụng Appointment có mức độ quan trọng
cao. Nhƣ vậy, nó phải là một trong những trƣờng hợp sử dụng trƣớc đó để đƣợc
mở rộng. Các tiêu chí đƣợc đề xuất bởi Larman23 cũng có thể đƣợc sử dụng để đặt
ƣu tiên cho các trƣờng hợp sử dụng, nhƣ đã đề cập ở trên.
Bƣớc thứ bảy là bắt đầu điền vào các chi tiết về mẫu sử dụng trƣờng hợp. Ví dụ,
liệt kê tất cả các bên liên quan đã xác định và lợi ích của họ trong trƣờng hợp sử
dụng, mức độ quan trọng của trƣờng hợp sử dụng, mô tả ngắn gọn về trƣờng hợp
sử dụng, thông tin kích hoạt cho trƣờng hợp sử dụng và mối quan hệ trong trƣờng
hợp sử dụng tham gia.
Bƣớc thứ tám là điền vào các bƣớc của luồng thông thƣờng của sự kiện đƣợc
yêu cầu để mô tả từng trƣờng hợp sử dụng. Các bƣớc tập trung vào việc quá trình
kinh doanh làm gì để hoàn thành trƣờng hợp sử dụng, trái ngƣợc với những hành
động mà ngƣời dùng hoặc các thực thể bên ngoài khác thực hiện. Nói chung, các
bƣớc nên đƣợc liệt kê theo thứ tự chúng đƣợc thực hiện, từ lần đầu đến cuối. Nhớ
để hãy viết các bƣớc trong mẫu SVDPI bất cứ khi nào có thể. Bằng văn bản các
trƣờng hợp sử dụng, nhớ bảy hƣớng dẫn mô tả trƣớc đó. Mục đích ở đây là để mô
tả trƣờng hợp sử dụng đã chọn hoạt động nhƣ thế nào. Một trong những cách tốt
nhất để bắt đầu hiểu cách diễn viên làm việc thông qua trƣờng hợp sử dụng là hình
dung thực hiện các bƣớc trong trƣờng hợp sử dụng-nghĩa là đóng vai. Các kỹ thuật
hình dung cách tƣơng tác với hệ thống và suy nghĩ về cách các hệ thống khác hoạt
động (benchmarking không chính thức) là những kỹ thuật quan trọng giúp các nhà
phân tích và ngƣời dùng hiểu cách thức hệ thống hoạt động và cách viết một
trƣờng hợp sử dụng. Cả hai kỹ thuật (visualization và benchmarking không chính
thức) đều phổ biến trong thực tế. Điều quan trọng cần nhớ là tại điểm này trong sự
phát triển của một trƣờng hợp sử dụng, chúng tôi chỉ quan tâm đến việc thực hiện
điển hình thành công của trƣờng hợp sử dụng. Nếu chúng ta cố gắng suy nghĩ về
tất cả các kết hợp có thể của các hoạt động có thể tiếp tục, chúng tôi sẽ không bao
giờ có đƣợc bất cứ điều gì viết xuống. Tại thời điểm này, chúng tôi chỉ tìm kiếm từ
ba đến bảy bƣớc chính. Nhƣ vậy, chỉ tập trung vào việc thực hiện quy trình điển
hình mà trƣờng hợp sử dụng đại diện.
Bƣớc thứ chín là đảm bảo rằng các bƣớc đƣợc liệt kê trong luồng sự kiện bình
thƣờng không quá phức tạp hoặc quá dài. Mỗi bƣớc cần phải có cùng kích thƣớc
với các kích thƣớc khác. Ví dụ: nếu chúng tôi viết các bƣớc chuẩn bị bữa ăn, các
bƣớc nhƣ lấy nĩa ra khỏi ngăn kéo và đặt nĩa trên bàn nhỏ hơn nhiều so với chuẩn
bị bánh bằng hỗn hợp. Nếu chúng ta kết thúc với hơn bảy bƣớc hoặc các bƣớc khác
nhau có quy mô lớn, chúng tôi nên quay lại và xem lại từng bƣớc cẩn thận và có
thể viết lại các bƣớc.
Một cách tiếp cận tốt để tạo ra các bƣớc cho một trƣờng hợp sử dụng là để
ngƣời sử dụng hình dung mình thực sự thực hiện các trƣờng hợp sử dụng và để có
họ ghi lại các bƣớc nhƣ thể họ đang viết một công thức cho một cuốn sách nấu ăn.
Trong hầu hết các trƣờng hợp, ngƣời dùng sẽ có thể nhanh chóng xác định những
gì họ làm trong mô hình nhƣ là. Xác định các bƣớc cho các trƣờng hợp sử dụng để
đƣợc có thể mất một chút huấn luyện. Theo kinh nghiệm của chúng tôi, các mô tả
về các bƣớc thay đổi rất nhiều khi ngƣời dùng làm việc thông qua một trƣờng hợp
sử dụng. Lời khuyên của chúng tôi là sử dụng bảng đen hoặc bảng trắng (hoặc giấy
với bút chì) có thể dễ dàng xóa để phát triển danh sách các bƣớc và sau đó viết
danh sách trên mẫu sử dụng. Nó nên đƣợc viết trên mẫu trƣờng hợp sử dụng chỉ
sau khi bộ các bƣớc đƣợc xác định khá tốt.
Bƣớc thứ mƣời tập trung vào việc xác định các luồng thay thế hoặc ngoại lệ.
Dòng chảy thay thế hoặc ngoại lệ là những dòng chảy thành công đại diện cho
hành vi tùy chọn hoặc đặc biệt. Chúng thƣờng có xu hƣớng xảy ra không thƣờng
xuyên hoặc do sự thất bại của dòng chảy bình thƣờng. Chúng nên đƣợc dán nhãn
sao cho không có nghi ngờ gì về luồng sự kiện bình thƣờng mà nó liên quan. Ví dụ
trong hình 5-5, luồng luân phiên / đặc biệt 3a thực hiện khi bƣớc 3 thất bại (nghĩa
là Bệnh nhân không tồn tại trong cơ sở dữ liệu Bệnh nhân).
Bƣớc thứ mƣời một chỉ đơn giản là viết mô tả bất kỳ luồng luân phiên hoặc đặc
biệt nào. Nói cách khác, nếu dòng luân phiên hoặc luồng ngoại lệ đƣợc thực hiện,
mô tả phản ứng mà ngƣời hoặc hệ thống phải tạo ra. Giống nhƣ các luồng thông
thƣờng và các luồng phụ, luồng thay thế hoặc ngoại lệ nên đƣợc viết bằng mẫu
SVDPI bất cứ khi nào có thể.
Xác nhận các trường hợp sử dụng chính24
Bƣớc thứ mƣời hai là xem xét cẩn thận các trƣờng hợp sử dụng hiện tại và để
xác nhận rằng trƣờng hợp sử dụng là đúng nhƣ đã viết, nghĩa là xem xét trƣờng
hợp sử dụng với ngƣời dùng để đảm bảo từng bƣớc là chính xác. Đánh giá nên tìm
kiếm các cơ hội để đơn giản hóa trƣờng hợp sử dụng bằng cách phân chia nó thành
một tập hợp các trƣờng hợp sử dụng nhỏ hơn, kết hợp nó với những ngƣời khác,
tìm kiếm các khía cạnh chung trong cả ngữ nghĩa và cú pháp của các trƣờng hợp sử
dụng, và xác định trƣờng hợp sử dụng mới. Đây cũng là thời gian để xem xét thêm
các bao gồm, mở rộng, hoặc mối quan hệ tổng quát giữa các trƣờng hợp sử dụng.
Cách mạnh mẽ nhất để xác nhận trƣờng hợp sử dụng là yêu cầu ngƣời dùng đóng
vai hoặc thực hiện quá trình sử dụng các bƣớc đƣợc viết trong trƣờng hợp sử dụng.
Nhà phân tích sẽ đƣa cho ngƣời sử dụng các mảnh giấy đƣợc dán nhãn là đầu vào
chính cho trƣờng hợp sử dụng và sẽ có ngƣời sử dụng theo các bƣớc viết nhƣ một
công thức để đảm bảo rằng các bƣớc thực sự có thể tạo ra các kết quả đƣợc định
nghĩa cho trƣờng hợp sử dụng các đầu vào của nó.
Bƣớc mƣời ba và bƣớc cuối cùng là lặp lại toàn bộ các bƣớc một lần nữa.
Ngƣời dùng thƣờng thay đổi suy nghĩ của họ về trƣờng hợp sử dụng là gì và những
gì nó bao gồm. Nó rất dễ bị mắc kẹt trong các chi tiết vào thời điểm này, vì vậy
hãy nhớ rằng mục tiêu là chỉ cần giải quyết các trƣờng hợp sử dụng chính. Do đó,
nhà phân tích nên tiếp tục lặp lại các bƣớc này cho đến khi họ và ngƣời dùng tin
rằng đã có đủ số trƣờng hợp sử dụng để bắt đầu xác định các lớp ứng viên cho mô
hình cấu trúc (xem Chƣơng 6). Khi các lớp ứng cử viên đƣợc xác định, rất có thể
các trƣờng hợp sử dụng bổ sung sẽ đƣợc phát hiện. Hãy nhớ rằng, phát triển hệ
thống hƣớng đối tƣợng là cả lặp và gia tăng. Nhƣ vậy, đừng lo lắng về việc xác
định mỗi và mọi trƣờng hợp sử dụng có thể vào thời điểm này trong sự phát triển
của hệ thống.
Tạo sơ đồ tình huống sử dụng
Về cơ bản, vẽ sơ đồ use-case là rất đơn giản một lần trƣờng hợp sử dụng đã đƣợc
trình bày chi tiết. Sơ đồ use-case thực tế khuyến khích việc sử dụng các ẩn thông
tin. Các chỉ phần đƣợc vẽ trên sơ đồ use-case là ranh giới của hệ thống, các trƣờng
hợp sử dụng bản thân, các actor, và các hiệp hội khác nhau giữa các thành phần
này. Sức mạnh chủ yếu của sơ đồ use-case là nó cung cấp cho ngƣời dùng một cái
nhìn tổng quan về các trƣờng hợp sử dụng chi tiết.
Tuy nhiên, hãy nhớ rằng bất cứ lúc nào thay đổi một trƣờng hợp sử dụng, nó có thể
ảnh hƣởng đến sơ đồ trƣờng hợp sử dụng
Có bốn bƣớc chính trong bản vẽ một sơ đồ use-case.
Thứ nhất, sơ đồ use-case bắt đầu với ranh giới chuyên môn. Đây tạo thành
biên giới của đối tƣợng, tách trƣờng hợp sử dụng (ví dụ, chức năng của đối
tƣợng) từ các actor(ví dụ, vai trò của ngƣời dùng bên ngoài)
Thứ hai, trƣờng hợp sử dụng đƣợc vẽ trên sơ đồ. Đây là lấy trực tiếp từ các
giới thiệu use-case chi tiết. Tổ hợp use-case đặc biệt (bao gồm, mở rộng,
hoặc generaliza-tion) cũng đƣợc bổ sung vào mô hình vào thời điểm này.
Hãy cẩn thận trong việc đặt ra các sơ đồ. Không có lệnh chính thức đối với
các trƣờng hợp sử dụng, vì vậy họ có thể đƣợc đặt trong bất cứ thời trang
cần thiết để làm cho biểu đồ dễ đọc và để giảm thiểu số dòng mà qua. Nó
thƣờng là cần thiết để vẽ lại sơ đồ nhiều lần với trƣờng hợp sử dụng ở những
nơi khác nhau để làm cho biểu đồ dễ đọc. Ngoài ra, nhằm mục đích dễ hiểu,
không nên có nhiều hơn 3-9 trƣờng hợp sử dụng trên mô hình để biểu đồ
cũng đơn giản càng tốt. Những bao gồm những trƣờng hợp sử dụng đã đƣợc
yếu tố ra ngoài và hiện đang kết hợp với trƣờng hợp sử dụng khác thông qua
bao gồm, mở rộng, hoặc các mối quan hệ tổng quát
Thứ ba, các actor đƣợc đặt trên sơ đồ. Các actor đƣợc lấy trực tiếp từ các yếu
tố actor chính trên mô tả chi tiết sử dụng hợp cụ thể. Giống nhƣ trƣờng hợp
sử dụng vị trí, để giảm thiểu số dòng mà sẽ vƣợt qua trên sơ đồ, các actor
nên đƣợc đặt gần các trƣờng hợp sử dụng mà chúng có liên quan
Bƣớc thứ tƣ và cuối cùng là để vẽ đƣờng nối các actor với các trƣờng hợp sử
dụng mà chúng tƣơng tác. Không để đƣợc gợi ý trong sơ đồ, và các mục
đƣợc thêm vào trên đƣờng đi không cần phải đƣợc đặt trong một thứ tự đặc
biệt; do đó, nó có thể giúp sắp xếp lại các sym-bols một chút để giảm thiểu
số lƣợng các đƣờng chéo, làm cho sơ đồ ít gây nhầm lẫn
Refining project size and effort estimation using use-case
Unadjusted Actor Weighting (UAW):
Unadjusted Use Case Weighting (UUCW):
Technical Complexity Factor (TCF) = 0.6 + (0.01 * TFactor):
Environmental Factor (EF) = 1.4 + (-0.03 * EFactor):
Tùy thuộc vào số lƣợng giao dịch duy nhất mà trƣờng hợp sử dụng phải giải quyết,
việc sử dụng trƣờng hợp đƣợc phân loại là trƣờng hợp sử dụng đơn giản (1-3),
trƣờng hợp sử dụng trung bình (4-7), hoặc trƣờng hợp sử dụng phức tạp(> 7).
Trong công thức ban đầu của dự toán sử dụng-trƣờng hợp, Karner đã gợi ý rằng
bao gồm và các trƣờng hợp sử dụng mở rộng nên đƣợc bỏ qua. Tuy nhiên, hôm
nay khuyến nghị là sử dụng tất cả các trƣờng hợp sử dụng, bất kể loại của họ trong
tính toán ƣớc tính. Ví dụ,trƣờng hợp sử dụng cuộc hẹn làm cho đƣợc mô tả trong
Hình 5-5 phải đối phó với các hoạt động bao gồmsắp xếp cuộc hẹn mới, huỷ một
cuộc hẹn hiện tại, thay đổibổ nhiệm, tạo ra một bệnh nhân mới, và sắp xếp việc
thanh toán. Trong trƣờng hợp này,bởi vì trƣờng hợp sử dụng Hẹn giờ đã giải quyết
đƣợc năm giao dịch riêng biệt, đó là đƣợc phân loại nhƣ là một trƣờng hợp sử dụng
trung bình (xem bảng cân nặng trƣờng hợp sử dụng không đƣợc điều chỉnh trong
Hình 5-12).Dựa trên sơ đồ sử dụng của Hệ thống bổ nhiệm (xem hình 5-10), chúng
ta có ba trƣờng hợp sử dụng đơn giản (Lịch sản xuất, Làm hẹn ngƣời già, và Khả
dụng Ghi),bốn trƣờng hợp sử dụng trung bình (Thực hiện bổ nhiệm, bổ nhiệm
ngƣời bệnh mới, quản lýLập kế hoạch, và Sắp xếp Thanh toán) và một trƣờng hợp
sử dụng phức tạp (Cập nhật Bệnh nhânThông tin). Bằng cách nhân với các trọng số
phù hợp và tổng kết các kết quả, chúng ta có đƣợcgiá trị tổng trọng lƣợng của
trƣờng hợp sử dụng không đƣợc điều chỉnh (UUCW) là 70.
Giá trị của các điểm trƣờng hợp sử dụng không đƣợc điều chỉnh (UUCP) chỉ đơn
giản là tổng trọng lƣợng của diễn viên chƣa đƣợc điều chỉnh (12) và tổng trọng
lƣợng của trƣờng hợp sử dụng chƣa đƣợc điều chỉnh (70). Nhƣ vậy, UUCP bằng
82.
Theo tinh thần của phân tích điểm chức năng, dự toán dựa trên điểm dựa trên
trƣờng hợp sử dụng cũng có một bộ các yếu tố đƣợc sử dụng để điều chỉnh giá trị
điểm trƣờng hợp sử dụng. Trong trƣờng hợp này, có hai bộ các yếu tố: các yếu tố
phức tạp về kỹ thuật (TCF) và các yếu tố môi trƣờng (EF). Có là mƣời ba yếu tố kỹ
thuật riêng biệt và tám yếu tố môi trƣờng riêng biệt. Mục đích của các yếu tố này là
để cho toàn bộ dự án đƣợc đánh giá về sự phức tạp và mức độ kinh nghiệm của
nhân viên, tƣơng ứng. Rõ ràng, những loại yếu tố này có thể tác động nỗ lực của
một nhóm để phát triển một hệ thống. Mỗi yếu tố đƣợc gán một giá trị từ 0 đến 5, 0
cho thấy rằng yếu tố không liên quan đến hệ thống đang đƣợc xem xét và 5 đại
diện cho rằng yếu tố là điều cần thiết cho hệ thống để thành công. Các các giá trị
đƣợc chỉ định sau đó đƣợc nhân với trọng lƣợng tƣơng ứng của chúng. Những giá
trị trọng số này là sau đó tổng kết để tạo ra một yếu tố kỹ thuật giá trị (TFactor) và
một yếu tố môi trƣờng giá trị (EFactor).
Các yếu tố kỹ thuật bao gồm:
■ hệ thống có phải là một hệ thống phân phối
■ Tầm quan trọng của thời gian phản hồi
■ Mức độ hiệu quả của ngƣời dùng sử dụng hệ thống
■ Sự phức tạp của quá trình xử lý nội bộ của hệ thống
■ Tầm quan trọng của tái sử dụng mã
■ Quá trình cài đặt phải dễ dàng nhƣ thế nào
■ Tầm quan trọng của việc dễ dàng sử dụng hệ thống
■ Làm thế nào quan trọng để hệ thống có thể đƣợc chuyển đến một nền tảng khác
■ Bảo trì hệ thống là quan trọng
■ Cho dù hệ thống sẽ phải xử lý xử lý song song và đồng thời
■ Mức độ yêu cầu bảo mật đặc biệt
■ Mức độ truy cập hệ thống của bên thứ ba
■ Cần phải có huấn luyện ngƣời dùng cuối đặc biệt (xem Hình 5-12)
Các yếu tố môi trƣờng bao gồm:
■ Mức độ kinh nghiệm mà nhân viên phát triển có với quá trình phát triển
đang đƣợc sử dụng
■ Ứng dụng đang đƣợc phát triển
■ Mức độ của kinh nghiệm hƣớng đối tƣợng
■ Mức độ năng lực của nhà phân tích chính
■ Mức độ động viên của nhóm phát triển để cung cấp hệ thống
■ Tính ổn định của yêu cầu
■ Cho dù nhân viên bán thời gian phải đƣợc bao gồm nhƣ là một phần của nhóm
phát triển
■ Sự khó khăn của ngôn ngữ lập trình đƣợc sử dụng để thực hiện hệ thống
(xem hình 5-12).
Tiếp tục ví dụ cuộc hẹn, các giá trị cho các yếu tố kỹ thuật là T1 (0),T2 (5), T3 (3),
T4 (1), T5 (1), T6 (2), T7 (4), T8 (0), T9 (2), T10 (0), T11 (0) T12 (0), vàT13 (0).
Tổng các giá trị đã đƣợc đánh giá trong Hình 5-12 cho giá trị TFactor là 15.
Cắmgiá trị này vào phƣơng trình hệ số phức tạp kỹ thuật (TCF) của bảng tính điểm
trƣờng hợp sử dụng cho giá trị 0,75 đối với TCF của hệ thống bổ nhiệm.
Các giá trị cho các yếu tố môi trƣờng là E1 (4), E2 (4), E3 (4), E4 (5), E5 (5),E6
(5), E7 (0), và E8 (4), đƣa ra bộ hiệu chỉnh EFACTOR là 25,5. Giống nhƣ TFactor,
Efactor đơn giảntổng của các giá trị trọng số. Sử dụng phƣơng trình hệ số môi
trƣờng (EF) của bảng tính điểm của chúng tôi sẽ tạo ra giá trị 0,635 cho EF của hệ
thống bổ nhiệm.Cắm các giá trị TCF và EF, cùng với giá trị UUCP đƣợc tính trƣớc
đó, vàophƣơng trình điểm sử dụng điểm điều chỉnh của worksheet cho phép điều
chỉnh giá trị 33.3375 đã điều chỉnhđiểm trƣờng hợp sử dụng (UCP).
Bây giờ chúng ta biết kích thƣớc ƣớc tính của hệ thống bằng giá trị củađiều chỉnh
điểm sử dụng, chúng tôi đã sẵn sàng để ƣớc tính những nỗ lực cần thiết để xây
dựng hệ thống. TrongTác phẩm gốc của Karner, ông gợi ý chỉ đơn giản là nhân số
điểm sử dụng cho20 để ƣớc tính số ngƣời-giờ cần thiết để xây dựng hệ thống. Tuy
nhiên, dựa trênvề kinh nghiệm bổ sung sử dụng các điểm trƣờng hợp, một quy tắc
quyết định để xác định giá trị củanhân số giờ multiplier (PHM) đã đƣợc tạo ra mà
cho thấy bằng cách sử dụng hoặc là 20 hoặc 28,dựa trên các giá trị đƣợc gán cho
các yếu tố môi trƣờng riêng lẻ. Nguyên tắc quyết định là:
Dựa trên các quy tắc này, bởi vì không có Efactors E1 đến E6 có giá trị nhỏ hơn 3
và Efactors E8 chỉ có một giá trị lớn hơn 3, tổng số các bộ số hiệu lực là 1. Vì vậy,
hệ thống bổ nhiệm nên sử dụng một PHM của 20. Điều này cho một ƣớc tính số
ngƣời giờ 666,75 giờ (20 * 33.3375). Biểu mẫu điền vào đƣợc đƣa ra trong Hình 5-
13.
Những ƣu điểm chính của việc sử dụng điểm trƣờng hợp sử dụng các kỹ thuật ƣớc
lƣợng truyền thống là chúng dựa trên sự phát triển hệ thống hƣớng đối tƣợng và
các trƣờng hợp sử dụng thay vìhơn phƣơng pháp truyền thống để phát triển hệ
thống. Tuy nhiên, nguy cơ sử dụng trƣờng hợp sử dụngđiểm là sử dụng của họ
không có nhiều lịch sử so với truyền thốngphƣơng pháp tiếp cận đƣợc mô tả trong
Chƣơng 3. Nhƣ vậy, các phân loại đƣợc đề nghị sử dụng cho các phƣơng pháp đơn
giản,trung bình, phức tạp và các trƣờng hợp sử dụng, các yếu tố trọng số cho đơn
giản, trung bình vàcác chủ thể phức tạp và các trƣờng hợp sử dụng, và các trọng số
liên quan đến việc tính toánkỹ thuật phức tạp và các yếu tố môi trƣờng có thể cần
đƣợc sửa đổi trong tƣơng lai.Tuy nhiên, vào thời điểm này, giá trị đƣợc gợi ý
dƣờng nhƣ là tốt nhất hiện có.
5-6 Drawing a Use-Case Diagram (biểu đồ ca sử dụng)
Trong Your Turn 5-5, bạn đã xác định trƣờng hợp sử dụng cho một dịch vụ nhà ở
trong khuôn viên giúp học sinh tìm đƣợc căn hộ.
Dựa trên các trƣờng hợp sử dụng, hãy tạo một biểu đồ ca sử dụng.
Biểu đồ ca sử dụng:
Biểu đồ ca sử dụng chỉ đơn giản là một tổng quan đồ họa của bộ trƣờng hợp sử
dụng có trong hệ thống. Họ minh hoạ chức năng chính của một hệ thống và các tác
nhân tƣơng tác với hệ thống. Sơ đồ bao gồm các nhân vật, đó là những ngƣời hoặc
những thứ thu đƣợc giá trị từ hệ thống, và sử dụng các trƣờng hợp đại diện cho các
chức năng của hệ thống. Các tác nhân vật và trƣờng hợp sử dụng đƣợc phân cách
bằng ranh giới hệ thống và kết nối bằng các dòng biểu diễn các hiệp hội. Đôi khi,
các là các phiên bản chuyên biệt của các nhân vật tổng quát hơn. Tƣơng tự, trƣờng
hợp sử dụng có thể mở rộng hoặc sử dụng các trƣờng hợp sử dụng khác. Tạo sơ đồ
trƣờng hợp sử dụng là một quá trình gồm bốn bƣớc (xem hình 5-8), theo đó nhà
phân tích rút ra ranh giới của hệ thống, bổ sung các trƣờng hợp sử dụng vào biểu
đồ, xác định các tác nhân, và cuối cùng thêm các hiệp hội thích hợp để kết nối các
trƣờng hợp sử dụng và các diễn viên lại với nhau . Quá trình này đơn giản vì bản
mô tả bằng văn bản về trƣờng hợp sử dụng đƣợc tạo ra trƣớc tiên.
APPLYING THE CONCEPTS AT CD SELECTIONS
Business Process Modeling with Activity Diagrams
Dựa trên các yêu cầu chức năng đƣợc xác định cho Hệ thống Bán hàng qua
Internet, Alec và nhóm của ông đã quyết định rằng có ít nhất bốn hoạt động cấp
cao cần thiết địa chỉ: Đặt Đơn đặt hàng CD, Duy trì Thông tin về CD, Duy trì
Thông tin Tiếp thị CD, và Điền Đơn Mail. Là bƣớc đầu tiên để phát triển một mô
hình chức năng của yêu cầu chức năng, Alec đã quyết định mô hình luồng tổng thể
của việc thực hiện các quy trình nghiệp vụ nhƣ một sơ đồ hoạt động. Sau khi xem
xét kỹ lƣỡng các yêu cầu Đặt CD tại nhà, nhóm đã xác định một quyết định và hai
hoạt động bổ sung: Đặt InStore Hold và đặt hàng đặc biệt. Các hoạt động này dựa
trên các yêu cầu đƣợc trình bày trong điểm 3.5 của Hình 4-15. Hơn nữa, nhóm
nghiên cứu nhận thấy có vẻ nhƣ ba các đƣờng dẫn thực hiện đồng thời tách biệt
trong yêu cầu. Con đƣờng đầu tiên bị xử lý với đơn đặt hàng, thứ hai đề cập đến
việc duy trì thông tin tiếp thị, và thứ ba tập trung vào việc duy trì thông tin về đĩa
CD. Dựa trên những điều mới hiểu biết sâu sắc, Alec và nhóm của ông đã vẽ sơ đồ
hoạt động cho hệ thống Bán hàng Internet đƣợc hiển thị trong Hình 5-14.
Expanding the Major Use Cases: Xác định các trường hợp sử dụng chính
Bốn bƣớc đầu tiên bằng văn bản sử dụng trƣờng hợp đối phó với việc xem xét sơ
đồ hoạt động, tìm kiếm ranh giới chủ đề, liệt kê các tác nhân chính và mục tiêu của
chúng, và xác định và viết tổng quan các trƣờng hợp sử dụng chính dựa trên kết
quả này. Các trƣờng hợp sử dụng này sẽ tạo thành cơ sở của các trƣờng hợp sử
dụng đƣợc chứa trong sơ đồ trƣờng hợp sử dụng. Hãy dành vài phút và quay lại và
xem lại các yêu cầu đƣợc xác định trong Hình 4-15 và biểu đồ hoạt động mà chúng
ta vừa hoàn thành (xem Hình 5-14) để xác định ba đến chín trƣờng hợp sử dụng
chính trƣớc khi bạn tiếp tục đọc.
Để bắt đầu, có vẻ nhƣ ranh giới chủ đề nên đƣợc rút ra theo cách sao cho bất cứ
điều gì không thuộc Hệ thống bán hàng qua Internet của CD Selections, chẳng hạn
nhƣ các nhà cung cấp và khách hàng, phải đƣợc xác định là các tác nhân chính. Vì
vậy, những điều này đƣợc xem xét bên ngoài phạm vi của hệ thống. Các tác nhân
tiềm năng khác đƣợc xác định có thể là hệ thống phân phối, quản lý tiếp thị điện tử
(EM) và các cửa hàng Lựa chọn CD hiện tại.
Sau khi xem xét lại Hình 4-15, có vẻ nhƣ hệ thống phân phối và các cửa hàng Lựa
chọn CD hiện tại phải nằm ngoài phạm vi của Hệ thống Bán hàng Internet. Nhƣ
vậy, chúng cũng cần đƣợc xác định là các tác nhân chính. Cũng có vẻ nhƣ là ngƣời
quản lý EM cần đƣợc coi là một phần của Hệ thống bán hàng qua Internet và do đó
không đƣợc xác định là một diễn viên chính. Hãy nhớ rằng, các diễn viên chính chỉ
là những ngƣời có thể đƣợc xem là nằm ngoài phạm vi của hệ thống. Quyết định
về việc liệu ngƣời quản lý EM, CD Selections hiện tại, hay hệ thống phân phối là
bên trong hay bên ngoài hệ thống là tùy tiện. Theo quan điểm của khách hàng, hệ
thống phân phối và các cửa hàng Lựa chọn CD hiện tại có thể đƣợc xem là bên
trong hệ thống tổng thể và có thể lập luận rằng ngƣời quản lý EM là ngƣời sử dụng
chính của Hệ thống Bán hàng Internet.
Tại thời điểm này trong quá trình, điều quan trọng là phải đƣa ra quyết định và tiếp
tục. Trong quá trình viết các trƣờng hợp sử dụng, có nhiều cơ hội để xem xét lại
quyết định này để xác định liệu các tập hợp các trƣờng hợp sử dụng có đƣợc xác
định là cần thiết và đủ để mô tả các yêu cầu của Hệ thống Bán hàng Internet cho
CD Selections. Nhƣ bạn thấy, dựa trên các phần trƣớc, việc tìm ra các ranh giới
của hệ thống và liệt kê các tác nhân chính là liên quan chặt chẽ.
Dựa trên yêu cầu chức năng và sơ đồ hoạt động, Alec và nhóm của ông đã xác định
bốn trƣờng hợp sử dụng chính: Duy trì thông tin về CD, Duy trì thông tin về Tiếp
thị CD, Đặt hàng, và Điền vào. Bạn có thể đã xem xét thêm các đĩa CD mới vào cơ
sở dữ liệu, xóa các thƣ mục cũ, và thay đổi thông tin về đĩa CD nhƣ ba trƣờng hợp
sử dụng riêng biệt - mà trên thực tế, đó là. Ngoài ba tính năng này, chúng tôi cũng
cần có các trƣờng hợp sử dụng để tìm thông tin về đĩa CD và in các báo cáo về đĩa
CD. Tuy nhiên, mục tiêu của chúng tôi tại thời điểm này là để phát triển một bộ
nhỏ các trƣờng hợp sử dụng thiết yếu cho hệ thống bán hàng Internet. Cùng một
mô hình nên đƣợc hiển nhiên cho các tài liệu tiếp thị. Chúng tôi có các quy trình
tƣơng tự để ghi lại tài liệu tiếp thị mới cho đĩa CD, tạo ra nó, đọc nó, cập nhật, xóa
và in nó. Những hoạt động này thƣờng đƣợc yêu cầu bất cứ lúc nào mà bạn có
thông tin để đƣợc lƣu trữ trong cơ sở dữ liệu.
Nhóm dự án tại CD Selections đã xác định đƣợc bốn trƣờng hợp sử dụng chính
này. Tại thời điểm này trong quá trình này, nhóm dự án bắt đầu viết các ca sử dụng
tổng quan cho bốn nghiên cứu này. Hãy nhớ rằng trƣờng hợp sử dụng tổng quan
chỉ có năm thông tin: tên trƣờng hợp sử dụng, số ID, diễn viên chính, loại và mô tả
ngắn gọn. Tại thời điểm này, chúng tôi đã xác định đƣợc các tác nhân chính và liên
kết chúng với bốn trƣờng hợp sử dụng. Hơn nữa, bởi vì chúng ta đang bắt đầu quá
trình phát triển, tất cả bốn trƣờng hợp sử dụng sẽ đƣợc tổng quan và các loại thiết
yếu. Bởi vì số ID chỉ đơn giản đƣợc sử dụng cho mục đích nhận dạng (nghĩa là
chúng đóng vai trò là chìa khoá trong cơ sở dữ liệu), các giá trị của chúng có thể
đƣợc gán theo thứ tự. Điều này để lại cho chúng tôi chỉ với hai mẩu thông tin cho
mỗi trƣờng hợp sử dụng để viết. Tên trƣờng hợp sử dụng phải là một kết hợp cụm
động từ kết hợp hành động (ví dụ nhƣ Make Appointment).
Bƣớc thứ năm là xem xét cẩn
thận các trƣờng hợp sử dụng
hiện tại. Dành ít phút để xem lại
các trƣờng hợp sử dụng và đảm
bảo bạn hiểu chúng. Dựa trên mô
tả của cả bốn trƣờng hợp sử
dụng, dƣờng nhƣ có một trƣờng
hợp sử dụng bị thiếu rõ ràng:
Duy trì Đặt hàng. Bởi vì nhóm
dự án không bao gồm ngôn ngữ
trong mô tả ngắn gọn về trƣờng
hợp sử dụng Đặt chỗ, có vẻ nhƣ
nhóm dự án tin rằng việc duy trì
một đơn đặt hàng là hoàn toàn
khác với việc đặt một đơn đặt
hàng mà nó cần phải có trƣờng
hợp sử dụng riêng để mô tả nó.
Hơn nữa, không có vẻ hợp lý khi
khách hàng thấy việc đặt hàng và
duy trì một đơn đặt hàng nhƣ trƣờng hợp sử dụng tƣơng tự. Loại quá trình tƣơng
tác và gia tăng này tiếp tục cho đến khi nhóm dự án cảm thấy rằng họ đã xác định
các trƣờng hợp sử dụng chính cho Hệ thống Bán hàng Internet.
Creating the Use-Case Diagram (tạo biểu đồ ca sử dụng)
Bởi vì sơ đồ trƣờng hợp sử dụng chỉ cung cấp tổng quan về các trƣờng hợp sử
dụng chi tiết, nhóm nghiên cứu thấy rằng việc tạo ra sơ đồ trƣờng hợp sử dụng từ
các mô tả trƣờng hợp sử dụng chi tiết rất dễ dàng. Nhóm nghiên cứu đã thực hiện
theo bốn bƣớc chính để vẽ một sơ đồ trƣờng hợp sử dụng trong hình 5 (Hình 5) -
11.
Trƣớc tiên, họ đặt một hộp vào biểu đồ trƣờng hợp sử dụng để đại diện cho Hệ
thống Bán hàng Internet và đặt tên hệ thống ở đầu hộp. Thứ hai, họ thêm trƣờng
hợp sử dụng vào sơ đồ. Thứ ba, họ đặt các diễn viên gần các trƣờng hợp sử dụng
mà họ đã liên kết. Thứ tƣ, họ rút ra trong hiệp hội kết nối các diễn viên với các
trƣờng hợp sử dụng tƣơng ứng. Hình 5-19 miêu tả sơ đồ trƣờng hợp sử dụng mà
nhóm tạo ra
5-9 Identifying Generalization Associations in Use Cases and Specialized Actors
Xác định các hiệp hội tổng quát trong các trƣờng hợp sử dụng và các nhân tố
chuyên biệt
Các điểm trƣờng hợp sử dụng là một kỹ thuật ƣớc tính kích cỡ và nỗ lực tƣơng đối
mới đƣợc dựa trêný tƣởng tƣơng tự nhƣ phân tích điểm chức năng. Điểm trƣờng
hợp sử dụng đƣợc xây dựng trên hai chínhcác cấu trúc kết hợp với phân tích trƣờng
hợp sử dụng: các tác nhân và các trƣờng hợp sử dụng. Giống nhƣ các điểm chức
năng, điểm usecase có một bộ các yếu tố đƣợc sử dụng để thay đổi giá trị nguyên
của chúng: các yếu tố phức tạp về kỹ thuật và các yếu tố môi trƣờng. Các yếu tố
phức tạp về kỹ thuật giải quyết sự phức tạp củadự án đang đƣợc xem xét, trong khi
đó các yếu tố môi trƣờng liên quan đến mức độ kinh nghiệm của nhân viên phát
triển. Dựa trên số điểm trƣờng hợp sử dụng, ƣớc tínhnỗ lực cần thiết có thể đƣợc
tính toán.