Bảng xử lý ngoại lệ trong sơ đồ user case

Use Case được mô tả trong ngôn ngữ UML qua biểu đồ Use Case (Use Case Diagram), và một mô hình Use Case có thể được chia thành một số lượng lớn các biểu đồ như thế. Một biểu đồ Use Case chứa các phần tử mô hình biểu thị hệ thống, tác nhân cũng như Use Case và chỉ ra các mối quan hệ giữa các Use Case.

Mỗi use case mô tả cách thức actor tương tác với hệ thống để đạt được mục tiêu nào đó. Một hoặc nhiều kịch bản (scenario) có thể được tạo ra từ mỗi use case, tương ứng với chi tiết về mỗi cách thức đạt được mục tiêu nào đó. Khi mô tả Use case, người ta thường tránh dùng thuật ngữ kỹ thuật, thay vào đó họ sử dụng ngôn ngữ của người dùng cuối hoặc chuyên gia về lĩnh vực đó. Để tạo ra use case, cần phải có sự hợp tác chặt chẽ giữa người phân tích hệ thống và người dùng cuối. Một trong những cách biểu diễn trực quan phổ biến hiện nay là lược đồ use case của UML.

Lời mô tả nội dung Use Case thường được cung cấp dưới dạng văn bản. Trong UML, lời mô tả đó được coi là thuộc tính "văn bản" (document) của Use Case. Lời mô tả này bao chứa những thông tin quan trọng, định nghĩa các yêu cầu và chức năng cụ thể. Thay cho việc mô tả Use Case bằng văn bản, bạn cũng có thể vẽ một biểu đồ hoạt động (activity diagram). Mặc dầu vậy, nên nhớ rằng một Use Case cần phải được mô tả sao cho dễ hiểu và dễ giao tiếp đối với người sử dụng, mà những cấu trúc phức tạp như một biểu đồ hoạt động có thể gây cảm giác xa lạ đối với những người không quen sử dụng.

Tóm tắt: Một biểu đồ Use Case thể hiện:

- Hệ thống

- Tác nhân

- Use Case.

Ví dụ biểu đồ Use Case trong UML:

Bảng xử lý ngoại lệ trong sơ đồ user case

Một ví dụ biểu đồ Use case trong UML

Trong đó :

- Hệ thống được thể hiện qua hình chữ nhật với tên hệ thống ở bên trên

- Tác nhân được thể hiện qua kí hiệu hình nhân

- Use Case được thể hiện qua hình ellipse

Các quan hệ trong biểu đồ Use case:

- Use case «include»: Một Use case (gọi là base Use case) có thể chứa («include») chức năng của một Use case khác (gọi là inclusion Use case) như một phần xử lý của nó. Nói chung, nó giả sử rằng mọi Use case «include» sẽ được gọi mỗi khi tuyến Use case chính chạy. Quan hệ này còn gọi là quan hệ sử dụng «uses». Ví dụ, việc thực thi Use case Card Identification (Xác nhận thẻ) là một phần của Use case Withdraw (Rút tiền). Khi thực thi Use case Withdraw, Use case Card Identification sẽ được gọi.

- Use case «extend»: Một Use case mở rộng (gọi là extension Use case) có thể được mở rộng («extend») hành vi từ một Use case khác (gọi là base Use case); điều này thường dùng cho các trường hợp tùy chọn, ngoại lệ, chèn thêm vào … Ví dụ, nếu trước khi thay đổi một kiểu đặt hàng cụ thể (Modify Order), người dùng có thể phải nhận được sự chấp thuận (Get Approval) từ cấp phân quyền cao hơn, thì Use case Get Approval có thể tùy chọn mở rộng («extend») Use case Modify Order thông thường.

- Use case Generalizations:  Một quan hệ generalization có giữa một Use case cụ thể hơn (specifilized) đến với một Use case tổng quát hơn (generalized). Một generalized có thể cụ thể hóa thành nhiều specifilized, một specifilized cũng có thể được cụ thể hóa từ nhiều generalized. Một quan hệ generalization giữa các Use case trình bày thành một đường đặc từ specifilized đến generalized, với đầu mũi tên là một tam giác rỗng chỉ generalized. Tránh nhằm lẫn với quan hệ phụ thuộc «extend».

Mục đích chính của việc mô hình hóa Use case là để tạo ra một tài liệu mô tả tổng thể về hệ thống bằng cách xác định mục đích người dùng.

Câu 1: Lược đồ Use case có thể chứa? a- use case, actor, mối quan hệ giữa các thành phần b- usecase, actor, note c- usecase, actor, note, mối quan hệ giữa các thành phần d- cả 3 đều sai

