lOMoARcPSD| 58833082
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHPHẦN MỀM
lOMoARcPSD| 58833082
lOMoARcPSD| 58833082
1. Theo thống kê của Tom de Marco (1979), tỷ lệ hệ phần mềm lớn thất bại là bao
nhiêu phần trăm?
A) 20%
B) 25%
C) 30%
D) 35%
2. Theo thống kê của Copets Jones (1991), trung bình các hệ thông tin quản lý trễ
bao nhiêu năm?
A) 1 năm
B) 2 năm
C) 3 năm
D) 4 năm
3. Công nghệ phần mềm ược ịnh nghĩa như thế nào theo Bauer [1969]?
A) Vic thiết lập và sử dụng các nguyên lý công nghệ úng ắn ể thu ược phần mềm 1
cách kinh tế vừa tin cy vừa làm việc hiệu quả trên các máy thc
B) Vic xây dựng phần mm nhiều phiên bản bởi nhiều người
C) Một nguyên lý kỹ nghệ liên quan ến tất c các mặt ca sản phần mềm
D) Vic áp dụng phương pháp tiếp cận có hệ thống, bài bản và ược lượng hóa trong phát
triển, vận hành và bảo trì phần mềm
4. Theo IEEE [1993], công nghệ phần mềm bao gồm những yếu tố nào?
A) Thủ tục, Phương pháp, Công cụ
B) Phương pháp, Công cụ, Quy trình
C) Công cụ, Qui trình, Đánh giá D) Đánh giá, Phân tích, Thiết kế
5. Mô hình xoắn ốc trong phát triển phần mềm ược mô tả như thế nào?
A) Mô hình tuyến tính
B) Mô hình lặp
C) Mô hình waterfall
D) Mô hình Agile
lOMoARcPSD| 58833082
6. Theo Parnas [1987], công nghệ phần mềm là việc gì?
A) Xây dựng phần mềm nhiều phiên bản bởi nhiều người
B) Thiết lập và sử dụng các nguyên lý công nghệ úng ắn ể thu ược phn mềm kinh tế,
tin cậy và hiệu quả
C) Liên quan ến tất cả các mặt ca sản phần mm
D) Áp dụng phương pháp tiếp cận có hệ thống, bài bản và ược lượng hóa trong phát
triển, vận hành và bảo trì phần mềm
7. Mục tiêu chính của kỹ sư phần mềm là gì?
A) Sản xuất ra sản phẩm phần mềm ộc áo
B) Sản xuất ra sản phẩm phần mềm có chất lượng cao và phù hợp với quy trình phát
triển chuẩn mực
C) Sản xuất ra sản phẩm phần mềm miễn phí
D) Sản xuất ra sản phẩm phần mềm dựa theo mô hình waterfall
8. Công nghệ phần mềm dựa thành phần dựa trên kỹ thuật gì ể tái sử dụng một
cách có hệ thống?
A) Tái chế
B) Tái sử dụng
C) Tái sinh
D) Tái tạo
10. Công nghệ phần mềm ược ịnh nghĩa như thế nào theo IEEE [1993]?
A) Vic thiết lập và sử dụng các nguyên lý công nghệ úng ắn ể thu ược phần mềm kinh
tế, tin cậy và hiệu quả
B) Vic xây dựng phần mm nhiều phiên bản bởi nhiều người
C) Một nguyên lý kỹ nghệ liên quan ến tất c các mặt ca sản phần mềm
D) Vic áp dụng phương pháp tiếp cận có hệ thống, bài bản và ược lượng hóa trong phát
triển, vận hành và bảo trì phần mềm
lOMoARcPSD| 58833082
1. Quy trình nào sau đây không phải là một phần của quy trình phát triển phần mm?
o A) Phân tích yêu cầu o B) Thiết kế o C) Kiểm thử o D) Quảng cáo o Đáp án: D
2. Mô hình phát triển phần mềm nào cho phép sửa đổi yêu cầu trong quá trình phát
triển? o A) Mô hình thác nước o B) Mô hình mẫu thử o C) Mô hình xoắn c o D)
M h nh V-model o Đáp án: C
3. ‘Software maintenance’ bao gồm những hoạt động nào?
o A) Sửa lỗi và cập nhật chức
năng o B) Phát triển chức năng mi
o C) Cải thiện hiệu suất o
D) Tất cả các phương án
trên o Đáp án: D
4. Tại sao ‘software reuse’ lại quan trọng trong phát
triển phần mm? o A) Giảm chi phí và thời gian phát triển o
B) Tăng độ tin cậy của phần mềm o C) Đơn giản hóa
quá trình kiểm thử o D) Tất cả các phương án trŒn o
Đáp án: D
5. ‘Software process model’ là gì? o A) Một bộ sưu tập
các công cụ phát triển phần mềm
o B) Một khuôn mẫu mô tả các hoạt động cần thiết để phát triển phần
mềm o C) Một hệ thống quản lý dự án phần mềm o D) Một phương pháp
kiểm thphần mềm o Đáp án: B
6. Agile software development’ nhấn mạnh vào điều gì?
o A) Kỹ thuật lập trình
o B) Quản lý dự án
o C) Sự linh hoạt và sự
thích ứng với sự thay đi
o D) Bảo mật phần
mềm o Đáp án: C
7. ‘Extreme Programming (XP)’ là một phương pháp của?
o A) Mô hình thác nước o
B) Phát triển phần mềm linh
hot o C) Mô hình mẫu thử o D) M
h nh V-model o Đáp án: B
8. ‘User stories’ trong phát triển phần mềm Agile dùng để làm gì?
lOMoARcPSD| 58833082
o A) Mô tả các yêu cầu từ góc độ người dùng
o B) Kể lại kinh nghiệm của người dùng o
C) Đánh giá hiệu suất của phần mềm o
D) Hướng dẫn người dùng sử dụng phần
mềm o Đáp án: A
9. ‘Scrum’ là một phương pháp của? o A) Phát triển phần mềm
linh hoạt o B) Mô hình thác nước o C) Mô hình mẫu thử o
D) M h nh V-model o Đáp án: A
10. ‘Sprint’ trong Scrum là gì?
o A) Một phiên bản phần mềm hoàn chỉnh o B) Một
cuộc họp dài để lập kế hoạch
o C) Một khoảng thời gian ngắn trong đó một số công việc
cụ thđược thực hiện o D) Một công cụ quản lý dự án o
Đáp án: C
1. Công nghphần mềm (software engineering)
gì? o A) Quá trình thiết kế và sử dụng phần cứng máy tính
o B) Quá trình phát triển và bảo trì phần mềm o C) Quá
trình sản xuất và tiếp thị sản phẩm phần cứng o D) Quá
trình quản lý dự án công nghệ thông tin o Đáp án: B
2. Phn mềm (software) bao gồm những thành phần
nào? o A) Chỉ bao gồm chương trình (program) o B)
Chương trình và tài liệu (document) o C) Chương trình, tài
liệu và hỗ trợ (support)
o D) Chỉ bao gồm tài
liu o Đáp án: C
3. Sản phẩm phần mềm loại Generic Product là gì?
o A) Sản phẩm được phát triển theo yêu cầu đặc thù của từng khách
hàng o B) Sản phẩm đóng gói và bán rộng rãi trên thị trường
1
o C) Sản
phẩm chỉ dùng cho mục đích nội bộ o D) Sản phẩm không được bán ra thị
trường o Đáp án: B
4. Đặc tính nào sau đây không phải là của mt sản phẩm phần mm tốt?
o A) Maintainability (Khả năng bảo
trì) o B) Dependability (Độ tin cậy)
2
o
C) Efficiency (Hiệu quả) o
D) Complexity (Phức tạp) o
Đáp án: D
5. Nguyên nhân chủ quan nào dẫn đến việc phần mềm không đáp ứng đủ cho người dùng?
lOMoARcPSD| 58833082
o A) Sự thay đổi và phát triển nhanh của phần cứng o
B) Tính chuyên nghiệp trong sản xuất phần mềm chưa
cao
3
o C) Yêu cầu của người sử dụng ngày càng cao o
D) Nhu cầu phần mềm thường rất cấp bách o Đáp án:
B
6. Theo IEEE [1993], công nghệ phần mềm bao gồm những hoạt động nào?
o A) Phát triển, vận hành và bảo trì phần
mềm
4
o B) NghiŒn cứu và giảng dạy về
phần mềm o C) Tiếp thị và bán hàng phần
mềm o D) Quản lý dự án và tài chính o
Đáp án: A
7. Mô hình phát triển phần mềm nào yêu cầu khách hàng cung cấp tất c yêu cầu một cách
chính xác và đầy đủ ngay từ ban đầu?
5
o A) Mô hình thác nước
6
o
B) Mô hình mẫu thử
7
o
C) Mô hình xoắn ốc
8
o D) Mô hình phát triển lặp lại,
tăng thêm
9
o Đáp án: A
8. Mô hình nào sau đây không phải là mô hình phát triển phần mềm? o A)
Mô hình thác nước
6
o B) Mô hình mẫu thử
7
o C) Mô hình phân tích rủi ro o D)
Mô hình xoắn ốc
8
o Đáp án: C
9. Kỹ năng nào không thuộc về mục tiêu và những kỹ năng của nghề nghiệp
kỹ sư phần mm? o A) Lựa chọn và sử dụng kỹ thuật bảo trì phần mềm o B) Đánh
giá và quyết định khi nào loại bỏ hay nâng cấp o C) Quản lý tài chính và ngân sách
dự án
o D) Quản lý, lập sơ đồ và kiểm soát việc phát triển tiến
trình
10
o Đáp án: C
10. Loại hình công việc nào không phải là một phần của nghề nghiệp kỹ sư phần mềm?
o A) Phát triển ứng dụng
11
o B) Hỗ trợ ứng dụng
12
o C) Chuyên gia kỹ
thuật
13
o D) Chuyên viên quản lý tài sản o Đáp án: D
CHƯƠNG 2: PHÂN TÍCH
lOMoARcPSD| 58833082
lOMoARcPSD| 58833082
1. Phân tích yêu cầu là gì? o A. Khâu kỹ thuật
cuối cùng o B. Khâu kỹ thuật đầu tiên o C. Khâu kỹ
thuật không quan trọng o D. Khâu kỹ thuật liên quan
đến kiểm tho Đáp án: B
2. Yêu cầu chức năng nghiệp vụ bao gồm những
loại nào?
o A. Lưu trữ, tra cứu, tính toán, kết
xuất
1
o B. Phân quyền, sao lưu/phục hồi, cấu
hình o C. Bảo mật, tối ưu hóa, tương tác o
D. Đồ họa, âm thanh, lưu trữ o Đáp
án: A
3. Yêu cầu phi chức năng liên quan đến điều gì? o
A. Các chức năng cơ bản của phần mềm
o B. Các ràng buộc về chất lượng, môi trường, chuẩn sử
dụng
2
o C. Giao diện người dùng o D. Tốc độ xử lý
của CPU o Đáp án: B
4. Mục tiêu của quy trình xác định yêu cầu là gì?
o A. Đưa ra các tài liệu thiết kế
o B. Đưa ra các tài liệu yêu cầu của hệ thống o C.
Đưa ra các tài liệu kiểm thử o D. Đưa ra các tài liệu hướng
dẫn sử dụng o Đáp án: B
5. Mô hình nào thường được sử dụng để xác định các yêu
cầu? o A. M h nh v ng tr n o B. Mô hình xoắn c o C. M h nh h nh sao
o D. Mô hình hình chữ nht o Đáp án: B
6. Phương pháp nào không phải là phương pháp thu thập
yêu cầu?
o A. Nghiên cứu tài
liệu
3
o B. Quan sÆt o C.
Phỏng vấn
4
o D. Thử
nghim o Đáp án: D
7. Lợi ích của việc làm bản mẫu là gì?
o A. Tăng chi phí phát triển
o B. Phát hiện các yêu cầu không đầy đủ hoặc không kiên định
o C. Giảm tốc độ phát triển o D. Tạo ra sản phẩm cuối cùng
o Đáp án: B
8. Hạn chế của việc làm bản mẫu là gì?
5
lOMoARcPSD| 58833082
o A. Không thể phát hiện li
o B. Không biểu thị đầy đủ các yêu cầu phi chức năng o C. Tăng cường
tính năng của hệ thống o D. Làm tăng độ tin cậy của hệ thống o Đáp án:
B
9. Cấu trúc tài liệu đặc tả yêu cầu theo IEEE 830 bao gồm mục nào?
6
o
A. Mô tả chung o B. Đặc tả kỹ thuật o C. Hướng dẫn sử dụng o
D. Bảo hành sản phẩm o Đáp án: A
10. Biu đồ nào mô tả mối quan hệ thông tin giữa các công việc?
o A. Biểu đồ phân rã chức
năng (FDD)
78
o B. Biểu đồ luồng
dữ liệu (DFD)
910
o C. Biểu đồ
thực thể kết hợp (ERD)
1112
o D. Biểu đồ Use-case o
Đáp án: B
1. Trong phân tích yêu cầu, ‘use case’ dùng để làm gì? o A) Mô
tả các tình huống sử dụng của hệ thống bởi người dùng cuối o B) Mô
tả cấu trúc dữ liệu trong hthống o C) Mô tả các thuật toán xửo
D) Mô tả giao diện người dùng o Đáp án: A
2. ‘Functional decomposition’ trong phân tích yêu cầu có nghĩa
gì? o A) Phân chia hthống thành các phần nhỏ hơn không liên quan đến
nhau o B) Phân chia hệ thống thành các chức năng và nhiệm vụ cụ tho
C) Loại bỏ các chức năng không cần thiết khỏi hệ thống o D) Tối
ưu hóa hiệu suất của hệ thng o Đáp án: B
3. ‘Non-functional requirements’ thường bao gồm các yếu tố nào?
o A) Hiệu suất, độ tin cậy, bảo mật
o B) Giao diện người dùng, báo cáo, nhập liệu o C) Các thuật toán,
cấu trúc dliu o D) Các quy trình kinh doanh, luật lệ o Đáp án: A
4. Công cụ nào thường không được sử dụng để phân tích yêu cầu?
o A) Biểu đồ luồng dữ liu
(DFD) o B) Biểu đồ thực thể
kết hợp (ERD) o C) Biểu đồ
Gantt o D) Biểu đồ Use-case
o Đáp án: C
5. ‘Prototyping’ trong phân tích yêu cầu có lợi ích gì?
lOMoARcPSD| 58833082
o A) Giúp đánh giá hiệu suất của hệ thng
o B) Cung cấp một phiên bản hoàn chỉnh của sản phẩm
o C) Cho phép người dùng trải nghiệm sớm các chức năng của hệ thống o D) Thay thế
hoàn toàn cho quá trình kiểm thử o Đáp án: C
6. ‘Business rules’ trong phân tích yêu cầu là gì?
o A) Các quy định về cách thức kinh doanh
của tổ chc o B) Các quy tắc lập trình
o C) Các quy định về bảo mật hệ thng o
D) Các quy tắc quản lý dự án o
Đáp án: A
7. ‘Stakeholder’ trong dự án phần mềm bao gồm ai?
o A) Chỉ bao gồm người dùng cuối o B) Chỉ bao
gồm nhà phát triển phần mềm
o C) Bao gồm người dùng cuối, nhà phát triển, và các bên liên quan
khác o D) Chỉ bao gồm nhà quản lý dự án o Đáp án: C
8. ‘Quality attributes’ trong phân tích yêu cầu đề cập đến điều
gì? o A) Các thuộc tính của mã nguồn o B) Các thuộc tính của giao
diện người dùng o C) Các đặc tính về chất lượng của sản phẩm phần
mềm o D) Các thuộc tính của tài liệu dự án o Đáp án: C
9. Trong phân tích yêu cầu, ‘data flow diagram’ (DFD) được s
dụng để làm gì? o A) Mô tả luồng dữ liệu qua hệ thống o B)
Mô tả cấu trúc cơ sở dữ liu o C) Mô tả giao diện người dùng o D)
Mô tả kiến trúc hệ thng o Đáp án: A
10. ‘Requirement validation’ trong phân tích yêu cầu có mục
đích gì? o A) Xác nhận rằng yêu cầu phản ánh đúng nhu cầu của
người dùng o B) Kiểm tra mã nguồn để đảm bảo không có lỗi o C)
Xác nhận rằng hệ thống hoạt động với hiệu suất cao o D) Đảm
bảo rằng tài liệu dự án được viết một cách chính xác o Đáp án: A
CHƯƠNG 3: THIẾT KẾ
lOMoARcPSD| 58833082
lOMoARcPSD| 58833082
lOMoARcPSD| 58833082
lOMoARcPSD| 58833082
1. Khái niệm thiết kế phn mềm
o A. Quá trình mã hóa các yêu cầu phần mềm
o B. QuÆ tr nh chuyển hóa các yêu cầu phần mềm thành mô hình o C.
Quá trình kiểm thử phần mềm o D. Quá trình bảo trì phần mềm o Đáp
án: B
2. Tầm quan trọng của thiết kế phn mềm
o A. Tạo mô hình cài đặt của phần
mềm
1
o B. Làm tăng công sức mã hóa
o C. Làm giảm công sức bảo trì
o D. Khó hiểu, khó sửa đổi hơn mã chương
trình o Đáp án: A
3. Quá trình thiết kế bao gồm bao nhiêu mức thiết kế?
o A. 2 o B. 3 o C. 4 o D. 5 o Đáp án: C
4. Nguyên lý nào sau đây không đúng khi thiết kế
phần mềm? o A. Thiết kế không nên bó buộc vào cái nhìn hạn
hẹp o B. Thiết kế phải lần ngược lại được mô hình ph n t ch o
C. Thiết kế là mã hóa
2
o D. Thiết kế cần có cấu trúc linh
động
3
o Đáp án: C
5. Tru tượng hóa trong thiết kế phn mềm có ý nghĩa gì?
o A. Làm mịn mô hình thiết kế o B. Chia để tr
o C. Giảm độ phức tạp của thiết
kế o D. Tăng tính module của thiết
kế o Đáp án: C
6. Nguyên lýchia để trị’ trong thiết kế phn mềm ám chỉ điều gì?
o A. T nh module của thiết kế
o B. Che giấu thông tin
4
o
C. Tính gắn kết của module
o D. Độ ghép nối giữa các
module o Đáp án: A
7. Che giấu thông tin trong thiết kế phần mềm có tác dụng gì? o
A. Tăng hiệu ng phụ khi sửa đổi module
5
o B. Giảm sự tác động của thiết kế tổng thể lên thiết kế cục b
6
o C. Tăng việc sử dụng dữ liệu dùng chung o D. Giảm tính
module hóa o Đáp án: B
8. Ghép nối (coupling) trong thiết kế phn mềm là gì?
lOMoARcPSD| 58833082
o A. Độ đo sự giao tiếp giữa các module
o B. Độ đo về sphụ thuộc lẫn nhau của các module
7
o C. Độ đo về tính
độc lập chức năng của module o D. Độ đo về tính cục bộ của module o
Đáp án: A
9. Loại ghép nối nào sau đây được coi là xấu nht? o
A. Ghép nối nội dung (content coupling)
8
o B. Ghép
nối chung (common coupling)
10
o C. Ghép nối điều khiển
(control coupling)
8
o D. Ghép nối nhãn (stamp coupling)
9
o
Đáp Æn: A
10. Tính gắn kết (cohesion) trong thiết kế phần mềm
có ý nghĩa gì? o A. Độ đo về sphụ thuộc lẫn nhau của
các module
7
o B. Độ đo về tính độc lập chức năng của module
o C. Độ đo về tính cục bộ của module o D. Độ đo về sự
giao tiếp giữa các module o Đáp án: A
1. Thiết kế kiến trúc phần mềm (Software Architecture Design) đề cập đến
việc gì? o A) Xác định các yêu cầu người dùng o B) Xác định cấu trúc tổng thể của
hệ thng o C) Mã hóa các chức năng cụ tho D) Kiểm thử các thành phần phần
mềm o Đáp án: B
2. Thiết kế chi tiết (Detailed Design) thường bao gồm những gì? o A) Mô tả
các module và giao diện giữa chúng o B) Mô tả cấu trúc dữ liệu và thuật toán o C)
Mô tả kiến trúc tổng thể của hệ thng o D) Mô tả các yêu cầu người dùng o
Đáp án: B
3. Thiết kế giao diện (Interface Design) quan trọng như thế nào?
o A) Không quan trọng, có thể bỏ qua
o B) Quan trọng, ảnh hưởng đến trải nghiệm người dùng o C) Chỉ
quan trọng với các ứng dụng di động o D) Chỉ quan trọng khi có yêu cầu
từ khách hàng o Đáp án: B
4. Mô hình thiết kế nào sau đây không phải là mô hình thiết kế phbiến? o
A) M h nh MVC (Model-View-Controller) o B) Mô hình 3 lớp (Three-tier) o C) M
h nh ph n tÆn (Distributed) o D) M h nh đơn sắc (Monochromatic) o Đáp án: D
5. Tính tái sử dụng trong thiết kế phn mềm có ý nghĩa gì?
lOMoARcPSD| 58833082
o A) Sử dụng lại mã nguồn từ các dự án
khác o B) Sử dụng lại các thành phần phn
cứng o C) Sử dụng lại các tài liệu dự án o
D) Sử dụng lại các báo cáo lỗi o
Đáp án: A
6. Thiết kế cơ sở dliệu (Database Design) liên quan đến việc gì? o A) Tạo
ra các bảng và quan hệ giữa chúng o B) Tạo ra giao diện người dùng o C) Tạo
ra các thuật toán xử lý dữ liu o D) Tạo ra kiến trúc tổng thể của hệ thng o
Đáp án: A
7. Thiết kế phần mềm hướng đối tượng (Object-Oriented Design) dựa trên
nguyên lý nào?
o A) Kế thừa (Inheritance)
o B) Đóng gói
(Encapsulation) o C) Đa
hình (Polymorphism) o D) Tất cả
các phương án trên o Đáp án:
D
8. Thiết kế phần mềm hướng dịch vụ (Service-Oriented Design) tập trung vào
điều gì? o A) Tính độc lập của các dịch vụ o B) Tính tương tác giữa các dịch vụ o
C) Tính tái sử dụng của các dịch vụ o D) Tất cả các phương án trên o Đáp
án: D
9. Thiết kế đáp ứng (Responsive Design) là gì? o A) Thiết kế phần mềm có thể
thích ứng với các loại thiết bị khác nhau o B) Thiết kế phần mềm có thể phản hồi nhanh
chóng o C) Thiết kế phần mềm có thể tự động cập nht o D) Thiết kế phần mềm
có thể tự động sửa lỗi o Đáp án: A
10. Thiết kế kiểm thử (Test Design) bao gồm những gì?
o A) Xác định các ca kiểm thử và dữ liệu kiểm
tho B) Xác định kiến trúc tổng thể của hệ
thống o C) Xác định giao diện người dùng o
D) Xác định cấu trúc dữ liệu và thuật toán
o Đáp án: A
1. Thiết kế kiến trúc là gì?
o A. Quá trình xác định các hệ thống con và giao tiếp giữa
chúng o B. Quá trình lập trình cơ sở dữ liu o C. Quá trình
kiểm thphần mềm o D. Quá trình triển khai hệ thống o Đáp
án: A
2. Thiết kế kiến trúc thường được thực hiện khi nào?
lOMoARcPSD| 58833082
o A. Sau khi hoàn thành quy trình thiết
kế o B. Trước khi bắt đầu quy trình thiết kế o
C. Song song với một số hành động
đặc tả
1
o D. Sau khi quy trình kiểm thử
hoàn tất o Đáp án: C
3. Hệ thống con là gì? o A. Một hệ thng độc lập không
liên quan đến hệ thống khác o B. Một hệ thống phụ
thuộc vào hệ thống tổng thể
o C. Một hệ thống trong hệ thống tổng thể với hoạt động độc
lập
2
o D. Một hệ thống không thể tách rời khỏi hệ thng tổng thể
o Đáp án: C
4. Module trong thiết kế kiến trúc phần mềm là gì? o
A. Một hệ thống riêng biệt
o B. Một thành phần hệ thống cung cấp dịch vụ cho các thành phần
khác o C. Một hệ thống con o D. Một phần mềm độc lập o Đáp án: B
5. Lợi ích của thiết kế kiến trúc phần mềm không bao gồm điều nào sau đây? o
A. Giao tiếp giữa khách hàng và nhà phát triển
3
o B. Phân tích khả thi về các
yêu cầu phi chức năng
4
o C. Sử dụng lại kiến trúc cho nhiều hệ thống o D. Tăng tốc
độ xử lý của hệ thống o Đáp án: D
6. Mô hình tổ chc hthống nào không được đề cập trong tài liệu?
o A. Kho dữ liệu dùng
chung o B. Client-
server o C. Phân lớp o
D. M h nh ph n tÆn o
Đáp án: D
7. Nhược điểm của mô hình kho dữ liệu dùng chung l g ?
o A. Dễ dẫn đến quá tải và khó phân
tán o B. Khó khăn trong việc quản lý dữ
liu o C. Tốn kém chi phí bảo trì
o D. Khó khăn trong việc bảo mật dữ
liu o Đáp án: A
8. Ưu điểm của mô hình client-server l g ? o A. Dễ dàng
bổ sung hoặc nâng cấp server o B. Dữ liệu được tchc
theo mô hình dùng chung o C. Quản lý mỗi server thống nhất,
không dư thừa o D. Không cần đăng ký tên và dịch vụ tập
trung o Đáp án: A
9. Mô hình phân lớp trong thiết kế kiến trúc phần mềm
có đặc điểm gì? o A. Tổ chức hệ thống thành nhiều lớp cung
cấp dịch v
lOMoARcPSD| 58833082
o B. Mỗi lớp là một hệ thống con độc lập
2
o C. Mô hình không phù hợp với hệ thống có giao diện o D. Mô
hình chỉ áp dụng cho hệ thống tuần tự o Đáp án: A
10. Mô hình hướng đối tượng trong thiết kế kiến trúc phần mềm được mô tả như thế nào? o
A. Cấu trúc hệ thống thành một tập hợp các đối tượng gắn kết chặt
5
o B. Phân rã hướng đối tượng liên quan đến việc xác định lớp đối tượng và các thuộc
tính
6
o C. Đối tượng không phản ánh thực thể trong thế giới thực
7
o D. Giao tiếp của đối
ợng không thay đổi o Đáp án: B
1. Mục tiêu chính của thiết kế phần mềm là gì?
o A) Viết mã o B) Sửa lỗi
o C) Xác định cấu trúc hệ thống o D) Kiểm thphn
mềm
o Đáp án: C) Xác định cấu trúc hệ thng
2. Mẫu thiết kế nào tách hệ thống thành ba thành phần ch nh: model, view v
controller? o A) Singleton o B) MVC o C) Observer o D) Strategy o Đáp án: B) MVC
3. Lợi ích chính của thiết kế -đun là gì? o A) Tăng độ phức tạp o B) Giảm khả năng
bảo trì o C) Cải thiện khả năng mở rộng o D) Làm chậm thời gian phát triển o
Đáp án: C) Cải thiện khả năng mở rộng
4. Nguyên tắc nào sau đây KHÔNG phải là nguyên tắc của thiết kế phần mềm tốt?
o A) Tính gắn kết cao o B) Tính ghép nối
thp o C) Tính đọc được o D) Tính dư thừa
o Đáp án: D) Tính dư thừa 5. UML viết
tắt ca từ gì? o A) Unified Modeling
Language o B) Universal Markup Language o
C) Unique Machine Learning o D) User
Management Lifecycle o Đáp án: A)
Unified Modeling Language 6. Trong thiết kế
phần mềm, ‘use case’ là gì? o A) Một
kịch bản kiểm thử
lOMoARcPSD| 58833082
o B) Một chuỗi tương tác của người dùng o C) Một tiêu chuẩn mã
hóa o D) Một chiến lược triển khai
o Đáp án: B) Một chuỗi tương tác của người dùng 7. ‘Nợ kỹ thuật’ là
gì?
o A) Tiền nợ cho các nhà phát triển phần mềm
o B) Chi phí công việc phát sinh do chọn giải pháp dễ dàng ngay bây giờ
thay vì một cách tiếp cận tốt hơn mất thời gian hơn
o C) Chi phí tài chính để mua phần mềm o D) Thời gian cần để biên
dịch mã
o Đáp án: B) Chi phí công việc phát sinh do chọn giải pháp dễ dàng
ngay bây giờ thay vì một cách tiếp cận tốt hơn mất thời gian hơn
8. Mẫu thiết kế cấu trúc nào sau đây? o
A) Adapter o B) Factory o C)
Command o D) Iterator o Đáp án: A)
Adapter
9. Đóng gói trong thiết kế ớng đối
ợng là gì? o A) Lưu trữ đối tượng trong cơ sở
dữ liu
o B) Quá trình kết hợp các yếu tố để tạo ra một thực thể mới
o C) Kỹ thuật bảo vệ dữ liệu và hành vi của một đối tượng khỏi sự truy cập từ bên ngoài đối tượng
o D) Sử dụng nhiều giao diện trong một lớp
o Đáp án: C) Kỹ thuật bảo vệ dữ liệu và hành vi của một đối tượng khỏi sự truy cập từ bên
ngoài đối tượng
10. Mục tiêu chính của mẫu thiết kế là gì? o A) Cung cấp giải pháp cho các vấn
đề thiết kế phần mềm phổ biến o B) Áp đặt tiêu chuẩn mã hóa nghiêm ngặt o
C) Quy định ngôn ngữ lập trình được sử dụng o D) Phục vụ như một
tài liệu pháp lý o Đáp án: A) Cung cấp giải pháp cho các vấn đề thiết kế
phần mềm phổ biến
1. Giao diện người dùng (UI) quan trọng như thế nào? o
A. Chỉ quan trọng với người mới sử dụng
o B. Quan trọng với cả người mới và người có
kinh nghiệm o C. Không quan trọng
o D. Chỉ quan trọng với người có kinh nghiệm o
Đáp án: B
2. Yếu tố nào sau đây không phải là một phần ca thiết kế giao diện?
o A. Màu sắc o B.
Ngôn ngữ o C. Tốc độ
phn ứng o D. Giá
thành sản phẩm

