2011-01-13 13 views
15

Nếu tôi tạo một sơ đồ lớp khái niệm sao cho mỗi lớp bắt được 'tên' và 'thuộc tính' nhưng không phải 'hoạt động', thì về cơ bản tôi đã tạo ra cái gì sẽ được coi là một ERD? Tôi đang cố gắng để đạt được một sự hiểu biết về những gì là sự khác biệt giữa việc tạo ra một sơ đồ lớp khái niệm như tôi đã mô tả so với gọi nó là một ERD? Nếu đây vẫn là hai loài động vật khác nhau, ai đó có thể giải thích sự khác biệt là gì?Sự khác biệt giữa sơ đồ lớp UML khái niệm và ERD?

Trả lời

4

There's ít sự khác biệt trong biểu cảm của cả hai (nếu chúng ta chỉ tập trung vào các thuộc tính, các lớp học và các hiệp hội phần) nếu bạn sử dụng mở rộng sơ đồ Entity Mối quan hệ (trường hợp phổ biến nhất hiện nay)

Đúng, họ nhìn rất khác nhau ở cấp độ đồ họa vì chúng sử dụng các ký hiệu khác nhau cho các phần tử nhưng "ngữ nghĩa" khá giống nhau. Cả hai đều cho phép thừa kế (một lần nữa, tôi đang nói về EER), các hiệp hội n-ary, các lớp kết hợp, ...

+0

ERD cho phép thừa kế như thế nào ?! – Trix

+0

Như tôi đã nói, ER bắt đầu với một đề xuất ban đầu từ Peter Cheng nhưng nhanh chóng phát triển thành một gia đình hoàn chỉnh (mở rộng) ngôn ngữ ER đã thêm các tính năng mới vào ngôn ngữ như thừa kế. Vì vậy, có, một số (E) ER phiên bản cho phép thừa kế –

17

Sơ đồ lớp chỉ chứa các lớp trong mô hình đối tượng của bạn với các liên kết/mối quan hệ cuối cùng kết nối các phần tử biểu đồ. Tuy nhiên, các liên kết đó không nhất thiết phải tương ứng với các mối quan hệ vật lý như trong một sơ đồ ERD, nhưng thay vào đó chúng biểu diễn các kết nối logic.

Sơ đồ lớp chỉ là mô hình đối tượng của ứng dụng của bạn và không chứa bất kỳ thông tin cụ thể về độ bền vững nào. Khi bạn nghĩ về sơ đồ lớp, hãy quên đi cơ sở dữ liệu hoặc bất kỳ bộ nhớ nào khác mà bạn có thể sử dụng.

Sơ đồ ERD ở phía bên kia, là một sơ đồ cụ thể lưu giữ hiển thị các thực thể (bảng) tồn tại trong cơ sở dữ liệu quan hệ (thường xuyên nhất). Nó cũng hiển thị các mối quan hệ vật lý (và cardinalities) giữa các bảng đó và tất cả các thông tin cơ sở dữ liệu cụ thể khác. Biểu đồ ERD đôi khi có thể trông giống như sơ đồ lớp, nhưng điều đó không có nghĩa là giống như sơ đồ lớp.

+0

Tôi hiểu những gì bạn đang nói về sơ đồ ERD là kiên định cụ thể và sơ đồ lớp không chứa thông tin cụ thể về lâu dài, tuy nhiên tôi xem đây là một thực tế được phỏng đoán chứ không phải là hình ảnh trực quan khi xem biểu đồ cạnh nhau. Ngoài ra, bạn đề cập rằng sơ đồ lớp không chứa bất kỳ loại mối quan hệ rõ ràng nào giữa các phần tử biểu đồ, tuy nhiên nếu tôi hiển thị cả hai liên kết và tính đa dạng giữa các phần tử trên sơ đồ lớp thì khác nhau như thế nào? sơ đồ? – Adam

+0

Quan hệ trên sơ đồ lớp là hợp lý, nhưng ở phía bên kia, một mối quan hệ ERD là một ràng buộc vật lý thực sự giữa các bảng. Bạn nói đúng rằng các sơ đồ có thể trông rất giống nhau trong các kịch bản đơn giản, nhưng trong các biểu đồ phức tạp, sự khác biệt là hiển nhiên. Sơ đồ lớp hỗ trợ trừu tượng hơn nhiều so với ERD. Nếu bạn vẽ biểu đồ ERD bằng cách sử dụng ký hiệu Chen cổ điển, sự khác biệt về hình ảnh so với sơ đồ lớp UML là rất lớn ngay cả trong các tình huống đơn giản. –

+0

OK, cảm ơn cho lời giải thích và những gì bạn nói về một logic hợp lý so với một chòm sao vật lý có ý nghĩa với tôi. Cho rằng một sơ đồ lớp hỗ trợ trừu tượng hơn một sơ đồ ERD, có công bằng khi nói rằng trong một kịch bản phức tạp hơn: – Adam

1

Tùy thuộc vào tình huống mà bạn có thể không muốn thực hiện ER-D. Nhưng hãy tưởng tượng nếu bạn có một lớp dữ liệu riêng biệt, nơi logic dữ liệu được xử lý. Trong trường hợp này, nhiều chi tiết của dữ liệu sẽ không được chia sẻ với lớp ứng dụng. Và sơ đồ lớp của bạn không được vượt ra ngoài lớp ứng dụng. Tôi phải nhấn mạnh rằng cả hai biểu đồ đều không bằng nhau. Và có những tình huống mà bạn cần phải làm cả hai, chủ yếu trong kiến ​​trúc nhiều tầng và có những tình huống mà bạn có thể chỉ sử dụng sơ đồ lớp; ví dụ. ứng dụng một tầng.

Tôi mạnh mẽ ủng hộ quan điểm rằng biểu đồ lớp không bãi bỏ sơ đồ E-R.

1

Sơ đồ lớp thiết kế được tạo từ mô hình khái niệm và sơ đồ cộng tác. Thiết kế sơ đồ lớp bao gồm:

  1. Lớp học, các hiệp hội và các thuộc tính
  2. Phương pháp
  3. Các loại thuộc tính
  4. Khả năng điều hướng
  5. Dependencies
1

Các sơ đồ ER Tôi đã nhìn thấy (nhất ký hiệu IE thường xuyên ERWin) đã tập trung vào thiết kế cho một cơ sở dữ liệu. Họ quan tâm đến các khóa chính, khóa ngoại, có mối quan hệ chưa được đặt tên, và thường không có khái quát hóa/chuyên môn hóa.

Sơ đồ lớp khái niệm UML tốt, không quan tâm đến khóa, phản ánh miền sự cố và có thuộc tính kết hợp ít nhất gợi ý tại ngữ nghĩa của lý do tại sao mọi thứ liên quan. Điều này giúp truyền đạt miền xuống cho nhiều nhà phát triển cơ sở hơn để họ không phải đoán.