Câu 2: Tính bao đóng các thành phần trong 1 đối tượng c# phụ thuộc vào: a- Từ khóa tầm vực kết hợp với thành phần đó b -Tham khảo đến đối tượng c -a va b đúng d. -a va b sai

Câu 3: Trong VC#, lệnh kích hoạt constructor của class A chạy là: a- Lệnh new A(...); b- Lệnh new B(...); với B là class con của A c- Lệnh formater, DeSerialize(...) (ham doc nguoc lai) có liên quan đến đối tượng class A d- Cả 3 đều đúng

Câu 4: Các mối quan hệ phổ biến giữa các actor là: a- Generalization giữa các use case b- include, extend c- a và b đúng d- a và b sai

Câu 5: Lược đồ hoạt động miêu tả được: a. Giải thuật thực hiện chức năng của use-case tương ứng b. 1 kịch bản thực hiện chứcc năng của use-case tương ứng c. Sự tương tác giữa các đối tượng d. Sự tương tác giữa các actor và các đối tượng cũng như giữa các đối tượng (kich ban la 1 trong các th của thuật giải, tương tác là hoạt động của thuật giải Lược đồ cộng tác thể hiện sự tương tác) Câu 6: Lược đồ use case cho thấy: a. Toàn bộ các chức năng của hệ thống phần mềm b. Toàn bộ các chức năng của hệ thống phần mềm và các actor c. Một số chức năng của hệ thống phần mềm d. Một số chức năng của hệ thống phần mềm và một số actor tương tác với các chức năng này (1 chức năng là 1 use case, pmềm tách ra nhiều lược đồ use case khác nhau) Câu 7: Trong VC# xét lệnh sau: Func1() ; a. Lệnh trên có thể là lời gọi hàm nội bộ b. Lệnh trên có thể được hiểu là this(); c. Lệnh trên có thể được xử lý đa xạ d. Cả 3 câu đều đúng

1

Câu 8: Ta sử dụng “hoạt động lặp” trong khi thực hiện: a. Từng workflow b. Từng bước nhỏ trong worklfow c. Từng chu kỳ phát triển phần mềm d. Cả 3 đều đúng (muốn lặp khi nào chúng ta muốn) Câu 9: Trong công nghiệp, người ta tiến hành các workflow theo cơ chế: A- Tuần tự B- Song song C- Lặp theo pipe-line (đường ống) D- Tùy theo sở thích ( công nghiệp phải theo qui trình không tùy thích được) (song song theo quan hệ là lặp theo pipe line) Câu 10: UML cho phép a- Đặc tả và xây dựng các artifacts cho 1 hệ thống cần tin học hóa b- Lập tài liệu và hiển thị trực quan các artifacts cho 1 sys cần tin học hóa c- Cả 2 câu đều đúng d- Cả 2 đều sai

Câu 11 : Tính chất nào giúp người lập trình giảm nhẹ được công sức lập trình a. Đa xạ và thừa kế b. Thừa kế và thường trú c. Thường trú và tổng quát hóa d. Tổng quát hóa và Thừa kế Câu 12: Thông qua biến tham khảo đến đối tượng VC# ta có thể : a- Truy xuất thuộc tính giao tiếp và tác vụ chức năng nào đó b- Truy xuất event hay dùng delegate của đối tượng c- Truy xuất các phần tử trong 1 danh sách kết hợp với đối tượng d- Cả 3 câu đều đúng

Câu 13: Để truy xuất 1 thành phần static của 1 class; a- Ta phải tạo đối tượng cụ thể của class đó rồi truy xuất thành phần thông qua đối tượng b- Ta chỉ cần truy xuất thông qua tên class mà không cần tạo đối tượng cụ thể c- a hay b đều được d- Cả 3 đều sai (static trong 1 class chỉ được tạo ra 1 lần duy nhất và nó làm đối tượng dùng chung) Câu 14: Trong VC# khi định nghĩa một tác vụ thuộc class A và cấm không cho các class con override lại tác vụ này ta dùng: a- Từ khóa final trong lệnh định nghĩa tác vụ b- Từ khóa virtual trong lệnh định nghĩa tác vụ c- Từ khóa fixed trong lệnh định nghĩa tác vụ d- Cả 3 đều sai (dùng nhưng k được sửa, class cha có virtual thì class con mới override được, lúc đó có đa xạ kèm theo) Câu 15: Với kỹ thuật Serialization VC#, ta có thể xuất hệ thống đối tượng ra file theo dạng: a- Nhị phân b-XML

2

