Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
535,84 KB
Nội dung
MƠ HÌNH ĐỐI TƯỢNG 1- LỚP, ĐỐI TƯỢNG VÀ QUAN HỆ – CÁC THÀNH PHẦN CƠ BẢN CỦA MÔ HÌNH Trong mơ hình hóa hướng đối tượng, phần tử cấu thành mơ hình lớp, đối tượng mối quan hệ chúng với Lớp đối tượng mơ hình hóa có hệ thống mà muốn miêu tả, mối quan hệ biểu thị cấu trúc Động tác phân lớp (classification) sử dụng từ hàng ngàn năm để đơn giản hóa việc miêu tả hệ thống phức tạp Khi loài người biết đến việc lập trình hướng đối tượng để xây dựng hệ thống phần mềm lớp mối quan hệ chúng chuyển thành dòng code cụ thể 1.1- Đối tượng (Object) Một đối tượng tượng trưng cho thực thể, thực thể tồn giới đời thực thực thể mang tính khái niệm Một đối tượng tượng trưng cho cụ thể, ví dụ xe ô tô chở hàng bạn máy tính tơi, tượng trưng cho khái niệm ví dụ quy trình hóa học, giao dịch nhà băng, lời đặt hàng, thơng tin q trình sử dụng tín dụng khách hàng hay tỷ lệ tiền lời Cũng có đối tượng (ví dụ đối tượng thực thi hệ thống phần mềm) khơng thật tồn ngồi giới thực, kết dẫn xuất từ trình nghiên cứu cấu trúc ứng xử đối tượng ngồi giới thực Những đối tượng đó, dù cách hay cách khác, liên quan đến quan niệm giới thực Một đối tượng khái niệm, trừu tượng hóa, đồ vật với ranh giới ý nghĩa định nghĩa rõ ràng cho ứng dụng Mỗi đối tượng hệ thống có ba đặc tính: trạng thái, ứng xử nhận diện 1.2- Trạng thái, ứng xử nhận diện đối tượng Trạng thái (state) đối tượng hoàn cảnh nơi đối tượng tồn Trạng thái đối tượng thường thay đổi theo thời gian, định nghĩa qua tổ hợp thuộc tính, với giá trị thuộc tính mối quan hệ mà đối tượng có với đối tượng khác Ví dụ danh sách ghi danh cho lớp học hệ thống trường học có hai trạng thái: trạng thái đóng trạng thái mở Nếu danh sách sinh viên ghi danh cho lớp học nhỏ số tối đa cho phép (ví dụ 10), trạng thái bảng ghi danh mở Một đủ 10 sinh viên ghi danh cho lớp, danh sách chuyển sang trạng thái đóng Ứng xử (Behaviour) xác định đối tượng phản ứng trước yêu cầu từ đối tượng khác, tiêu biểu cho mà đối tượng làm Ứng xử thực thi qua loạt Phương thức (operation) đối tượng Trong ví dụ trường đại học, đối tượng bảng ghi danh lớp học có ứng xử bổ sung thêm sinh viên hay xóa tên sinh viên sinh viên đăng ký học hay bãi bỏ đăng ký Sự nhận diện (Identity) đảm bảo đối tượng – dù trạng thái giống với trạng thái đối tượng khác Ví dụ, khóa học đại số 101 chương khóa học đại số 101 chương hai đối tượng hệ thống ghi danh trường học Mặc dù hai thuộc loại bảng ghi danh, khóa học có nhận dạng 1.3- Lớp (Class): Một lớp lời miêu tả nhóm đối tượng có chung thuộc tính, chung phương thức (ứng xử), chung mối quan hệ với đối tượng khác chung ngữ nghĩa (semantic) Nói có nghĩa lớp khn mẫu để tạo đối tượng Mỗi đối tượng thực thể lớp đối tượng khơng thể kết thực thể hóa nhiều lớp Chúng ta sử dụng khái niệm lớp để bàn luận hệ thống để phân loại đối tượng mà nhận dạng giới thực Một lớp tốt nắm bắt trừu tượng hóa - phải có chủ đề Ví dụ, lớp vừa có khả giữ tất thông tin sinh viên thông tin tất lớp học mà người sinh viên trải qua nhiều năm trước lớp tốt, khơng có chủ đề Lớp cần phải chia làm hai lớp liên quan đến nhau: lớp sinh viên lớp lịch sử sinh viên Hình 5.1- Mỗi thực thể mơ hình lớp Khi tạo dựng mơ thật xây dựng hệ thống doanh nghiệp, hệ thống thơng tin, máy móc lọai hệ thống khác, cần sử dụng khái niệm phạm vi vấn đề để khiến cho mơ hình dễ hiểu dễ giao tiếp Nếu xây dựng hệ thống cho cơng ty bảo hiểm, mơ hình cần phải dựa khái niệm ngành bảo hiểm Nếu xây dựng hệ thống cho quân đội, khái niệm giới quân cần phải sử dụng mơ hình hóa hệ thống Một hệ thống dựa khái niệm ngành doanh nghiệp dễ thiết kế lại cho phù hợp với qui chế, chiến lược qui định mới, cần cân khắc phục chênh lệch công việc cũ cơng việc Khi mơ hình xây dựng dựa khái niệm lấy từ đời thực dựa khái niệm thuộc phạm vi vấn đề, hướng đối tượng phương pháp thích hợp tảng phương pháp hướng đối tượng lớp, đối tượng mối quan hệ chúng Một lớp lời miêu tả cho dạng đối tượng hệ thống – hệ thống thơng tin, hệ thống kỹ thuật, hệ thống nhúng thời gian thực, hệ thống phân tán, hệ thống phần mềm hệ thống doanh thương Các vật dụng (artifact) doanh nghiệp, thơng tin cần lưu trữ, phân tích vai trò mà tác nhân đảm nhận doanh nghiệp thường trở thành lớp hệ thống doanh nghiệp hệ thống thông tin Ví dụ lớp doanh nghiệp hệ thống thông tin: - Khách hàng - Bản thương thuyết - Hóa đơn - Món nợ - Tài sản - Bản công bố giá cổ phiếu Các lớp hệ thống kỹ thuật thường bao gồm đối tượng kỹ thuật, ví dụ máy móc sử dụng hệ thống: - Sensor - Màn hình - I/O card - Động - Nút bấm - Lớp điều khiển Các hệ thống phần mềm thường có lớp đại diện cho thực thể phần mềm hệ điều hành: - File - Chương trình chạy - Trang thiết bị - Icon - Cửa sổ - Thanh kéo 1.4- Biểu đồ lớp (Class diagram): Một biểu đồ lớp dạng mơ hình tĩnh Một biểu đồ lớp miêu tả hướng nhìn tĩnh hệ thống khái niệm lớp mối quan hệ chúng với Mặc dù có nét tương tự với mơ hình liệu, nên nhớ lớp thể cấu trúc thơng tin mà cịn miêu tả hình vi Một mục đích biểu đồ lớp tạo tảng cho biểu đồ khác, thể khía cạnh khác hệ thống (ví dụ trạng thái đối tượng hay cộng tác động đối tượng, biểu đồ động) Một lớp biểu đồ lớp thực thi trực tiếp ngơn ngữ hướng đối tượng có hỗ trợ trực tiếp khái niệm lớp Một biểu đồ lớp chỉ lớp, bên cạnh cịn có biến tấu khác chút đối tượng thật thực thể lớp (biểu đồ đối tượng) Hình 5.2-Mơ hình lớp UML Hình 5.3- Một lớp cụ thể với thuộc tính Để tạo biểu đồ lớp, ta phải nhận diện miêu tả lớp Một có số lượng lớp, ta xét đến quan hệ lớp với 2- TÌM LỚP: Hầu khơng có 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 chun 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 2.1- Phân tích phạm vi tốn để tìm lớp: Q trình phân tích phạm vi tố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) 2.1.1- 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 cịn 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 tố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 tố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ụ 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 q 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 khơng có 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 2.1.2- 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ỹ: - 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 tố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, 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 ln đứ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 đó, cịn 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 ln cần phải ghi hệ thống kiện, giao dịch xảy thời điểm cụ thể - 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 ngồi 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 2.1.3- 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ể Hình 5.4 - 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 (accountnumber) đ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 2.2- 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 qt tồ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 - 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 2.3- 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 khơng có 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 q 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ì khơng có 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ị xố hẳn, cần đưa ngồi để 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 - 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 V 3- LỚP VÀ ĐỐI TƯỢNG TRONG UML UML thể lớp hình chữ nhật có phần Phần thứ chứa tên lớp Trong phần thứ hai thuộc tính liệu thành phần lớp phần thứ ba phương thức hay hàm thành phần lớp 3.1- Tên lớp (lass name) : Tên lớp in đậm (bold) Tên lớp phải dẫn xuất từ phạm vi vấn đề rõ ràng Vì danh từ, ví dụ tài khoản, nhân viên, 3.2- Thuộc tính (attribute): Lớp có thuộc tính miêu tả đặc điểm đối tượng Giá trị thuộc tính thường dạng liệu đơn giản đa phần ngơn ngữ lập trình hỗ trợ Integer, Boolean, Floats, Char, … Thuộc tính có nhiều mức độ trông thấy (visibility) khác nhau, miêu tả liệu thuộc tính truy xuất từ lớp khác, khác với lớp định nghĩa Nếu thuộc tính có tính trơng thấy cơng cộng (public), nhìn thấy sử dụng ngồi lớp Nếu thuộc tính có tính trơng thấy riêng (private), bạn khơng thể truy cập từ bên ngồi lớp Một tính trơng thấy khác bảo vệ (protected), sử dụng chung với công cụ khái quát hóa chuyên biệt hóa Nó giống thuộc tính riêng thừz kế lớp dẫn xuất Trong UML, thuộc tính cơng cộng mang kí hiệu "+" thuộc tính riêng mang dấu "-" Giá trị gán cho thuộc tính cách để miêu tả trạng thái đối tượng Mỗi lần giá trị thay đổi biểu cho thấy xảy thay đổi trạng thái đối tượng Lưu ý: Mọi đặc điểm thực thể thơng tin cần lưu trữ chuyển thành thuộc tính lớp miêu tả loại thực thể 3.3- Phương thức (methods): Phương thức định nghĩa hoạt động mà lớp thực Tất đối tượng tạo từ lớp có chung thuộc tính phương thức Phương thức sử dụng để xử lý thay đổi thuộc tính thực công việc khác Phương thức thường gọi hàm (function), chúng nằm lớp áp dụng cho đối tượng lớp Một phương thức miêu tả qua tên, giá trị trả danh sách nhiều tham số Lúc thi hành, phương thức gọi kèm theo đối tượng lớp Vì nhóm phương thức miêu tả dịch vụ mà lớp cung cấp nên chúng coi giao diện lớp Giống thuộc tính, phương thức có tính trơng thấy cơng cộng, riêng bảo vệ Hình 5.5- Một lớp với thuộc tính tiêu biểu Hình 5.6- Một lớp với thuộc tính chung riêng Hình 5.7- Một lớp với thuộc tính gía trị Hình 5.8- Một lớp gồm thuộc tính với gía trị thuộc tính phạm vi lớp Hình 5.9- Một thuộc tính với liệt kê gía trị (status) 3.4- Kí hiệu đối tượng: Đối tượng thực thể lớp nên kí hiệu dùng cho đối tượng kí hiệu dùng cho lớp Hình 5.10-Ký hiệu đối tượng Hình đọc sau: CAH đối tượng lớp AccountHolder Các thuộc tính gán giá trị, giá trị lớp thực thể hóa Chú ý kí hiệu đối tượng khơng chứa phần phương thức Hình 5.11- Các dấu hiệu hành động Hình 5.12- Các giá trị tham số 4- QUAN HỆ GIỮA CÁC LỚP Biểu đồ lớp thể lớp mối quan hệ chúng Quan hệ lớp gồm có bốn loại: - Liên hệ (Association) - Khái quát hóa (Generalization) - Phụ thuộc (Dependency) - Nâng cấp (Refinement) Một liên hệ nối kết lớp, có nghĩa nối kết đối tượng lớp Trong UML, liên hệ định nghĩa mối quan hệ miêu tả tập hợp nối Quan hệ nâng cấp cịn sử dụng để mơ hình hóa nhiều mức thực thi thứ (một thực thi đơn giản thực thi phức tạp hơn, hiệu hơn) Quan hệ nâng cấp thể đường thẳng gạch rời (dashed line) với mũi tên rỗng Hình 8.2- Quan hệ nâng cấp Quan hệ nâng cấp sử dụng việc phối hợp mơ hình Trong dự án lớn, mơ hình cần phải phối hợp với Phối hợp mơ hình sử dụng nhằm mục đích: - Chỉ mối liên quan mơ hình nhiều mức độ trừu tượng khác - Chỉ mối liên quan mơ hình nhiều giai đoạn khác (phân tích yêu cầu, phân tích, thiết kế, thực thi, ) - Hỗ trợ việc quản trị cấu hình - Hỗ trợ việc theo dõi mơ hình 9- NÂNG CẤP MƠ HÌNH QUA CÁC VỊNG LẶP KẾ TIẾP Cho tới thời điểm này, qua bước cơng việc phân tích tạo nên phiên mơ hình đối tượng Mơ hình cần phải lấy làm mục tiêu cho vịng lặp nâng cấp Cơng việc nâng cấp thực cách đưa mơ hình qua tất giai đoạn phát triển mơ hình đối tượng lần Lần này, kiến thức thu vòng phát triển đầu tỏ hữu dụng Khi nâng cấp mơ hình cần ý đến bước sau: a) Nghiên cứu lớp để tìm thuộc tính thủ tục khơng đồng dạng (dissimilar) Nếu có, xẻ lớp thành thành phần để tạo tính đồng (harmony) lớp Ví dụ với lớp đảm nhận hai vai trò khác nhau, xẻ lớp thành lớp kết với thủ tục xác định rõ ràng b) Nếu phát thấy chức không hướng tới lớp đích triệu chứng thiếu lớp Hãy bổ sung lớp thiếu đưa thủ tục kể vào lớp c) Khái qt hóa cịn chưa đủ độ có liên hệ trùng lặp (nhiều liên hệ định nghĩa quan hệ) Trong trường hợp này, cần tạo lớp cha để kết hợp mối liên hệ d) Nếu vai trị mang ý nghĩa đặc biệt quan trọng hệ thống thường cần lớp riêng Một lựa chọn khác biến liên hệ định nghĩa vai trò thành lớp liên hệ e) Nếu lớp thiếu thuộc tính lẫn thủ tục / liên hệ lớp khơng cần thiết Hãy loại bỏ lớp f) Hãy rà sát tồn hệ thống để tìm vai trị lớp cịn chưa thể Nếu có, triệu chứng thiếu liên hệ g) Nếu có liên hệ đối tượng lại chẳng thủ tục sử dụng tới liên hệ khơng cần thiết Ví dụ ta xác định liên hệ nhân viên thu ngân khách hàng lại khơng có thủ tục định nghĩa hai người Trong trường hợp này, liên hệ khơng cần thiết Một số mách bảo thực tế: - Nghiên cứu để hiểu thấu đáo vấn đề cần giải quyết: Khi xây dựng mơ hình đối tượng, khơng nên bắt đầu cách viết cấu trúc lớp, mối liên hệ mối quan hệ thừa kế lộ rõ bề mặt đập thẳng vào mắt Hãy dành thời gian nghiên cứu kỹ chất vấn đề Mơ hình đối tượng phải thiết kế để phù hợp với giải pháp cho vấn đề mà nhắm tới - Cẩn thận chọn tên: Tên cần chọn cách cẩn thận chứng nhận tồn thực thể Tên cần phải xác, ngắn gọn, tránh gây bàn cãi Tên phải thể tổng thể đối tượng không nhắm tới khía cạnh đối tượng Bất nơi có thể, chọn tên bao chứa danh từ chuyên ngành quen thuộc người sử dụng Những tên tạo hình xa vời người sử dụng, thực thể đặt tên cách tồi tệ dễ gây nhầm lẫn - Cần giữ cho mơ hình đối tượng đơn giản: Hãy kháng cự lại xu hướng tạo mơ hình phức tạp, chúng mang lại nhầm lẫn, bối rối Trong vòng đầu quy trình mơ hình hóa đối tượng, xác định mối liên hệ gạt chi tiết, việc xem xét tới số lượng thành phần tham gia (Cardinality) quan hệ để dành cho giai đoạn sau; vòng thứ hai Tốt chi tiết phản ánh số lượng thành phần tham gian quan hệ bổ sung thêm vào vòng thứ hai vịng thứ ba cơng việc mơ hình hóa đối tượng Thường thường, người ta thấy phiên mơ hình thường chứa mối liên hệ với số lượng từ 0-tới-0; 0-tới-1, 1- tới-1; 1-tới-nhiều - Nên sử dụng mối liên hệ hạn định - Tránh khái quát hóa nhiều Thường nên hạn chế ba tầng khái quát - Hãy nghiên cứu thật kỹ mối liên hệ 1-tới-nhiều Chúng thường chuyển thành quan hệ 1-tới-0 1-tới-1 - Tất mơ hình cần phải lấy làm đối tượng cho việc tiếp tục nâng cấp Nếu khơng thực vịng nâng cấp sau đó, mơ hình thiếu hoàn chỉnh - Động tác người khác xem xét lại mơ hình quan trọng Thường liên quan q cận kề với mơ hình khiến mù lịa, khơng nhận khiếm khuyết Một nhìn vơ tư trường hợp cần thiết - Không nên mô hình hóa mối liên hệ thành thuộc tính Nếu điều xảy ra, ta thường nhận thấy qua triệu chứng mơ hình thiếu liên hệ Thêm vào đó, có lúc ta bỏ qua cần thiết yếu tố hạn định Việc viết tài liệu cho mơ hình vơ quan trọng Các tài liệu cần phải nắm bắt thấu đáo nguyên nhân nằm đằng sau mơ hình trình bày chúng xác 10- CHẤT LƯỢNG MƠ HÌNH Làm để biết mơ hình tốt hay chưa tốt? Một ngơn ngữ mơ hình hóa cung cấp ngữ pháp ngữ nghĩa cho ta làm việc, khơng cho ta biết liệu mơ hình vừa tạo dựng nên tốt hay khơng Yếu tố mở vấn đề quan trọng việc xác định chất lượng mơ hình Điều chủ chốt thiết kế mơ hình thứ muốn nói thực Mơ hình mang lại diễn giải cho mà nghiên cứu (hiện thực, viễn cảnh ) Trong mơ hình, yếu tố quan trọng bật phải nắm bắt chất vấn đề Trong hệ thống tài chính, thường mơ hình hóa hóa đơn khơng phải nợ Trong đa phần doanh nghiệp, thân hóa đơn khơng thật có tầm quan trọng đến vậy, yếu tố quan trọng nợ Một hóa đơn thể nợ, ta cần phải mơ hình hóa để phản ánh điều Một khái niệm khác tài khoản nhà băng Trong năm 70 80 có nhiều mơ hình thể tài khoản nhà băng Khách hàng (chủ nhân tài khoản nhà băng) coi thành phần tài khoản (một tài khoản nhà băng mơ hình hóa lớp thực thể khách hàng thuộc tính) Khó khăn xảy nhà băng khơng thể xử lý tài khoản có nhiều chủ Vấn đề thứ hai nhà băng tạo chiến lược maketing nhắm tới khách hàng khơng có tài khoản nhà băng họ khơng có địa Vì vậy, khía cạnh chất lượng mơ hình tính thích hợp mơ hình Một mơ hình thích hợp phải nắm bắt khía cạnh quan trọng đối tượng nghiên cứu Những khía cạnh khác việc đánh giá chất lượng mơ hình phải dễ giao tiếp, phải có mục tiêu cụ thể, dễ bảo quản, mang tính vững bền có khả tích hợp Nhiều mơ hình hệ thống có mục đích khác (hoặc hướng nhìn khác nhau) phải có khả tích hợp với Dù sử dụng phương pháp ngơn ngữ mơ hình hóa nào, ta cịn phải đối mặt với vấn đề khác Khi tạo dựng mơ hình, trở thành phần doanh nghịêp, có nghĩa cần phải quan sát hiệu ứng can thiệp vào doanh nghiệp Yếu tố quan trọng cần phải xử lý tất khía cạnh can thiệp ví dụ sách, văn hóa, cấu trúc xã hội suất Nếu khơng làm điều này, ta khơng có khả phát nắm bắt tất địi hỏi cần thiết từ phía khách hàng (cần ý phát biểu yêu cầu đưa khơng phải xác khách hàng thực cần) Hãy đặc biệt ý đến vấn đề với sách nội bộ, mẫu hình xã hội, cấu trúc khơng thức lực bao quanh khách hàng 10.1- Thế mơ hình tốt? Một mơ hình mơ hình tốt ta có khả giao tiếp với nó, phù hợp với mục đích nắm bắt điểm cốt yếu vấn đề Một mơ hình tốt địi hỏi thời gian xây dựng; bình thường tạo nhóm phát triển, thành lập với mục đích cụ thể Một mục đích huy động toàn lực lượng để phát yêu cầu quan Một mục đích khác mơ hình hóa đặc tả yêu cầu, thực giai đoạn phân tích, hay vẽ thiết kế kỹ thuật cho hệ thống thông tin Khi cá nhân khác tập hợp thành nhóm, động tác cần phải thực tập trung vào mục tiêu định trước Các nhóm để mơ hình hóa doanh nghịêp hệ thống thơng tin tạo khách hàng, chun gia mơ hình hóa chuyên gia ứng dụng 10.2- Ta giao tiếp với mơ hình? Tại mơ hình lại phải thứ dễ giao tiếp? Tất dự án, dù lớn hay nhỏ, cần phải giao tiếp Con người ta nói chuyện với Họ đọc tài liệu thảo luận nội dung chúng Sáng kiến khởi thủy nằm đằng sau mơ hình để tạo khả giao tiếp với chúng Nếu tạo mơ hình mà khơng đọc nổi, hiểu nổi, việc làm vơ ý nghĩa Mơ hình tạo người dẫn đầu phương pháp người dẫn đầu dự án lệnh Mơ hình tạo để phục vụ cho việc giao tiếp tập hợp cố gắng để đạt đến suất, hiệu chất lượng cao 10.3- Mơ hình có phù hợp với mục đích khơng? Một mơ hình hình cần phải có mục đích rõ ràng, cho dùng nhận Tất mơ hình có mục đích, thường mục đích ngầm ẩn, điều khiến cho việc sử dụng hiểu trở nên khó khăn Các mơ hình phân tích mơ hình thiết kế mơ hình hệ thống, chúng mơ hình khác tập trung vào chủ đề khác (hay chi tiết khác nhau) Cần phải xác định rõ ràng mục đích cho mơ hình để kiểm tra phê duyệt Nếu khơng có mục đích rõ ràng, ví dụ thẩm tra mơ hình hình phân tích thể mơ hình thiết kế 10.4- Nắm bắt điểm trọng yếu Nhiều mơ hình bao gồm tài liệu doanh nghiệp – ví dụ hóa đơn, thơng tin nhận được, hợp đồng bảo hiểm Nếu mơ hình bao gồm tài liệu điều xảy doanh nghiệp thay đổi? Đây vấn đề quan trọng thực tế Chúng ta cần thiết phải nắm bắt chất doanh nghiệp (tạo nên phần nhân) mơ hình xoay quanh khái niệm thiết yếu để có khả xử lý thay đổi cách thích hợp Hãy mơ hình hóa phần nhân doanh nghiệp sau đến mơ hình diễn giải phần nhân Một phần nhân mơ hình hóa, thay đổi nho nhỏ doanh nghiệp xử lý qua việc sửa đổi lớp diễn giải loại đối tượng thuộc phần nhân (ví dụ hóa đơn diễn giải nợ) 10.5- Phối hợp mơ hình Các mơ hình khác hệ thống phải có khả kết hợp liên quan đến Một khía cạnh phối hợp mơ hình tích hợp Tích hợp có nghĩa nhóm mơ hình chung mục đích thể thứ (mặc dù chúng có nhiều hướng nhìn khác nhau, ví dụ mơ hình động, mơ hình chức năng, mơ hình tĩnh), chúng phải có khả ráp lại với mà không làm nảy sinh mâu thuẫn Quan hệ mơ hình mức độ trừu tượng khác khía cạnh quan trọng khác Nó chìa khóa dẫn đến khả theo dõi bước phát triển phần tử khác nhau, phục vụ cho cơng nghệ lập trình Quan hệ mức độ trừu tượng khác thể quan hệ nâng cấp UML Điều có nghĩa mơ hình phối hợp mức độ trừu tượng phối hợp mức độ trừu tượng khác 10.6- Độ phức tạp mơ hình Ngay mơ hình dễ dàng giao tiếp, có mục đích rõ ràng, nắm bắt điểm trọng yếu phạm vi vấn đề phối hợp với nhau, ta gặp khó khăn mơ hình q phức tạp Những mơ hình phức tạp khó nghiên cứu, khó thẩm tra, khó phê duyệt khó bảo trì Sáng kiến tốt bắt đầu với mơ hình đơn giản, sau chi tiết hóa nhiều cách sử dụng việc phối hợp mơ hình Nếu chất phạm vi vấn đề phức tạp, xẻ mơ hình thành nhiều mơ hình khác (sử dụng tiểu mơ hình – tức gói) cố gắng để qui trình kiểm sốt tình 11- TĨM TẮT VỀ MƠ HÌNH ĐỐI TƯỢNG Khi tạo mơ hình diễn giải chi tiết mà nghiên cứu, yếu tố quan trọng mơ hình phải nắm bắt điểm trọng yếu đối tượng nghiên cứu Một đối tượng thứ mà nói xử lý số phương thức Một đối tượng tồn giới thực (hoặc nói cho xác hiểu biết giới thực) Một đối tượng thành phần hệ thống giới – máy, tổ chức, doanh nghịêp Một lớp lời miêu tả từ 0, nhiều đối tượng với lối ứng xử Lớp đối tượng sử dụng để bàn luận hệ thống Khi mô hình hóa, sử dụng ngơn ngữ mơ hình hóa ví dụ UML, cung cấp cho ngữ pháp ngữ nghĩa để tạo dựng mô hình Ngơn ngữ mơ hình hóa khơng thể cho biết liệu tạo mơ hình tốt hay khơng Chất lượng mơ hình cần phải ý riêng biệt, điều có nghĩa tất mơ hình cần phải có mục đích rõ ràng xác chúng phải nắm bắt chất đối tượng nghiên cứu Tất mơ hình cần phải để dễ giao tiếp, dễ thẩm tra, phê duyệt bảo trì UML cung cấp mơ hình tĩnh, động theo chức Mơ hình tĩnh thể qua biểu đồ lớp, bao gồm lớp mối quan hệ chúng Quan hệ liên hệ, khái quát hoá, phụ thuộc nâng cấp Một mối quan hệ liên hệ nối kết lớp, có nghĩa nối kết đối tượng lớp Khái quát hóa quan hệ phần tử mang tính khái quát phần tử mang tính chuyên biệt Phần tử mang tính chuyên biệt chứa thơng tin bổ sung Một thực thể (một đối tượng thực thể lớp) phần tử chuyên biệt sử dụng nơi mà thực thể phần tử khái quát cho phép Phụ thuộc mối quan hệ hai phần tử, mang tính độc lập mang tính phụ thuộc Mỗi thay đổi phần tử độc lập gây tác động đến phần tử phụ thuộc Một quan hệ nâng cấp quan hệ hai lời miêu tả thứ mức độ trừu tượng khác PHẦN CÂU HỎI Hỏi: Khi tạo dựng mơ hình, cần sử dụng khái niệm phạm vi vấn đề để mơ hình dễ hiểu dễ giao tiếp Đáp: Đúng Hỏi: Các lớp thể cấu trúc thông tin? Đáp: sai, lớp thể cấu trúc thông tin mà cịn mơ tả hành vi Hỏi: Các khái niệm then chốt thường trở thành lớp mơ hình phân tích? Đáp: Đúng Hỏi: Thường danh từ lời phát biểu toán ứng cử viên để chuyển thành lớp đối tượng? Đáp: Đúng Hỏi: Quan hệ kết hợp (Association) lớp định nghĩa mối liên quan tồn đối tượng? Đáp: Đúng, ví dụ mối quan hệ kết hợp nối kết lớp, có nghĩa nối kết đối tượng lớp Hỏi: Kết tập biểu thị quan hệ lớp dựa tảng nguyên tắc "một tổng thể tạo thành phận" Đáp: Đúng, sử dụng muốn tạo nên thực thể cách tập hợp thực thể tồn với Hỏi: Khái quát hoá sử dụng để tạo lớp con? Đáp: Sai, khái quát hoá trình lớp chuyên biệt khiến ngày mang tính khái qt cao (lớp cha) Hỏi: Chuyên biệt hoá bổ sung thêm chi tiết đặc tả cho lớp kết quả? Đáp: Đúng, chun biệt hố q trình tinh chế lớp thành lớp chuyên biệt (lớp con) ... lớp Hình 5.9- Một thuộc tính với liệt kê gía trị (status) 3.4- Kí hiệu đối tượng: Đối tượng thực thể lớp nên kí hiệu dùng cho đối tượng kí hiệu dùng cho lớp Hình 5.10-Ký hiệu đối tượng Hình. .. đồ đối tượng hình 5.25, với tên đối tượng 5- LIÊN HỆ (ASSOCIATION) Một liên hệ nối kết lớp, liên quan ngữ nghĩa đối tượng lớp tham gia Liên hệ thường thường mang tính hai chiều, có nghĩa đối tượng. .. trọng mơ hình phải nắm bắt điểm trọng yếu đối tượng nghiên cứu Một đối tượng thứ mà nói xử lý số phương thức Một đối tượng tồn giới thực (hoặc nói cho xác hiểu biết giới thực) Một đối tượng thành