Mụ hỡnh húa User Case
G 16.4 Mụ hỡnh húa Use Case
16.4 Mụ hỡnh húa Use Case
Trường hợp sử dụng là một kỹ thuật mụ hỡnh húa được sử dụng để mụ tả một hệ thống mới sẽ phải làm gỡ hoặc một hệ thống đang tồn tại làm gỡ. Một mụ hỡnh Use Case được xõy dựng qua một quỏ trỡnh mang tớnh vũng lặp (interative), trong đú những cuộc hội thảo bàn luận giữa nhúm phỏt triển hệ thống và khỏch hàng (hoặc/và người sử dụng cuối) sẽ dẫn tới một đặc tả yờu cầu được tất cả mọi người chấp nhận. Người cha tinh thần của mụ hỡnh húa Use Case là Ivar Jacobson, ụng đó tạo nờn kỹ thuật mụ hỡnh húa dựa trờn những kinh nghiệm thu thập được trong quỏ trỡnh tạo hệ thống AXE của hóng Erisson. Use Case đó nhận được một sự quan tõm đặc biệt lớn lao từ phớa cộng đồng hướng đối tượng và đó tỏc động lờn rất nhiều phương phỏp hướng đối tượng khỏc nhau.
Những thành phần quan trọng nhất của một mụ hỡnh Use Case là Use Case, tỏc nhõn và hệ thống. Ranh giới của hệ thống được định nghĩa qua chức năng tổng thể mà hệ thống sẽ thực thi. Chức năng tổng thể được thể hiện qua một loạt cỏc Use Case và mỗi một Use Case đặc tả một chức năng trọn vẹn, cú nghĩa là Use Case phải thực thi toàn bộ chức năng đú, từ sự kiện được kớch hoạt đầu tiờn bởi một tỏc nhõn ngoại cảnh cho tới khi chức năng đũi hỏi được thực hiện hoàn tất. Một Use Case luụn luụn phải cung cấp một giỏ trị nào đú cho một tỏc nhõn, giỏ trị này là những gỡ mà tỏc nhõn mong muốn từ phớa hệ thống. Tỏc nhõn là bất kỳ một thực thể ngoại cảnh nào mong muốn tương tỏc với hệ thống. Thường thường, đú là một người sử dụng của hệ thống, nhưng nhiều khi cũng cú thể là một hệ thống khỏc hoặc là một dạng mỏy múc thiết bị phần cứng nào đú cần tương tỏc với hệ thống.
Trong kỹ thuật mụ hỡnh húa Use Case, hệ thống sẽ cú hỡnh dạng của một "hộp đen" và cung cấp cỏc Use Case. Hệ thống làm điều đú như thế nào, cỏc Use Case được thực thi ra sao, đú là những khớa cạnh chưa được đề cập tới trong giai đoạn này. Trong thực tế, nếu mụ hỡnh húa Use Case được thực hiện trong những giai đoạn đầu của dự ỏn thỡ thường nhà phỏt triển sẽ khụng biết Use Case sau này sẽ được thực thi (tức là biến thành những dũng code thật sự) như thế nào.
Mục tiờu chớnh yếu đối với cỏc Use Case là:
Để quyết định và mụ tả cỏc yờu cầu về mặt chức năng của hệ thống, đõy là kết quả rỳt ra từ sự thỏa thuận giữa khỏch hàng (và/hoặc người sử dụng cuối) và nhúm phỏt triển phần mềm.
Để tạo nờn một lời mụ tả rừ ràng và nhất quỏn về việc hệ thống cần phải làm gỡ, làm sao để mụ hỡnh cú thể được sử dụng nhất quỏn suốt toàn bộ quỏ trỡnh phỏt triển, được sử dụng làm cụng cụ giao tiếp cho tất cả những người phỏt triển nờn cỏc yờu cầu này, và để tạo nờn một nền tảng cho việc tạo nờn cỏc mụ hỡnh thiết kế cung cấp cỏc chức năng được yờu cầu.
Để tạo nờn một nền tảng cho cỏc bước thử nghiệm hệ thống, đảm bảo hệ thống thỏa món đỳng những yờu cầu do người sử dụng đưa ra. Trong thực tế thường là để trả lời cõu hỏi: Liệu hệ thống cuối cựng cú thực hiện những chức năng mà khởi đầu khỏch hàng đó đề nghị?
Để cung cấp khả năng theo dừi cỏc yờu cầu về mặt chức năng được chuyển thành cỏc lớp cụ thể cũng như cỏc thủ tục cụ thể trong hệ thống.
Để đơn giản húa việc thay đổi và mở rộng hệ thống qua việc thay đổi và mở rộng mụ hỡnh Use Case, sau đú chỉ theo dừi riờng những Use Case đó bị thay đổi cựng những hiệu ứng của chỳng trong thiết kế hệ thống và xõy dựng hệ thống.
G
Những cụng việc cụ thể cần thiết để tạo nờn một mụ hỡnh Use Case bao gồm: 1. Định nghĩa hệ thống (xỏc định phạm vi hệ thống)
2. Tỡm ra cỏc tỏc nhõn cũng như cỏc Use Case 3. Mụ tả Use Case
4. Định nghĩa mối quan hệ giữa cỏc Use Case 5. Kiểm tra và phờ chuẩn mụ hỡnh.
Đõy là một cụng việc mang tớnh tương tỏc rất cao, bao gồm những cuộc thảo luận với khỏch hàng và những người đại diện cho cỏc loại tỏc nhõn. Mụ hỡnh Use Case bao gồm cỏc biểu đồ Use Case chỉ ra cỏc tỏc nhõn, Use Case và mối quan hệ của chỳng với nhau. Cỏc biểu đồ này cho ta một cỏi nhỡn tổng thể về mụ hỡnh, nhưng những lời mụ tả thực sự của từng Use Case thường lại là văn bản. Vỡ cỏc mụ hỡnh trực quan khụng thể cung cấp tất cả cỏc thụng tin cần thiết, nờn cần thiết phải dựng cả hai kỹ thuật trỡnh bày đú.
Cú rất nhiều người quan tõm đến việc sử dụng cỏc mụ hỡnh Use Case. Khỏch hàng (và/hoặc người sử dụng cuối) quan tõm đến chỳng vỡ mụ hỡnh Use Case đặc tả chức năng của hệ thống và mụ tả xem hệ thống cú thể và sẽ được sử dụng ra sao. Cỏc Use Case vỡ vậy phải được mụ tả trong những thuật ngữ và ngụn ngữ của khỏch hàng/người sử dụng.
Nhà phỏt triển cần đến cỏc mụ hỡnh Use Case để hiểu hệ thống cần phải làm gỡ, và qua đú cú được một nền tảng cho những cụng việc tương lai (cỏc mụ hỡnh khỏc, cỏc cấu trỳc thiết kế và việc thực thi xõy dựng hệ thống bằng code). Cỏc nhúm chuyờn gia thử nghiệm tớch hợp và thử nghiệm hệ thống cần đến Use Case để thử nghiệm và kiểm tra xem hệ thống cú đảm bảo sẽ thực hiện đỳng chức năng đó được đặc tả trong giai đoạn đầu. Và cuối cựng, bất kỳ người nào liờn quan đến những hoạt động liờn kết đến chức năng của hệ thống đều cú thể quan tõm đến cỏc mụ hỡnh Use Case; vớ dụ như cỏc nhúm tiếp thị, bỏn hàng, hỗ trợ khỏch hàng và cỏc nhúm soạn thảo tài liệu.
Mụ hỡnh Use Case mụ tả hướng nhỡn Use Case của hệ thống. Hướng nhỡn này là rất quan trọng, bởi nú ảnh hưởng đến tất cả cỏc hướng nhỡn khỏc của hệ thống. Cả cấu trỳc logic lẫn cấu trỳc physic đều chịu ảnh hưởng từ cỏc Use Case, bởi chức năng được đặc tả trong mụ hỡnh này chớnh là những chức năng được thực thi trong cỏc cấu trỳc kia. Mục đớch cuối cựng là thiết kế ra một giải phỏp thỏa món cỏc yờu cầu đú.
Mụ hỡnh húa cỏc Use Case chẳng phải chỉ được dựng để nắm bắt cỏc yờu cầu của hệ thống mới; nú cũng cũn được sử dụng để hỗ trợ cho việc phỏt triển một phiờn bản mới của hệ thống. Khi phỏt triển một phiờn bản mới của hệ thống đang tồn tại, người ta sẽ bổ sung thờm cỏc chức năng mới vào mụ hỡnh Use Case đó cú bằng cỏch thờm vào cỏc tỏc nhõn mới cũng như cỏc Use Case mới, hoặc là thay đổi đặc tả của cỏc Use Case đó cú. Khi bổ sung thờm vào mụ hỡnh Use Case đang tồn tại, hóy chỳ ý để khụng bỏ ra bất kỳ một chức năng nào vẫn cũn được cần tới.