Software Architecture and Design - Kiến Trúc & Thiết Kế Phần Mềm
Câu hỏi của môn
ImplementationAnalysisDesignTestingTrong mô hình UML, mối quan hệ <<include> > được sử dụng để thể hiện một trường hợp sử dụng phụ thuộc vào trường hợp sử dụng khác. Tuy nhiên, khi nói đến việc chia sẻ chức năng chung giữa nhiều trường hợp sử dụng, mối quan hệ <<include> > không phải là lựa chọn tốt nhất. Mối quan hệ <<extend> > cũng không phù hợp vì nó được sử dụng để thể hiện trường hợp sử dụng mở rộng từ trường hợp sử dụng khác. Mối quan hệ Generalization được sử dụng để thể hiện mối quan hệ giữa lớp cha và lớp con, trong khi Aggregation được sử dụng để thể hiện mối quan hệ giữa một đối tượng và các đối tượng con. Vì vậy, mối quan hệ phù hợp nhất để thể hiện chức năng chung được chia sẻ giữa nhiều trường hợp sử dụng là Composite, nhưng trong các lựa chọn đã cho, không có Composite. Tuy nhiên, mối quan hệ Generalization không phải là lựa chọn tốt nhất vì nó không thể thể hiện chức năng chung. Vì vậy, trong trường hợp này, không có lựa chọn nào trong các lựa chọn đã cho là hoàn hảo, nhưng <<include> > có thể được sử dụng để thể hiện chức năng chung được chia sẻ giữa nhiều trường hợp sử dụng.
Trong sơ đồ dùng例 (use case diagram) của UML, mối quan hệ <<extend> > thường được sử dụng để mô tả hành vi tùy chọn được kích hoạt dưới các điều kiện nhất định. Điều này có nghĩa là một hành vi dùng例 có thể được mở rộng từ một hành vi dùng例 khác, nhưng không bắt buộc phải thực hiện. Ví dụ, một hệ thống có thể hỗ trợ việc in hóa đơn, nhưng không bắt buộc phải in hóa đơn khi thực hiện một giao dịch cụ thể. Mối quan hệ <<extend> > cho phép chúng ta mô tả các hành vi tùy chọn và điều kiện kích hoạt chúng, giúp làm rõ các yêu cầu của hệ thống.