Trắc nghiệm Công nghệ Phần mềm Bài: KHÍA CẠNH PHÂN TÍCH VÀ THIẾT KẾ

Làm bài thi

Mục Lục

Trắc nghiệm Công nghệ Phần mềm Bài: KHÍA CẠNH PHÂN TÍCH VÀ THIẾT KẾ là một trong những đề thi thuộc Chương 1: MỞ ĐẦU trong học phần Công nghệ Phần mềm chuyên ngành Công Nghệ Thông Tin cấp độ Đại học. Đây là phần kiến thức nền tảng và cốt lõi, giúp sinh viên hiểu rõ tầm quan trọng của việc định hình hệ thống phần mềm trước khi đi vào giai đoạn cài đặt, đảm bảo sản phẩm cuối cùng đáp ứng đúng nhu cầu và có cấu trúc bền vững.

Trong bài học này, người học cần nắm vững các nội dung cốt lõi như: mục đích của phân tích và thiết kế, sự khác biệt giữa yêu cầu chức năng và phi chức năng, các kỹ thuật thu thập yêu cầu (phỏng vấn, quan sát, kịch bản), các mô hình phân tích (biểu đồ luồng dữ liệu, biểu đồ thực thể – mối quan hệ), các nguyên tắc thiết kế phần mềm (modularity, cohesion, coupling), và các mô hình kiến trúc phổ biến. Việc làm chủ khía cạnh này sẽ trang bị cho sinh viên khả năng xây dựng các hệ thống phần mềm hiệu quả, dễ bảo trì và có khả năng mở rộng trong tương lai.

Hãy cùng Dethitracnghiem.vn tìm hiểu về đề thi này và tham gia làm kiểm tra ngay lập tức!

Trắc nghiệm Công nghệ Phần mềm Bài: KHÍA CẠNH PHÂN TÍCH VÀ THIẾT KẾ

Câu 1.Giai đoạn phân tích trong phát triển phần mềm tập trung vào việc gì?
A. Xây dựng mã nguồn chương trình.
B. Kiểm thử và sửa lỗi phần mềm.
C. Triển khai và bảo trì hệ thống.
D. Hiểu rõ và đặc tả “cái gì” mà hệ thống cần làm.

Câu 2.Mục tiêu chính của giai đoạn thiết kế trong phát triển phần mềm là gì?
A. Thu thập yêu cầu từ người dùng cuối.
B. Đánh giá khả năng sinh lời của dự án.
C. Xác định các chiến lược tiếp thị sản phẩm.
D. Đặc tả “cách thức” hệ thống sẽ được xây dựng để đáp ứng yêu cầu.

Câu 3.Yêu cầu chức năng (Functional Requirement) mô tả điều gì?
A. Phần mềm chạy nhanh đến mức nào.
B. Phần mềm dễ sử dụng ra sao.
C. Phần mềm an toàn như thế nào.
D. Các chức năng và dịch vụ cụ thể mà hệ thống phải cung cấp.

Câu 4.Yêu cầu phi chức năng (Non-functional Requirement) mô tả điều gì?
A. Các tính năng chính của hệ thống.
B. Các tác vụ mà người dùng có thể thực hiện.
C. Các module cần được tích hợp.
D. Các thuộc tính chất lượng của hệ thống như hiệu suất, bảo mật, khả năng sử dụng.

Câu 5.Biểu đồ nào sau đây được sử dụng trong giai đoạn phân tích để mô tả luồng dữ liệu qua hệ thống và các quá trình biến đổi dữ liệu?
A. Biểu đồ lớp (Class Diagram).
B. Biểu đồ trình tự (Sequence Diagram).
C. Biểu đồ trạng thái (State Diagram).
D. Biểu đồ luồng dữ liệu (Data Flow Diagram – DFD).

Câu 6.Biểu đồ Thực thể – Mối quan hệ (Entity-Relationship Diagram – ERD) thường được sử dụng trong giai đoạn nào và để làm gì?
A. Thiết kế giao diện người dùng, để biểu diễn luồng màn hình.
B. Phân tích yêu cầu, để mô tả các quy trình kinh doanh.
C. Thiết kế hệ thống, để đặc tả các giao diện API.
D. Phân tích hoặc thiết kế cơ sở dữ liệu, để mô hình hóa cấu trúc dữ liệu và mối quan hệ giữa chúng.

