REFACTORING UML #3: CLASS DIAGRAM LÀ GÌ VÀ CÁCH SỬ DỤNG, SOFTWARE DEVELOPMENT VÀ UML CLASS DIAGRAM

Class Diagram là 1 trong những bản vẽ quan trọng đặc biệt nhất của thiết kế phần mềm, nó mang lại thấy cấu tạo và tình dục giữa các thành phần làm cho phần mềm. Trong quy trình xây dựng Class Diagram bọn họ sẽ đề xuất quyết định không ít yếu tố về thiết kế nên nó là bạn dạng vẽ cực nhọc xây dựng nhất. Bản vẽ này sẽ đến thấy cấu tạo tĩnh của phần mềm, tựa như như phiên bản vẽ mặt bằng trong kiến tạo của ngành xây dựng.

Bạn đang xem: Uml #3: class diagram là gì và cách sử dụng

Trong bài này, họ sẽ mày mò các thành phần tạo ra nên bản vẽ, bí quyết xây dựng và thực hiện class diagram để giúp chúng ta hiểu với áp dụng bạn dạng vẽ này trong thiết kế. Ở đây, khoác định các bạn đã sở hữu kiến thức về lập trình hướng đối tượng người dùng và không đề cập lại các khái niệm trong lập trình hướng đối tượng.

1. Những thành phần trong bản vẽ Class

Trước tiên, họ xem một bản vẽ Class.

*

Hình 1. Lấy ví dụ như về Class Diagram của ATM

Ví dụ trên là Class Diagram của áp dụng ATM. Tiếp theo chúng ta sẽ bàn kỹ về các thành phần của phiên bản vẽ này và lấy ứng dụng về ATM ở trên để minh họa.

Classes (Các lớp)

Class là thành phần chính của bản vẽ Class Diagram. Class mô tả về một nhóm đối tượng người sử dụng có thuộc tính chất, hành vi trong hệ thống. Ví dụ diễn đạt về khách hàng chúng ta dùng lớp “Customer”. Class được tế bào tả tất cả tên Class, ở trong tính và phương thức.

 

*

Hình 2. Ký kết hiệu về Class

Trong đó,

– Class Name: là tên gọi của lớp.

– Attributes (thuộc tính): biểu hiện tính chất của các đối tượng. Ví dụ như như quý khách có Mã khách hàng, Tên khách hàng, Địa chỉ, Ngày sinh v.v…

– Method (Phương thức): chỉ các hành động mà đối tượng người tiêu dùng này rất có thể thực hiện nay trong hệ thống. Nó miêu tả hành vi của các đối tượng người dùng do lớp này tạo ra ra.

 

*

Hình 3. Lấy ví dụ như về một Class

2. Relationship (Quan hệ)

Relationship thể hiện quan hệ giữa những Class cùng với nhau. Trong UML 2.0 có các quan hệ thường áp dụng như sau:

– Association

– Aggregation

– Composition

– Generalization

Chúng ta vẫn lần lượt khám phá về chúng.

+ Association

Association là quan hệ nam nữ giữa nhì lớp với nhau, mô tả chúng có liên quan với nhau. Association mô tả qua những quan hệ như “has: có”, “Own: sở hữu” v.v…

 

*

Hình 4. Lấy ví dụ như về Association

Ví dụ quan hệ tình dục trên thể hiện khách hàng nắm giữ tài khoản và thông tin tài khoản được sở hữu bởi vì Khách hàng.

+ Aggregation

Aggregation là một trong loại của quan hệ giới tính Association nhưng khỏe khoắn hơn. Nó có thể cùng thời gian sống (cùng hiện ra hoặc cùng chết đi)

*

Hình 5. Ví dụ về Aggregation

Ví dụ quan hệ trên diễn đạt lớp Window(cửa sổ) được đính trên Khung cửa hình chữ nhật. Nó có thể cùng sinh ra cùng lúc.

+ Composition

Composition là 1 loại táo bạo hơn của Aggregation bộc lộ quan hệ class này là một phần của class kia bắt buộc dẫn đến cùng tạo thành hoặc cùng chết đi.

 

*

Hình 5. Lấy ví dụ như về Composition

Ví dụ bên trên class Mailing Address là một phần của class Customer phải chỉ khi nào có đối tượng người dùng Customer thì mới có thể phát sinh đối tượng Mailing Address.

+Generalization

Generalization là dục tình thừa kế được sử dụng thoáng rộng trong lập trình hướng đối tượng.

*

Hình 6. Lấy một ví dụ về Genelization

Các lớp ở sau cùng như Short Term, Long Term, Curent a/c, Savings a/c gọi là các lớp cụ thể (concrete Class). Chúng có thể tạo ra đối tượng người sử dụng và các đối tượng này thừa kế cục bộ các nằm trong tính, phương thức của các lớp trên.

Các lớp trên như Account, Term Based, Transaction Based là gần như lớp trừu tượng (Abstract Class), đa số lớp này không tạo thành đối tượng.