b-1 interface sử dụng c-1 class tổng quát hóa d-Cả 3 câu trên đều sai Câu 3/ Để tạo 1 ứng dụng multi-platform dễ dàng, dễ nâng cấp, ta nên dùng mẫu thiết kế: a- Adapter b- Astract Factory ( mẫu thể hiện trên nhiều giao diện vd Win XP) c- Kết hợp các mẫu thiết kế trên d- Kết hợp nhiều mẫu thiết kế khác nhau Câu 4/ Để thêm động trách nhiệm cho các đối tượng, ta có thể dùng mẫu thiết kế: (tham khảo đến các đối tượng được là động trách nhiệm) a-Proxy b-Decorator c-Composite (đn 1 anh chứa anh kia tằng cường thêm) d-Cả 3 câu trên đều đúng Câu 5/ Client muốn tương tác với một họ trong một tập hợp họ đối tượng và việc chọn họ đối tượng được xác định tại thời điểm run-time, ta dùng mẫu thiết kế : (ví dụ: tạo button textbox được tạo ra trong môi trường nào tùy vào lúc chạy) a-Composite b-Template method c-Abstract Factory d-Factory Method (astract factory là cò tạo và quản lý các đối tượng tạo) Câu 6/ Để một class chuyển quá trình hiện thực một nhiệm vụ nào đó cho một trong các lớp con nhưng cho phép ứng dụng xác định class con cụ thể, ta dùng mẫu thiết kế: a-Composite b-Buider c-Abstract Factory d- Factory Method (class cha muốn class con làm, xđ class con tại thời điểm) Câu 7/ Mối quan hệ giữa các thành phần trong các mẫu thiết kế: a-Thừa kế b-Kết hợp (association) c- Bao gộp d-Cả 3 câu trên đều đúng

Câu 8/ Khi hệ thống cần độc lập với các đối tượng mà nó sinh ra và các đối tượng sinh ra thuộc cùng một class và có rất ít điểm khác biệt ta dùng mẫu thiết kế: a- Abstract Factory b- Method Factory c- Prototype d- Builder Câu 9/ Theo qui trình phát triển phần mềm RUP(Rational Unified Process), kiến trúc của hệ thống phần mềm là: a- Các module chức năng cấu thành phần mềm và mối quan hệ giữa chúng b- Các góc nhìn (view) của các mô hình c- Các mô hình

4

d- Cả 3 câu trên đều đúng (A là kiến trúc vật lý của nó)

Câu 10/Muốn xác định động tại thời điểm chạy tập các đối tượng xử lý 1 request nào đó ta nên dùng mẫu thiết kế nào: a-Proxy b-Composite c-Chain of responsibility d- Cả 3 câu đều đúng (a ,b thêm nhiều proxy thêm 1 sequency thì sẽ trở thành c) Câu 11/ Muốn tập trung các hành vi giống nhau ở các lớp để tránh trùng lắp, ta nên dùng mẫu thiết kế: a-Prototype b- Strategy c-Template method d-Factory method Câu 12/ Hai mẫu thiết kế nào có lược đồ class khác nhau a-Adapter & Abstract Factory b-Strategy & State c-Factory method & template method d-cả 3 câu trên đều đúng Câu 13/ Muốn tránh việc dùng các lệnh kiểm tra số học có nhiều khả năng xảy ra, ta nên dùng mẫu thiết kế: a-Command b-Strategy c-Chain of responsibility d-Observer (vd xd menu chọn thuật giải tìm kiếm tuần tự nhị phân ta dùng if else) Câu 14/ Đa số (Tất cả) các mẫu thiết kế “Creational”: (nhom khoi tao) a- Thuộc loại class pattern b- Thuộc loại object pattern c- Hỗ trợ cả 2 loại pattern d- Cả 3 câu trên đều sai (All các mẫu thiết kế khởi tạo đối tượng đều thuộc lớp của câu a) Câu 15/ Muốn định nghĩa sự phụ thuộc 1-n giữa các đối tượng sao cho khi 1 đối tượng thay đổi trạng thái thì các đối tượng phụ thuộc được cảnh báo hầu hiệu chính tự động ta dùng mẫu thiết kế : a-Factory b- c-Observer d- State Câu 16/ Đa số mẫu thiết kế “Behavioral” thuộc loại: a- Class pattern b- Object pattern c-Class pattern lẫn object pattern d- Cả 3 câu trên đều sai

5

Câu 20/ Luồng các sự kiện ở workflow (là 1 kịch bản để gq’ use case) phân tích và ở workflow nắm bắt yêu cầu khác nhau ở chỗ : a- Mức độ trừu tượng b- Đối tượng bị tác động trong các hoạt động c- Ngôn ngữ được dùng để đặc tả d- cả 3 câu trên đúng

