D) CÁC CÁCH BIỂU DIỄN CỦA MÔ HÌNH PHÂN TÍCH
c. Khái quát hóa và kế thừa giữa các lớp đối tượng
Các lớp đối tượng có thể được sắp xếp trong một cây kế thừa để chỉ ra mối quan hệ giữa các lớp đối tượng chung và các lớp đối tượng đặc trưng. Những đối tượng ở lớp con sẽ giữ nguyên các phương thức và thuộc tính của lớp cha, ngoài ra nó còn có thể bổ sung thêm các phương thức và thuộc tính mới của riêng nó. Trong UML, mũi tên chỉ từ lớp con đến lớp cha thể hiện lớp mà nó được kế thừa. Trong các ngôn ngữ lập trình hướng đối tượng, sự tổng quát hóa được thực hiện bằng cách sử dụng mô hình kế thừa. Các lớp con được kế thừa các phương thức và thuộc tính của lớp cha.
Hình 6.17 là một ví dụ về một cây đối tượng kế thừa chỉ ra các lớp nhân viên khác nhau. Các lớp thấp hơn trong cây kế thừa có các thuộc tính và phương thức của lớp cha nhưng có thêm một số thuộc tính và phương thức mới hoặc thay đổi một số thông tin của lớp cha.
Hình 6-17. Mô hình kế thừa của lớp nhân viên trong một công ty phần mềm
Lớp Manager trong hình trên có tất cả các thuộc tính và phương thức của lớp Employee, nhưng thêm vào đó, nó có hai thuộc tính mới để lưu ngân sách được sử dụng bởi người quản lý và ngày mà người quản lý được chỉ định để giữ vai trò này. Tương tự như vậy, lớp lập trình viên cũng được bổ xung thêm thuộc tính mới để thể hiện dự án mà người đó đang tham gia, cũng như những kỹ năng nghề nghiệp của người đó. Các đối tượng của các lớp Manager và Programmer
được sử dụng ở bất kỳ đâu khi một đối tượng của lớp nhân viên được yêu cầu.
Employee Manager budgetsControlled dateAppointed Programmer Project progLanguages Project Manager projects Dept. Manager dept Strategic Manager responsibilities
Ưu điểm: Mô hình kế thừa trong hướng đối tượng giống như một máy ảo và có thể được sử dụng để phân lớp các thực thể. Đây là một kỹ thuật tái sử dụng ở cả mức thiết kế và mức lập trình. Sơ đồ kế thừa là cơ sở của kiến thức tổ chức về hệ thống và lĩnh vực ứng dụng.
Tuy nhiên, kế thừa cũng có các nhược điểm như: các lớp đối tượng không độc lập, không thể hiểu được nếu thiếu sự tham chiếu đến lớp cha của nó. Những người làm thiết kế có khuynh hướng sử dụng lại sơ đồ kế thừa được tạo ra trong quá trình phân tích. Có thể dẫn tới việc thực hiện không hiệu quả.
6.3.3. Tiến trình thiết kế hướng đối tượng
Để minh họa tiến trình thiết kế hướng đối tượng, chúng ta cùng phân tích quá trình thiết kế một phần mềm điều khiển nhúng trong hệ thống trạm dự báo thời tiết tự động. Hoạt động thiết kế hướng đối tượng về cơ bản bao gồm các bước sau:
Hiểu và xác định ngữ cảnh và các mô hình của việc sử dụng của hệ thống;
Thiết kế kiến trúc hệ thống;
Xác định những đối tượng chính trong hệ thống;
Xây dựng các mô hình thiết kế;
Đặc tả giao diện của đối tượng.
Các hoạt động này được mô tả riêng biệt. Tuy nhiên trên thực tế, tất cả những hoạt động nói trên đượcđan xen vào nhau nên nó ảnh hưởng tới những hoạt động khác. Các đối tượng được xác định và các giao diện được đặc tả một phần hoặc đầy đủ khi kiến trúc của hệ thống đã được xác định. Khi các mô hình đối tượng được sinh ra, các định nghĩa đối tượng đặc biệt này có thể được làm mịn dần, điều này có thể làm thay đổi kiến trúc hệ thống.