Câu 7.Nguyên tắc thiết kế phần mềm “High Cohesion” (Tính liên kết cao) có ý nghĩa gì?
A. Các module trong hệ thống phụ thuộc chặt chẽ vào nhau.
B. Các module nên được đặt trong cùng một thư mục.
C. Các module nên có nhiều giao diện với nhau.
D. Các phần tử bên trong một module có mối quan hệ logic chặt chẽ và phục vụ một mục đích chung duy nhất.

Câu 8.Nguyên tắc thiết kế phần mềm “Low Coupling” (Tính phụ thuộc thấp) có ý nghĩa gì?
A. Các module nên có ít lỗi.
B. Các module nên được thiết kế độc lập.
C. Các module nên có khả năng tái sử dụng cao.
D. Các module trong hệ thống ít phụ thuộc vào nhau, giảm thiểu ảnh hưởng khi có thay đổi ở một module.

Câu 9.Trong thiết kế kiến trúc phần mềm, mô hình nào tổ chức hệ thống thành các lớp riêng biệt, mỗi lớp cung cấp dịch vụ cho lớp bên trên và sử dụng dịch vụ từ lớp bên dưới?
A. Mô hình Client-Server.
B. Mô hình Peer-to-Peer.
C. Mô hình Microservices.
D. Mô hình phân lớp (Layered Architecture).

Câu 10.Khái niệm “Trừu tượng hóa” (Abstraction) trong thiết kế phần mềm đề cập đến điều gì?
A. Tạo ra một bản sao của đối tượng.
B. Kết hợp dữ liệu và phương thức.
C. Che giấu thông tin quan trọng.
D. Tập trung vào các khía cạnh thiết yếu của một đối tượng hoặc hệ thống, bỏ qua các chi tiết không cần thiết.

Câu 11.Mục đích của việc sử dụng các “Design Pattern” (Mẫu thiết kế) trong giai đoạn thiết kế là gì?
A. Tự động viết mã nguồn.
B. Giới hạn sự sáng tạo của lập trình viên.
C. Chỉ áp dụng cho các dự án nhỏ.
D. Cung cấp các giải pháp đã được chứng minh, tái sử dụng được cho các vấn đề thiết kế phổ biến.

Câu 12.Giai đoạn nào trong phân tích và thiết kế thường tạo ra các biểu đồ UML (Unified Modeling Language) như Use Case Diagram, Class Diagram, Sequence Diagram?
A. Chỉ giai đoạn phân tích.
B. Chỉ giai đoạn thiết kế.
C. Chỉ giai đoạn kiểm thử.
D. Cả giai đoạn phân tích (đặc tả yêu cầu) và thiết kế (mô hình hóa cấu trúc và hành vi).

Câu 13.Nếu một nhà phân tích yêu cầu phải mô tả cách người dùng tương tác với hệ thống để đạt được một mục tiêu cụ thể, họ có thể sử dụng biểu đồ nào?
A. Biểu đồ lớp.
B. Biểu đồ hoạt động.
C. Biểu đồ thành phần.
D. Biểu đồ Use Case (Use Case Diagram).

Câu 14.Phát biểu nào sau đây **không đúng** về tầm quan trọng của phân tích và thiết kế trong phát triển phần mềm?
A. Giảm thiểu rủi ro dự án.
B. Giúp hiểu rõ yêu cầu người dùng.
C. Đảm bảo tính nhất quán của hệ thống.
D. Chủ yếu làm tăng chi phí và kéo dài thời gian phát triển.

Câu 15.Thiết kế giao diện người dùng (User Interface – UI) và trải nghiệm người dùng (User Experience – UX) chủ yếu được thực hiện trong giai đoạn nào?
A. Lập trình.
B. Kiểm thử.
C. Bảo trì.
D. Thiết kế.

Câu 16.Khái niệm “Phân rã chức năng” (Functional Decomposition) là một kỹ thuật thường dùng trong giai đoạn nào của phân tích và thiết kế?
A. Lập trình.
B. Kiểm thử.
C. Triển khai.
D. Cả phân tích và thiết kế, để chia nhỏ các chức năng lớn thành các phần nhỏ hơn, dễ quản lý hơn.