Câu 21/ Một số tính chất giống nhau của Java và C++ là : a-Hỗ trợ đơn thừa kế b-Hỗ trợ đa xạ c-Hỗ trợ tính kế thừa, bao gộp d- Cả 3 đúng Câu 24/ Trong VC++, lệnh kích hoạt destructor của class A chạy là: a- Lệnh return (tường minh hay ko tường minh) trong hàm có biến cục bộ kiểu là A b- Lệnh delete(pobj) trong đó pobj là pointer đến đối tượng thuộc class con của A c- Lệnh delete(pobj) trong đó pobj là pointer đến đối tượng thuộc class A d- Cả 3 câu đều đúng Câu 32/ Xét tính bao đóng các thuộc tính private trong Java, code của 1 hàm trong 1 class A: a- Chỉ có thể truy xuất các thuộc tính private của đối tượng đang được xử lý b- Có thể truy xuất các thuộc tính private của bất kỳ đối tượng nào của class A c- Tùy ngữ cảnh cụ thể mà a hay b đúng d- Cả 3 câu đều sai

Câu 33/ Trong VC++, chọn phát biểu đúng nhất a- Tầm vực của tác vụ sẽ quyết định tính đa xạ b- Tầm vực của tác vụ ko ảnh hưởng đến tính đa xạ c- Cả 2 câu a và b đúng d- Cả 3 câu trên đều sai

Câu 34/ Một số tính chất khác nhau của Java và VC++ là : a- Mức độ hỗ trợ kỹ thuật ‘Serialization’ b- Cách thức xử lý tính đa xạ c- Gọi hàm API d- Cả 3 câu đều đúng

Câu 35/ Trong Java: a-Không tồn tại hoạt động gọi hàm mà chỉ có lệnh gởi thông điệp b-Chỉ tồn tại lời gọi hàm cục bộ trong class tương ứng c-Cho phép gọi hàm thư viện bình thường d-Cả 3 đều sai

Câu 36/ Trong Java, chọn phát biểu đúng nhất a- Tầm vực của tác vụ sẽ quyết định tính đa xạ

b- Tầm vực của tác vụ không ảnh hưởng đến tính đa xạ c- Cả 2 câu a và b đều đúng d- Cả 3 câu trên đều sai

Câu 38/ Trong VC++ một đối tượng sẽ được tạo ra : a- 1 cách tường minh bằng lệnh new b- 1 cách gián tiếp thông qua lệnh định nghĩa biến đối tượng c- Bằng cách load nội dung cũ từ môi trường chứa tin ngoại d- Cả 3 câu trên đều đúng

Câu 40/ Tính bao đóng các thành phần trong 1 class c++ phụ thuộc vào: a- Từ khóa tầm vực kết hợp với thành phần đó b- Các thức class con thừa kế class cha c- Cả 2 câu a và b đúng d- Cả a và b sai

Phần 1:

  1. Sơ đồ nào sau đây không phải là sơ đồ của UML : a. Component diagram b. State-chart diagram c. Deployment diagram d. Relationship diagram

  2. Thành phần nào sau đây không là đặc tính của một đồi tượng a. Identity b. Behaviour c. Action d. State

  3. Sự đóng gói được hiểu là : a. Sự che dấu thong tin b. Sự tổ chức các thành phần của một sơ đồ vào trong một gói (package) c. Việc xây dựng một lớp cha dựa trên các thuộc tính và các hành vi chung của các lớp con d. Việc xây dựng giao diện gồm tập các hành vi mà ta muốn sử dụng lại nhiều lần trên mô hình.

  4. Một lớp được mô tả là tập các đối tượng chia xẻ cùng các a. Attributes (thuộc tính), behaviour (hành vi) and operations (hành động) b. Identity(đặc tính), behaviour and state (trạng thái) c. Attributes, operations and relationships (mối quan hệ) d. Relationships, operations and multiplicity (bản số)

  5. Các use-cases nghiệp vụ (Business use-cases) và các tác nhân (actors) cùng mô tả :

  1. Để tổ chức các phần tử (elements) vào bên trong các nhóm (groups) ta sử dụng : a. Package b. Class c. Class và interface d. Component

  2. Các sơ đồ nào sau đây mô tả các hành vi động (dynamic behaviour) của hệ thống phần mềm? a. Sơ đồ lớp và sơ đồ đối tượng b. Sơ đồ Use-case và sơ đố lớp c. Sơ đồ cộng tác và sơ đồ triển khai d. Sơ đồ tuần tự và sơ đồ cộng tác

  3. Vòng đời của 1 lớp (Life cycle of a class) được trình bày bởi : a. Sơ đồ cộng tác b. Sơ đồ trạng thái c. Sơ đồ lớp d. Sơ đồ triển khai

  4. Trong sơ đồ use-case, một tác nhận được trình bày bởi :

