



















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