Câu 17.Khi một dự án phần mềm bị chậm tiến độ và vượt ngân sách nghiêm trọng, nguyên nhân thường xuyên nhất có thể liên quan đến việc bỏ qua hoặc làm kém chất lượng giai đoạn nào?
A. Giai đoạn lập trình.
B. Giai đoạn kiểm thử.
C. Giai đoạn bảo trì.
D. Giai đoạn phân tích và thiết kế ban đầu.

Câu 18.Trong thiết kế, “Thiết kế cao cấp” (High-Level Design) tập trung vào điều gì?
A. Chi tiết mã nguồn của từng chức năng.
B. Thiết kế giao diện người dùng cụ thể.
C. Cơ sở dữ liệu và các bảng.
D. Kiến trúc tổng thể của hệ thống, các thành phần chính và mối quan hệ giữa chúng.

Câu 19.Trong thiết kế, “Thiết kế chi tiết” (Detailed Design) tập trung vào điều gì?
A. Nhu cầu kinh doanh tổng quát.
B. Các yêu cầu phi chức năng.
C. Các chính sách bảo mật hệ thống.
D. Đặc tả chi tiết về cấu trúc dữ liệu, thuật toán và giao diện bên trong của từng module.

Câu 20.Để đảm bảo phần mềm có khả năng mở rộng (Scalability) và bảo trì (Maintainability) tốt, điều cần chú trọng nhất trong giai đoạn thiết kế là gì?
A. Sử dụng ngôn ngữ lập trình mới nhất.
B. Viết càng nhiều dòng code càng tốt.
C. Hoàn thành thiết kế nhanh chóng.
D. Áp dụng các nguyên tắc thiết kế tốt như modularity, low coupling, high cohesion và design patterns phù hợp.

Câu 21.Một yêu cầu nói rằng “Hệ thống phải xử lý 100 giao dịch mỗi giây.” Đây là loại yêu cầu nào?
A. Yêu cầu chức năng.
B. Yêu cầu bảo mật.
C. Yêu cầu sử dụng.
D. Yêu cầu hiệu suất (thuộc nhóm yêu cầu phi chức năng).

Câu 22.Kỹ thuật nào giúp nhà phân tích thu thập yêu cầu bằng cách tạo ra một phiên bản đơn giản, không đầy đủ của hệ thống để người dùng thử nghiệm và đưa ra phản hồi sớm?
A. Phỏng vấn.
B. Khảo sát.
C. Quan sát.
D. Xây dựng bản mẫu (Prototyping).

Câu 23.Người đóng vai trò “cầu nối” giữa yêu cầu kinh doanh của khách hàng và giải pháp kỹ thuật của đội ngũ phát triển là ai?
A. Lập trình viên.
B. Người kiểm thử.
C. Quản lý dự án.
D. Chuyên viên phân tích hệ thống (System Analyst).

Câu 24.Tầm quan trọng của việc xem xét các yếu tố về “khả năng sử dụng” (Usability) trong giai đoạn thiết kế là gì?
A. Chỉ để làm cho phần mềm trông đẹp hơn.
B. Để giảm chi phí phát triển.
C. Để tăng tốc độ thực thi của phần mềm.
D. Đảm bảo người dùng có thể tương tác với hệ thống một cách hiệu quả, dễ dàng và hài lòng.

Câu 25.Khi một đội ngũ phát triển quyết định sử dụng kiến trúc Microservices, điều này liên quan chủ yếu đến giai đoạn nào và mục đích gì?
A. Giai đoạn lập trình, để viết code nhanh hơn.
B. Giai đoạn kiểm thử, để tìm lỗi dễ hơn.
C. Giai đoạn triển khai, để cài đặt đơn giản hơn.
D. Giai đoạn thiết kế kiến trúc, để xây dựng một hệ thống linh hoạt, dễ mở rộng và bảo trì, phân tán.

×

Bạn ơi!!! Để xem được kết quả
bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

LƯU Ý: Không sử dụng VPN hoặc 1.1.1.1 khi vượt link

Bước 1: Mở tab mới, truy cập Google.com

Bước 2: Tìm kiếm từ khóa: Từ khóa

Bước 3: Trong kết quả tìm kiếm Google, hãy tìm website giống dưới hình:

(Nếu trang 1 không có hãy tìm ở trang 2, 3, 4... nhé )

Bước 4: Cuộn xuống cuối bài viết rồi bấm vào nút GIỐNG HÌNH DƯỚI và chờ 1 lát để lấy mã: