Font size
WorksheetsTest_P2: THIẾT KẾ PHẦN MỀM
Total questions: 100
Worksheet time: 55mins
Thiết kế giao diện người dùng (UI) có vai trò:
Ảnh hưởng trực tiếp đến sự thành công của hệ thống
Chỉ là yếu tố phụ
Không quan trọng
Chỉ cần khi hệ thống lớn
Một nguyên lý quan trọng của UI là:
Thân thiện với người dùng
Phức tạp
Mơ hồ
Gây bất ngờ
GUI là viết tắt của:
Graphical User Interface
General User Integration
Global User Information
Generic Unit Interface
CLI là viết tắt của:
Command Line Interface
Common Logic Integration
Centralized Local Interaction
Client Linked Instruction
Ưu điểm của CLI là:
Phù hợp cho người dùng chuyên nghiệp, cho phép tự động hóa
Dễ sử dụng cho mọi người
Luôn đẹp hơn GUI
Không cần học lệnh
Ưu điểm của GUI là:
Dễ học, trực quan, hỗ trợ đa cửa sổ
Khó học hơn CLI
Chỉ chạy trên Linux
Không phổ biến
Giao diện menu phù hợp khi:
Giao diện ngôn ngữ tự nhiên giúp:
Người dùng giao tiếp bằng tiếng nói, văn bản tự nhiên
Lập trình viên viết code
Hệ thống nhanh hơn
Tránh mọi lỗi
Một nguyên lý UI là “tính ít bất ngờ”, nghĩa là:
Hệ thống hoạt động đúng mong đợi của người dùng
Gây ra kết quả ngẫu nhiên
Luôn thay đổi cách hoạt động
Làm người dùng khó đoán
“Tính phản hồi” trong UI là:
Hệ thống thông báo kịp thời cho người dùng về trạng thái xử lý
Hệ thống im lặng hoàn toàn
Không báo lỗi
Không cần phản hồi
Thời gian phản hồi tốt nhất cho thao tác đơn giản là:
< 0.1 giây
1 giây
10 giây
> 1 phút
Với thao tác phức tạp, hệ thống nên:
Có thông báo tiến trình nếu mất hơn vài giây
Không báo gì
Luôn dừng hệ thống
Thoát chương trình
Một giao diện tốt cần:
Trợ giúp trực tuyến (online help) có ưu điểm:
Giúp người dùng giải quyết ngay khi thao tác
Thay thế tài liệu yêu cầu
Không cần thiết
Luôn làm phức tạp
Giao diện tốt thường có:
Nhất quán về bố cục, màu sắc, thao tác
Luôn thay đổi bố cục
Không cần quy tắc
Càng nhiều màu càng tốt
Một trong những vấn đề UI cần tránh là:
Thông báo lỗi mơ hồ, không hữu ích
Thông báo lỗi rõ ràng
Gợi ý cách sửa lỗi
Trợ giúp thân thiện
Khi thiết kế biểu mẫu nhập liệu, cần:
Rõ ràng, dễ hiểu, kiểm tra hợp lệ dữ liệu
Không kiểm tra gì
Cho phép dữ liệu sai thoải mái
Giấu thông tin nhập
Nguyên lý WYSIWYG trong UI có nghĩa là:
What You See Is What You Get
What You Say Is What You Guess
Wrong You See Is Wrong You Get
None of the above
Một nguyên lý UI là “tính dễ học”, nghĩa là:
Người mới dùng dễ dàng thao tác cơ bản
Chỉ chuyên gia mới dùng được
Không cần dễ học
Càng phức tạp càng tốt
Tính dễ nhớ trong UI nghĩa là:
Người dùng lâu không dùng vẫn nhớ cách thao tác
Người dùng phải học lại từ đầu
Không cần nhớ gì
Càng quên càng tốt
Giao diện menu có nhược điểm:
Chậm khi có quá nhiều lựa chọn
Khó dùng với người mới
Không thân thiện
Không phổ biến
Giao diện biểu tượng (icon) có ưu điểm:
Trực quan, dễ nhận biết
Khó hiểu
Luôn mơ hồ
Ít phổ biến
Một hạn chế của giao diện biểu tượng là:
Người dùng có thể không hiểu biểu tượng nếu không quen
Không cần học
Luôn dễ hiểu
Không cần mô tả kèm
Giao diện dựa trên biểu mẫu phù hợp cho:
Nhập liệu dữ liệu có cấu trúc
Thao tác ngẫu nhiên
Lập trình viên
Không có dữ liệu
Giao diện ngôn ngữ tự nhiên thường gặp khó khăn ở:
Hiểu chính xác ngữ nghĩa của người dùng
Thời gian phản hồi
Tính tiện lợi
Trực quan
Giao diện kết hợp (hybrid interface) thường dùng để:
Tận dụng ưu điểm của nhiều loại giao diện
Giảm tính năng
Làm phức tạp hóa
Không cần thiết
Giao diện dựa trên giọng nói (voice interface) đặc biệt hữu ích khi:
Người dùng không thể thao tác tay
Người dùng lập trình
Hệ thống không cần input
Hệ thống offline
Một nhược điểm của voice interface là:
Khó nhận dạng chính xác trong môi trường ồn
Không phổ biến
Luôn dễ nhận dạng
Không cần xử lý ngôn ngữ
Giao diện VR/AR được dùng nhiều trong:
Mô phỏng, đào tạo, giải trí
Xử lý batch
Quản lý dữ liệu văn bản
Tạo báo cáo
Ưu điểm của VR interface là:
Trải nghiệm chân thực, tương tác cao
Luôn đơn giản
Không tốn tài nguyên
Không dùng được trong thực tế
Một CASE tool hỗ trợ thiết kế kiến trúc phần mềm là:
Rational Rose
Photoshop
Word
Excel
Rational Rose thường dùng để:
Vẽ UML, mô hình hóa hệ thống
Xử lý ảnh
Thiết kế website tĩnh
Soạn văn bản
Power Designer thường dùng để:
Thiết kế cơ sở dữ liệu và mô hình hệ thống
Thiết kế đồ họa
Tạo báo cáo tài chính
Soạn thảo văn bản
UML là viết tắt của:
Unified Modeling Language
Universal Model Logic
User Machine Learning
Unified Method Logic
UML cung cấp các loại biểu đồ chính, gồm:
Use case, class, sequence, activity, state…
Biểu đồ cột, đường, tròn
Biểu đồ tài chính
Biểu đồ Gantt
Biểu đồ use case mô tả:
Các chức năng hệ thống nhìn từ phía người dùng
Cấu trúc dữ liệu
Giao diện đồ họa
Hành vi song song
Biểu đồ class mô tả:
Cấu trúc lớp, thuộc tính, phương thức và quan hệ
Dữ liệu tĩnh
Quá trình song song
Trạng thái hệ thống
Biểu đồ sequence mô tả:
Tương tác theo thời gian giữa các đối tượng
Quan hệ thực thể
Dữ liệu luồng
Biểu đồ activity mô tả:
Quy trình hoạt động
Cấu trúc lớp
Giao diện GUI
Tài liệu hướng dẫn
Biểu đồ state (state machine) mô tả:
Các trạng thái và chuyển đổi của đối tượng
Cấu trúc dữ liệu
Chức năng hệ thống
Tổ chức nhóm
Một nguyên tắc khi thiết kế UI là:
Nhất quán trong toàn hệ thống
Luôn thay đổi bố cục
Dùng càng nhiều màu càng tốt
Thông báo lỗi khó hiểu
UI cần hỗ trợ người dùng bằng:
Thông báo lỗi rõ ràng và gợi ý cách khắc phục
Giấu thông báo lỗi
Ngắt chương trình ngay
Bỏ qua mọi lỗi
Trong thiết kế UI, “tính dễ tuỳ biến” nghĩa là:
Người dùng có thể điều chỉnh phù hợp nhu cầu
Không cho phép chỉnh sửa
Luôn cố định
Chỉ dành cho quản trị viên
Một cách để tăng tính dễ học của UI là:
Sử dụng biểu tượng quen thuộc
Dùng biểu tượng ngẫu nhiên
Dùng từ viết tắt khó hiểu
UI cần chú trọng đến yếu tố:
Người dùng cuối (end-user)
Nhà phát triển
Máy chủ
Ngôn ngữ lập trình
Khi thiết kế UI cho hệ thống phức tạp, nên:
Cung cấp chế độ trợ giúp ngữ cảnh (context-sensitive help)
Không có trợ giúp
Chỉ có tài liệu giấy
Bắt buộc người dùng học code
Một UI tốt có đặc điểm:
Tính hiệu quả, dễ học, dễ nhớ, ít lỗi
Khó dùng
Thay đổi liên tục
Không cần phản hồi
Yếu tố “người dùng” ảnh hưởng đến UI vì:
Trình độ, kinh nghiệm, thói quen khác nhau
Ai cũng giống nhau
Không liên quan
Chỉ phụ thuộc lập trình viên
UI cần đảm bảo người dùng:
Làm việc hiệu quả và hài lòng
Luôn khó chịu
Tốn nhiều thời gian học
Dễ mắc lỗi
Một nguyên lý quan trọng của UI là:
Tính phản hồi, dễ dùng, ít bất ngờ
Tính mơ hồ
Tính phức tạp
Tính khó nhớ
UML được sử dụng để:
Chuẩn hóa cách mô hình hóa hệ thống phần mềm
Viết code trực tiếp
Kiểm thử hệ thống
Thiết kế phần cứng
UML có bao nhiêu nhóm biểu đồ chính?
2 (biểu đồ cấu trúc và biểu đồ hành vi)
3
5
7
Biểu đồ use case thường dùng trong:
Phân tích yêu cầu và giao tiếp với khách hàng
Thiết kế chi tiết lớp
Kiểm thử đơn vị
Viết code
Trong use case, “actor” là:
Người dùng hoặc hệ thống bên ngoài tương tác với hệ thống
Một lớp trong phần mềm
Một bảng dữ liệu
Một tiến trình xử lý
Biểu đồ class biểu diễn:
Cấu trúc lớp, thuộc tính, phương thức và mối quan hệ
Chỉ hành vi
Luồng dữ liệu
Tài liệu tài chính
Biểu đồ sequence tập trung vào:
Trình tự thông điệp giữa các đối tượng theo thời gian
Chỉ cấu trúc lớp
Giao diện GUI
Quan hệ dữ liệu
Câu 157. Biểu đồ activity thể hiện:
A. Quy trình hoạt động, luồng công việc
B. Mối quan hệ lớp
C. Tài liệu tài chính
Biểu đồ state machine mô tả:
Trạng thái của một đối tượng và các chuyển đổi
Luồng dữ liệu
Kiến trúc tổng thể
Use case
Biểu đồ component dùng để:
Mô tả thành phần phần mềm và quan hệ phụ thuộc
Mô tả hành vi người dùng
Thiết kế cơ sở dữ liệu
Quản lý dự án
Biểu đồ deployment dùng để:
Mô tả việc triển khai phần mềm trên phần cứng
Biểu diễn ca sử dụng
Thiết kế dữ liệu
Vẽ GUI
Nguyên lý “encapsulation” trong OOP nghĩa là:
Đóng gói dữ liệu và hành vi trong cùng đối tượng
Mở toàn bộ dữ liệu
Không phân biệt dữ liệu và hành vi
Chỉ viết hàm
Nguyên lý kế thừa (inheritance) cho phép:
Lớp con thừa hưởng thuộc tính và phương thức của lớp cha
Lớp cha thừa thuộc tính lớp con
Tất cả lớp đều giống nhau
Không chia sẻ gì
Đa hình (polymorphism) nghĩa là:
Một thông điệp có thể được xử lý theo nhiều cách khác nhau
Mọi lớp chỉ có một cách xử lý
Mỗi hàm chỉ có một dạng
Một lợi ích của thiết kế hướng đối tượng là:
Tái sử dụng cao, dễ bảo trì
Khó mở rộng
Không mô hình hóa được thực tế
Không phù hợp với phần mềm lớn
Trong UML, quan hệ “generalization” biểu diễn:
Quan hệ kế thừa giữa lớp cha – con
Quan hệ sử dụng
Quan hệ kết hợp
Quan hệ phụ thuộc
Quan hệ “association” trong UML là:
A. Quan hệ kết hợp giữa các lớp
B. Quan hệ kế thừa
C. Quan hệ phụ thuộc
D. Quan hệ triển khai
Quan hệ “dependency” trong UML nghĩa là:
Một lớp thay đổi có thể ảnh hưởng đến lớp kia
Quan hệ kế thừa
Quan hệ kết hợp
Quan hệ giao diện
Interface trong UML dùng để:
Định nghĩa các hành vi mà lớp phải cài đặt
Mô tả dữ liệu tĩnh
Quản lý ca sử dụng
Tạo báo cáo
Một pattern thiết kế phổ biến trong OO là:
Singleton
Copy-Paste
No-Pattern
Randomizer
Lợi ích của design pattern là:
Tái sử dụng giải pháp, tăng tính chuẩn hóa
Làm hệ thống phức tạp hơn
Không có ích
Chỉ dùng cho lý thuyết
Mô hình MVC viết tắt của:
Model – View – Controller
Main – Visual – Control
Multi – Value – Class
Machine – Virtual – Code
Trong MVC, Model là:
Quản lý dữ liệu và logic nghiệp vụ
Quản lý giao diện
Quản lý sự kiện
Quản lý phần cứng
Trong MVC, View là:
Phần hiển thị giao diện người dùng
Quản lý dữ liệu
Điều phối luồng xử lý
Tài liệu yêu cầu
Trong MVC, Controller là:
Điều phối giữa model và view
Quản lý dữ liệu
Quản lý báo cáo
Quản lý cơ sở dữ liệu
Ưu điểm của MVC là:
Tách biệt rõ dữ liệu, giao diện và điều khiển
Tăng phụ thuộc
Khó bảo trì
Không linh hoạt
Một hệ thống ERP thường áp dụng:
Kiến trúc nhiều tầng (multi-tier)
Kiến trúc pipeline
Kiến trúc event-driven
Kiến trúc batch
Multi-tier architecture là kiến trúc:
Nhiều lớp/tầng xử lý: presentation, business, data
Chỉ có 1 tầng
Không chia tầng
Chỉ có data
Ưu điểm của kiến trúc nhiều tầng là:
Dễ bảo trì, dễ mở rộng, tăng bảo mật
Khó bảo trì
Không linh hoạt
Không phổ biến
Nhược điểm của multi-tier là:
Tốn tài nguyên, độ trễ cao hơn
Không an toàn
Không thể mở rộng
Không tương thích
Ứng dụng web hiện nay chủ yếu dùng kiến trúc:
Client – server, multi-tier
Batch
Pipeline
Event-driven
Thiết kế thuật toán là một phần của:
Thiết kế chi tiết
Thiết kế kiến trúc
Phân tích yêu cầu
Triển khai
Biểu đồ cấu trúc (structure chart) thể hiện:
A. Quan hệ gọi giữa các mô-đun
B. Dữ liệu tĩnh
C. Use case
D. Sequence
Một mô-đun tốt có đặc điểm:
Độc lập cao, kết dính cao
Phụ thuộc chặt chẽ
Kết dính thấp
Khó thay đổi
Độ kết dính (cohesion) cao nghĩa là:
Các phần trong mô-đun tập trung vào một nhiệm vụ duy nhất
Mô-đun làm nhiều việc không liên quan
Không có chức năng rõ ràng
Khó bảo trì
Độ phụ thuộc (coupling) thấp nghĩa là:
Mô-đun ít phụ thuộc vào mô-đun khác
Mô-đun phụ thuộc nhiều
Mô-đun luôn dính chặt nhau
Khó thay đổi
Lập trình cấu trúc sử dụng nguyên lý:
A. Sequence, selection, iteration
B. Ngẫu nhiên
C. Tất cả goto
D. Mọi thứ tuần tự
Thiết kế dữ liệu tập trung vào:
Cấu trúc dữ liệu và tổ chức lưu trữ
Mã nguồn GUI
Tài liệu dự án
Ngân sách
ERD là viết tắt của:
Entity – Relationship Diagram
Event – Response Diagram
Execution – Result Diagram
Trong ERD, hình chữ nhật biểu diễn:
Thực thể (Entity)
Quan hệ
Thuộc tính
Dữ liệu
Trong ERD, hình thoi biểu diễn:
A. Quan hệ (Relationship)
B. Thực thể
C. Thuộc tính
D. Luồng dữ liệu
CASE là viết tắt của:
Computer-Aided Software Engineering
Centralized Application Software Environment
Common Analysis System Example
Code Automation Software Engine
Ưu điểm của CASE tool là:
Hỗ trợ mô hình hóa, tự động hóa, tăng năng suất
Luôn làm chậm dự án
Không có tác dụng
Khó sử dụng
Một công cụ CASE dùng vẽ UML là:
StarUML
Excel
Word
Paint
Rational Unified Process (RUP) là:
Quy trình phát triển phần mềm hướng đối tượng
Ngôn ngữ lập trình
Phần mềm đồ họa
Agile nhấn mạnh:
Phát triển lặp, phản hồi nhanh, hợp tác khách hàng
Tài liệu nặng nề
Quy trình cứng nhắc
Phát triển theo thác nước duy nhất
Scrum là:
Một framework trong Agile
Ngôn ngữ UML
Phần mềm CASE
Kiến trúc mạng
Một sprint trong Scrum thường kéo dài:
2–4 tuần
6 tháng
1 năm
1 ngày
Product backlog trong Scrum là:
Danh sách yêu cầu/tính năng cần phát triển
Nhật ký lỗi
Tài liệu hướng dẫn
Bảng ngân sách
Sprint backlog là:
Các hạng mục được chọn cho một sprint cụ thể
Tất cả yêu cầu hệ thống
Bảng báo cáo chi phí
Mã nguồn
Daily Scrum meeting có thời lượng thường:
15 phút
2 giờ
1 ngày
4 giờ
