Như trong hình 2-5 có bốn hoạt động chính trên theme: split, add, delete và group.
2.3.2.1 Split theme nếu theme quá tổng quát
Sau khi lựa chọn được tập theme ban đầu, sẽ có những hành vi được giao kết với một theme cụ thể mà không phù hợp nhau. Các hành vi đó không có sự liên quan, móc nối với nhau. Để các theme được mạch lạc, cố kết thì theme không nên thực hiện nhiều requirement mà không liên quan đến nhau. Nếu một theme giao kết với nhiều requirement mà không liên quan đến nhau thì ta sẽ phân tách theme đó thành các theme con phù hợp.
2.3.2.2 Nhóm các theme tương tự
Một số theme có tên đồng nghĩa nhau, hoặc có các sự kiện, hành vi luôn xảy ra cùng nhau chúng ta sẽ nhóm chúng vào một theme chính.
Có hai thuật ngữ liên quan tới nhóm theme là : grouping (nhóm), unifying (đồng nhất).
a) Đồng nhất theme :
- Các theme hợp nhất được hiển thị với tên theme chính của chúng trong mọi
khung nhìn.
- Chủ yếu sử dụng cho giải quyết các theme đồng nghĩa nhau, kiểu này cơ bản là
sự thay thế tham chiếu tới một theme thành tham chiếu tới theme khác, theme đó là theme chính.
20
tiên hãy xem xét các theme có cùng nghĩa. Tuy nhiên chỉ dựa vào tên của các theme ta không thể đảm bảo được chúng liên quan cùng khái niệm, cần phải kiểm tra các yêu cầu miêu tả chúng có giống nghĩa không.
- Các theme có các requirements đồng nghĩa nhau. Hợp nhất các theme thành
một thì theme hợp nhất đó có thể không thể nắm được hết các yêu cầu nó cần, bởi vì các theme con sử dụng tên theme chính, không phải tên theme của chính nó. Ta có thể lựa chọn requirement đồng nghĩa làm requirement chia sẻ giữa các theme để đồng nhất chúng theo requirement.
b) Nhóm theme :
-các theme con về cơ bản được chứa đựng bởi theme khác. Trong khung nhìn
relationship và khung nhìn crosscutting chỉ hiển thị theme chính, các requirements kết nối với theme con được gắn tới theme chính, theme con không được hiển thị. Theme con chỉ hiển thị trong khung nhìn individual.
-Điều này rất hữu ích cho việc nhóm các hành vi liên quan chặt chẽ trong các
theme con vào một theme chính. Giúp bạn quyết định chuyển hành vi trong theme
thành method.
2.3.2.3 Xóa những theme không muốn
Khi refine các theme, nếu tìm thấy các theme quá tầm thường không cần thiết, hoặc không miêu tả chức năng hệ thống ta có thể xóa chúng.
Trong ví dụ EES, vấn đề “determine” giống với một method hơn là một theme, vì thế chúng ta sẽ xóa nó khỏi tập theme. Khung nhìn relationship cho hệ thống EES bây giờ là:
21
Hình 2-7 Khung nhìn relationship sau khi xóa theme.