Ngoài ra, còn một vài quan hệ như khác ví như dependence, realization tuy nhiên ít được áp dụng nên bọn họ không bàn sống đây.

3. Giải pháp xây dựng bản vẽ Class

Class Diagram là bạn dạng vẽ cực nhọc xây dựng tốt nhất so với các bạn dạng vẽ không giống trong OOAD và UML. Chúng ta phải hiểu được hệ thống một cách cụ thể và có kinh nghiệm tay nghề về thiết kế hướng đối tượng người dùng mới hoàn toàn có thể xây dựng thành công bản vẽ này.

Thực hiện tại theo công việc sau trên đây để xây đắp Class Diagram.

Bước 1: Tìm các Classes dự kiến

Entity Classes(các lớp thực thể) là các thực thể tất cả thật và vận động trong hệ thống, bạn phụ thuộc các nguồn sau để khẳng định chúng.

*

Hình 7. Những nguồn thông tin có thể tìm Class dự kiến

Requirement statement: các yêu cầu. Chúng ta phân tích các danh từ trong số yêu ước để tra cứu ra các thực thể.

Use Cases: Phân tích các Use Case sẽ hỗ trợ thêm những Classes dự kiến.

Previous và Similar System:  có thể sẽ cung cấp thêm cho bạn các lớp dự kiến.

Xem thêm: Cho Tam Giác Abc Biết Ab =3Cm,Ac=4Cm,Bc=5Cm, Cho Tam Giác Abc Có Ab = 3Cm, Ac = 4Cm, Bc = 5Cm

Application Experts: các chuyên gia ứng dụng cũng rất có thể giúp bạn.

Xem xét, lấy ví dụ như ATM nghỉ ngơi trên bạn cũng có thể thấy các đối tượng người tiêu dùng là Entity Class như sau:

Customers: quý khách hàng giao dịch là 1 trong thực thể bao gồm thật và quản lý trong hệ thống.

Accounts: Tài khoản của chúng ta cũng là một đối tượng người dùng thực tế.

ATM Cards: Thẻ dùng để truy cập ATM cũng được làm chủ trong hệ thống.

ATM Transactions: những giao dịch được giữ giàng lại, nó cũng là một đối tượng người tiêu dùng có thật.

Banks: Thông tin ngân hàng bạn đã giao dịch, nếu có tương đối nhiều nhà bank tham gia vào khối hệ thống bạn phải cai quản nó. Thời điểm đó ngân hàng trở thành đối tượng người tiêu dùng bạn buộc phải quản lý.

ATM: thông tin ATM các bạn sẽ giao dịch. Nó cũng được cai quản tương trường đoản cú như Banks.

Lưu ý: Chỉ những thực thể phía bên trong hệ thống được coi như xét, những thực thế bên phía ngoài hệ thống không được xem xét. Lấy một ví dụ Customers là các người quý khách hàng được quản lý trong khối hệ thống chứ không phải người tiêu dùng máy ATM mặt ngoài. Các bạn phải lưu ý điều này để phân biệt Class cùng Actor.

Bước 2: Tìm những thuộc tính và thủ tục cho lớp

Tìm ở trong tính: phân tích thông tin từ các form mẫu bao gồm sẵn, bạn sẽ tìm ra ở trong tính mang đến các đối tượng người tiêu dùng của lớp. Ví dụ các thuộc tính của lớp Customer sẽ bộc lộ trên size đăng ký tin tức khách hàng.

Tìm phương thức: phương thức là các vận động mà các đối tượng người tiêu dùng của lớp này hoàn toàn có thể thực hiện. Bọn họ sẽ bổ sung cập nhật phương thức tương đối đầy đủ cho các lớp khi so sánh Sequence Diagram sau này.

Bước 3: Xây dựng các quan hệ giữa các lớp với phát hiện những lớp phát sinh

– Phân tích các quan hệ giữa các lớp với định nghĩa các lớp tạo nên do các quan hệ sinh ra. Bọn họ phân tích các thực thể ngơi nghỉ trên với nhận thấy.

Lớp Accounts bao gồm thể tạo thành nhiều loại tài khoản như Current Accounts Saving Accounts và bao gồm quan hệ quá kế với nhau.Lớp ATM Transactions cũng có thể tạo thành nhiều loại thanh toán như Deposit, Withdraw, Transfer v.v.. Và chúng cũng đều có quan hệ vượt kế với nhau.

– tách chúng ta và vẽ bọn chúng lên bản vẽ chúng ta sẽ tất cả Class Diagram cho khối hệ thống ATM như sau:

*

Hình 8. Lấy ví dụ như về Class Diagram cho hệ thống ATM

4. Đặc tả Class

Nhìn vào Class Diagram bạn có thể thấy cấu tạo của khối hệ thống gồm đa số lớp nào dẫu vậy để setup chúng, chúng ta phải sệt tả chi tiết hơn nữa. Trong đó, cần mô tả:

– các thuộc tính: Tên, đẳng cấp dữ liệu, kích thước

– những phương thức:

+ Tên

