[Hệ thống thông tin] Phân tích dữ liệu - phần 1


Biểu đồ lớp thuộc quan sát logic, thông thường mỗi hệ thống sẽ có vài biểu đồ lớp.Class diagram là xương sống của hầu như tất cả các phương pháp hướng đối tượng, bao gồm cả UML. Chúng mô tả các cấu trúc tĩnh của hệ thống.






Biểu đồ lớp (Class diagram)

Một biểu đồ lớp là một dạng mô hình tĩnh. Một biểu đồ lớp miêu tả hướng nhìn tĩnh của một hệ thống bằng các khái niệm lớp và mối quan hệ giữa chúng với nhau. Mặc dù nó cũng có những nét tương tự với một mô hình dữ liệu, nhưng nên nhớ rằng các lớp không phải chỉ thể hiện cấu trúc thông tin mà còn miêu tả cả hình vi. Một trong các mục đích của biểu đồ lớp là tạo nền tảng cho các biểu đồ khác, thể hiện các khía cạnh khác của hệ thống (ví dụ như trạng thái của đối tượng hay cộng tác động giữa các đối tượng, được chỉ ra trong các biểu đồ động). Một lớp trong một biểu đồ lớp có thể được thực thi trực tiếp trong một 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ỉ chỉ ra các lớp, nhưng bên cạnh đó còn có một biến tấu hơi khác đi một chút chỉ ra các đối tượng thật sự là các thực thể của các lớp này (biểu đồ đối tượng). 


Class Name
{Attributes ;
           public Operation;
}

Để tạo một biểu đồ lớp, đầu tiên ta phải nhận diện và miêu tả các lớp. Một khi đã có một số lượng các lớp, ta sẽ xét đến quan hệ giữa các lớp đó với nhau.
Tên lớp được in đậm (bold) và căn giữa. Tên lớp phải được dẫn xuất từ phạm vi vấn đề và rõ ràng như có thể. Vì thế nó là danh từ, ví dụ như tài khoản, nhân viên ...
Lớp có thuộc tính 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ư Integer, Boolean, Floats, Char, …
Thuộc tính có thể có nhiều mức độ trông thấy được (visibility) khác nhau, miêu tả liệu thuộc tính đó có thể được truy xuất từ các lớp khác, khác với lớp định nghĩa ra nó. Nếu thuộc tính có tính trông thấy là công cộng (public), thì nó có thể được nhìn thấy và sử dụng ngoài lớp đó. Nếu thuộc tính có tính trông thấy là riêng (private), bạn sẽ không thể truy cập nó từ bên ngoài lớp đó. Một tính trông thấy khác là bảo vệ (protected), được sử dụng chung với công cụ khái quát hóa và chuyên biệt hóa. Nó cũng giống như các thuộc tính riêng nhưng được thừz kế bởi các lớp dẫn xuất.
Trong UML, thuộc tính công cộng mang kí hiệu "+" và thuộc tính riêng mang dấu "-".
Giá trị được gán cho thuộc tính có thể là một cách để miêu tả trạng thái của đối tượng. Mỗi lần các giá trị này thay đổi là biểu hiện cho thấy có thể đã xảy ra một sự thay đổi trong trạng thái của đối tượng.
Lưu ý: Mọi đặc điểm của một thực thể là những thông tin cần lưu trữ đều có thể chuyển thành thuộc tính của lớp miêu tả loại thực thể đó.
Phương thức định nghĩa các hoạt động mà lớp có thể thực hiện. Tất cả các đối tượng được tạo từ một lớp sẽ có chung thuộc tính và phương thức. Phương thức được sử dụng để xử lý thay đổi các thuộc tính cũng như thực hiện các công việc khác. Phương thức thường được gọi là các hàm (function), nhưng chúng 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. Một phương thức được miêu tả qua tên, giá trị trả về và danh sách của 0 cho tới nhiều tham số. Lúc thi hành, phương thức được gọi kèm theo một đối tượng của lớp. Vì nhóm các phương thức miêu tả những dịch vụ mà lớp có thể cung cấp nên chúng được coi là giao diện của lớp này. Giống như thuộc tính, phương thức cũng có tính trông thấy được như công cộng, riêng và bảo vệ.