a. Một vai trò là 1 người, 1 thiết bị phần cứng hoặc hệ thống khác. b. Cùng một người dung thực hiện nhiều hành đống khác nhau. c. Một người dung, khách hàng và không quan tâm đến vai trò của họ. d. Một hệ thống vật lý hoặc 1 thiết bị phần cứng cùng với các giao diện của nó.

  1. Công việc đầu tiên để xác định các phần của hệ thống và những quan hệ giữa chúng, tổ chức các phần vào trong các tầng với các phụ thuộc xác định được gọi là :

a. Use-case analysis b. Architectural analysis c. Structural analysis d. Dependency analysis

  1. Stereotype package có thể biểu diễn cho :

a. Một giao diện b. Một sơ đồ trạng thái c. Một tầng kiến trúc d. Một sơ đồ use-case

  1. Đường sinh tồn (lifeline) của 1 đối tượng được trình bày trong sơ đồ : a. Sơ đồ đối tượng b. Sơ đồ trạng thái

c. Sơ đồ tuần tự d. Sơ đồ triển khai

  1. Phát biểu nào sau đây không đúng? a. Sự mô tả của các use-cases đủ để tìm và phân tích các lớp cùng các đối tượng của nó. b. Có ít nhất một boundary object cho mỗi actor hay use-case pair c. Có một lớp điều khiển (control class) ứng với mỗi use-case d. Các đối tượng thực thể được nhận diện bởi việc xem xét các danh từ và cụm danh từ trong use- cases

  2. Phát biểu nào sau đây đúng?

a. Không có sự hạn chế nào trên nhiều mối kết hợp (multiple associations) giữa cùng 2 lớp. b. Có thể có nhiều mối kết hợp giữa cùng 2 lớp, nhưng chúng phải mang các ý nghĩa khác nhau. c. Không cho phép biểu diễn nhiều mối kết hợp trên cùng 2 lớp. d. Các mối kết hợp giữa cùng 2 lớp phải được tập hợp lại thành 1 mối kết hợp

  1. Nếu ta muốn tổ chức các phần tử (elements) vào trong các nhóm có thể sử dụng lại được với tất cả các thông tin được che dấu, ta có thể sử dụng một trong các cấu trúc nào của UML :

a. Package b. Class c. Class hoặc Interface d. Subsystem hoặc Component b. Có thể có nhiều mối kết hợp giữa cùng 2 lớp, nhưng chúng phải mang các ý nghĩa khác nhau. c. Không cho phép biểu diễn nhiều mối kết hợp trên cùng 2 lớp. d. Các mối kết hợp giữa cùng 2 lớp phải được tập hợp lại thành 1 mối kết hợp

  1. Phát biểu nào sau đây không đúng : a. Chỉ những public classes mới có thể được truy xuất từ những phần bên ngoài của packageứa nó. b. Không tồn tại lớp của các hệ thống con (classes of a subsystem) c. Các gói (Packages) ở tầng (layer) thấp hơn có thể phụ thuộc vào các gói ờ tầng cao hơn. d. Giai đoạn thiết kế là sự tinh chế của giai đoạn phân tích. Nó thêm vào những chi tiết cụ thể được nhận thức trong giai đoạn thiết kế.

  2. Nếu ta muốn tổ chức các phần tử vào trong các nhóm được sử dụng lại với sự che dấu thông tin đầy đủ, ta có thể sử dụng một trong các cấu trúc nào của UML? a. Package b. Class c. Class và interface