+ mô tả

+ thông số đầu vào: Tên, thứ hạng dữ liệu, kích thươcs

+ công dụng đầu ra: Tên, hình dáng dữ liệu, kích thước

+ Luồng xử lý

+ Điều kiện bắt đầu

+ Điều khiếu nại kết thúc

Tuy nhiên, vấn đề này cũng mất không ít thời gian. Nếu phát triển theo quy mô Agile thì bạn không phải thao tác này mà các thành viên cải tiến và phát triển phải nắm điều này để cài đặt đặt.

5. Sử dụng phiên bản vẽ Class

Có thể tóm tắt một số ứng dụng của bạn dạng vẽ Class Diagram như sau:

– Hiểu cấu tạo của hệ thống

– kiến thiết hệ thống

– sử dụng để phân tích chi tiết các tác dụng (Sequence Diagram, State Diagram v.v…)

– thực hiện để setup (coding)

6. Kết luận

Như vậy, bọn họ đã tìm hiểu chấm dứt về Class Diagram, các bạn cần thực hành nhiều nhằm hiểu về phiên bản vẽ đặc trưng này.

Để giúp chúng ta nắm rõ hơn về Class Diagram, trong bài tiếp theo chúng ta sẽ thực hành xây dựng Class Diagram cho hệ thống e
Commerce đã trình bày trong Case Study ở bài bác 3.

Trong 1 dự án, việc tổ chức triển khai code cũng giống như clean code là một trong những điều khôn cùng quan trọng, nếu cách xây đắp các class phải chăng và ví dụ sẽ giúp ích rất nhiều cho việc mở rộng và duy trì sau này. Để có tác dụng được điều này họ cần phải bao gồm 1 phiên bản thiết kế Class Diagram thiệt sự phù hợp lý. Vậy Class Diagram là gì, hãy thuộc tìm hiểu.

*

Định nghĩa Class Diagram

Class diagram biểu thị kiểu của các đối tượng người sử dụng trong hệ thống và các loại quan tiền hệ khác nhau tồn tại thân chúng.Là một kỹ thuật mô hình hóa tồn tại ở toàn bộ các phương thức phát triển phía đối tượng.Biểu đồ gia dụng hay sử dụng nhất trong UML và gần gụi nhất với các lập trình viên.Giúp những lập trình viên dàn xếp với nhau và nắm rõ ý tưởng của nhau.

Các tính chất cơ bản của class diagram

Tên class
Attribute (field, property)Operation (method, function)

Ví dụ khai báo tên, attribute, operation kèm theo kiểu trả về của 1 class:

*

Access Modifier vào class diagram

Sử dụng để quánh tả phạm vi truy cập cho những Attribute và Operation của một class (Cấp quyền cho những class khác sử dụng Attribute và Operation của class này).

4 gạn lọc phạm vi truy nã cập

Private ( - ): Chỉnh bản thân các đối tượng người dùng được tạo nên từ class này có thể sử dụng.Public ( + ): Mọi đối tượng đều rất có thể sử dụng.Protected ( # ): Chỉ các đối tượng được tạo nên từ class này với class kế thừa từ class này hoàn toàn có thể sử dụng.Package/Default: Các đối tượng người dùng được tạo ra từ class vào lớp cùng gói rất có thể sử dụng.

*

Relationship vào class diagram

Sử dụng để biểu đạt mỗi quan hệ nam nữ giữa đối tượng người tiêu dùng được tạo từ là một class với các đối tượng người sử dụng được tạo nên từ class khác trong class diagram.

4 loại Relationship:

*

Inheritance: 1 class kế thừa từ là 1 class khác.Association: 2 class có contact với nhau nhưng không những rõ côn trùng liên hệ.Composition: Đối tượng tạo nên từ lass A mất thì đối tượng người sử dụng tạo trường đoản cú class B vẫn mất.Agreegation: Đối tượng tạo thành từ lass A mất thì đối tượng người dùng tạo trường đoản cú class B vẫn lâu dài độc lập.
*

Multiplicity trong class diagram

Sử dụng để diễn tả quan hệ về số lượng giữa các đối tượng người sử dụng được sản xuất từ những class trong class diagram

0...1: 0 hoặc 1n : Bắt buộc gồm n0...* : 0 hoặc nhiều1...* : 1 hoặc nhiềum...n: có tối thiểu là m và buổi tối đa là n

*

Kết luận

Việc kiến tạo class diagram là điều cần thiết mà 1 lập trình sẵn viên bài bản cần phải có.Lý thuyết của class diagram khá đơn giản nhưng để thực hành xuất sắc thì bắt buộc tư duy và kinh nghiệm tay nghề lập trình để bản thiết kế đạt được kết quả tốt nhất.Rất ước ao sự góp ý của chúng ta để mình hoàn thành xong hơn vào các bài viết tiếp theo ❤️

Leave a Reply

Your email address will not be published. Required fields are marked *

x

Welcome Back!

Login to your account below

Retrieve your password

Please enter your username or email address to reset your password.