Tất cả câu hỏi

Ngân hàng câu hỏi trắc nghiệm có đáp án và giải thích chi tiết.

Bấm vào từng câu để xem đáp án
#121
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIs unlikely to be completed on schedule
Is unlikely to cause a failureĐÚNG
CIs likely to be fault-free
DIs likely to be liked by the users
Giải thích

Đáp án đúng: B. Độ tin cậy (reliability) là xác suất phần mềm hoạt động không phát sinh sự cố trong một khoảng thời gian và điều kiện xác định. Vì vậy hệ thống tin cậy là hệ thống ÍT có khả năng gây ra hỏng hóc (failure) khi vận hành. Cần phân biệt fault (lỗi nằm trong mã) với failure (biểu hiện sai khi chạy): một hệ thống vẫn có thể chứa nhiều fault ở những nhánh hiếm khi được thực thi mà vẫn rất tin cậy, nên phương án C "gần như không còn lỗi" không phải định nghĩa của độ tin cậy. Phương án A nói về tiến độ dự án và phương án D nói về mức độ hài lòng của người dùng, đều là thuộc tính khác.

#122
ĐỘ CHÍNH XÁC
5 LỰA CHỌN
ATo know when a specific test has finished its execution
BTo ensure that the test case specification is complete
CTo set the criteria used in generating test inputs
DTo know when test planning is complete
To plan when to stop testingĐÚNG
Giải thích

Đáp án đúng: E. Tiêu chí hoàn thành kiểm thử (test completion criteria, còn gọi là exit criteria) được đưa vào kế hoạch kiểm thử để trả lời câu hỏi KHI NÀO DỪNG kiểm thử: đạt bao nhiêu phần trăm bao phủ, còn bao nhiêu lỗi mức nghiêm trọng, rủi ro tồn đọng ở mức nào. Nhờ đó việc dừng kiểm thử là một quyết định có căn cứ chứ không phải vì hết thời gian hay hết tiền. Phương án A chỉ nói tới việc một phép kiểm thử chạy xong; B là mục tiêu của việc rà soát đặc tả ca kiểm thử; C thuộc kỹ thuật thiết kế dữ liệu đầu vào; D nói về hoàn thành khâu lập kế hoạch, không phải khâu kiểm thử.

#123
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThis question is impossible to answer
BThis question is easy to answer
The answer depends on the risk for your industry, contract and special requirementsĐÚNG
DThis answer depends on the maturity of your developers
Giải thích

Đáp án đúng: C. Không thể kiểm thử vét cạn, nên câu hỏi "kiểm thử bao nhiêu là đủ" không có đáp số cố định: mức độ đủ phụ thuộc vào rủi ro của ngành nghề, các ràng buộc hợp đồng và những yêu cầu đặc thù của sản phẩm. Phần mềm y tế hay hàng không đòi hỏi mức kiểm thử khác hẳn một ứng dụng giải trí. Phương án A quá bi quan vì câu hỏi vẫn trả lời được khi đặt trong bối cảnh rủi ro cụ thể; phương án B ngược lại, quá lạc quan; phương án D chỉ nêu một yếu tố nhỏ, mức trưởng thành của đội phát triển không phải căn cứ chính để xác định khối lượng kiểm thử.

#124
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
To define when a test level is complete.ĐÚNG
BTo determine when a test has completed.
CTo identify when a software system should be retired.
DTo determine whether a test has passed.
Giải thích

Đáp án đúng: A. Tiêu chí đầu ra (exit criteria) được đặt ra ngay trong kế hoạch kiểm thử để xác định khi nào một MỨC kiểm thử được coi là hoàn tất, thường gồm mức độ bao phủ đạt được, số lỗi còn mở, rủi ro tồn đọng và chi phí. Phương án B chỉ nói tới việc một phép kiểm thử đơn lẻ chạy xong, đó là chuyện thực thi chứ không phải tiêu chí đầu ra của cả mức kiểm thử; phương án C nói về vòng đời sản phẩm (khi nào ngừng sử dụng hệ thống); phương án D là việc so sánh kết quả thực tế với kết quả mong đợi, tức tiêu chí đạt/không đạt của một ca kiểm thử.

#125
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AWhen time for testing has run out.
BWhen all planned tests have been run
When the test completion criteria have been metĐÚNG
DWhen no faults have been found by the tests run
Giải thích