Preview text:

lOMoAR cPSD| 58833082
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ PHẦN MỀM lOMoAR cPSD| 58833082 lOMoAR cPSD| 58833082
1. Theo thống kê của Tom de Marco (1979), tỷ lệ hệ phần mềm lớn thất bại là bao nhiêu phần trăm? A) 20% B) 25% C) 30% D) 35%
2. Theo thống kê của Copets Jones (1991), trung bình các hệ thông tin quản lý trễ bao nhiêu năm? A) 1 năm B) 2 năm C) 3 năm D) 4 năm
3. Công nghệ phần mềm ược ịnh nghĩa như thế nào theo Bauer [1969]?
A) Việc thiết lập và sử dụng các nguyên lý công nghệ úng ắn ể thu ược phần mềm 1
cách kinh tế vừa tin cậy vừa làm việc hiệu quả trên các máy thực
B) Việc xây dựng phần mềm nhiều phiên bản bởi nhiều người
C) Một nguyên lý kỹ nghệ liên quan ến tất cả các mặt của sản phần mềm
D) Việc áp dụng phương pháp tiếp cận có hệ thống, bài bản và ược lượng hóa trong phát
triển, vận hành và bảo trì phần mềm
4. Theo IEEE [1993], công nghệ phần mềm bao gồm những yếu tố nào?
A) Thủ tục, Phương pháp, Công cụ
B) Phương pháp, Công cụ, Quy trình
C) Công cụ, Qui trình, Đánh giá D) Đánh giá, Phân tích, Thiết kế
5. Mô hình xoắn ốc trong phát triển phần mềm ược mô tả như thế nào? A) Mô hình tuyến tính B) Mô hình lặp C) Mô hình waterfall D) Mô hình Agile lOMoAR cPSD| 58833082
6. Theo Parnas [1987], công nghệ phần mềm là việc gì?
A) Xây dựng phần mềm nhiều phiên bản bởi nhiều người
B) Thiết lập và sử dụng các nguyên lý công nghệ úng ắn ể thu ược phần mềm kinh tế, tin cậy và hiệu quả
C) Liên quan ến tất cả các mặt của sản phần mềm
D) Áp dụng phương pháp tiếp cận có hệ thống, bài bản và ược lượng hóa trong phát
triển, vận hành và bảo trì phần mềm
7. Mục tiêu chính của kỹ sư phần mềm là gì?
A) Sản xuất ra sản phẩm phần mềm ộc áo
B) Sản xuất ra sản phẩm phần mềm có chất lượng cao và phù hợp với quy trình phát triển chuẩn mực
C) Sản xuất ra sản phẩm phần mềm miễn phí
D) Sản xuất ra sản phẩm phần mềm dựa theo mô hình waterfall
8. Công nghệ phần mềm dựa thành phần dựa trên kỹ thuật gì ể tái sử dụng một
cách có hệ thống? A) Tái chế B) Tái sử dụng C) Tái sinh D) Tái tạo
10. Công nghệ phần mềm ược ịnh nghĩa như thế nào theo IEEE [1993]?
A) Việc thiết lập và sử dụng các nguyên lý công nghệ úng ắn ể thu ược phần mềm kinh
tế, tin cậy và hiệu quả
B) Việc xây dựng phần mềm nhiều phiên bản bởi nhiều người
C) Một nguyên lý kỹ nghệ liên quan ến tất cả các mặt của sản phần mềm
D) Việc áp dụng phương pháp tiếp cận có hệ thống, bài bản và ược lượng hóa trong phát
triển, vận hành và bảo trì phần mềm lOMoAR cPSD| 58833082 1.
Quy trình nào sau đây không phải là một phần của quy trình phát triển phần mềm? o
A) Phân tích yêu cầu o B) Thiết kế o C) Kiểm thử o D) Quảng cáo o Đáp án: D 2.
Mô hình phát triển phần mềm nào cho phép sửa đổi yêu cầu trong quá trình phát triển? o A) Mô hình thác nước o
B) Mô hình mẫu thử o C) Mô hình xoắn ốc o D) M h nh V-model o Đáp án: C 3.
‘Software maintenance’ bao gồm những hoạt động nào? o
A) Sửa lỗi và cập nhật chức
năng o B) Phát triển chức năng mới o
C) Cải thiện hiệu suất o
D) Tất cả các phương án trên o Đáp án: D 4.
Tại sao ‘software reuse’ lại quan trọng trong phát
triển phần mềm? o A) Giảm chi phí và thời gian phát triển o
B) Tăng độ tin cậy của phần mềm o C) Đơn giản hóa
quá trình kiểm thử o D) Tất cả các phương án trŒn o Đáp án: D 5.
‘Software process model’ là gì? o A) Một bộ sưu tập
các công cụ phát triển phần mềm o
B) Một khuôn mẫu mô tả các hoạt động cần thiết để phát triển phần
mềm o C) Một hệ thống quản lý dự án phần mềm o D) Một phương pháp
kiểm thử phần mềm o Đáp án: B
6. ‘Agile software development’ nhấn mạnh vào điều gì? o A) Kỹ thuật lập trình o B) Quản lý dự án o C) Sự linh hoạt và sự
thích ứng với sự thay đổi o D) Bảo mật phần mềm o Đáp án: C
7. ‘Extreme Programming (XP)’ là một phương pháp của? o A) Mô hình thác nước o
B) Phát triển phần mềm linh
hoạt o C) Mô hình mẫu thử o D) M h nh V-model o Đáp án: B
8. ‘User stories’ trong phát triển phần mềm Agile dùng để làm gì? lOMoAR cPSD| 58833082 o
A) Mô tả các yêu cầu từ góc độ người dùng o
B) Kể lại kinh nghiệm của người dùng o
C) Đánh giá hiệu suất của phần mềm o
D) Hướng dẫn người dùng sử dụng phần mềm o Đáp án: A 9.
‘Scrum’ là một phương pháp của? o A) Phát triển phần mềm linh hoạt o B) Mô hình thác nước o C) Mô hình mẫu thử o
D) M h nh V-model o Đáp án: A 10.
‘Sprint’ trong Scrum là gì? o
A) Một phiên bản phần mềm hoàn chỉnh o B) Một
cuộc họp dài để lập kế hoạch o
C) Một khoảng thời gian ngắn trong đó một số công việc
cụ thể được thực hiện o
D) Một công cụ quản lý dự án o Đáp án: C 1.
Công nghệ phần mềm (software engineering) là
gì? o A) Quá trình thiết kế và sử dụng phần cứng máy tính o
B) Quá trình phát triển và bảo trì phần mềm o C) Quá
trình sản xuất và tiếp thị sản phẩm phần cứng o D) Quá
trình quản lý dự án công nghệ thông tin o Đáp án: B 2.
Phần mềm (software) bao gồm những thành phần
nào? o A) Chỉ bao gồm chương trình (program) o B)
Chương trình và tài liệu (document) o C) Chương trình, tài
liệu và hỗ trợ (support) o D) Chỉ bao gồm tài liệu o Đáp án: C
3. Sản phẩm phần mềm loại Generic Product là gì? o
A) Sản phẩm được phát triển theo yêu cầu đặc thù của từng khách
hàng o B) Sản phẩm đóng gói và bán rộng rãi trên thị trường1 o C) Sản
phẩm chỉ dùng cho mục đích nội bộ o D) Sản phẩm không được bán ra thị trường o Đáp án: B
4. Đặc tính nào sau đây không phải là của một sản phẩm phần mềm tốt? o
A) Maintainability (Khả năng bảo
trì) o B) Dependability (Độ tin cậy)2 o
C) Efficiency (Hiệu quả) o
D) Complexity (Phức tạp) o Đáp án: D
5. Nguyên nhân chủ quan nào dẫn đến việc phần mềm không đáp ứng đủ cho người dùng? lOMoAR cPSD| 58833082 o
A) Sự thay đổi và phát triển nhanh của phần cứng o
B) Tính chuyên nghiệp trong sản xuất phần mềm chưa
cao3 o C) Yêu cầu của người sử dụng ngày càng cao o
D) Nhu cầu phần mềm thường rất cấp bách o Đáp án: B
6. Theo IEEE [1993], công nghệ phần mềm bao gồm những hoạt động nào? o
A) Phát triển, vận hành và bảo trì phần mềm4 o
B) NghiŒn cứu và giảng dạy về
phần mềm o C) Tiếp thị và bán hàng phần
mềm o D) Quản lý dự án và tài chính o Đáp án: A
7. Mô hình phát triển phần mềm nào yêu cầu khách hàng cung cấp tất cả yêu cầu một cách
chính xác và đầy đủ ngay từ ban đầu?5 o A) Mô hình thác nước6 o B) Mô hình mẫu thử7 o C) Mô hình xoắn ốc8 o
D) Mô hình phát triển lặp lại,
tăng thêm9 o Đáp án: A 8.
Mô hình nào sau đây không phải là mô hình phát triển phần mềm? o A)
Mô hình thác nước6 o B) Mô hình mẫu thử7 o
C) Mô hình phân tích rủi ro o D)
Mô hình xoắn ốc8 o Đáp án: C 9.
Kỹ năng nào không thuộc về mục tiêu và những kỹ năng của nghề nghiệp
kỹ sư phần mềm? o A) Lựa chọn và sử dụng kỹ thuật bảo trì phần mềm o B) Đánh
giá và quyết định khi nào loại bỏ hay nâng cấp o
C) Quản lý tài chính và ngân sách dự án o
D) Quản lý, lập sơ đồ và kiểm soát việc phát triển tiến trình10 o Đáp án: C
10. Loại hình công việc nào không phải là một phần của nghề nghiệp kỹ sư phần mềm? o
A) Phát triển ứng dụng11 o
B) Hỗ trợ ứng dụng12 o C) Chuyên gia kỹ thuật13 o
D) Chuyên viên quản lý tài sản o Đáp án: D CHƯƠNG 2: PHÂN TÍCH lOMoAR cPSD| 58833082 lOMoAR cPSD| 58833082 1.
Phân tích yêu cầu là gì? o A. Khâu kỹ thuật
cuối cùng o B. Khâu kỹ thuật đầu tiên o C. Khâu kỹ thuật không quan trọng o
D. Khâu kỹ thuật liên quan đến kiểm thử o Đáp án: B 2.
Yêu cầu chức năng nghiệp vụ bao gồm những loại nào? o
A. Lưu trữ, tra cứu, tính toán, kết
xuất1 o B. Phân quyền, sao lưu/phục hồi, cấu
hình o C. Bảo mật, tối ưu hóa, tương tác o
D. Đồ họa, âm thanh, lưu trữ o Đáp án: A
3. Yêu cầu phi chức năng liên quan đến điều gì? o
A. Các chức năng cơ bản của phần mềm o
B. Các ràng buộc về chất lượng, môi trường, chuẩn sử dụng2 o
C. Giao diện người dùng o D. Tốc độ xử lý của CPU o Đáp án: B
4. Mục tiêu của quy trình xác định yêu cầu là gì? o
A. Đưa ra các tài liệu thiết kế o
B. Đưa ra các tài liệu yêu cầu của hệ thống o C.
Đưa ra các tài liệu kiểm thử o D. Đưa ra các tài liệu hướng
dẫn sử dụng o Đáp án: B 5.
Mô hình nào thường được sử dụng để xác định các yêu
cầu? o A. M h nh v ng tr n o B. Mô hình xoắn ốc o C. M h nh h nh sao
o D. Mô hình hình chữ nhật o Đáp án: B 6.
Phương pháp nào không phải là phương pháp thu thập yêu cầu? o A. Nghiên cứu tài liệu3 o B. Quan sÆt o C. Phỏng vấn4 o D. Thử nghiệm o Đáp án: D
7. Lợi ích của việc làm bản mẫu là gì? o
A. Tăng chi phí phát triển o
B. Phát hiện các yêu cầu không đầy đủ hoặc không kiên định o
C. Giảm tốc độ phát triển o D. Tạo ra sản phẩm cuối cùng o Đáp án: B
8. Hạn chế của việc làm bản mẫu là gì?5 lOMoAR cPSD| 58833082 o
A. Không thể phát hiện lỗi o
B. Không biểu thị đầy đủ các yêu cầu phi chức năng o C. Tăng cường
tính năng của hệ thống o
D. Làm tăng độ tin cậy của hệ thống o Đáp án: B 9.
Cấu trúc tài liệu đặc tả yêu cầu theo IEEE 830 bao gồm mục nào?6 o A. Mô tả chung o
B. Đặc tả kỹ thuật o C. Hướng dẫn sử dụng o D. Bảo hành sản phẩm o Đáp án: A 10.
Biểu đồ nào mô tả mối quan hệ thông tin giữa các công việc? o
A. Biểu đồ phân rã chức
năng (FDD)78 o B. Biểu đồ luồng dữ liệu (DFD)910 o C. Biểu đồ
thực thể kết hợp (ERD)1112 o D. Biểu đồ Use-case o Đáp án: B 1.
Trong phân tích yêu cầu, ‘use case’ dùng để làm gì? o A) Mô
tả các tình huống sử dụng của hệ thống bởi người dùng cuối o B) Mô
tả cấu trúc dữ liệu trong hệ thống o C) Mô tả các thuật toán xử lý o
D) Mô tả giao diện người dùng o Đáp án: A 2.
‘Functional decomposition’ trong phân tích yêu cầu có nghĩa là
gì? o A) Phân chia hệ thống thành các phần nhỏ hơn không liên quan đến
nhau o B) Phân chia hệ thống thành các chức năng và nhiệm vụ cụ thể o
C) Loại bỏ các chức năng không cần thiết khỏi hệ thống o D) Tối
ưu hóa hiệu suất của hệ thống o Đáp án: B 3.
‘Non-functional requirements’ thường bao gồm các yếu tố nào? o
A) Hiệu suất, độ tin cậy, bảo mật o
B) Giao diện người dùng, báo cáo, nhập liệu o C) Các thuật toán, cấu trúc dữ liệu o
D) Các quy trình kinh doanh, luật lệ o Đáp án: A
4. Công cụ nào thường không được sử dụng để phân tích yêu cầu? o
A) Biểu đồ luồng dữ liệu (DFD) o B) Biểu đồ thực thể kết hợp (ERD) o C) Biểu đồ Gantt o D) Biểu đồ Use-case o Đáp án: C
5. ‘Prototyping’ trong phân tích yêu cầu có lợi ích gì? lOMoAR cPSD| 58833082 o
A) Giúp đánh giá hiệu suất của hệ thống o
B) Cung cấp một phiên bản hoàn chỉnh của sản phẩm o
C) Cho phép người dùng trải nghiệm sớm các chức năng của hệ thống o D) Thay thế
hoàn toàn cho quá trình kiểm thử o Đáp án: C
6. ‘Business rules’ trong phân tích yêu cầu là gì? o
A) Các quy định về cách thức kinh doanh
của tổ chức o B) Các quy tắc lập trình o
C) Các quy định về bảo mật hệ thống o
D) Các quy tắc quản lý dự án o Đáp án: A
7. ‘Stakeholder’ trong dự án phần mềm bao gồm ai? o
A) Chỉ bao gồm người dùng cuối o B) Chỉ bao
gồm nhà phát triển phần mềm o
C) Bao gồm người dùng cuối, nhà phát triển, và các bên liên quan
khác o D) Chỉ bao gồm nhà quản lý dự án o Đáp án: C 8.
‘Quality attributes’ trong phân tích yêu cầu đề cập đến điều
gì? o A) Các thuộc tính của mã nguồn o
B) Các thuộc tính của giao diện người dùng o
C) Các đặc tính về chất lượng của sản phẩm phần
mềm o D) Các thuộc tính của tài liệu dự án o Đáp án: C 9.
Trong phân tích yêu cầu, ‘data flow diagram’ (DFD) được sử
dụng để làm gì? o
A) Mô tả luồng dữ liệu qua hệ thống o B)
Mô tả cấu trúc cơ sở dữ liệu o C) Mô tả giao diện người dùng o D)
Mô tả kiến trúc hệ thống o Đáp án: A 10.
‘Requirement validation’ trong phân tích yêu cầu có mục đích gì? o
A) Xác nhận rằng yêu cầu phản ánh đúng nhu cầu của
người dùng o B) Kiểm tra mã nguồn để đảm bảo không có lỗi o C)
Xác nhận rằng hệ thống hoạt động với hiệu suất cao o D) Đảm
bảo rằng tài liệu dự án được viết một cách chính xác o Đáp án: A CHƯƠNG 3: THIẾT KẾ lOMoAR cPSD| 58833082 lOMoAR cPSD| 58833082 lOMoAR cPSD| 58833082 lOMoAR cPSD| 58833082
1. Khái niệm thiết kế phần mềm o
A. Quá trình mã hóa các yêu cầu phần mềm o
B. QuÆ tr nh chuyển hóa các yêu cầu phần mềm thành mô hình o C.
Quá trình kiểm thử phần mềm o
D. Quá trình bảo trì phần mềm o Đáp án: B
2. Tầm quan trọng của thiết kế phần mềm o
A. Tạo mô hình cài đặt của phần mềm1 o
B. Làm tăng công sức mã hóa o
C. Làm giảm công sức bảo trì o
D. Khó hiểu, khó sửa đổi hơn mã chương trình o Đáp án: A 3.
Quá trình thiết kế bao gồm bao nhiêu mức thiết kế? o
A. 2 o B. 3 o C. 4 o D. 5 o Đáp án: C 4.
Nguyên lý nào sau đây không đúng khi thiết kế
phần mềm? o A. Thiết kế không nên bó buộc vào cái nhìn hạn
hẹp o B. Thiết kế phải lần ngược lại được mô hình ph n t ch o C. Thiết kế là mã hóa2 o
D. Thiết kế cần có cấu trúc linh động3 o Đáp án: C
5. Trừu tượng hóa trong thiết kế phần mềm có ý nghĩa gì? o
A. Làm mịn mô hình thiết kế o B. Chia để trị o
C. Giảm độ phức tạp của thiết
kế o D. Tăng tính module của thiết kế o Đáp án: C
6. Nguyên lý ‘chia để trị’ trong thiết kế phần mềm ám chỉ điều gì? o
A. T nh module của thiết kế o B. Che giấu thông tin4 o
C. Tính gắn kết của module o
D. Độ ghép nối giữa các module o Đáp án: A
7. Che giấu thông tin trong thiết kế phần mềm có tác dụng gì? o
A. Tăng hiệu ứng phụ khi sửa đổi module5 o
B. Giảm sự tác động của thiết kế tổng thể lên thiết kế cục bộ6 o
C. Tăng việc sử dụng dữ liệu dùng chung o D. Giảm tính
module hóa o Đáp án: B
8. Ghép nối (coupling) trong thiết kế phần mềm là gì? lOMoAR cPSD| 58833082 o
A. Độ đo sự giao tiếp giữa các module o
B. Độ đo về sự phụ thuộc lẫn nhau của các module7 o C. Độ đo về tính
độc lập chức năng của module o
D. Độ đo về tính cục bộ của module o Đáp án: A 9.
Loại ghép nối nào sau đây được coi là xấu nhất? o
A. Ghép nối nội dung (content coupling)8 o B. Ghép
nối chung (common coupling)10 o
C. Ghép nối điều khiển
(control coupling)8 o D. Ghép nối nhãn (stamp coupling)9 o Đáp Æn: A 10.
Tính gắn kết (cohesion) trong thiết kế phần mềm có ý nghĩa gì? o
A. Độ đo về sự phụ thuộc lẫn nhau của
các module7 o B. Độ đo về tính độc lập chức năng của module o
C. Độ đo về tính cục bộ của module o D. Độ đo về sự
giao tiếp giữa các module o Đáp án: A 1.
Thiết kế kiến trúc phần mềm (Software Architecture Design) đề cập đến việc gì? o
A) Xác định các yêu cầu người dùng o B) Xác định cấu trúc tổng thể của hệ thống o
C) Mã hóa các chức năng cụ thể o
D) Kiểm thử các thành phần phần mềm o Đáp án: B 2.
Thiết kế chi tiết (Detailed Design) thường bao gồm những gì? o A) Mô tả
các module và giao diện giữa chúng o B) Mô tả cấu trúc dữ liệu và thuật toán o C)
Mô tả kiến trúc tổng thể của hệ thống o
D) Mô tả các yêu cầu người dùng o Đáp án: B 3.
Thiết kế giao diện (Interface Design) quan trọng như thế nào? o
A) Không quan trọng, có thể bỏ qua o
B) Quan trọng, ảnh hưởng đến trải nghiệm người dùng o C) Chỉ
quan trọng với các ứng dụng di động o
D) Chỉ quan trọng khi có yêu cầu từ khách hàng o Đáp án: B 4.
Mô hình thiết kế nào sau đây không phải là mô hình thiết kế phổ biến? o
A) M h nh MVC (Model-View-Control er) o
B) Mô hình 3 lớp (Three-tier) o C) M
h nh ph n tÆn (Distributed) o D) M h nh đơn sắc (Monochromatic) o Đáp án: D 5.
Tính tái sử dụng trong thiết kế phần mềm có ý nghĩa gì? lOMoAR cPSD| 58833082 o
A) Sử dụng lại mã nguồn từ các dự án
khác o B) Sử dụng lại các thành phần phần
cứng o C) Sử dụng lại các tài liệu dự án o
D) Sử dụng lại các báo cáo lỗi o Đáp án: A 6.
Thiết kế cơ sở dữ liệu (Database Design) liên quan đến việc gì? o A) Tạo
ra các bảng và quan hệ giữa chúng o B) Tạo ra giao diện người dùng o C) Tạo
ra các thuật toán xử lý dữ liệu o
D) Tạo ra kiến trúc tổng thể của hệ thống o Đáp án: A 7.
Thiết kế phần mềm hướng đối tượng (Object-Oriented Design) dựa trên nguyên lý nào? o A) Kế thừa (Inheritance) o B) Đóng gói (Encapsulation) o C) Đa
hình (Polymorphism) o D) Tất cả
các phương án trên o Đáp án: D 8.
Thiết kế phần mềm hướng dịch vụ (Service-Oriented Design) tập trung vào điều gì? o
A) Tính độc lập của các dịch vụ o
B) Tính tương tác giữa các dịch vụ o
C) Tính tái sử dụng của các dịch vụ o D) Tất cả các phương án trên o Đáp án: D 9.
Thiết kế đáp ứng (Responsive Design) là gì? o
A) Thiết kế phần mềm có thể
thích ứng với các loại thiết bị khác nhau o
B) Thiết kế phần mềm có thể phản hồi nhanh chóng o
C) Thiết kế phần mềm có thể tự động cập nhật o D) Thiết kế phần mềm
có thể tự động sửa lỗi o Đáp án: A 10.
Thiết kế kiểm thử (Test Design) bao gồm những gì? o
A) Xác định các ca kiểm thử và dữ liệu kiểm
thử o B) Xác định kiến trúc tổng thể của hệ thống o
C) Xác định giao diện người dùng o
D) Xác định cấu trúc dữ liệu và thuật toán o Đáp án: A
1. Thiết kế kiến trúc là gì? o
A. Quá trình xác định các hệ thống con và giao tiếp giữa chúng o
B. Quá trình lập trình cơ sở dữ liệu o C. Quá trình
kiểm thử phần mềm o D. Quá trình triển khai hệ thống o Đáp án: A
2. Thiết kế kiến trúc thường được thực hiện khi nào? lOMoAR cPSD| 58833082 o
A. Sau khi hoàn thành quy trình thiết
kế o B. Trước khi bắt đầu quy trình thiết kế o
C. Song song với một số hành động đặc tả1 o
D. Sau khi quy trình kiểm thử hoàn tất o Đáp án: C
3. Hệ thống con là gì? o
A. Một hệ thống độc lập không
liên quan đến hệ thống khác o B. Một hệ thống phụ
thuộc vào hệ thống tổng thể o
C. Một hệ thống trong hệ thống tổng thể với hoạt động độc
lập2 o D. Một hệ thống không thể tách rời khỏi hệ thống tổng thể o Đáp án: C
4. Module trong thiết kế kiến trúc phần mềm là gì? o
A. Một hệ thống riêng biệt o
B. Một thành phần hệ thống cung cấp dịch vụ cho các thành phần
khác o C. Một hệ thống con o D. Một phần mềm độc lập o Đáp án: B 5.
Lợi ích của thiết kế kiến trúc phần mềm không bao gồm điều nào sau đây? o
A. Giao tiếp giữa khách hàng và nhà phát triển3 o
B. Phân tích khả thi về các
yêu cầu phi chức năng4 o
C. Sử dụng lại kiến trúc cho nhiều hệ thống o D. Tăng tốc
độ xử lý của hệ thống o Đáp án: D 6.
Mô hình tổ chức hệ thống nào không được đề cập trong tài liệu? o A. Kho dữ liệu dùng chung o B. Client- server o C. Phân lớp o D. M h nh ph n tÆn o Đáp án: D
7. Nhược điểm của mô hình kho dữ liệu dùng chung l g ? o
A. Dễ dẫn đến quá tải và khó phân
tán o B. Khó khăn trong việc quản lý dữ
liệu o C. Tốn kém chi phí bảo trì o
D. Khó khăn trong việc bảo mật dữ liệu o Đáp án: A 8.
Ưu điểm của mô hình client-server l g ? o A. Dễ dàng
bổ sung hoặc nâng cấp server o
B. Dữ liệu được tổ chức
theo mô hình dùng chung o C. Quản lý mỗi server thống nhất, không dư thừa o
D. Không cần đăng ký tên và dịch vụ tập trung o Đáp án: A 9.
Mô hình phân lớp trong thiết kế kiến trúc phần mềm
có đặc điểm gì? o
A. Tổ chức hệ thống thành nhiều lớp cung cấp dịch vụ lOMoAR cPSD| 58833082 o
B. Mỗi lớp là một hệ thống con độc lập2 o
C. Mô hình không phù hợp với hệ thống có giao diện o D. Mô
hình chỉ áp dụng cho hệ thống tuần tự o Đáp án: A
10. Mô hình hướng đối tượng trong thiết kế kiến trúc phần mềm được mô tả như thế nào? o
A. Cấu trúc hệ thống thành một tập hợp các đối tượng gắn kết chặt5 o
B. Phân rã hướng đối tượng liên quan đến việc xác định lớp đối tượng và các thuộc
tính6 o C. Đối tượng không phản ánh thực thể trong thế giới thực7 o D. Giao tiếp của đối tượng không thay đổi o Đáp án: B
1. Mục tiêu chính của thiết kế phần mềm là gì? o
A) Viết mã o B) Sửa lỗi o
C) Xác định cấu trúc hệ thống o D) Kiểm thử phần mềm o
Đáp án: C) Xác định cấu trúc hệ thống 2.
Mẫu thiết kế nào tách hệ thống thành ba thành phần ch nh: model, view v
controller? o A) Singleton o B) MVC o
C) Observer o D) Strategy o Đáp án: B) MVC 3.
Lợi ích chính của thiết kế mô-đun là gì? o A) Tăng độ phức tạp o B) Giảm khả năng bảo trì o
C) Cải thiện khả năng mở rộng o
D) Làm chậm thời gian phát triển o
Đáp án: C) Cải thiện khả năng mở rộng 4.
Nguyên tắc nào sau đây KHÔNG phải là nguyên tắc của thiết kế phần mềm tốt? o
A) Tính gắn kết cao o B) Tính ghép nối
thấp o C) Tính đọc được o D) Tính dư thừa o
Đáp án: D) Tính dư thừa 5. UML viết
tắt của từ gì? o A) Unified Modeling
Language o B) Universal Markup Language o
C) Unique Machine Learning o D) User Management Lifecycle o Đáp án: A)
Unified Modeling Language 6. Trong thiết kế
phần mềm, ‘use case’ là gì?
o A) Một kịch bản kiểm thử lOMoAR cPSD| 58833082 o
B) Một chuỗi tương tác của người dùng o C) Một tiêu chuẩn mã
hóa o D) Một chiến lược triển khai o
Đáp án: B) Một chuỗi tương tác của người dùng 7. ‘Nợ kỹ thuật’ là gì? o
A) Tiền nợ cho các nhà phát triển phần mềm o
B) Chi phí công việc phát sinh do chọn giải pháp dễ dàng ngay bây giờ
thay vì một cách tiếp cận tốt hơn mất thời gian hơn o
C) Chi phí tài chính để mua phần mềm o
D) Thời gian cần để biên dịch mã o
Đáp án: B) Chi phí công việc phát sinh do chọn giải pháp dễ dàng
ngay bây giờ thay vì một cách tiếp cận tốt hơn mất thời gian hơn 8.
Mẫu thiết kế cấu trúc nào sau đây? o A) Adapter o B) Factory o C)
Command o D) Iterator o Đáp án: A) Adapter 9.
Đóng gói trong thiết kế hướng đối
tượng là gì? o A) Lưu trữ đối tượng trong cơ sở dữ liệu
o B) Quá trình kết hợp các yếu tố để tạo ra một thực thể mới
o C) Kỹ thuật bảo vệ dữ liệu và hành vi của một đối tượng khỏi sự truy cập từ bên ngoài đối tượng
o D) Sử dụng nhiều giao diện trong một lớp
o Đáp án: C) Kỹ thuật bảo vệ dữ liệu và hành vi của một đối tượng khỏi sự truy cập từ bên ngoài đối tượng
10. Mục tiêu chính của mẫu thiết kế là gì? o A) Cung cấp giải pháp cho các vấn
đề thiết kế phần mềm phổ biến o
B) Áp đặt tiêu chuẩn mã hóa nghiêm ngặt o
C) Quy định ngôn ngữ lập trình được sử dụng o D) Phục vụ như một tài liệu pháp lý o
Đáp án: A) Cung cấp giải pháp cho các vấn đề thiết kế
phần mềm phổ biến
1. Giao diện người dùng (UI) quan trọng như thế nào? o
A. Chỉ quan trọng với người mới sử dụng o
B. Quan trọng với cả người mới và người có
kinh nghiệm o C. Không quan trọng o
D. Chỉ quan trọng với người có kinh nghiệm o Đáp án: B
2. Yếu tố nào sau đây không phải là một phần của thiết kế giao diện? o A. Màu sắc o B. Ngôn ngữ o C. Tốc độ phản ứng o D. Giá thành sản phẩm