Tìm lớp Tìm lớp Bởi: duongkieuhoa tonthathoaan Tìm lớp: Hầu công thức chung cho việc phát lớp Đi tìm lớp công việc đòi hỏi trí sáng tạo cần phải thực thi với trợ giúp chuyên gia ứng dụng Vì qui trình phân tích thiết kế mang tính vòng lặp, nên danh sách lớp thay đổi theo thời gian Tập hợp ban đầu lớp tìm chưa tập hợp cuối lớp sau thực thi biến đổi thành code Vì thế, thường người ta hay sử dụng đến khái niệm lớp ứng cử viên (Candidate Class) để miêu tả tập hợp lớp tìm cho hệ thống Như nói phần 2.10 (Thực Trường hợp sử dụng), trường hợp sử dụng lời miêu tả chức hệ thống, trách nhiệm thực thi thuộc đối tượng cộng tác thực thi chức Nói cách khác, tìm lớp để tiến tới tìm giải pháp cung cấp ứng xử hướng ngoại xác định trường hợp sử dụng Có nhiều phương pháp khác để thực công việc Có phương pháp đề nghị tiến hành phân tích phạm vi toán, tất lớp thực thể (thuộc phạm vi toán) với mối quan hệ chúng với Sau nhà phát triển phân tích trường hợp sử dụng phân bổ trách nhiệm cho lớp mô hình phân tích (analysis model), nhiều thay đổi chúng bổ sung thêm lớp Có phương pháp đề nghị nên lấy trường hợp sử dụng làm tảng để tìm lớp, trình phân bổ trách nhiệm mô hình phân tích phạm vi toán bước bước thiết lập Phân tích phạm vi toán để tìm lớp: Quá trình phân tích phạm vi toán thường bắt đầu với khái niệm then chốt (Key Abstraction), công cụ thường sử dụng để nhận diện lọc lớp ứng cử viên (Candidate class) 1/8 Tìm lớp Khái niệm then chốt Hãy lấy ví dụ nhà băng ABC, điều ta nghĩ tới gì? Tiền! Bên cạnh đó, ABC phải có thực thể liên quan tới tiền sau: - Khách hàng - Sản phẩm (các tài khoản coi sản phẩm nhà băng) - Lực lượng nhân viên - Ban quản trị nhà băng - Phòng máy tính nhà băng Những thực thể gọi khái niệm then chốt cho mà nhà băng có Khái niệm then chốt mang tính cấu trúc (structural) mang tính chức (functional) Thực thể mang tính cấu trúc thực thể vật lý tương tác với nhà băng, ví dụ khách hàng Thực thể mang tính chức chức mà nhà băng phải thực hiện, ví dụ trì tài khoản chuyển tiền từ tài khoản sang tài khoản khác Khái niệm then chốt thực thể ta để ý đến Chúng quan trọng giúp ta: - Định nghĩa ranh giới vấn đề - Nhấn mạnh đến thực thể có liên quan đến thiết kế hệ thống - Loại bỏ thực thể nằm phạm vi hệ thống - Các khái niệm then chốt thường trở thành lớp mô hình phân tích Một khái niệm then chốt tóm lại lớp hay đối tượng thuộc chuyên ngành phạm vi toán Khi trình bày với người sử dụng, chúng có ánh xạ 1-1 với thực thể liên quan tới người sử dụng hóa đơn, sec, giấy đề nghị rút tiền, sổ tiết kiệm, thẻ rút tiền tự động, nhân viên thu ngân, nhân viên nhà băng, phòng ban,… Mức độ trừu tượng: Khi phân tích phạm vi toán, cần ý mức độ trừu tượng khái niệm then chốt quan trọng, mức độ trừu tượng cao hay thấp dễ gây nhầm lẫn Mức trừu tượng cao dẫn tới định nghĩa khái quát thực thể, tạo nên nhìn vĩ mô thường không nhắm vào mục tiêu cụ thể Ví dụ 2/8 Tìm lớp nhà băng, ta chọn khái niệm then chốt "người", dẫn đến lời miêu tả: "Một người đến nhà băng để gửi tiền vào, số tiền người khác tiếp nhận." – yêu cầu quan trọng phải phân biệt nhân viên với khách hàng chức họ khác hẳn Tương tự vậy, mức trừu tượng thấp dễ gây hiểu lầm, thông tin vụn vặt chưa thích hợp với thời điểm Ví dụ định dạng: - Form mở tài khoản đòi hỏi tất 15 Entry - Những liệu Form phải phải - Không có nhiều chỗ để ghi địa khách hàng Form nên để dành cho giai đoạn sau Vài điểm cần ý khái niệm then chốt: Những thực thể xuất óc não thực thể dễ có khả trở thành khái niệm then chốt cho vấn đề định trước Mỗi lần tìm thấy khái niệm then chốt mới, cần xem xét theo cách nhìn vấn đề, hỏi câu hỏi sau : - Những chức thực thực thể này? - Điều khiến thực thể loại tạo ra? Nếu câu trả lời thích hợp, cần phải suy nghĩ lại thực thể Mỗi khái niệm then chốt cần phải đặt tên cho thích hợp, miêu tả chức khái niệm Nhận dạng lớp đối tượng Nắm vững khái niệm lớp, tương đối dễ dàng tìm thấy lớp đối tượng phạm vi vấn đề Một nguyên tắc thô sơ thường áp dụng danh từ lời phát biểu toán thường ứng cử viên để chuyển thành lớp đối tượng Một số gợi ý thực tế cho việc tìm lớp phạm vi vấn đề: Bước cần phải tập trung nghiên cứu kỹ: 3/8 Tìm lớp - Các danh từ lời phát biểu toán - Kiến thức chuyên ngành thuộc phạm vi toán - Các Trường hợp sử dụng Ví dụ lời phát biểu "Có số tài khoản mang lại tiền lãi", ta thấy có hai danh từ tài khoản tiền lãi Chúng lớp tiềm cho mô hình nhà băng lẻ Thứ hai, cần ý đến nhóm vật thể hệ thống thời như: - Các thực thể vật lý hệ thống: vật thể tương tác với hệ thống, ví dụ khách hàng - Các vật thể hữu hình: vật thể vật lý mà ta nhìn sờ thấy Ví dụ công cụ giao thông, sách vở, người, nhà,… Trong nhà băng ABC, tập sec, phiếu đề nghị rút tiền, sổ tiết kiệm, loại Form cần thiết - Các kiện (Events): Một xe bị hỏng, cửa mở Trong nhà băng đáo hạn tài khoản đầu tư, tượng rút nhiều tiền mặt tài khoản bình thường - Các vai trò (Role): Ví dụ mẹ, khách hàng, người bán hàng, … Trong nhà băng, vai trò nhân viên, nhà quản trị, khách hàng, - Các tương tác (Interactions): Ví dụ việc bán hàng chuỗi tương tác bao gồm khách hàng, người bán hàng sản phẩm Trong nhà băng, việc mở tài khoản yêu cầu chuỗi tương tác nhân viên khách hàng - Vị trí (Location): Một đồ vật người gán cho vị trí Ví dụ: Ôtô nhà để xe Trong nhà băng ta thấy nhân viên thu ngân đứng cửa sổ - Đơn vị tổ chức (Organisation Unit): Ví dụ phòng ban, phòng trưng bày sản phẩm, phận Trong nhà băng có phận tài khoản bình thường, phận tài khoản tiết kiệm, phận tài khoản đầu tư Bên cạnh đó, nhiều câu hỏi khác giúp ta nhận dạng lớp Ví dụ : - Ta có thông tin cần lưu trữ cần phân tích không? Nếu có thông tin cần phải lưu trữ, biến đổi, phân tích xử lý phương thức chắn ứng cử viên cho lớp Những thông tin khái niệm cần phải ghi hệ thống kiện, giao dịch xảy thời điểm cụ thể 4/8 Tìm lớp - Ta có hệ thống ngoại vi không? Nếu có, thường chúng đáng quan tâm tới tạo dựng mô hình Các hệ thống bên coi lớp chứa hệ thống tương tác với hệ thống - Chúng ta có mẫu, thư viện lớp , thành phần thứ khác không? Nếu có mẫu, thư viện, thành phần từ dự án trước (xin bạn đồng nghiệp, mua từ nhà cung cấp) chúng thường chứa ứng cử viên lớp - Có thiết bị ngoại vi mà hệ thống cần xử lý không? Mỗi thiết bị kỹ thuật nối với hệ thống thường trở thành ứng cử viên cho lớp xử lý loại thiết bị ngoại vi - Chúng ta có phần công việc tổ chức không? Miêu tả đơn vị tổ chức công việc thực với lớp, đặc biệt mô hình doanh nghiệp Tổng kết nguồn thông tin cho việc tìm lớp: Nhìn chung, nguồn thông tin cần đặc biệt ý tìm lớp : - Các lời phát biểu yêu cầu - Các Trường hợp sử dụng - Sự trợ giúp chuyên gia ứng dụng - Nghiên cứu hệ thống thời Loạt lớp nhận dạng qua thường gọi lớp ứng cử viên (Candidate Class) Ngoài ra, nghiên cứu hệ thống tương tự mang lại cho ta lớp ứng cử viên khác: Khi nghiên cứu hệ thống thời, để ý đến danh từ khái niệm then chốt để nhận lớp ứng cử viên Không nên đưa lớp nhận diện lần vào mô hình chúng nhắc lại theo tên gọi khác Ví dụ, hệ thống nhà băng coi khách hàng với nhiều vị trí khác nhiều khách hàng khác Cần ý phân tích lời miêu tả để tránh dẫn đến trùng lặp trình nhận diện lớp Có nhiều nguồn thông tin mà nhà thiết kế cần phải ý tới thiết kế lớp làm vậy, ta tin khả tạo dựng mô hình tốt Hình sau tổng kết nguồn thông tin kể 5/8 Tìm lớp Nguồn thông tin hỗ trợ tìm lớp Các trường hợp sử dụng nguồn tốt cho việc nhận diện lớp đối tượng Cần nghiên cứu kỹ Trường hợp sử dụng để tìm thuộc tính (attribute) báo trước tồn đối tượng lớp tiềm Ví dụ Trường hợp sử dụng yêu cầu phải đưa vào số tài khoản (account-number) điều trỏ tới tồn đối tượng tài khoản Một nguồn khác để nhận lớp/đối tượng Input Output hệ thống Nếu Input bao gồm tên khách hàng tín hiệu cho biết tồn đối tượng khách hàng, attribute khách hàng Nói chuyện với người sử dụng gợi mở đến khái niệm then chốt Thường người sử dụng miêu tả hệ thống theo lối cần phải đưa vào mong chờ kết Thông tin đưa vào kết theo lối miêu tả người sử dụng cần phải tập hợp lại với để nhận dạng khái niệm then chốt Các lớp ứng cử viên: Theo bước kể phần đầu giai đoạn phân tích, ta miêu tả số lớp khác Những lớp gọi lớp ứng cử viên, chúng thể lớp có khả tồn hệ thống cho trước Mặc dù vậy, chưa phải kết chung cuộc, số lớp ứng cử viên bị loại bỏ bước sau không thích hợp Giai đoạn đầu định nghĩa lớp ứng cử viên, ta chưa nên cố gắng lọc lớp, tập trung cáo mục tiêu nghiên cứu bao quát toàn diện từ nhiều nguồn thông tin khác để không bỏ sót nhiều khía cạnh cần xử lý Ví dụ nhà băng lẻ, lớp ứng cử viên là: - Khách hàng 6/8 Tìm lớp - Các loại tài khoản khác - Sec, sổ tiết kiệm, đơn, … - Phiếu yêu cầu mở tài khoản - Thẻ ATM - Bản in thông tin tài khoản - Giấy chứng nhận tài khoản đầu tư - Thẻ xếp hàng (Token), số thứ tự - Nhân viên - Nhân viên thu ngân Loại bỏ lớp ứng cử viên không thích hợp: Có nhiều loại lớp ứng cử viên không thích hợp cần phải loại bỏ: Lớp dư, thừa: Khi có lớp định nghĩa thực thể, nên giữ lại lớp tốt loại bỏ lớp khác Ví dụ, nhà băng có hai lớp chủ tài khoản khách hàng Cả hai lớp biểu thực thể cần giữ lại Lớp không thích hợp: Lớp định nghĩa thực thể không liên quan đến vấn đề thực Mọi lớp không xuất phát từ phạm vi ứng dụng cần phải loại bỏ Ví dụ, lớp máy đếm tiền bên casse nhà băng ứng cử viên cho khái niệm lớp không thích hợp Lớp không rõ ràng: Lớp chức cụ thể gọi lớp không rõ ràng Lớp tồn có giá trị sử dụng hệ thống lớp có chức nhận diện xác định rõ ràng Các lớp không rõ ràng cần phải định nghĩa lại loại bỏ Ví dụ quan sát nhiều phận khác nhà băng ABC Một phận nhận diện phận hành Vì phạm vi cho trình vi tính hóa nhà băng thời chưa bao gồm mảng hành nên lớp coi lớp không rõ ràng (vì chức rõ ràng hệ thống cần xây dựng trước mắt) - Tương tự, thuộc tính phương thức không rõ ràng cần phải loại khỏi danh sách lớp ứng cử viên Chúng không cần phải bị xoá hẳn, cần đưa để ta nhìn rõ lớp cần thiết nhận diện Các ứng xử sau gán cho lớp thích hợp 7/8 Tìm lớp - Các lớp vai trò (Role) lớp khác: Hãy loại bỏ tất vai trò giữ lại lớp Ví dụ nhà quản trị, nhân viên thu ngân, người chạy giấy vai trò lớp nhân viên Hãy giữ lại lớp nhân viên loại bỏ tất lớp khác vai trò - Một lớp không cung cấp ứng xử cần thiết thuộc tính cần thiết lớp không cần thiết Nhiều khi, có lớp chẳng cung cấp thuộc tính ứng xử mà định nghĩa tập hợp mối quan hệ Những lớp cần phải nghiên cứu kỹ để xác định liên quan với hệ thống 8/8 ... bỏ Ví dụ, lớp máy đếm tiền bên casse nhà băng ứng cử viên cho khái niệm lớp không thích hợp Lớp không rõ ràng: Lớp chức cụ thể gọi lớp không rõ ràng Lớp tồn có giá trị sử dụng hệ thống lớp có chức... hẳn, cần đưa để ta nhìn rõ lớp cần thiết nhận diện Các ứng xử sau gán cho lớp thích hợp 7/8 Tìm lớp - Các lớp vai trò (Role) lớp khác: Hãy loại bỏ tất vai trò giữ lại lớp Ví dụ nhà quản trị, nhân... lớp Có nhiều nguồn thông tin mà nhà thiết kế cần phải ý tới thiết kế lớp làm vậy, ta tin khả tạo dựng mô hình tốt Hình sau tổng kết nguồn thông tin kể 5/8 Tìm lớp Nguồn thông tin hỗ trợ tìm lớp