Top Banner
CHƢƠNG 5: Mô hình hóa chức năng Chƣơng trƣớc tho lun vcác kthut thu thp yêu cu phbiến hơn, nhƣ phng vn, JAD, và quan sát. Sdng các kthuật này, nhà phân tích xác định các yêu cu và to ra một định nghĩa yêu cầu. Các định nghĩa yêu cầu đƣợc xác định nhng gì hthống là để làm. Trong chƣơng này, chúng ta thảo lun làm thế nào các thông tin đƣợc thu thp bng cách sdng các kthuật này đƣợc tchc và trình bày dƣới dạng sơ đồ hoạt động và các trƣờng hp sdng. Bởi vì UML đã đƣợc chp nhận nhƣ một ký pháp tiêu chun ca OMG nên gần nhƣ tất ccác dán phát triển hƣớng đối tƣợng ngày nay đều sdụng sơ đồ hoạt động và các trƣờng hp sdụng để lp và tchc các yêu cầu thu đƣợc trong giai đoạn phân tích. Mt biểu đồ hoạt động có thđƣợc sdng cho bt kloi hoạt động mô hình hóa quá trình.2 Trong chƣơng này, chúng tôi mô tả vic sdng chúng trong mô hình hóa quá trình nghip v. Mô hình quy trình mô t hoạt động ca mt hthng nghip v. Hminh hocác quy trình hoc các hoạt động đƣợc thc hin và các đối tƣợng (dliu) di chuyn gia chúng nhƣ thế nào. Mt mô hình quy trình có thđƣợc sdụng để ghi li mt hthng hin ti (tức là, nhƣ là hệ thng) hoc mt hthng 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ó rt nhiu kthut lập mô hình quy trình khác nhau đang đƣợc sdng hin nay: Mt ca sdng là mt cách chính thức để hthng nghip vtƣơng tác với môi trƣờng ca nó. Nó minh hocác hoạt động đƣợc thc hin bi những ngƣời sdng hthống. Do đó, mô hình ca sdụng thƣờng đƣợc xem nhƣ là một cái nhìn bên ngoài hay chức năng của mt quy trình nghip vtrong đó nó cho thấy cách ngƣời dùng xem quá trình chkhông phải là các cơ chế bên trong mà tiến trình và các hthng htrvn hành. Giống nhƣ biểu đồ hoạt động, ca sdng có thghi li hthng hin ti (tức là, nhƣ là hệ thng) hoc hthng mới đang đƣợc phát trin Biểu đồ hoạt động và ca sdng là các mô hình logic mô tcác hoạt động trong lĩnh vực kinh doanh mà không đề xut cách tiến hành nhƣ thế nào. Các mô hình lôgic đôi khi đƣợc gi là các mô hình mi n vấn đề. Đọc mt biểu đồ hoạt động hoc ca sdng, vnguyên tc, không nên chra nếu mt hoạt động đƣợc vi tính hóa hay thcông; nếu mt mảnh thông tin đƣợc thu thp bng giy hoc qua Web; hoc nếu thông tin đƣợc đặt trong mt thsơ hoặc cơ sở dliu ln. Nhng 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 vt lý. Các mô hình này cung cp thông tin cn thiết để xây dng hthng. Bng cách tp trung vào các hoạt động hợp lý đầu tiên, các nhà
52

CHƢƠNG 5: Mô hình hóa chức năng

Dec 29, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CHƢƠNG 5: Mô hình hóa chức năng

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à

Page 2: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 3: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 4: CHƢƠNG 5: Mô hình hóa chức năng

-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

Page 5: CHƢƠNG 5: Mô hình hóa chức nă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

Page 6: CHƢƠNG 5: Mô hình hóa chức nă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ó

Page 7: CHƢƠNG 5: Mô hình hóa chức năng

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ì

Page 8: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 9: CHƢƠNG 5: Mô hình hóa chức năng

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.

Page 10: CHƢƠNG 5: Mô hình hóa chức nă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

Page 11: CHƢƠNG 5: Mô hình hóa chức nă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

Page 12: CHƢƠNG 5: Mô hình hóa chức năng

đá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ả

Page 13: CHƢƠNG 5: Mô hình hóa chức năng

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.

Page 14: CHƢƠNG 5: Mô hình hóa chức năng

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ẽ.

Page 15: CHƢƠNG 5: Mô hình hóa chức năng

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).

Page 16: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 17: CHƢƠNG 5: Mô hình hóa chức năng

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ệ)

Page 18: CHƢƠNG 5: Mô hình hóa chức năng

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.

Page 19: CHƢƠNG 5: Mô hình hóa chức năng

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 đó).

Page 20: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 21: CHƢƠNG 5: Mô hình hóa chức năng

(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.

Page 22: CHƢƠNG 5: Mô hình hóa chức năng

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.

Page 23: CHƢƠNG 5: Mô hình hóa chức năng

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.

Page 24: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 25: CHƢƠNG 5: Mô hình hóa chức năng

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 để

Page 26: CHƢƠNG 5: Mô hình hóa chức năng

đả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ọ

Page 27: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 28: CHƢƠNG 5: Mô hình hóa chức năng

đổ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ý).

Page 29: CHƢƠNG 5: Mô hình hóa chức năng

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?

Page 30: CHƢƠNG 5: Mô hình hóa chức năng

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.

Page 31: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 32: CHƢƠNG 5: Mô hình hóa chức nă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

Page 33: CHƢƠNG 5: Mô hình hóa chức năng

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ử

Page 34: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 35: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 36: CHƢƠNG 5: Mô hình hóa chức nă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).

Page 37: CHƢƠNG 5: Mô hình hóa chức năng

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.

Page 38: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 39: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 40: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 41: CHƢƠNG 5: Mô hình hóa chức năng

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):

Page 42: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 43: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 44: CHƢƠNG 5: Mô hình hóa chức nă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

Page 45: CHƢƠNG 5: Mô hình hóa chức năng

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.

Page 46: CHƢƠNG 5: Mô hình hóa chức năng

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ệ

Page 47: CHƢƠNG 5: Mô hình hóa chức năng

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ể

Page 48: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 49: CHƢƠNG 5: Mô hình hóa chức năng

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).

Page 50: CHƢƠNG 5: Mô hình hóa chức năng

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

Page 51: CHƢƠNG 5: Mô hình hóa chức năng

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.

Page 52: CHƢƠNG 5: Mô hình hóa chức năng