III. Phân tích
3. Phân tích kiến trúc
Mục đích của phân tích kiến trúc là phác họa những nét lớn của mô hình phân tích thông qua việc xác định các gói phân tích, các lớp phân tích hiển nhiên, và các yêu cầu chuyên biệt chung
3.1. Xác định các gói phân tích
Việc xác định các gói phân tích có thể được tiến hành một cách tự nhiên dựa trên các yêu cầu chức năng và nghiệp vụ của bài toán được xet. Một cách trực tiếp để xác định các gói phân tích là bố trí phần lớn các ca sử dụng vào một gói riêng rồi sau đó tiến hành thực thi chức năng tương ứng bên trong gói đó
Gom các ca sử dụng vào một gói riêng thích hợp có thể dựa trên các tiêu chí sau: § Các ca sử dụng cần có để hỗ trợ một quá trình nghiệp vụ riêng
§ Các ca sử dụng cần có để hỗ trợ một tác nhân riêng của hệ thống § Các ca sử dụng có quan hệ với nhau thông qua các quan hệ tổng quát
hóa và mở rộng
Gói phân tích
Các gói phân tích cung cấp một phương tiện để tổ chức các chế tác của mô hình phân tích thành các “cụm” nhỏ hơn và dễ quản lý. Một gói phân tích có thể chứa đựng các lớp phân tích, các thực thi ca sử dụng và các gói phân tích khác
3.2. Xử lý phần chung của các gói phân tích
Trong nhiều trường hợp ta có thể tìm thấy các phần chung giữa các gói phân tích, chẳng hạn: một lớp phân tích. Một cách thích hợp để xử lý vấn đề này là đặt phần chung đó vào trong gói riêng nằm ngoài các gói chứa nó, rồi sau đó để các gói khác có liên quan phụ thuộc vào gói chứa lớp chung này
Những lớp được chia sẻ có các phần chung như vậy thường là các lớp thực thể. Chúng có thể được lần vết tới các lớp thực thể miền hoặc nghiệp vụ. Do vậy, ta nên nghiên cứu các lớp thực thể miền hoặc lớp thực thể nghiệp vụ để tìm ra phần chung và tạo nên các gói phân tích tổng quát ngay từ đầu
3.3. Xác định các gói dịch vụ
Việc xác định các dịch vụ thích hợp thường được tiến hành sau khi các yêu cầu chức năng đã được hiểu rõ và đã xác định phần lớn các lớp phân tích. Các lớp phân tích trong một gói dịch vụ cần đóng góp thực hiện cùng một dịch vụ
Để xác định các gói dịch vụ, ta có thể làm như sau
• Xác định một gói dịch vụ cho mỗi dịch vụ được chọn
• Xác định một gói dịch vụ cho mỗi dịch vụ mà có thể khiến dịch vụ đó trở thành lựa chọn. Ta sẽ xác định một gói dịch vụ cho mỗi dịch vụ được cung cấp bởi các lớp liên quan về mặt chức năng
Gói dịch vụ
Mỗi hệ thống cung cấp một tập hợp các dịch vụ cho khách hàng. Ta sử dụng khái niệm gói dịch vụ để mô tả các gói được sử dụng ở một mức thấp hơn trong sơ đồ
phân cấp phân tích để cấu trúc hệ thống các dịch vụ mà nó cung cấp. Một gói dịch vụ có thể có các tính chất sau:
§ Một gói dịch vụ chưa một tập hợp các lớp có liên quan với nhau về mặt chức năng
§ Một gói dịch vụ là không thể chia nhỏ
§ Một hoặc nhiều gói dịch vụ có thể tham gia vào một thực thi ca sử dụng và một gói dịch vụ có thể tham gia vào nhiều thực thi ca sử dụng § Một gói dịch vụ phụ thuộc rất ít vào các gói dịch vụ khác
§ Một gói dịch vụ thường liên quan đến chỉ một hoặc một vài tác nhân § Các chức năng mà một gói dịch vụ cung cấp có thể được quản lý như
một đơn vị riêng biệt
3.4. Xác định các mối quan hệ phụ thuộc giữa các gói phân tích
Mục tiêu ở đây là tìm ra các gói phân tích tương đối độc lập với các gói khác, tự chúng được ghép nối lỏng lẻo với nhau nhưng có kết quả kết dính cao bên trọng. Với mục tiêu trên ta cố gắng giảm số lượng các mối quan hệ giữa các lớp thuộc tính các gói khác nhau. Cách tốt nhất để thực hiện công việc này là tổ chức mô hình phân tích thành các tầng bằng cách ghép các gói ứng dụng cụ thể ở một tầng đỉnh và các gói tổng quát hơn ở một tầng thấp hơn
3.5. Xác định các lớp thực thể hiển nhiên
Ta có thể xác định các lớp thực thể quan trọng nhất dựa trên các lớp miền hoặc các thực thể nghiệp vụ đã được xác định trong quá trình nắm bắt các yêu cầu. Ở bước này không nên xác định quá nhiều lớp và đi quá sâu vào chi tiết. Một phác thảo ban đầu bao gồm các lớp có ý nghĩa về mặt kiến trúc là đủ
3.6. Xác định các yêu cầu đặc biệt chung
Một yêu cầu đặc biệt là một yêu cầu nảy sinh ra trong quá trình phân tích và việc nắm bắt nó là quan trọng. Các yêu cầu kiểu này có thể là:
§ Tính lâu bền
§ Sự phân bố và tính tương tranh § Các điểm đặc trưng về an toàn § Dung sai về lỗi
§ Quản lý giao dịch
Các yêu cầu đặc biệt chung có thể được tham chiếu tới như là các yêu cầu đặc biệt của các thực thi ca sử dụng cụ thể và các lớp phân tích