wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Kiến trúc phần mềm

Total questions: 53

Worksheet time: 29mins

Name
Class
Date
1.

Architectural design quan tâm đến điều gì?

a)

Viết code chi tiết

b)

Hiểu và thiết kế cấu trúc tổng thể của hệ thống phần mềm

c)

Quản lý dự án

d)

Viết tài liệu sử dụng

2.

Kiến trúc phần mềm là:

a)

Cách tổ chức các thành phần và mối quan hệ giữa chúng trong hệ thống

b)

Code của phần mềm

c)

Quản lý dự án

d)

Tài liệu yêu cầu

3.

Trong Agile, việc thiết kế kiến trúc tổng thể:

a)

Không quan trọng

b)

Là bước quan trọng ban đầu vì refactoring kiến trúc rất tốn kém

c)

Có thể bỏ qua

d)

Là bước cuối cùng

4.

Kiến trúc "architecture in the small" đề cập đến:

a)

Kiến trúc hệ thống lớn phân tán

b)

Kiến trúc của một chương trình đơn lẻ và các thành phần bên trong nó

c)

Kiến trúc tổ chức

d)

Kiến trúc dữ liệu

5.

Kiến trúc "architecture in the large" đề cập đến:

a)

Kiến trúc các hệ thống doanh nghiệp phức tạp gồm nhiều hệ thống nhỏ và thành phần

b)

Kiến trúc nhỏ gọn

c)

Kiến trúc module đơn giản

d)

Kiến trúc mạng

6.

Ưu điểm của kiến trúc phần mềm rõ ràng bao gồm:

a)

Giúp giao tiếp giữa các bên liên quan, phân tích khả năng đáp ứng yêu cầu phi chức năng, tái sử dụng quy mô lớn

b)

Giảm tài liệu

c)

Tăng code chi tiết

d)

Không cần kiểm thử

7.

Kiểu biểu diễn kiến trúc nào phổ biến nhất?

a)

Block diagrams đơn giản, không có ngữ nghĩa chi tiết

b)

Code thực thi

c)

Tài liệu yêu cầu

d)

Lập kế hoạch dự án

8.

Các sơ đồ hộp và đường thẳng (box and line diagrams) có đặc điểm:

a)

Rất trừu tượng, không biểu diễn chi tiết mối quan hệ hay thuộc tính bên ngoài của hệ thống con

b)

Chi tiết đầy đủ

c)

Là code thực thi

d)

Mô tả luồng dữ liệu

9.

Mục đích chính của kiến trúc phần mềm là:

a)

Tạo tài liệu dài dòng

b)

Thúc đẩy trao đổi và thảo luận giữa các bên liên quan về thiết kế hệ thống tổng thể

c)

Viết code

d)

Kiểm thử

10.

Các quyết định thiết kế kiến trúc phần mềm ảnh hưởng đến:

4 lines
11.

Các quyết định thiết kế kiến trúc phần mềm ảnh hưởng đến:

a)

Chỉ giao diện người dùng

b)

Các thuộc tính phi chức năng của hệ thống như hiệu năng, bảo mật, khả năng mở rộng

c)

Không ảnh hưởng gì

d)

Chỉ tài liệu

12.

Hệ thống trong cùng một lĩnh vực thường có:

a)

Kiến trúc giống nhau phản ánh các khái niệm lĩnh vực chung

b)

Kiến trúc khác nhau hoàn toàn

c)

Không cần kiến trúc

d)

Chỉ code giống nhau

13.

Mô hình 4+1 views bao gồm những view nào?

a)

Logical, Process, Development, Physical, và Scenarios/use cases

b)

Use case, Sequence, Class, State, Activity

c)

Data flow, Entity-relationship, Use case, Sequence

d)

Frontend, Backend, Database, Network

14.

Logical view trong mô hình 4+1 là:

a)

Mô tả các trừu tượng chính trong hệ thống dưới dạng các đối tượng hoặc lớp

b)

Mô tả cách hệ thống được phân phối trên phần cứng

c)

Mô tả các quy trình chạy hệ thống

d)

Mô tả cách phát triển phần mềm

15.

Process view mô tả:

a)

Cách hệ thống vận hành ở thời gian chạy với các tiến trình tương tác

b)

Kiến trúc phần cứng

c)

Kiến trúc phần mềm tĩnh

d)

Quy trình phát triển phần mềm

16.

Development view trong kiến trúc phần mềm là:

a)

Cách phần mềm được phân chia cho mục đích phát triển và quản lý mã nguồn

b)

Mô tả cấu trúc mạng

c)

Mô tả dữ liệu

d)

Mô tả giao diện người dùng

17.

Physical view mô tả:

a)

Hệ thống phần cứng và phân bố các thành phần phần mềm trên đó

b)

Mô tả luồng dữ liệu

c)

Mô tả hành vi

d)

Mô tả cấu trúc lớp

18.

Architectural patterns là gì?

a)