Đáp án đúng: C. Kiểm thử chỉ nên dừng khi các tiêu chí hoàn thành (test completion criteria / exit criteria) đã được thoả mãn, bởi đó là thước đo khách quan đã thống nhất từ khi lập kế hoạch. Hết thời gian (A) hay chạy xong toàn bộ ca kiểm thử đã lập (B) chỉ là điều kiện hành chính, không nói lên chất lượng sản phẩm. Không tìm thấy lỗi nào (D) càng nguy hiểm vì có thể do bộ ca kiểm thử yếu chứ không phải phần mềm tốt - kiểm thử không chứng minh được sự vắng mặt của lỗi.

#126
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
1&2 are true and 3 is falseĐÚNG
B1,2&3 are true.
C1 is true, 2&3 are false.
D1&2 are false, 3 is true
Giải thích

Đáp án đúng: A. Khi thời gian và nguồn lực có hạn, kiểm thử phải được ưu tiên theo rủi ro. Hai định hướng đúng là kiểm thử những vùng trọng yếu nhất với quy trình nghiệp vụ (1) và những vùng có khả năng chứa nhiều lỗi nhất (2) - nguyên lý "defect clustering" cho biết lỗi thường dồn vào một số ít mô-đun. Định hướng (3), kiểm thử những chức năng dễ nhất, là sai vì nó tiêu tốn công sức vào phần ít rủi ro và bỏ sót phần nguy hiểm. Vì vậy 1 và 2 đúng, 3 sai, tức phương án A; các phương án còn lại hoặc công nhận (3) hoặc phủ nhận (1), (2) nên đều không đạt.

#127
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ii,iii,iv are correct and i is incorrectĐÚNG
Biii , i , iv is correct and ii is incorrect
Ci , iii , iv , ii is in correct
Dii is correct
Giải thích

Một số yếu tố thành công cho một cuộc đánh giá bao gồm: mỗi đánh giá không có một mục tiêu được định trước (i), các lỗi được tìm thấy được chào đón và được thể hiện một cách khách quan (ii), quản lý hỗ trợ một quá trình đánh giá tốt (iii) và có một trọng tâm vào việc học hỏi và cải tiến quy trình (iv). Các yếu tố này đóng vai trò quan trọng trong việc đảm bảo rằng quá trình đánh giá được thực hiện một cách hiệu quả và mang lại kết quả tích cực. Điều này giúp cho các cá nhân và tổ chức có thể học hỏi từ các lỗi và cải thiện quy trình của mình.

#128
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIf the client only communicates with the service once
If the client needs to have a dialog with the serviceĐÚNG
CIf the client knows the type of service required but not the specific service
DIf the client needs to provide the broker with a handle
Giải thích

Đáp án đúng: B. Broker Forwarding chuyển tiếp mọi lời gọi qua broker, còn Broker Handle thì broker chỉ trả về một handle (tham chiếu) tới dịch vụ để sau đó client giao tiếp trực tiếp với dịch vụ. Vì vậy Broker Handle đặc biệt hữu ích khi client cần trao đổi nhiều lượt, tức là có một phiên hội thoại với dịch vụ: chỉ phải qua broker một lần rồi làm việc trực tiếp, tránh nút thắt cổ chai. Nếu client chỉ gọi một lần (A) thì forwarding đơn giản hơn; phương án C mô tả tình huống dùng dịch vụ môi giới nói chung; phương án D đảo ngược vai trò - chính broker mới là bên cấp handle.

#129
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ADetailing class implementations
Defining system structure and high-level componentsĐÚNG
CWriting test cases
DRefactoring source code
Giải thích

Đáp án đúng: B. Thiết kế kiến trúc trong phát triển phần mềm tập trung vào việc xác định cấu trúc tổng thể của hệ thống và các thành phần ở mức cao: hệ thống gồm những khối nào, mỗi khối chịu trách nhiệm gì, chúng giao tiếp qua giao diện và cơ chế nào, đồng thời cân nhắc các thuộc tính chất lượng như hiệu năng, bảo mật, khả năng mở rộng. Chi tiết hoá hiện thực của từng lớp (A) thuộc thiết kế chi tiết; viết ca kiểm thử (C) thuộc pha kiểm thử; tái cấu trúc mã nguồn (D) là hoạt động cải tiến mã đã có, đều nằm ở mức thấp hơn so với thiết kế kiến trúc.

#130
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
The number of objects in a relationship.ĐÚNG
BThe number of classes.
CThe number of attributes.
DThe number of state transitions.
Giải thích

Đáp án đúng: A. Multiplicity trong UML thể hiện số lượng đối tượng có thể tham gia vào một quan hệ - tức là mỗi thể hiện ở đầu này của liên kết ứng với bao nhiêu thể hiện ở đầu kia, viết dưới dạng 1, 0..1, 1..* hay *. Nó ràng buộc cấu trúc dữ liệu của mô hình và là căn cứ để sinh khoá ngoại, bảng trung gian khi ánh xạ sang cơ sở dữ liệu quan hệ. Số lượng lớp (B), số thuộc tính (C) và số chuyển trạng thái (D) đều là những đại lượng đếm khác trong mô hình, không phải nội dung mà ký hiệu multiplicity biểu diễn.

#131
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AAn entity class in the SPL
BA SPL class that stores essential data
A class that is required by all members of the SPLĐÚNG
DAn external class to the SPL
Giải thích

Đáp án đúng: C. Trong dòng sản phẩm phần mềm (SPL), kernel class là lớp bắt buộc phải có ở MỌI thành viên của dòng sản phẩm - đó là phần lõi chung, không thay đổi giữa các biến thể. Bên cạnh kernel còn có lớp tuỳ chọn (optional) chỉ xuất hiện ở một số thành viên và lớp biến thể (variant) có nhiều phiên bản khác nhau. Phương án A và B mô tả vai trò lưu trữ dữ liệu của lớp thực thể chứ không nói tới tính bắt buộc chung; phương án D đặt lớp ra ngoài dòng sản phẩm, trái hẳn với ý nghĩa "lõi" của kernel.

#132
ĐỘ CHÍNH XÁC
3 LỰA CHỌN
ATo describe an inclusive use case
BTo describe a lengthy interaction with an actor
To describe a use case that includes other use casesĐÚNG
Giải thích

Đáp án đúng: C. Inclusion use case là use case được các use case khác gọi tới bằng quan hệ include, dùng để tách phần hành vi chung lặp lại ở nhiều use case ra một nơi duy nhất. Trong câu hỏi này, cách diễn đạt đúng nhất là dùng nó để mô tả một use case có bao gồm các use case khác, tức là mối quan hệ bao hàm giữa các use case. Phương án A chỉ lặp lại chính từ trong câu hỏi mà không giải thích được điều gì; phương án B nói về độ dài tương tác với tác nhân, hoàn toàn không phải tiêu chí để tách một inclusion use case.

#133
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Ability to handle increasing loadĐÚNG
BAbility to be portable across platforms
CSecurity to protect resources
DSpeed of algorithm
Giải thích

Đáp án đúng: A. Scalability - khả năng mở rộng - là thuộc tính chất lượng phản ánh khả năng hệ thống đáp ứng được tải tăng lên (nhiều người dùng, nhiều giao dịch, nhiều dữ liệu hơn) mà vẫn giữ được mức chất lượng dịch vụ, thường bằng cách bổ sung tài nguyên theo chiều ngang hoặc chiều dọc. Khả năng chạy trên nhiều nền tảng (B) là portability; bảo vệ tài nguyên (C) là security; còn tốc độ thuật toán (D) chỉ là một yếu tố góp phần vào performance. Cả ba đều là những thuộc tính chất lượng khác, không phải định nghĩa của scalability.

#134
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ARequirement gathering
Software architecture designĐÚNG
CUser interface design
DTesting and validation
Giải thích

Đáp án đúng: B. Pha thiết kế kiến trúc phần mềm là nơi trả lời câu hỏi các thành phần phần mềm ghép với nhau và tương tác ra sao để thoả mãn yêu cầu: xác định các thành phần chính, giao diện, cơ chế giao tiếp và các mẫu kiến trúc được dùng. Thu thập yêu cầu (A) mới chỉ làm rõ hệ thống phải làm gì; thiết kế giao diện người dùng (C) chỉ giải quyết một khía cạnh hẹp là tương tác với người dùng; kiểm thử và thẩm định (D) diễn ra sau, nhằm kiểm chứng rằng hệ thống đã xây dựng đáp ứng đúng yêu cầu chứ không phải nơi định hình cấu trúc.

#135
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AData types
BUse case names
MultiplicityĐÚNG
DTransition triggers
Giải thích

Đáp án đúng: C. Khi thiết lập liên kết giữa các đối tượng trên sơ đồ lớp, khái niệm nền tảng là multiplicity - bội số, cho biết mỗi thể hiện của lớp này có thể liên kết với bao nhiêu thể hiện của lớp kia (1, 0..1, 1..*, *). Bội số quyết định bản chất quan hệ một - một, một - nhiều hay nhiều - nhiều và về sau chi phối cả cách ánh xạ sang cơ sở dữ liệu quan hệ. Kiểu dữ liệu (A) thuộc về thuộc tính của lớp; tên use case (B) nằm ở mô hình use case; transition trigger (D) là yếu tố của máy trạng thái, đều không liên quan tới việc xác lập liên kết.

#136
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
To partition the system into manageable, reusable modulesĐÚNG
BTo eliminate object-oriented design dependencies
CTo simplify use case modeling
DTo reduce the need for UML diagrams
Giải thích

Đáp án đúng: A. Trọng tâm của thiết kế kiến trúc hệ thống con là phân hoạch hệ thống thành các mô-đun dễ quản lý và có thể tái sử dụng, mỗi mô-đun có trách nhiệm rõ ràng, kết dính cao bên trong và ghép lỏng với bên ngoài qua giao diện được định nghĩa tường minh. Nhờ đó nhiều nhóm có thể phát triển song song và thay đổi cục bộ không lan rộng. Phương án B sai vì thiết kế kiến trúc quản lý chứ không loại bỏ phụ thuộc hướng đối tượng; phương án C nhầm sang pha phân tích use case; phương án D sai vì kiến trúc càng cần UML để mô tả, không phải để giảm bớt.

#137
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AThe transition from analysis to design
BThe design of user interfaces
CThe implementation of individual classes
The structuring of the system into subsystemsĐÚNG
Giải thích

Đáp án đúng: D. Thiết kế kiến trúc hệ thống con tập trung vào việc cấu trúc hoá toàn hệ thống thành các hệ thống con: xác định ranh giới, trách nhiệm, giao diện và quan hệ giữa chúng, đồng thời chọn mẫu kiến trúc phù hợp. Đây là mức nhìn tổng thể, đứng trên mức lớp. Phương án A mô tả chung cả bước chuyển từ phân tích sang thiết kế chứ không nói được trọng tâm; phương án B chỉ là một phần nhỏ thuộc thiết kế giao diện người dùng; phương án C thuộc mức thiết kế chi tiết và hiện thực từng lớp, diễn ra sau khi cấu trúc hệ thống con đã được xác lập.

#138
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIncrease database performance
Provide structured architectural modelingĐÚNG
CEliminate the need for state charts
DEnforce strict coding conventions
Giải thích

Đáp án đúng: B. COMET (Collaborative Object Modeling and Architectural Design Method) là phương pháp thiết kế cung cấp một quy trình mô hình hoá kiến trúc có cấu trúc: đi từ mô hình use case sang mô hình phân tích tĩnh và động, rồi tới thiết kế kiến trúc phần mềm bằng các mẫu kiến trúc và mẫu thiết kế. Mục tiêu chính là giúp nhóm phát triển tổ chức được quá trình thiết kế một cách có hệ thống. Phương án A nhầm sang tối ưu cơ sở dữ liệu; phương án C sai vì COMET dùng rất nhiều statechart; phương án D nói về quy ước viết mã, hoàn toàn nằm ngoài phạm vi của một phương pháp thiết kế kiến trúc.

#139
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A class that cannot be instantiated and may contain abstract operationsĐÚNG
BA class that has no attributes
CA class with only static methods
DA class defined without associations
Giải thích

Đáp án đúng: A. Trong UML, abstract class là lớp không thể tạo thể hiện trực tiếp và có thể chứa các thao tác trừu tượng - những thao tác chỉ khai báo chữ ký, để lớp con hiện thực hoá. Lớp trừu tượng tồn tại nhằm gom phần chung của các lớp con và định nghĩa giao diện đa hình cho chúng; trong sơ đồ, tên lớp được viết nghiêng để đánh dấu. Phương án B, C, D nêu những đặc điểm không liên quan: một lớp không có thuộc tính, một lớp chỉ có phương thức tĩnh hay một lớp không có liên kết đều vẫn có thể được khởi tạo bình thường nên không phải lớp trừu tượng.

#140
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AClient-server architecture
Layered architectureĐÚNG
CPeer-to-peer architecture
DPipe and filter architecture
Giải thích

Đáp án đúng: B. Kiến trúc phân tầng tổ chức hệ thống thành một hệ thứ bậc các tầng, trong đó mỗi tầng cung cấp dịch vụ cho tầng ngay trên nó và chỉ sử dụng dịch vụ của tầng ngay dưới. Cách tổ chức này làm rõ trách nhiệm, giới hạn phạm vi thay đổi và cho phép thay thế một tầng mà ít ảnh hưởng phần còn lại. Client-server (A) chia theo vai trò yêu cầu - phục vụ chứ không theo thứ bậc dịch vụ; peer-to-peer (C) đặt các nút ngang hàng, vừa là client vừa là server; pipe-and-filter (D) nối các bộ lọc thành dây chuyền xử lý dữ liệu tuần tự.