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. Show 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: Một ví dụ biểu đồ Use case trong UMLTrong đó : - 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:
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ó.
a. Use-case analysis b. Architectural analysis c. Structural analysis d. Dependency analysis
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
c. Sơ đồ tuần tự d. Sơ đồ triển khai
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
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
b) Sơ đồ tương tác c) Sơ đồ trạng thái d) Sơ đồ hoạt động
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)
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
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 |