class Car
{String registration;
CarData data;
Integer speed;
Direction direction;}

Ø  Dùng thẻ CRC để xác định các lớp đối tượng có trong hệ thống.
Trong nhiều năm, các thẻ CRC (class-responsibility-collaboration card) đã được sử dụng trong pha phân tích hướng đối tượng. Đối với mỗi lớp, nhóm phát triển điền vào các thông tin như: tên lớp, các chức năng của lớp (responsibility) và danh sách các lớp gọi đến các chức năng của lớp này (collaboration). Cách tiếp cận này về sau đã được mở rộng. Trước hết thẻ CRC bao hàm một cách tường minh các thuộc tính và các phương thức của lớp, chứ không chỉ là các chức năng được mô tả bằng ngôn ngữ tự nhiên. Công nghệ cũng thay đổi. Thay vì sử dụng các thẻ, một số công ty phần mềm ghi tên các lớp trên các mẫu giấy ghi chú (Post-it note) rồi dịch chuyển vòng quanh trên bảng trắng; các đoạn thẳng được vẽ trên bảng nối các mẫu giấy để biểu thị sự tương tác. Ngày nay toàn bộ cách làm này đã được tự động hóa: các công cụ CASE như System Architect có chứa các module có thể tạo ra và cập nhật các thẻ CRC trên màn hình.
Điểm mạnh của thẻ CRC là, khi làm việc theo nhóm thì nhờ sự trao đổi giữa các thành viên có thể phát hiện ra những điều còn thiếu hay không chính xác trong các lớp. Mối quan hệ giữa các lớp cũng được làm rõ. Điểm mạnh nhất của kỹ thuật này là có thể phân phát các thẻ cho các thành viên, mỗi thành viên sẽ xem xét kỹ hơn các lớp mà họ chịu trách nhiệm, đồng thời có thể xem xét và có ý kiến đóng góp cho các lớp khác. Nhờ sự làm việc trong sự trao đổi hợp tác như vậy, biểu đồ lớp sẽ được đầy đủ và chính xác hơn.
Điểm yếu của kỹ thuật CRC là không có phương pháp tốt để nhận diện các lớp, nếu các thành viên không am hiểu nhiều về lĩnh vực ứng dụng tương ứng. Tuy nhiên, nếu bằng cách nào đó các nhà phát triển đã xác định được khá nhiều lớp thì thông qua sự cộng tác, trao đổi thẻ CRC là công cụ tuyệt vời để bảo đảm rằng mô hình lớp đưa ra là đầy đủ và chính xác.
Xác định cách làm - như thế nào. Trong giai đoạn này chúng ta cần phải xác định các đặc tính của các lớp. Một trong các kỹ thuật được ứng dụng nhiều nhất đó là Thẻ tương tác - tính chất-lớp Class-Responsibility-Collaboration (CRC) card. Mỗi thẻ thể hiện một lớp, trên thẻ chúng ta lưu lại các thông tin sau về các lớp:
Khuôn dạng thẻ CRC như sau:

Class Name
Responsibility(Trách nhiệm của lớp)
Collaboration(Tương tác của lớp)



1. Tên của lớp. Thông thường người ta đặt tên lớp liên quan đến vai trò của lớp, chúng ta sẽ sử dụng lớp để làm gì.
2. Trách nhiệm của lớp: lớp có thể làm gì. Thông thường các thông tin ở đây bao gồm tên của các hàm thành phần – Tri thức mà lớp đó quản lý

3. Tương tác của lớp: lớp này có thể tương tác được với những lớp nào khác.

Mới hơn Cũ hơn

Biểu mẫu liên hệ