tailieunhanh - Reverse Engineering of Object Oriented Code phần 8
Ví dụ về khái niệm mạng, hiển thị các gói ứng cử viên. với các nút giao thông không có sản phẩm nào. Tương ứng, không phải tất cả bộ sưu tập các khái niệm đại diện cho một sơ đồ gói tiềm năng. Để giải quyết vấn đề này, khái niệm về phân vùng khái niệm đã được giới thiệu | Concept Analysis 147 Fig. . Example of concept lattice showing the candidate packages. with non-empty intersections. Correspondingly not every collection of concepts represents a potential package diagram. To address this problem the notion of concept partition was introduced see for example 75 . A concept partition consists of a set of concepts whose extents are a partition of the object set O. CP Al Fl . Xn yn is a concept partition iff J Xi o and Vi j Xi Cl Xj 0 i l A concept partition allows assigning every class in the considered context to exactly one package. In the example discussed above the two following concept partitions can be determined see dashed boxes in Fig. CT1 C1 CP2 C2 C3 The first partition contains just one concept Cl and corresponds to a package diagram with all three classes Al Ấ2 A3 in the same package on the basis of their shared call to mi. The second partition generates a proposal of package organization in which Al and A2 are inside a package since they call both mi and m2 while A3 is put inside a second package for its calls to mi and m3. It should be noted that the second package organization permits a violation of encapsulation since classes of different packages have a shared method call namely to mi- It ensures that no class outside C2 invokes both mi and m2 while mi alone can be invoked outside C2- This example gives a deeper insight into the modularization associated with a concept partition even in cases in which the only package diagram that does not violate encapsulation is the trivial one with all the classes in one package concept analysis can extract 148 7 Package Diagram alternative organizations of the packages into cohesive units that occasionally are allowed to violate encapsulation. It might be the case that no meaningful concept partition is determined out of the initial context although each concept taken in isolation represents a meaningful grouping of classes into a package. In this situation the package
đang nạp các trang xem trước