b) Sơ đồ tương tác c) Sơ đồ trạng thái d) Sơ đồ hoạt động

  1. Phát biểu nào sau đây không đúng về mối kết hợp trong sơ đồ lớp a) Mối kết hợp biểu diễn các quan hệ giữa các thể hiện của các lớp b) Mối kết hợp là các quy trình mà một lớp sẽ thực hiện c) Mối kết hợp có thể vô hướng d) Mối kết hợp có thể có cả hai hướng

  2. Trong sơ đồ tuần tự ---------> biểu diễn : a) Thông điệp (message ) b) Điều kiện (condition) c) Lặp (iteration) d) Xóa đối tượng (deletion)

  3. Trong sơ đồ tuần tự [some_text] biểu diễn : a) Thông điệp (message ) b) Điều kiện (condition) c) Lặp (iteration) d) Xóa đối tượng (deletion)

  4. Trong sơ đồ tuần tự dấu ***** biểu diễn : a) Thông điệp (message ) b) Điều kiện (condition) c) Lặp (iteration) d) Xóa đối tượng (deletion)

  5. Trong sơ đồ tuần tự dấu X biểu diễn : a) Thông điệp (message ) b) Điều kiện (condition) c) Lặp (iteration) d) Xóa đối tượng (deletion)

  6. Mệnh đề nào sau đây đúng về gởI thông điệp không đồng bộ trong sơ đồ tuần tự? a) Các thông điệp không đồng bộ có thể tạo một luồng mới, có thể tạo một đối tượng mới, và có thể liên lạc với các luồng khác đang chạy. b) Các thông điệp không đồng bộ có thể tạo một đối tượng mới nhưng không thể tạo một luồng mới và không thể liên lạc với các luồng khác đang chạy. c) Các thông điệp không đồng bộ không thể tạo một đối tượng mới nhưng có thể tạo một luồng mới và có thể liên lạc với các luồng khác đang chạy. d) Các thông điệp không đồng bộ có thể tạo một đối tượng mới, có thể tạo một luồng mới nhưng không thể liên lạc với các luồng khác đang chạy.

  7. Để biểu diễn rằng bất kỳ một thể hiện nào của lớp cha (lớp trừu tượng) phải là một thể hiện của một trong những lớp con của nó, ta sử dụng? a) {complete} b) [complete] c) (complete) d) <>

  8. Với mối quan hệ nào một thành phần thuộc về duy nhất một tổng thể. Các thành phần này luôn luôn tồn tại và mất đi cùng vớI tổng thể? a) aggregation b) Composition c) Classification d) Generalization

  9. Phát biểu nào sau đây đúng về mối kết hợp định tính (Qualified Associations) trên sơ đồ lớp? a) Mối kết hợp định tính cung cấp chức năng tương tự như chỉ mục. b) Đặc tính thông tin định danh (qualifier) là một thuộc tính của một lớp. Biểu tượng của nó là hình chữ nhật nhỏ kề bên class mà thực hiện việc tìm kiếm c) Mối kết hợp định tính đơn giản hóa sự định hướng qua mối kết hợp phức tạp bằng cách cung cấp các khóa để thu hẹp việc lựa chọn các đối tượng kết hợp. d) Các câu trên đều đúng

  10. Phát biểu nào sau đây đúng về mối kết hợp định tính (Qualified Associations) trên sơ đồ lớp? a) Mối kết hợp định tính xác định số lượng các đối tượngó thể tham gia trong mối kết hợp b) Mối kết hợp định tính chứa các luật bắt buộc phải đảm bảo các ràng buộc của mối quan hệ. c) Sử dụng các thông tin định danh (qualifier) để giảm một bản số one-to-many thành bản số one-to-one. d) Các câu trên đều đúng

  1. Phát biểu nào sau đây đúng về lớp kết hợp trên sơ đồ lớp? a) Nó cho phép người thiết kế thêm vào các thuộc tính, hành vi, cũng như những tính chất khác của mối kết hợp. b) Một lớp kết hợp đóng gói thông tin về mối kết hợp c) Một lớp kết hợp được nối đến mối kết hợp bằng đường đứt nét. (dashed line) d) Tất cả các câu trên đều đúng

  2. Phát biểu nào sau đây đúng về lớp kết hợp trên sơ đồ lớp? a) Một lớp kết hợp được nối đến mối kết hợp bằng đường liền nét. (solid line) b) Một lớp kết hợp được nối đến mối kết hợp bằng đường chấm .(dotted line) c) Một lớp kết hợp chứa các luật bắt buộc phải đảm bảo các ràng buộc của mối quan hệ.

a) Sơ đồ trạng thái (State Diagrams) b) Sơ đồ tuần tự (Sequence Diagrams) c) Sơ đồ hợp tác (Collaboration Diagrams) d) Sơ đồ hoạt động (Activity Diagrams)

  1. Hoàn chỉnh câu sau : ......... là cách biểu diễn tốt để mô tả hành vi của nhiều đối tượng trong một Use Case a) Sơ đồ trạng thái (State Diagrams) b) Sơ đồ tương tác (Interaction Diagrams) c) Sơ đồ hoạt động (Activity Diagrams) d) Sơ đồ lớp (Class Diagrams)

  2. Hoàn chỉnh câu sau : ......... là cách biểu diễn tốt để thể hiện dãy các hành động cho nhiều đối tượng và Use Case a) Sơ đồ trạng thái (State Diagrams) b) Sơ đồ tuần tự (Sequence Diagrams) c) Sơ đồ hợp tác (Collaboration Diagrams) d) Sơ đồ hoạt động (Activity Diagrams)

  3. Ký hiện * trong UML biểu diễn : a) Biểu diễn các bước lặp lại mà không có cấu trúc vòng lặp b) Nó chỉ ra rằng các hoạt động được thực hiện nhiều lần c) Biểu diễn nhiều hoạt động cần cùng được thực hiện trong một vài trạng thái. d) Câu a và b đúng

  4. Sơ đồ hoạt động được sử dụng trong những tình huống sau : a) Phân tích một use case b) Mô tả thuật toán tuần tự phức tạp, xây dựng lưu đồ c) Liên quan đến các ứng dạng đa luồng d) Tất cả các câu trên đều đúng

  5. Sơ đồ hoạt động được sử dụng trong những tình huống sau : a) Biểu diễn các đối tượng cộng tác với nhau như thế nào. b) Biểu diễn các hành vi của đối tượng qua thời gian sống của chúng. c) Biểu diễn điều kiện logic phức tạp d) Tất cả các câu trên đều sai

  6. Để biểu diễn các quan hệ vật lý giữa phần mềm và các thành phần phần cứng trong một hệ thống bạn sẽ dụng sơ đồ nào của UML? a) Sơ đồ triển khai (Deployment Diagram) b) Sơ đồ hoạt động (Activity Diagram) c) Sơ đồ lớp (Class Diagram) d) Sơ đồ trạng thái (State Diagram)

  7. Mục đích của sơ đồ hoạt động là : a) Biểu diễn hành vi với cấu trúc điều khiển. Sơ đồ hoạt động có thể biểu diễn nhiều đối tượng trong một use case. b) Biểu diễn cấu trúc tĩnh của các khái niệm, các loại và các lớp c) Giúp nắm được mục đích cơ bản của lớp, tốt cho việc khám phá việc cài đặt use case như thế nào. d) Biểu diễn cách bố trí các thành phần trên các nút phần cứng

  8. Mục đích của sơ đồ lớp là : a) Biểu diễn hành vi với cấu trúc điều khiển. Sơ đồ hoạt động có thể biểu diễn nhiều đối tượng trong một use case. b) Biểu diễn cấu trúc tĩnh của các khái niệm, các loại và các lớp c) Giúp nắm được mục đích cơ bản của lớp, tốt cho việc khám phá việc cài đặt use case như thế nào. d) Biểu diễn cách bố trí các thành phần trên các nút phần cứng

  9. Mục đích của sơ đồ triển khai là : a) Biểu diễn hành vi với cấu trúc điều khiển. Sơ đồ hoạt động có thể biểu diễn nhiều đối tượng trong một use case. b) Biểu diễn cấu trúc tĩnh của các khái niệm, các loại và các lớp c) Giúp nắm được mục đích cơ bản của lớp, tốt cho việc khám phá việc cài đặt use case như thế nào. d) Biểu diễn cách bố trí các thành phần trên các nút phần cứng

  10. Mục đích của kỹ thuật thiết kế bằng hợp đồng "Design by Contract" là : a) Cung cấp định nghĩa chặt chẽ mục đích các hành vi và trạng thái hợp lệ của lớp. b) Biểu diễn các đối tượng cộng tác trong một use case như thế nào. c) Biểu diễn nhóm các lớp và các phụ thuộc giữa chúng d) Cung cấp một vài kỹ thuật hữu ích cho phân tích, thiết kế và viết mã.

  11. Mục đích của sơ đồ tương tác (Interaction Diagram) là : a) Cung cấp định nghĩa chặt chẽ mục đích các hành vi và trạng thái hợp lệ của lớp. b) Biểu diễn các đối tượng cộng tác trong một use case như thế nào. c) Biểu diễn nhóm các lớp và các phụ thuộc giữa chúng d) Cung cấp một vài kỹ thuật hữu ích cho phân tích, thiết kế và viết mã.

  12. Mục đích của sơ đồ gói (Package Diagram) là : a) Cung cấp định nghĩa chặt chẽ mục đích các hành vi và trạng thái hợp lệ của lớp. b) Biểu diễn các đối tượng cộng tác trong một use case như thế nào. c) Biểu diễn nhóm các lớp và các phụ thuộc giữa chúng d) Cung cấp một vài kỹ thuật hữu ích cho phân tích, thiết kế và viết mã.

