Font size
WorksheetsOOP B2
Total questions: 29
Worksheet time: 29mins
Mục tiêu chính của mô hình miền là gì?
Giúp tạo ra một ngôn ngữ chung để truyền đạt thông tin rõ ràng giữa các thành viên dự án
Để thiết kế cơ sở dữ liệu
Để xác định các yêu cầu phi chức năng
Để xây dựng mô hình dữ liệu chính xác
Mô hình miền hiển thị loại quan hệ nào giữa các lớp trong miền?
Quan hệ phụ thuộc (dependency relationships).
Quan hệ tổng hợp (aggregation) và tổng quát hóa (generalization).
Quan hệ đồng thời (concurrent relationships).
Quan hệ tuần tự (sequential relationships).
Mô hình miền đại diện cho phần nào của hệ thống?
Phần tĩnh mô tả cấu trúc của hệ thống.
Phần động mô tả hành vi của hệ thống.
Mô tả các trường hợp sử dụng chi tiết.
Chỉ mô tả các giao diện người dùng.
Mô hình miền là cơ sở đầu tiên cho việc xây dựng sơ đồ nào trong quy trình ICONIX?
Sơ đồ use case
Sơ đồ mạnh mẽ
Sơ đồ trình tự
Sơ đồ hoạt động
Tại sao nên bắt đầu với mô hình miền (domain model) trước khi viết use case?
Vì mô hình miền phức tạp hơn và nên được thực hiện trước.
Vì nó giúp ràng buộc use case vào thực tế và hệ thống sẽ được thiết kế.
Vì use case nên được viết trước để định nghĩa chi tiết.
Vì use case không liên quan đến mô hình miền.
Tại sao việc xây dựng mô hình miền ban đầu chỉ nên kéo dài khoảng 2 giờ?
Vì thời gian giới hạn của dự án
Vì mô hình miền sẽ được cập nhật liên tục trong quá trình dự án
Vì không cần mô hình lớp chi tiết
Vì chỉ có các yêu cầu chức năng quan trọng
Khi mô hình miền có quá nhiều mối quan hệ giữa các lớp, ta nên làm gì để cải thiện?
Bỏ bớt các lớp
Sử dụng quan hệ tổng quát hóa (generalization) để đơn giản hóa mối quan hệ
Giữ nguyên và tiếp tục
Thêm nhiều lớp hơn để giải thích
Mối quan hệ nào dưới đây là ví dụ về quan hệ "is-a"?
Con Mèo là một Loài Động Vật
Quyển Sách có Mục Lục
Người Dùng có Tài Khoản
Mục Đơn Hàng thuộc Giỏ Hàng
Lý do nên bắt đầu với mô hình miền thay vì use case là gì?
Để đảm bảo use case được viết trong bối cảnh của mô hình đối tượng và tránh sự mơ hồ
Để tiết kiệm thời gian
Vì mô hình miền dễ thực hiện hơn
Vì use case không cần phải rõ ràng ngay từ đầu
Vai trò của mô hình miền trong quá trình phát triển hệ thống là gì?
Để kiểm thử hệ thống
Để đảm bảo giao tiếp rõ ràng, nhất quán giữa các thành viên dự án
Để tối ưu hóa mã nguồn
Để mô hình hóa cơ sở dữ liệu
Nếu phát hiện hai thuật ngữ "Book" và "Books" trong mô hình miền, bước tiếp theo bạn nên làm gì?
Giữ lại cả hai thuật ngữ
Xác định và loại bỏ sự trùng lặp, giữ lại một trong hai thuật ngữ
Thêm thuộc tính cho cả hai
Tạo lớp mới cho mỗi thuật ngữ
Tại sao khi tạo mô hình miền, cần tập trung vào các đối tượng trong thế giới thực?
Vì các đối tượng trong thế giới thực đơn giản hơn các đối tượng trong phần mềm.
Vì phần mềm nên được thiết kế sao cho giống với cách thế giới thực hoạt động, và thế giới thực thay đổi ít thường xuyên hơn so với yêu cầu phần mềm.
Vì nó giúp tránh sử dụng quá nhiều tài nguyên trong quá trình phát triển phần mềm.
Vì các đối tượng trong thế giới thực không ảnh hưởng đến kiến trúc phần mềm.
Mối quan hệ nào sau đây là đúng khi nói về các mối quan hệ trong mô hình miền?
Mối quan hệ tổng quát hóa (is-a) chỉ thể hiện một lớp cha có nhiều lớp con.
Mối quan hệ tổng hợp (has-a) thể hiện một đối tượng sở hữu một đối tượng khác và mối quan hệ tổng quát hóa (is-a) thể hiện sự kế thừa giữa các lớp.
Tất cả các mối quan hệ trong mô hình miền đều là các mối quan hệ tuần tự.
Mối quan hệ giữa các lớp không quan trọng trong mô hình miền.
Sơ đồ miền nào dưới đây là đúng?
Sơ đồ miền nào dưới đây là đúng?
Mô hình miền (domain model) trong quy trình ICONIX là gì?
Là "từ điển" thuật ngữ trong dự án
Là một bảng dữ liệu quan hệ
Là một bản thiết kế cơ sở dữ liệu
Là sơ đồ quy trình nghiệp vụ
Ý nghĩa của các mối quan hệ "has-a" và "is-a" trong mô hình miền là gì?
Chúng là các mối quan hệ giữa các thuộc tính của lớp.
Chúng mô tả cách các lớp chứa các lớp khác và các lớp được kế thừa.
Chúng chỉ áp dụng cho các lớp giao diện (interfaces).
Chúng không có trong mô hình miền.
Nguyên tắc nào đúng khi nói về quan hệ giữa các đối tượng trong mô hình miền?
Không sử dụng quan hệ tổng quát hóa (is-a) và tổng hợp (has-a)
Sử dụng quan hệ tổng quát hóa (is-a) và tổng hợp (has-a) để thể hiện cách các đối tượng liên quan với nhau.
Chỉ sử dụng các quan hệ tuần tự để kết nối các đối tượng
Tránh sử dụng bất kỳ quan hệ nào để giữ mô hình đơn giản.
Nếu phát hiện mô hình miền thiếu một số đối tượng quan trọng, ta nên làm gì?
Bỏ qua những đối tượng này
Cập nhật mô hình miền để bao gồm các đối tượng bị thiếu
Tạo một sơ đồ mới
Xây dựng lại mô hình từ đầu
Mục tiêu của phiên tạo mô hình miền ban đầu là gì?
Hoàn thiện mô hình miền ngay từ đầu.
Xây dựng một phiên bản sơ bộ để có thể điều chỉnh trong quá trình làm việc.
Tìm ra các lỗi phần mềm trong hệ thống.
Tạo ra mô hình hoàn chỉnh mà không cần sửa đổi sau này.
Mô hình miền khác gì so với bảng thuật ngữ dự án (project glossary)?
Mô hình miền chỉ chứa thông tin về các lớp (classes) trong dự án.
Mô hình miền là một biểu đồ được minh họa, hiển thị mối quan hệ giữa các thuật ngữ.
Mô hình miền không có mối quan hệ với bảng thuật ngữ dự án.
Mô hình miền chỉ sử dụng trong giai đoạn kiểm thử dự án.
Tại sao không nên kỳ vọng sơ đồ lớp cuối cùng sẽ khớp chính xác với mô hình miền?
Vì sơ đồ lớp không quan trọng
Vì mô hình miền đơn giản hơn và không chứa các chi tiết thiết kế cụ thể
Vì mô hình miền không liên quan đến sơ đồ lớp
Vì sơ đồ lớp chỉ là mô hình tạm thời
Quan hệ "has-a" trong mô hình miền là loại quan hệ gì?
Tổng quát hóa
Tập hợp (aggregation)
Kế thừa
Quan hệ một-nhiều
Điểm khác biệt chính giữa một đối tượng và một bảng cơ sở dữ liệu là gì?
Một đối tượng đại diện cho một tập hợp các bản ghi, trong khi bảng đại diện cho một bản ghi duy nhất.
Một đối tượng đại diện cho một thể hiện đơn lẻ, trong khi bảng cơ sở dữ liệu đại diện cho một tập hợp các bản ghi.
Một đối tượng luôn chứa nhiều thuộc tính hơn bảng cơ sở dữ liệu.
Bảng cơ sở dữ liệu không liên quan gì đến đối tượng trong mô hình miền.
Quá trình nào giúp phát hiện các đối tượng bị thiếu trong mô hình miền sau khi phiên tạo mô hình ban đầu hoàn thành?
Kiểm thử hệ thống.
Phân tích use case và sơ đồ độ bền (robustness diagrams).
Triển khai hệ thống.
Phân tích mã nguồn.
Lợi ích của việc tổ chức mô hình miền dựa trên các trừu tượng trong thế giới thực là gì?
Giúp giảm bớt tài liệu yêu cầu.
Làm cho mô hình khó thay đổi hơn khi yêu cầu thay đổi.
Giúp mô hình bền vững hơn trước những thay đổi của yêu cầu phần mềm.
Giúp tăng tốc độ triển khai hệ thống.
Mô hình miền được minh họa như thế nào?
Như một sơ đồ trình tự (sequence diagram).
Như một sơ đồ lớp (class diagram) đơn giản với các đường nối giữa các lớp.
Như một sơ đồ hoạt động (activity diagram).
Như một sơ đồ triển khai (deployment diagram).
Trong mô hình miền, tại sao không nên nhầm lẫn giữa đối tượng và bảng cơ sở dữ liệu?
Vì đối tượng đại diện cho một thể hiện duy nhất, trong khi bảng cơ sở dữ liệu đại diện cho một tập hợp
Vì bảng cơ sở dữ liệu không có quan hệ với các đối tượng
Vì bảng cơ sở dữ liệu chứa nhiều khóa ngoài
Vì các đối tượng phức tạp hơn bảng dữ liệu
Điều nào sau đây không nên thực hiện khi xây dựng mô hình miền?
Giới hạn thời gian tạo mô hình miền ban đầu trong vài giờ.
Đưa các lớp giao diện người dùng vào mô hình miền.
Sử dụng mô hình miền như một bảng thuật ngữ của dự án.
Sắp xếp các lớp dựa trên các khái niệm chính trong miền vấn đề.