Các mẫu thiết kế kiến trúc chung được thử nghiệm và tái sử dụng trong nhiều hệ thống

b)

Các đoạn code mẫu

c)

Tài liệu yêu cầu

d)

Kiểm thử phần mềm

19.

Mô hình MVC (Model-View-Controller) thuộc loại:

a)

Kiến trúc dạng lớp (layered)

b)

Kiến trúc điều khiển

c)
d)
20.

Mô hình MVC (Model-View-Controller) thuộc loại:

a)

Kiến trúc dạng lớp (layered)

b)

Kiến trúc điều khiển

c)

Kiến trúc mô hình ứng dụng

d)

Kiến trúc trình xử lý

21.

Kiến trúc dạng Layered (xếp lớp) có đặc điểm:

a)

Hệ thống được tổ chức thành các lớp cung cấp dịch vụ cho lớp bên trên và nhận dịch vụ từ lớp bên dưới

b)

Mô hình luồng dữ liệu

c)

Mô hình điều khiển sự kiện

d)

Mô hình hướng đối tượng

22.

Repository architecture phù hợp khi:

a)

Các hệ thống con chia sẻ dữ liệu lớn qua một cơ sở dữ liệu hoặc kho dữ liệu tập trung

b)

Không có sự chia sẻ dữ liệu

c)

Hệ thống chỉ có một thành phần

d)

Hệ thống nhỏ

23.

Kiến trúc Client-server mô tả:

a)

Mô hình phân phối dữ liệu và xử lý qua các thành phần khách và máy chủ

b)

Mô hình đơn giản không phân tán

c)

Mô hình không có server

d)

Mô hình tuyến tính

24.

Pipe and filter architecture thích hợp cho:

a)

Hệ thống xử lý tuần tự các bước chuyển đổi dữ liệu

b)

Hệ thống tương tác người dùng nhiều

c)

Hệ thống thời gian thực

d)

Hệ thống mạng xã hội

25.

Application architectures được sử dụng để:

a)

Hiểu, so sánh và đánh giá các hệ thống ứng dụng trong các tổ chức

b)

Viết code phần mềm

c)

Lập kế hoạch dự án

d)

Viết tài liệu sử dụng

26.

Transaction processing systems là:

a)

Hệ thống xử lý các yêu cầu người dùng và cập nhật dữ liệu trong cơ sở dữ liệu

b)

Hệ thống xử lý ngôn ngữ tự nhiên

c)

Hệ thống truyền thông

d)

Hệ thống đồ họa

27.

Language processing systems được sử dụng để:

a)

Biên dịch và thực thi các ngôn ngữ tự nhiên hoặc nhân tạo

b)

Quản lý cơ sở dữ liệu

c)

Quản lý tài liệu

d)

Hệ thống truyền thông mạng

28.

Thành phần của compiler bao gồm:

a)

Lexical analyzer, syntax analyzer, semantic analyzer, code generator, symbol table

b)

Database, user interface

c)

Operating system, network module

d)

Editor, debugger

29.

Mục đích chính của architectural design decisions là:

a)

Xác định các thành phần chính và mối quan hệ giữa chúng để đáp ứng yêu cầu phi chức năng

b)

Viết tài liệu

c)

Lập kế hoạch dự án

d)

Kiểm thử phần mềm

30.

Kiến trúc có thể được sử dụng để:

a)

Giao tiếp với các bên liên quan, phân tích khả năng đáp ứng yêu cầu phi chức năng, tái sử dụng quy mô lớn

b)

Viết code nhanh hơn

c)

Giảm tài liệu

d)

Tăng số lỗi

31.

Biểu diễn kiến trúc phần mềm thường bị phê phán vì:

a)

Thiếu ngữ nghĩa và không biểu diễn rõ ràng các loại quan hệ và thuộc tính của thành phần

b)

Quá chi tiết

c)

Không có trong tài liệu

d)

Quá phức tạp để hiểu

32.

MDA (Model-Driven Architecture) hỗ trợ:

a)

Phát triển phần mềm theo cách tự động sinh mã từ các mô hình trừu tượng

b)

Viết code thủ công

c)

Quản lý dự án

d)

Viết tài liệu yêu cầu

33.

Một đặc điểm của layered architecture là:

a)

Chỉ có một lớp duy nhất

b)

Khi một giao diện lớp thay đổi, chỉ lớp liền kề bị ảnh hưởng

c)

Tất cả các lớp đều bị ảnh hưởng khi thay đổi

d)

Không có giao diện giữa các lớp

34.

Trong kiến trúc client-server, thành phần nào chịu trách nhiệm quản lý dữ liệu?

a)

Client

b)

Server

c)

Network

d)

Người dùng

35.

Kiến trúc dạng pipe and filter không phù hợp với:

a)

Hệ thống tương tác người dùng nhiều

b)

Hệ thống xử lý dữ liệu tuần tự

c)

Hệ thống xử lý batch

d)

Hệ thống xử lý lô

36.

Lợi ích của việc sử dụng kiến trúc phần mềm là:

a)

Giúp thiết kế và triển khai phần mềm có tổ chức, có thể quản lý được quy mô và phức tạp

b)

Làm chậm dự án

c)

Tăng chi phí phát triển

d)

Làm phức tạp mã nguồn

37.

Phần mềm là:

a)

Giúp thiết kế và triển khai phần mềm có tổ chức, có thể quản lý được quy mô và phức tạp

b)

Làm chậm dự án

c)

Tăng chi phí phát triển

d)

Làm phức tạp mã nguồn

38.

Kiến trúc phần mềm giúp:

a)

Giao tiếp giữa các bên liên quan và lập kế hoạch dự án

b)

Viết tài liệu dài dòng

c)

Viết code nhanh hơn mà không cần thiết kế

d)

Giảm kiểm thử

39.

Trong kiến trúc phần mềm, "view" (góc nhìn) là gì?

a)

Một phần của hệ thống được mô tả từ một góc nhìn cụ thể, ví dụ như cấu trúc, hành vi hoặc triển khai

b)

Code thực thi

c)

Giao diện người dùng

d)

Tài liệu yêu cầu

40.

Development view thể hiện:

a)

Cách phân chia phần mềm cho phát triển và quản lý mã nguồn

b)

Cách hệ thống vận hành tại thời gian chạy

c)

Mô tả mạng máy tính

d)

Mô tả dữ liệu

41.

Một kiến trúc có thể tái sử dụng trong các hệ thống cùng lĩnh vực nhờ:

a)

Áp dụng các architectural patterns chung

b)

Viết code thủ công

c)

Thiết kế giao diện đẹp

d)

Tối ưu hóa hiệu năng

42.

Một hệ thống phân tán dùng kiến trúc nào là phù hợp?

a)

Client-server

b)

Pipe and filter

c)

Layered

d)

Repository

43.

Architectural design có thể được xem là:

a)

Cầu nối quan trọng giữa thiết kế chi tiết và kỹ thuật yêu cầu

b)

Quá trình viết code

c)

Quản lý dự án

d)

Kiểm thử phần mềm

44.

Kiến trúc phần mềm là gì?

a)

Mô tả cách một hệ thống phần mềm được tổ chức

b)

Viết code phần mềm

c)

Thiết kế giao diện người dùng

d)

Lập kế hoạch dự án

45.

Quyết định thiết kế kiến trúc bao gồm:

a)

Loại ứng dụng, phân phối hệ thống, kiểu kiến trúc sử dụng

b)

Viết tài liệu chi tiết

c)

Kiểm thử phần mềm

d)

Lập kế hoạch phát triển

46.

Kiến trúc có thể được mô tả qua các góc nhìn (views) nào?

a)

Conceptual, logical, process, development

b)

Tài liệu, code, giao diện

c)

Test plan, design plan

d)

User stories, use cases

47.

Architectural patterns là gì?

a)

Phương pháp tái sử dụng kiến thức thiết kế hệ thống chung đã được kiểm nghiệm

b)

Code mẫu

c)

Tài liệu yêu cầu

d)

Kiểm thử phần mềm

48.

Mục đích của việc sử dụng mô hình kiến trúc hệ thống là:

a)

Giúp hiểu và so sánh các ứng dụng, xác nhận thiết kế hệ thống và đánh giá tái sử dụng các thành phần quy mô lớn

b)

Viết code nhanh hơn

c)

Giảm tài liệu

d)

Tăng số lỗi

49.

Transaction processing systems là gì?

a)

Hệ thống tương tác cho phép nhiều người dùng truy cập và cập nhật dữ liệu trong cơ sở dữ liệu từ xa

b)

Hệ thống ngôn ngữ tự nhiên

c)

Hệ thống đồ họa

d)

Hệ thống truyền thông

50.

Language processing systems dùng để:

a)

Dịch các văn bản từ một ngôn ngữ sang ngôn ngữ khác và thực thi các hướng dẫn được mô tả trong ngôn ngữ đầu vào

b)

Quản lý cơ sở dữ liệu

c)

Hệ thống giao diện người dùng

d)

Hệ thống mạng xã hội

51.

Thành phần chính của hệ thống biên dịch (compiler) bao gồm:

a)

Lexical analyzer, syntax analyzer, semantic analyzer, code generator, symbol table

b)

Database, user interface

c)

Operating system, network module

d)

Editor, debugger

52.

Mô hình kiến trúc phần mềm giúp:

a)

Tạo cầu nối quan trọng giữa thiết kế chi tiết và kỹ thuật yêu cầu

b)

Viết code nhanh hơn

c)

Giảm tài liệu

d)

Không cần kiểm thử

53.

Application architectures giúp:

a)

Hiểu, so sánh, xác nhận thiết kế hệ thống ứng dụng và đánh giá tái sử dụng các thành phần quy mô lớn

b)

Viết tài liệu dài dòng

c)

Viết code nhanh hơn

d)

Tăng độ phức tạp hệ thống