Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 5: Biểu đồ lớp

pdf 25 trang phuongnguyen 1810
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 5: Biểu đồ lớp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_phat_trien_he_thong_thong_tin_kinh_te_chuong_5_bie.pdf

Nội dung text: Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 5: Biểu đồ lớp

  1. PHÁT TRIỂN HỆ THỐNG THÔNG TIN KINH TẾ • Phân tích hệ thống Phần 2 Chương 3: Xác định yêu cầu hệ thống Chương 4: Mô hình nghiệp vụ Hướng đối tượng Chương 5: Biểu đồ lớp
  2. Chương 5: Biểu đồ lớp 1. Ý nghĩa 2. Ký hiệu 3. Cách xây dựng 4. Ví dụ minh họa 2
  3. 1. Ý nghĩa 2. Ký hiệu 3. Cách xây dựng 4. Ví dụ minh họa  Biểu đồ lớp là một trong những biểu đồ quan trọng nhất, có tính quyết định trong tiến trình phát triển phần mềm hướng đối tượng, được dùng để mô hình hóa thuộc tính và hành vi của các đối tượng trong hệ thống.  Biểu đồ lớp cũng có những nét tương tự với một mô hình dữ liệu, nhưng nó không những chỉ thể hiện cấu trúc thông tin mà còn miêu tả cả hình vi của một đối tượng. 3
  4. 1. Ý nghĩa 2. Ký hiệu 1. Lớp 3. Cách xây dựng 2. Mối quan hệ 4. Ví dụ minh họa  Lớp là một lời miêu tả của một nhóm các đối tượng có chung thuộc tính, chung phương thức, chung các mối quan hệ với các đối tượng khác. Mỗi đối tượng là một thực thể của một và chỉ một lớp nhất định.  Lớp được ký hiệu bằng hình chữ nhật có 3 ngăn: – Ngăn thứ nhất chứa tên lớp, – Ngăn thứ hai chứa các thuộc tính còn gọi là các dữ liệu thành phần, – Ngăn thứ ba chứa các phương thức còn gọi là các hàm thành phần. 4
  5. 1. Ý nghĩa 2. Ký hiệu 1. Lớp 3. Cách xây dựng 2. Mối quan hệ 4. Ví dụ minh họa  Tên lớp– Class Name: là danh từ mang tính khái quát hóa, ví dụ Tài khoản, Nhân viên  Thuộc tính – Attribute: có tác dụng miêu tả những đặc điểm của đối tượng, giá trị của thuộc tính thường là những dạng dữ liệu đơn giản được đa phần các ngôn ngữ lập trình hỗ trợ như số nguyên, số thực, ký tự Phạm vi truy nhập của thuộc tính có ba kiểu xác định gồm: – Thuộc tính kiểu public : được phép truy nhập từ các lớp bên ngoài. – Thuộc tính kiểu private : không cho phép truy nhập từ các lớp bên ngoài. – Thuộc tính khóa protected  Phương thức – Methods: định nghĩa các hoạt động mà lớp có thể thực hiện trên tập dữ liệu là các thuộc tính của lớp. Phương thức nằm trong một lớp và chỉ có thể được áp dụng cho các đối tượng của lớp này. 5
  6. 1. Ý nghĩa 2. Ký hiệu 1. Lớp 3. Cách xây dựng 2. Mối quan hệ 4. Ví dụ minh họa  Trong biểu đồ lớp quan hệ giữa các lớp gồm: – Liên kết – Association – Tổng quát hóa – Generalization – Phụ thuộc – Dependency 6
  7. 1. Ý nghĩa 2. Ký hiệu 1. Lớp 3. Cách xây dựng 2. Mối quan hệ 4. Ví dụ minh họa Quan hệ liên kết - Association  Giữa các cá thể của hai lớp có tồn tại những sự ghép cặp phản ánh một mối liên hệ nào đó trong thực tế. Mối liên hệ đó được thể hiện thông qua quan hệ liên kết.  Quan hệ liên kết được ký hiệu bằng một đường thẳng nét liền nối hai lớp, bên trên có thể chứa tên của liên kết và tại mỗi đầu của liên kết có một cơ số cho biết số cá thể tối thiểu và tối đa của đầu đó tham gia liên kết với một cá thể ở đầu bên kia.  Các giá trị cơ số thường dùng là: – 1 một và chỉ một – 0 1 không hay một – m n từ m tới n (m và n là các số tự nhiên) – 0 * hay * từ không tới nhiều – 1 * từ một tới nhiều 7
  8. 1. Ý nghĩa 2. Ký hiệu 1. Lớp 3. Cách xây dựng 2. Mối quan hệ 4. Ví dụ minh họa Quan hệ liên kết - Association  Tên liên kết thường là một động từ, nghĩa của động từ đó thường chỉ đúng về một phía liên kết, do đó ta thường gắn vào tên đó một tam giác đặc để chỉ hướng áp dụng (hay).  Ví dụ: – Một bác sĩ làm việc tại ít nhất 0 bệnh viện và nhiều nhất là nhiều bệnh viện. – Một bệnh viện có ít nhất 1 bác sĩ và có nhiều nhất là nhiều bác sĩ. – Một nhân viên có ít nhất 1 chuyên môn và nhiều nhất là nhiều chuyên môn. – Một chuyên môn thuộc về ít nhất 0 nhân viên và có nhiều nhất là nhiều nhân viên. 8
  9. 1. Ý nghĩa 2. Ký hiệu 1. Lớp 3. Cách xây dựng 2. Mối quan hệ 4. Ví dụ minh họa Quan hệ liên kết – Association Mối liên kết kết nhập – Aggregation  Thông thường trong một liên kết, hai bên tham gia được xem là bình đẳng không bên nào được nhấn mạnh hơn bên nào. Tuy nhiên cũng có lúc ta muốn mô hình hoá mối quan hệ “toàn thể/bộ phận” giữa các lớp, khi đó ta dùng một loại liên kết đặc biệt được gọi là kết nhập.  Trong liên kết kết nhập, một bộ phận không nhất thiết xác định cái toàn thể duy nhất chứa nó và không nhất thiết phải có sự gắn kết thời gian sống giữa toàn thể và bộ phận. Tức là lớp A là một phần của lớp B nhưng lớp A có thể tồn tại độc lập với lớp B.  Liên kết kết nhập được biểu diễn bằng cách thêm một hình thoi rỗng vào một đầu của liên kết về phía lớp toàn thể. Ví dụ 1: Lớp chuyên môn là một phần của lớp nhân viên, nhưng lớp chuyên môn tồn tại độc lập với lớp nhân viên. 9
  10. 1. Ý nghĩa 2. Ký hiệu 1. Lớp 3. Cách xây dựng 2. Mối quan hệ 4. Ví dụ minh họa Quan hệ liên kết – Association Mối liên kết hợp thành– Composition  Hợp thành là một loại kết nhập đặc biệt với quan hệ sở hữu mạnh hơn, trong đó một bộ phận chỉ thuộc vào một cái toàn thể duy nhất và cái toàn thể có trách nhiệm tạo lập và huỷ bỏ cái bộ phận. Như vậy khi cái toàn thể bị huỷ bỏ thì cái bộ phận cũng buộc phải huỷ bỏ theo.  Hợp thành được biểu diễn bằng cách thay hình thoi rỗng trong kết nhập bởi hình thoi đặc.  Ví dụ: Đối tượng khoa là một phần của đối tượng trường đại học, và sự tồn tại của đối tượng khoa phụ thuộc vào sự tồn tại của đối tượng trường đại học. 10
  11. 1. Ý nghĩa 2. Ký hiệu 1. Lớp 3. Cách xây dựng 2. Mối quan hệ 4. Ví dụ minh họa Quan hệ tổng quát hóa - Generalization  Tổng quát hoá là sự rút ra các đặc điểm chung của nhiều lớp con để tạo thành một lớp giản lược hơn gọi là lớp cha.  Mối quan hệ tổng quát hoá được ký hiệu bởi một đường mũi tên hình tam giác rỗng chỉ về phía cha.  Ví dụ: xét hai lớp Sinh viên và Giáo viên ta thấy có những thuộc tính chung như Tên, Mã số nên có thể rút ra để lập một lớp có tên là Người dùng. 11
  12. 1. Ý nghĩa 2. Ký hiệu 1. Lớp 3. Cách xây dựng 2. Mối quan hệ 4. Ví dụ minh họa Quan hệ phụ thuộc - Dependency  Phụ thuộc là mối quan hệ giữa hai lớp đối tượng A và B, trong đó A có tính độc lập và một lớp đối tượng B phụ thuộc vào A, mọi sự thay đổi của A sẽ ảnh hưởng đến lớp phụ thuộc B.  Quan hệ phụ thuộc được ký hiệu bằng đường mũi tên nét đứt, trỏ về phía lớp độc lập.  Ví dụ, trong hệ thống quản lý sinh viên, lớp Khen thưởng kỷ luật sẽ đưa ra các mức xếp loại kết quả học tập của sinh viên, dựa vào giá trị tổng điểm các môn học của sinh viên trong lớp Điểm. Như vậy mối quan hệ giữa lớp Khen thưởng kỷ luật và lớp Điểm là quan hệ phụ thuộc. 12
  13. 1. Ý nghĩa 1. Xác định các lớp ứng cử viên 2. Ký hiệu 2. Thanh lọc các lớp ứng cử viên 3. Xác định thuộc tính 3. Cách xây dựng 4. Xác định phương thức 4. Ví dụ minh họa 5. Vẽ biểu đồ lớp trong Rational Rose  Nguyên tắc cơ bản thường được áp dụng là xác định các đối tượng xuất hiện trong các lời phát biểu của khách hàng hoặc nhờ sự trợ giúp của các chuyên gia.  Ví dụ xét lời phát biểu: "Nhân viên bộ phận kho tiến hành nhập vật tư vào kho" trong ca sử dụng Cập nhật vật tư, ta thấy xuất hiện 3 đối tượng là: Nhân viên, Vật tư và Kho. Chúng có thể là các lớp tiềm năng cho hệ thống quản lý kho vật tư.  Hoặc xét lời phát biểu "Khi khách hàng có nhu cầu gửi tiền tiết kiệm, nhân viên yêu cầu khách hàng điền vào phiếu đề nghị gửi tiền sau đó nhận tiền và tạo một sổ tiết kiệm cho khách hàng" trong ca sử dụng Gửi tiền, ta thấy có các đối tượng là: Khách hàng, Nhân viên, Phiếu đề nghị gửi tiền, Tiền, Sổ tiết kiệm. Đây có thể là các lớp tiềm năng cho hệ thống quản lý ngân hàng.  Một nguồn khác để nhận ra lớp là các đầu vào và đầu ra của hệ thống, ví dụ nếu đầu vào bao gồm tên khách hàng thì đây là tín hiệu cho biết sự tồn tại của một đối tượng khách hàng, bởi nó là một thuộc tính của khách hàng.  Giai đoạn đầu khi định nghĩa các lớp ứng cử viên, ta tập trung vào mục tiêu nghiên cứu tổng quát và toàn diện các đối tượng từ nhiều nguồn thông tin khác nhau để không bỏ sót những khía cạnh cần xử lý. 13
  14. 1. Ý nghĩa 1. Xác định các lớp ứng cử viên 2. Ký hiệu 2. Thanh lọc các lớp ứng cử viên 3. Xác định thuộc tính 3. Cách xây dựng 4. Xác định phương thức 4. Ví dụ minh họa 5. Vẽ biểu đồ lớp trong Rational Rose Sau khi đã xác định được tất cả các lớp ứng cử viên có thể có, ta tiến hành loại bỏ các lớp ứng cử viên không thích hợp bao gồm các lớp như sau:  Lớp dư, thừa: Khi có hơn một lớp định nghĩa cùng một thực thể, nên giữ lại lớp tốt nhất và loại bỏ những lớp khác. Ví dụ, trong một nhà băng có hai lớp chủ tài khoản và khách hàng, cả hai lớp biểu hiện cùng một thực thể nên vì thế chỉ cần giữ lại một.  Lớp không thích hợp: Lớp định nghĩa ra những thực thể không liên quan đến phạm vi ứng dụng của hệ thống cần phải được loại bỏ. Ví dụ, lớp của các máy đếm tiền trong một nhà băng có thể là một ứ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à các lớp không có chức năng cụ thể , các lớp này cần phải được định nghĩa lại hoặc loại bỏ. Ví dụ quan sát nhiều bộ phận khác nhau trong một nhà băng ABC, một trong những bộ phận đã được nhận diện có thể là bộ phận hành chính. Vì phạm vi cho quá trình vi tính hóa của nhà băng hiện thời chưa bao gồm mảng hành chính nên lớp này có thể được coi là một lớp không rõ ràng.  Các lớp chỉ là vai trò đối với một lớp khác: Hãy loại bỏ tất cả các vai trò và giữ lại lớp chính. Ví dụ nhà quản trị, nhân viên thu ngân rất có thể chỉ là vai trò của lớp nhân viên. Hãy giữ lại lớp nhân viên và loại bỏ tất cả những lớp khác chỉ là vai trò. 14
  15. 1. Ý nghĩa 1. Xác định các lớp ứng cử viên 2. Ký hiệu 2. Thanh lọc các lớp ứng cử viên 3. Xác định thuộc tính 3. Cách xây dựng 4. Xác định phương thức 4. Ví dụ minh họa 5. Vẽ biểu đồ lớp trong Rational Rose Dựa trên tập các lớp đã được xác định, người phát triển hệ thống tiếp tục nghiên cứu kỹ các biểu mẫu liên quan và bản khảo sát yêu cầu người dùng để trả lời các câu hỏi sau:  Với mỗi lớp, những danh từ nào mô tả thông tin của lớp đó? Trả lời câu hỏi này sẽ giúp ta tìm ra các thuộc tính của lớp. ví dụ lớp NCC có các thông tin như mã NCC, tên NCC, địa chỉ, điện thoại  Những thông tin nào của lớp thực sự liên quan đến lĩnh vực hoạt động của hệ thống? Trả lời câu hỏi này giúp ta loại bỏ các thuộc tính không cần thiết.  Những thông tin nào là thông tin riêng của lớp? (các thuộc tính private), những thông tin nào có thể chia sẻ trong mối quan hệ với lớp khác? (các thuộc tính protected hoặc public). 15
  16. 1. Ý nghĩa 1. Xác định các lớp ứng cử viên 2. Ký hiệu 2. Thanh lọc các lớp ứng cử viên 3. Xác định thuộc tính 3. Cách xây dựng 4. Xác định phương thức 4. Ví dụ minh họa 5. Vẽ biểu đồ lớp trong Rational Rose  Để xác định phương thức, nhà phát triển hệ thống xác định các động từ đi kèm với các danh từ biểu diễn lớp trong các kịch bản ca sử dụng và xét xem các động từ ấy có trở thành các phương thức được hay không?  Ngoài ra với mỗi lớp ta trả lời câu hỏi, các lớp có các hoạt động gì hoặc thực hiện các chức năng gì? Ví dụ lớp NCC có các chức năng như: Thêm mới NCC, sửa NCC, xóa NCC, tìm kiếm NCC  Để xác định các phương thức phức tạp ta tiến hành xem xét các thông điệp trong các biểu đồ tương tác (biểu đồ tuần tự) để xác định phương thức tương ứng với thông điệp đó. 16
  17. 1. Ý nghĩa 1. Xác định các lớp ứng cử viên 2. Ký hiệu 2. Thanh lọc các lớp ứng cử viên 3. Xác định thuộc tính 3. Cách xây dựng 4. Xác định phương thức 4. Ví dụ minh họa 5. Vẽ biểu đồ lớp trong Rational Rose  Kích chuột phải tại thư mục Use Case View, chọn New, chọn Class Diagram. Kết quả một biểu đồ lớp mới có tên là NewDiagram được tạo ra.  Đặt lại tên cho biểu đồ là NhaphangClass rồi kích đúp vào tên biểu đồ, xuất hiện cửa sổ Class Diagram: Use Case View/ NhaphangClass.  Chọn các công cụ cần thiết trên hộp công cụ rồi kích trái chuột vào vùng màn hình diagram tại vị trí thích hợp để đặt công cụ. 17
  18. 1. Ý nghĩa 1. Xác định các lớp ứng cử viên 2. Ký hiệu 2. Thanh lọc các lớp ứng cử viên 3. Xác định thuộc tính 3. Cách xây dựng 4. Xác định phương thức 4. Ví dụ minh họa 5. Vẽ biểu đồ lớp trong Rational Rose  Thêm thuộc tính cho các lớp: kích chuột phải tại lớp, chọn New Attribute. Xuất hiện một thuộc tính mới cho lớp, đặt lại tên cho thuộc tính, ví dụ Mahang. Để chọn kiểu truy cập, ta kích trái chuột tại biểu tượng cái khóa mặc định của các thuộc tính, xuất hiện bảng các kiểu truy cập sau đó chọn kiểu truy cập mong muốn.  Thêm phương thức cho các lớp: kích chuột phải tại lớp, chọn New Operation. Xuất hiện một phương thức mới cho lớp, đặt lại tên cho phương thức, ví dụ: Themmoi(). 18
  19. 1. Ý nghĩa 1. Xác định các lớp ứng cử viên 2. Ký hiệu 2. Thanh lọc các lớp ứng cử viên 3. Xác định thuộc tính 3. Cách xây dựng 4. Xác định phương thức 4. Ví dụ minh họa 5. Vẽ biểu đồ lớp trong Rational Rose  Thêm mối liên kết giữa các lớp: chọn mối liên kết phù hợp nối giữa 2 lớp, kích chuột phải tại liên kết, chọn Multiplicity rồi chọn kiểu số phần tử tham gia liên kết. 19
  20. 1. Ý nghĩa 2. Ký hiệu 3. Cách xây dựng 4. Ví dụ minh họa  Biểu đồ lớp quy trình Nhận và thẩm định hồ sơ vay vốn mua ô tô – Biểu đồ lớp tổng quát 20
  21. 1. Ý nghĩa 2. Ký hiệu 3. Cách xây dựng 4. Ví dụ minh họa  GiayDeNghiVayVon 21
  22. 1. Ý nghĩa 2. Ký hiệu 3. Cách xây dựng 4. Ví dụ minh họa  GiayDeNghiVayVon 22
  23. 1. Ý nghĩa 2. Ký hiệu 3. Cách xây dựng 4. Ví dụ minh họa  GiayDeNghiVayVon 23
  24. 1. Ý nghĩa 2. Ký hiệu 3. Cách xây dựng 4. Ví dụ minh họa Thực hiện tương tự cho:  BanCamket  PhieuTiepNhan  BienNhanTienTraTruoc  BaoCaoThamDinhKH  ThongBao 24