Professional Documents
Culture Documents
Ôn tập CNPM
Ôn tập CNPM
Ôn tập CNPM
2. Hoạt động nào là bước đầu tiên trong quy trình phần mềm?
A. Thiết kế phần mềm
B. Đặc tả yêu cầu
C. Kiểm thử phần mềm
D. Bảo trì phần mềm
3. Yếu tố nào dưới đây không thuộc quy trình kỹ thuật về yêu cầu?
A. Nghiên cứu khả thi
B. Thu thập và phân tích yêu cầu
C. Thiết kế hệ thống
D. Kiểm tra tính hợp lệ của yêu cầu
4. Mục tiêu chính của hoạt động thẩm định phần mềm là gì?
A. Đảm bảo hệ thống không có lỗi
B. Xác nhận hệ thống đáp ứng yêu cầu của khách hàng
C. Tăng tốc độ phát triển phần mềm
D. Giảm chi phí phát triển
5. Kiểm định (verification) và kiểm thử (validation) trong thẩm định phần mềm có ý
nghĩa gì?
A. Kiểm tra hệ thống tuân theo đặc tả và thỏa mãn yêu cầu khách hàng
B. Phát hiện và sửa lỗi trong phần mềm
C. Tối ưu hóa hiệu suất hệ thống
D. Cải thiện giao diện người dùng
6. Trong quy trình phần mềm, thiết kế và hiện thực phần mềm có thể được thực
hiện như thế nào?
A. Tuần tự
B. Đan xen hoặc liên quan đến nhau
C. Độc lập hoàn toàn
D. Sau khi kiểm thử phần mềm
7. Mô hình quy trình phần mềm nào thường được sử dụng để phát triển hệ thống
lớn?
A. Mô hình thác nước
B. Mô hình xoắn ốc
C. Mô hình Agile
D. Mô hình V
8. Mô hình xoắn ốc trong quy trình phần mềm bao gồm bao nhiêu giai đoạn chính?
A. 2
B. 3
C. 4
D. 5
9. Yếu tố nào dưới đây không phải là một phần của mô hình xoắn ốc?
A. Xác định mục tiêu
B. Phân tích rủi ro
C. Lập kế hoạch dự án
D. Tích hợp hệ thống (tr.30)
10. Mục tiêu của việc kiểm thử phần mềm là gì?
A. Xác định chi phí phát triển
B. Tìm kiếm và sửa lỗi trong phần mềm (tr.3 Chương: Kiểm thử)
C. Tăng tốc độ phát triển phần mềm
D. Đảm bảo hệ thống dễ bảo trì
11. Hoạt động nào sau đây không thuộc quy trình phần mềm?
A. Phân tích yêu cầu
B. Lập kế hoạch dự án
C. Thiết kế giao diện
D. Kiểm thử tích hợp
12. Quy trình phát triển phần mềm nào tập trung vào việc tái sử dụng mã nguồn?
A. Quy trình hướng thành phần
B. Quy trình hướng đối tượng
C. Quy trình Agile
D. Quy trình thác nước
13. Tại sao kiểm thử phần mềm là một phần quan trọng của quy trình phần mềm?
A. Giúp xác định chi phí phát triển
B. Đảm bảo hệ thống hoạt động đúng như yêu cầu
C. Tăng tính sáng tạo của nhóm phát triển
D. Giảm thời gian phát triển
14. Mô hình V trong quy trình phần mềm nhấn mạnh điều gì?
A. Sự liên kết giữa thiết kế và kiểm thử
B. Phát triển tuần tự
C. Tái sử dụng mã nguồn
D. Phát triển phần mềm nhanh chóng
15. Hoạt động nào sau đây không phải là một phần của thẩm định phần mềm?
A. Kiểm định (verification)
B. Kiểm thử (validation)
C. Phân tích rủi ro
D. Kiểm thử hệ thống
17. Phát triển phần mềm hướng thành phần (component-based development) tập
trung vào điều gì?
A. Thiết kế từ đầu
B. Tái sử dụng các thành phần phần mềm có sẵn
C. Phát triển phần mềm nhanh chóng
D. Đảm bảo tính bảo mật cao
18. Yêu cầu nào dưới đây thường được viết cho các khách hàng?
A. Yêu cầu hệ thống
B. Yêu cầu người dùng
C. Yêu cầu chức năng
D. Yêu cầu phi chức năng
19. Một trong những mục tiêu của việc quản lý yêu cầu là gì?
A. Tăng tốc độ phát triển phần mềm
B. Đảm bảo yêu cầu được thực hiện đúng cách
C. Giảm chi phí phát triển
D. Tăng cường bảo mật hệ thống
20. Trong mô hình hóa hệ thống, mô hình nào biểu diễn ngữ cảnh và môi trường
của hệ thống?
A. Mô hình ngữ cảnh
B. Mô hình tương tác
C. Mô hình cấu trúc
D. Mô hình hành vi
Phần 2: Kỹ thuật về yêu cầu
1. Yêu cầu chức năng là gì?
A. Mô tả các dịch vụ hệ thống cung cấp
B. Mô tả các ràng buộc khi hệ thống hoạt động
C. Mô tả hiệu suất hệ thống
D. Mô tả giao diện người dùng
3. Quá trình nào bao gồm việc xác định và phân tích yêu cầu?
A. Đặc tả yêu cầu
B. Thu thập yêu cầu
C. Kiểm chứng yêu cầu
D. Quản lý yêu cầu
4. Kỹ thuật nào được sử dụng để ghi lại các yêu cầu chi tiết?
A. Yêu cầu chức năng
B. Đặc tả yêu cầu
C. Phân tích yêu cầu
D. Kiểm chứng yêu cầu
5. Yêu cầu nào dưới đây thường được viết bằng ngôn ngữ tự nhiên?
A. Yêu cầu hệ thống
B. Yêu cầu người dùng
C. Yêu cầu chức năng
D. Yêu cầu phi chức năng
12. Sàng lọc yêu cầu và đàm phán giúp làm gì?
A. Xác định các yêu cầu quan trọng nhất
B. Đảm bảo yêu cầu chính xác và đầy đủ
C. Phân tích yêu cầu
D. Viết tài liệu yêu cầu
13. Hoạt động nào dưới đây không thuộc quá trình thu thập và phân tích yêu cầu?
A. Phát hiện yêu cầu
B. Phân loại yêu cầu
C. Đặc tả yêu cầu
D. Sàng lọc yêu cầu
14. Trong quá trình nhận diện yêu cầu, các bên liên quan có vai trò gì?
A. Phát hiện các yêu cầu của họ
B. Viết tài liệu yêu cầu
C. Kiểm thử phần mềm
D. Thiết kế hệ thống
16. Sàng lọc yêu cầu và đàm phán giúp giải quyết điều gì?
A. Xung đột giữa các yêu cầu
B. Viết tài liệu yêu cầu
C. Kiểm chứng yêu cầu
D. Đặc tả yêu cầu
17. Yêu cầu nào thường được sử dụng làm cơ sở để thương lượng hợp đồng?
A. Yêu cầu chức năng
B. Yêu cầu phi chức năng
C. Yêu cầu người dùng
D. Yêu cầu hệ thống
18. Trong quá trình phân tích yêu cầu, các yêu cầu về phạm vi thường được phát
hiện ở giai đoạn nào?
A. Phát hiện yêu cầu
B. Phân loại yêu cầu
C. Sàng lọc yêu cầu
D. Đặc tả yêu cầu
19. Yêu cầu nào dưới đây thường được sử dụng làm cơ sở viết hợp đồng?
A. Yêu cầu chức năng
B. Yêu cầu phi chức năng
C. Yêu cầu người dùng
D. Yêu cầu hệ thống
20. Quá trình thu thập và phân tích yêu cầu bao gồm mấy bước chính?
A. 2
B. 3
C. 4
D. 5
3. Ký hiệu đồ họa nào thường được sử dụng trong mô hình hóa hệ thống?
A. UML (Unified Modeling Language)
B. BPMN (Business Process Model and Notation)
C. ERD (Entity-Relationship Diagram)
D. DFD (Data Flow Diagram)
6. Mô hình nào được sử dụng để giải thích các yêu cầu cho các bên liên quan?
A. Mô hình ngữ cảnh
B. Mô hình tương tác
C. Mô hình hệ thống đã có sẵn
D. Mô hình hệ thống mới
7. Góc nhìn bên ngoài (external perspective) trong mô hình hóa hệ thống biểu diễn
gì?
A. Ngữ cảnh và môi trường của hệ thống
B. Các thành phần bên trong hệ thống
C. Các tương tác giữa các thành phần hệ thống
D. Các hành vi của hệ thống
8. Góc nhìn bên trong (internal perspective) trong mô hình hóa hệ thống biểu diễn
gì?
A. Ngữ cảnh và môi trường của hệ thống
B. Các thành phần bên trong hệ thống
C. Các tương tác giữa các thành phần hệ thống
D. Các hành vi của hệ thống
9. Mô hình nào biểu diễn các tương tác giữa các thành phần của hệ thống?
A. Mô hình ngữ cảnh
B. Mô hình tương tác
C. Mô hình cấu trúc
D. Mô hình hành vi
12. Mô hình hóa hệ thống giúp gì trong quá trình phát triển phần mềm?
A. Giảm chi phí phát triển
B. Tăng cường bảo mật hệ thống
C. Hiểu rõ yêu cầu và thiết kế hệ thống
D. Tăng hiệu suất hệ thống
13. Ký hiệu UML trong mô hình hóa hệ thống giúp làm gì?
A. Biểu diễn các mô hình trừu tượng của hệ thống
B. Tăng tốc độ phát triển phần mềm
C. Đảm bảo tính bảo mật của hệ thống
D. Tăng hiệu suất hệ thống
14. Mô hình nào được sử dụng để thảo luận về các điểm mạnh và yếu của hệ thống?
A. Mô hình ngữ cảnh
B. Mô hình tương tác
C. Mô hình hệ thống đã có sẵn
D. Mô hình hệ thống mới
15. Mô hình nào giúp xác định các yêu cầu chức năng và phi chức năng của hệ
thống?
A. Mô hình ngữ cảnh
B. Mô hình tương tác
C. Mô hình hệ thống đã có sẵn
D. Mô hình hệ thống mới
16. Mô hình hóa ngữ cảnh giúp làm gì?
A. Biểu diễn các dịch vụ hệ thống cung cấp
B. Xác định các yêu cầu chức năng và phi chức năng
C. Xác định các yêu cầu người dùng
D. Hiểu ngữ cảnh và môi trường của hệ thống
17. Góc nhìn bên ngoài trong mô hình hóa hệ thống giúp làm gì?
A. Hiểu rõ các tương tác giữa các thành phần hệ thống
B. Hiểu ngữ cảnh và môi trường của hệ thống
C. Xác định các yêu cầu người dùng
D. Biểu diễn các hành vi của hệ thống
18. Mô hình nào giúp hiểu các tương tác giữa hệ thống và các bên liên quan?
A. Mô hình ngữ cảnh
B. Mô hình tương tác
C. Mô hình cấu trúc
D. Mô hình hành vi
19. Mô hình nào giúp làm rõ cấu trúc bên trong của hệ thống?
A. Mô hình ngữ cảnh
B. Mô hình tương tác
C. Mô hình cấu trúc
D. Mô hình hành vi
2. Góc nhìn luận lý trong mô hình 4+1 biểu diễn điều gì?
A. Các thành phần vật lý của hệ thống
B. Các thành phần trừu tượng chính của hệ thống
C. Cách phần mềm được triển khai
D. Các kịch bản sử dụng hệ thống
3. Góc nhìn vật lý trong mô hình 4+1 cho thấy điều gì?
A. Cách các tương tác thời gian thực xảy ra
B. Cách phần mềm được phân chia thành các thành phần
C. Cách các đối tượng hoặc lớp đối tượng liên kết với nhau
D. Cách hệ thống xử lý các yêu cầu phi chức năng
4. Góc nhìn quy trình trong mô hình 4+1 biểu diễn điều gì?
A. Các quy trình hoạt động của phần mềm
B. Các thành phần vật lý của hệ thống
C. Cách các thành phần phần mềm được phân bố
D. Các lớp trừu tượng chính
5. Góc nhìn triển khai trong mô hình 4+1 tập trung vào điều gì?
A. Cách phần mềm được phân chia thành các thành phần
B. Cách các đối tượng tương tác với nhau
C. Cách phần mềm được triển khai trên phần cứng
D. Các kịch bản sử dụng hệ thống
8. Một trong những lợi ích của việc sử dụng mẫu thiết kế kiến trúc là gì?
A. Giảm chi phí phần cứng
B. Tăng tốc độ phát triển phần mềm
C. Tăng khả năng tái sử dụng và chia sẻ kiến thức
D. Giảm số lượng lỗi phần mềm
10. Quyết định kiến trúc phần mềm liên quan đến việc gì?
A. Thiết kế giao diện người dùng
B. Định nghĩa các hệ thống con và cách chúng tương tác
C. Lập trình các module chi tiết
D. Viết tài liệu hướng dẫn sử dụng
11. Kiến trúc phần mềm ảnh hưởng đến điều gì?
A. Chức năng của phần mềm
B. Hiệu suất, độ bền, khả năng phân tán và bảo trì của hệ thống
C. Thiết kế giao diện người dùng
D. Cách phần mềm được cài đặt
12. Kiến trúc hệ thống nhỏ liên quan đến điều gì?
A. Các hệ thống phức tạp bao gồm nhiều thành phần
B. Kiến trúc của các chương trình riêng biệt và cách phân chia chúng
C. Cách phần mềm được phân phối trên các máy tính khác nhau
D. Quản lý các dịch vụ mạng
15. Các yêu cầu chức năng thường được phản ánh trong phần nào của kiến trúc
phần mềm?
A. Thành phần riêng lẻ
B. Toàn bộ hệ thống
C. Giao diện người dùng
D. Tài liệu hướng dẫn
16. Các yêu cầu phi chức năng thường được phản ánh trong phần nào của kiến trúc
phần mềm?
A. Thành phần riêng lẻ
B. Kiến trúc hệ thống
C. Giao diện người dùng
D. Tài liệu hướng dẫn
17. Một trong những vai trò của kiến trúc sư phần mềm là gì?
A. Viết mã nguồn phần mềm
B. Quản lý dự án phần mềm
C. Thiết kế và định hình kiến trúc của hệ thống
D. Đào tạo nhân viên mới
18. Tại sao việc hiểu kiến trúc phần mềm lại quan trọng đối với các bên liên quan?
A. Để họ có thể viết mã
B. Để họ có thể kiểm thử phần mềm
C. Để họ có thể hiểu cách phần mềm hoạt động và tương tác
D. Để họ có thể lập kế hoạch marketing
19. Góc nhìn phát triển trong mô hình 4+1 tập trung vào điều gì?
A. Các thành phần vật lý của hệ thống
B. Quá trình triển khai phần mềm
C. Cách phần mềm được phát triển và xây dựng
D. Các kịch bản sử dụng hệ thống
20. Quá trình thiết kế kiến trúc thường bắt đầu từ đâu?
A. Từ việc xác định các thành phần chi tiết
B. Từ việc phân tích yêu cầu của hệ thống
C. Từ việc viết mã nguồn
D. Từ việc kiểm thử phần mềm
3. Thiết kế và hiện thực phần mềm là hai hoạt động như thế nào?
A. Tách biệt hoàn toàn
B. Đan xen lẫn nhau
C. Hoàn toàn độc lập
D. Không liên quan đến nhau
7. Một trong những nguyên tắc chính trong thiết kế giao diện người dùng là gì?
A. Tối ưu hóa cho các thiết bị di động
B. Tính đến nhu cầu, kinh nghiệm và khả năng của người dùng hệ thống
C. Tăng tốc độ phát triển phần mềm
D. Giảm chi phí phát triển
12. Thiết kế hướng đối tượng bao gồm những giai đoạn nào?
A. Phân tích, thiết kế, kiểm thử
B. Thiết kế, hiện thực, bảo trì
C. Phát triển, triển khai, bảo trì
D. Xác định yêu cầu, thiết kế, hiện thực
13. Trong thiết kế giao diện người dùng, cần thừa nhận điều gì?
A. Người dùng luôn biết cách sử dụng hệ thống
B. Ai cũng có thể nhầm lẫn
C. Hệ thống không bao giờ gặp lỗi
D. Giao diện không cần thân thiện
14. Mục tiêu chính của thiết kế giao diện người dùng là gì?
A. Tăng tốc độ phát triển phần mềm
B. Đáp ứng nhu cầu và trải nghiệm người dùng
C. Giảm chi phí phát triển
D. Tăng tính bảo mật của hệ thống
16. Một ví dụ về biểu đồ hoạt động trong thiết kế phần mềm là gì?
A. Biểu đồ lớp
B. Biểu đồ liên kết
C. Biểu đồ hoạt động swimming lane
D. Biểu đồ thành phần
17. Quản lý bản quyền trong thiết kế phần mềm liên quan đến điều gì?
A. Sử dụng các thành phần mã nguồn mở mà không cần kiểm tra
B. Duy trì thông tin về các thành phần mã nguồn mở đã tải về và sử dụng
C. Thiết kế giao diện người dùng
D. Bảo trì phần mềm
18. Một trong những nguyên tắc quan trọng trong thiết kế phần mềm là gì?
A. Giảm thiểu số lượng mã nguồn
B. Đảm bảo phần mềm dễ dàng bảo trì và mở rộng
C. Tăng số lượng thành phần phần mềm
D. Giảm thiểu tài liệu hướng dẫn
3. Một quy tắc vàng trong hiện thực phần mềm là gì?
A. Kiểm tra các yêu cầu và thiết kế lại một lần nữa
B. Không cần kiểm tra lại thiết kế sau khi mã hóa
C. Tập trung vào việc lập trình nhanh chóng
D. Đơn giản hóa tất cả các quy trình
4. Tại sao cần xác nhận các thiết kế chi tiết trước khi hiện thực?
A. Để đảm bảo các thiết kế đáp ứng yêu cầu của người dùng
B. Để giảm chi phí phát triển
C. Để tiết kiệm thời gian kiểm thử
D. Để tăng tốc độ mã hóa
6. Mục đích của việc ghi lại lỗi khi sử dụng form là gì?
A. Để theo dõi và sửa chữa lỗi một cách hệ thống
B. Để lưu trữ dữ liệu người dùng
C. Để tăng tốc độ phát triển phần mềm
D. Để phân tích thị trường
7. Tiêu chuẩn yêu cầu đối với việc mã hóa bao gồm gì?
A. Tính đúng đắn và rõ ràng
B. Tính linh hoạt và tiết kiệm
C. Tính đơn giản và nhanh chóng
D. Tính bảo mật và khả năng mở rộng
9. Làm việc với các đoạn mã có kích thước bao nhiêu là hợp lý?
A. +-100 LOC
B. +-200 LOC
C. +-300 LOC
D. +-400 LOC
10. Hiện thực mã chương trình bao gồm bước nào sau đây?
A. Lập kế hoạch cấu trúc và thiết kế mã
B. Thiết kế giao diện người dùng
C. Viết tài liệu hướng dẫn
D. Tạo lập báo cáo phân tích
11. Tại sao cần tự kiểm tra lại thiết kế/cấu trúc trước khi mã hóa?
A. Để đảm bảo tính đúng đắn và hiệu quả của mã nguồn
B. Để tăng tốc độ mã hóa
C. Để giảm chi phí phát triển
D. Để làm hài lòng khách hàng
12. Quy tắc đặt tên trong hiện thực mã chương trình cần tuân thủ những gì?
A. Phù hợp và rõ ràng
B. Ngắn gọn và xúc tích
C. Phức tạp và chi tiết
D. Bất kỳ tên nào cũng được
14. Kiểm tra thuộc tính cần xác định điều gì?
A. Thuộc tính có cần thiết không
B. Thuộc tính có thể là static không
C. Thuộc tính có nên là final không
D. Tất cả các ý trên
15. Phương pháp kiểm tra phương thức khởi dựng cần xác định điều gì?
A. Phương thức có cần thiết không
B. Phương thức có leverage các constructor hiện có không
C. Phương thức có initialize tất cả các thuộc tính không
D. Tất cả các ý trên
17. Kiểm tra thuộc tính có cần xác định điều gì?
A. Sự cần thiết của thuộc tính
B. Thuộc tính có thể là static hay không
C. Thuộc tính có nên là final hay không
D. Tất cả các ý trên
18. Tại sao cần ghi chú lại các mốc thời gian trong quá trình hiện thực mã chương
trình?
A. Để theo dõi tiến độ và quản lý thời gian hiệu quả
B. Để lưu trữ dữ liệu người dùng
C. Để phân tích thị trường
D. Để giảm chi phí phát triển
2. Kiểm thử đơn vị (unit testing) tập trung vào điều gì?
A. Kiểm thử chức năng của các đối tượng hay các phương thức
B. Kiểm thử giao diện người dùng
C. Kiểm thử hiệu suất hệ thống
D. Kiểm thử tính bảo mật
3. Kiểm thử component (component testing) tập trung vào điều gì?
A. Kiểm thử giao diện component
B. Kiểm thử chức năng của các phương thức
C. Kiểm thử tính bảo mật
D. Kiểm thử giao diện người dùng
4. Kiểm thử hệ thống (system testing) tập trung vào điều gì?
A. Kiểm thử tương tác giữa các component
B. Kiểm thử giao diện người dùng
C. Kiểm thử tính bảo mật
D. Kiểm thử hiệu suất hệ thống
5. Kiểm thử tự động nên sử dụng gì để hỗ trợ kiểm thử đơn vị?
A. Framework kiểm thử tự động (như JUnit)
B. Các công cụ kiểm thử thủ công
C. Phần mềm thiết kế giao diện
D. Các chương trình bảo mật
7. Một loại giao diện trong kiểm thử giao diện là gì?
A. Giao diện có tham số
B. Giao diện người dùng
C. Giao diện hệ thống
D. Giao diện bảo mật
10. Phương pháp kiểm thử hộp đen tập trung vào điều gì?
A. Kiểm thử chức năng của hệ thống mà không cần biết cấu trúc bên trong
B. Kiểm thử hiệu suất hệ thống
C. Kiểm thử tính bảo mật
D. Kiểm thử giao diện người dùng
11. Phương pháp kiểm thử hộp trắng tập trung vào điều gì?
A. Kiểm thử cấu trúc bên trong của hệ thống
B. Kiểm thử hiệu suất hệ thống
C. Kiểm thử tính bảo mật
D. Kiểm thử giao diện người dùng
15. Tại sao cần kiểm tra kết quả của việc kiểm thử?
A. Để tìm ra lỗi và các bất thường
B. Để lưu trữ dữ liệu người dùng
C. Để phân tích thị trường
D. Để tăng tốc độ phát triển phần mềm
16. Kiểm thử người dùng tập trung vào điều gì?
A. Kiểm thử phần mềm bởi người dùng cuối
B. Kiểm thử tính bảo mật
C. Kiểm thử hiệu suất hệ thống
D. Kiểm thử giao diện người dùng
17. Cải tiến quy trình phần mềm bao gồm gì?
A. Cải tiến các phương pháp phát triển và kiểm thử phần mềm
B. Tăng tốc độ lập trình
C. Giảm chi phí phát triển
D. Tập trung vào giao diện người dùng
20. Mục đích của việc kiểm thử bản release là gì?
A. Để đảm bảo phần mềm hoạt động đúng như mong đợi trước khi phát hành
B. Để giảm chi phí phát triển
C. Để tăng tốc độ lập trình
D. Để làm hài lòng khách hàng