a) Mỗi thông điệp được biểu diễn bằng một mũi tên giữa đường sống của hai đối tượng. b) Mỗi thông điệp được biểu diễn bằng một đường thẳng đứng đứt nét c) Mỗi thông điệp phải có nhãn với tên thông điệp đi kèm một con số d) Câu a và c đúng

  1. Sơ đồ nào biểu diễn các thể hiện trong một hệ thống tại một thời điểm? a) Sơ đồ đối tượng (Object Diagram) b) Sơ đồ lớp (Class Diagram) c) Sơ đồ thành phần (Component Diagram) d) Sơ đồ hệ thống (System Diagram)

  2. Phát biểu nào đúng về sơ đồ hoạt động? a) Một phân nhánh có một hoạt động đến và nhiều hoạt động đi theo điều kiện. b) Một sự hợp nhất đồng bộ của các luồng đồng thời. c) Cả 2 câu trên đều đúng d) Cả 2 câu trên đều sai

  3. Phát biểu nào đúng về sơ đồ thành phần (Component Diagrams)? a) Một thành phần có thể có nhiều hơn một giao diện, nó trình bày một đơn vị (module) vật lý của mã lệnh b) Một thành phần không thể có nhiều hơn một giao diện. c) Một thành phần trình bày vài loại của đơn vị phần cứng d) Câu a và c đúng

  4. Phát biểu nào đúng về Use Cases? a) Những yêu cầu là những ghi nhận trước tiên trong Use Cases b) Công việc của một lần lặp được xác định bởi việc chọn lựa một số kịch bản Use Cases hay toàn bộ Use Cases. c) Công việc của một lần lặp được xác định bởi việc chọn lựa một số đặc trưng từ danh sách các đặc trưng hơn là việc chọn lựa một số kịch bản Use Cases hay toàn bộ Use Cases. d) Câu a và b đúng

  5. Kết quả của giai đoạn tinh chế (Elaboration phase) là : a) Các yêu cầu chức năng (Use Cases) b) Nền tảng cho việc đánh giá chi phí đến cuối dự án. c) Các yêu cầu phi chức năng trong bảng chi tiết bổ sung. d) Tất cả các câu trên

  6. Các khái niệm về phạm vi hệ thống được tìm thấy trong : a) Use Cases b) Sơ đồ Use Cases c) Sơ đồ tương tác (Interaction Diagrams) d) Sơ đồ tuần tự (Sequence Diagrams)

  7. Sơ đồ nào là thông tin (artifact) hữu ích nhất trong việc phân tích để tìm ra các hành vi của phần mềm được xem như là hộp đen? a) Sơ đồ tuần tự hệ thống (System Sequence Diagram) b) Sơ đồ lớp quan niệm (Conceptual Class Diagram) c) Sơ đồ triển khai (Deployment Diagram) d) Sơ đồ thành phần (Component Diagram)

Phần 2: 1. Tính chất nào sau đây là không phải là của use case A. Phụ thuộc vào việc thực thi hệ thống ( implementation-independent): B. Thể hiện chức năng của hệ thống theo quan điểm của người dùng C. Cho xem hệ thống ở mức cao ( high-level view of the system) D. Chỉ tập trung vào nhu cầu mong đợi của user, không quan tâm đến các bước phải thực hiện 2. Các sơ đồ nào thể hiện khía cạnh động của hệ thống: A. use case, class, object, component, deployment B. class, object, component, deployment C. sequence, use case, class, statechart, activity D. sequence, collaboration, statechart, activity 3. UML là gì? A. Là một ngôn ngữ lập trình gần giống với Java B. Là một ngôn ngữ đặc biệt dùng để tạo mã tự động cho các project C. Là công cụ dùng để kiểm tra sự đồng nhất giữa mô hình và mã nguồn D. Cả 3 đều sai 4. Việc dấu thơng tin trong lập trình hướng đối tượng (OOP) được thực hiện trong khái niệm của: A. Encapsulation B. Polymorphism C. Abstraction D. Inheritance

5. Chọn câu mô tả về tác nhân đúng nhất trong mô hình use case: a. Tác nhân bị giới hạn đối với người dùng tương tác với hệ thống đang được thiết kế b. Tác nhân là bất kì thực thể nào bên ngòai hệ thống đang được thiết kế mà tương tác với hệ thống c. Tác nhân bị giới hạn đối với các hệ thống mà tương tác với hệ thống đang được thiết kế. d. Tác nhân cung cấp dữ liệu cho hệ thống.

6. Dòng đời họat động (life line): a. Hình chữ nhật hẹp đứng để nhấn mạnh rằng một đối tượng chỉ họat động trong suốt phần kịch bản trong mô hình sequence b. Thông điệp c. Đường thẳng đứng dưới một đối tượng trong mô hình sequence chỉ rõ khỏang thời gian trôi qua của đối tượng