Xem thêm

Hướng dẫn thiết kế phần mềm của bạn bằng các biểu đồ UML [với trường hợp nghiên cứu]

CEO Hùng PV
Liệu bạn đã từng nghe về việc Cristoforo Colombo điều khiển ba chiếc tàu gồm Niña, Pinta và Santa Maria trong một cuộc hành trình khám phá đáng kinh ngạc nhất mọi thời đại? Chúng...

Liệu bạn đã từng nghe về việc Cristoforo Colombo điều khiển ba chiếc tàu gồm Niña, Pinta và Santa Maria trong một cuộc hành trình khám phá đáng kinh ngạc nhất mọi thời đại? Chúng ta đều biết rõ chi tiết về ông và những chuyến đi của ông, nhưng chúng ta lại biết ít về những chiếc tàu đó và cách chúng được tạo ra.

Ngay cả vào thời điểm đó, để xây dựng một chiếc tàu, các kỹ sư hải quân cần nghiên cứu và tích hợp các yếu tố của kỹ thuật cơ khí, vật lý và an toàn bằng cách sử dụng các bản vẽ và biểu đồ khác nhau.

Trong phát triển phần mềm, nếu chúng ta muốn xây dựng các ứng dụng đáng tin cậy và bền vững, chúng ta cũng phải làm điều tương tự, và chúng ta làm điều đó bằng cách sử dụng Unified Modeling Language.

UML là một ngôn ngữ đồ họa chuẩn trong ngành công nghiệp giúp các nhà phát triển định rõ, minh họa, xây dựng và tài liệu hóa các đặc điểm của một hệ thống phần mềm. Nó sử dụng các ghi chú đồ họa để thiết kế phân tích hướng đối tượng của các chương trình và ứng dụng.

Tại sao nhà phát triển web lại sử dụng UML?

Hãy bắt đầu bằng việc nói rằng UML có thể được sử dụng bởi bất kỳ ai cần tạo ra một hệ thống, bất kỳ hệ thống nào liên quan đến kỹ thuật phần mềm hoặc không.

Cụ thể, các nhà phát triển web sử dụng UML trước khi tạo ra một ứng dụng để có được một con đường rõ ràng và hiểu rõ tất cả các thực hiện cần thiết.

Giống như một kỹ sư hải quân cần biết tất cả các đặc điểm của một chiếc tàu mà ông ta cần xây dựng, chúng ta có thể tạo ra hệ thống tốt nhất sau khi đã phân tích yêu cầu của dự án chúng ta đang làm việc.

Lý do chúng ta sử dụng UML là để có một cấu trúc rõ ràng, một bản thiết kế trước.

Phân tích và thiết kế tất cả các lợi ích và vấn đề có thể xảy ra trong quá trình phát triển trước khi chúng ta bắt đầu viết mã có lợi ích về chi phí và thời gian lớn.

Biểu đồ lớp

Có nhiều loại biểu đồ được bao gồm trong UML, nhưng loại được sử dụng nhiều nhất, bởi tầm quan trọng của nó trong việc thiết kế quan hệ hướng đối tượng, không thể không kể đến biểu đồ lớp.

Biểu đồ lớp là biểu diễn hình ảnh của tất cả các lớp và quan hệ mà bạn có thể cần sử dụng trong dự án của bạn.

Nếu bạn đã từng tìm hiểu về mô tả mẫu thiết kế phần mềm, bạn đã từng thấy một biểu đồ lớp, tất cả các quan hệ giữa các lớp, phương thức và thuộc tính được mô tả bằng cách sử dụng loại ngôn ngữ đồ họa này.

UML có một số tiêu chuẩn mà bạn cần tuân thủ khi tạo biểu đồ, nhưng chúng đều rất cơ bản và dễ hiểu.

Bạn có thể tìm hiểu thêm thông tin trên trang web chính thức của UML.

Có nhiều công cụ trực tuyến miễn phí mà bạn có thể sử dụng để tạo biểu đồ lớp UML, tôi thích sử dụng giấy và bút, nhưng trong bài viết này, tôi sẽ đưa ra một số công cụ tốt nhất ở đây:

  • Creately.com
  • Draw.io
  • Lucidchart
  • Yuml

Trong hướng dẫn này, tôi sẽ tạo biểu đồ UML cho Columbus Travels, một hãng du thuyền sang trọng để khám phá những điều mới mẻ thú vị.

Cách biểu diễn lớp bằng UML?

Hãy bắt đầu với một sự tiết lộ, tôi không phải là một chuyên gia về du thuyền nên các ví dụ UML ở đây có thể rất xa vời so với một ứng dụng thực tế mà yêu cầu hàng tuần, nếu không phải là hàng tháng, của việc khám phá.

Nói vậy, chúng ta sẽ tiếp tục.

Chắc chắn rằng biểu đồ lớp có thành phần cơ bản: các lớp và quan hệ, và đây là nơi chúng ta bắt đầu.

Cấu trúc UML của một lớp được biểu diễn bằng một hộp.

Nó chia thành 3 phần theo chiều ngang.

Ở phần trên cùng, có tên của lớp, trong trường hợp của chúng ta là lớp "du thuyền".

Bây giờ, một khách hàng có thể chọn lên tàu của các loại du thuyền khác nhau, hãy nói chúng ta có du thuyền Mỹ, Địa Trung Hải và cho những người thích đường phố lạnh mát, chúng tôi cũng cung cấp du thuyền Bắc Cực.

Điều này đối với tôi rõ ràng là một lớp trừu tượng, Sử dụng UML, chúng ta có hai cách khác nhau để mô tả trừu tượng, viết tên của lớp dưới dạng in nghiêng hoặc sử dụng cú pháp ở dưới đây.

Giao diện thì được biểu diễn bằng cú pháp sau đây.

Ở hướng dẫn này, tôi sẽ tạo ra một giao thức UML cho Columbus Travels, một hãng du thuyền sang trọng để khám phá những điều mới mẻ thú vị.

Viết thuộc tính

Chắc chắn bạn đã biết rằng một lớp bao gồm các thuộc tính và phương thức, và hai tính năng này sẽ điền vào hai phần còn lại của hộp UML.

Nếu bạn cần nhìn lại cách một đối tượng được tạo ra trong OOP, hãy xem qua kiến thức cơ bản về PHP.

Các thành phần trong một lớp có thể có một trong ba loại khác nhau về khả năng nhìn thấy, đó là công khai, riêng tư và bảo vệ.

Ở biểu đồ lớp, chúng ta biểu thị chúng bằng các ký hiệu + cho công khai, - cho riêng tư và # cho bảo vệ.

Các thuộc tính sẽ được chèn vào phần thứ hai.

Biểu đồ lớp cũng có các phần chuẩn khác mà bạn cần tuân theo khi tạo biểu đồ, nhưng chúng rất cơ bản và dễ hiểu.

Các phương thức

Các phương thức biểu diễn các hoạt động trong một lớp.

Cú pháp sử dụng cho phương thức tương tự như cho thuộc tính, chúng ta có khả năng, nhìn thấy là ký hiệu đầu tiên đứng trước tên phương thức, tương tự như PHP, bạn có thể bỏ qua khả năng nhìn thấy và nó sẽ tự động được tính là công khai.

Tiếp theo, chúng ta có một hoặc nhiều tham số trong dấu ngoặc đơn, chúng được biểu diễn bằng tên và kiểu được phân tách bằng dấu hai chấm, bạn có thể thêm nhiều tham số bằng cách sử dụng dấu phẩy.

Tương tự như PHP, bạn cũng có thể thêm hai chấm sau dấu ngoặc đơn và mô tả kiểu dữ liệu mà phương thức sẽ trả về.

Mô tả kế thừa và triển khai

Như chúng tôi đã nói, các du thuyền của chúng tôi có thể thuộc loại khác nhau.

Tất cả các loại du thuyền đều bao gồm các đặc điểm của lớp Du thuyền trừu tượng, nhưng chúng xác định các loại du thuyền khác nhau.

Để quản lý khái niệm này, chúng ta có thể sử dụng khái niệm kế thừa.

Để tạo kế thừa này giữa các lớp, chúng ta sử dụng một đường dẫn từ các lớp con đến cha của chúng, đường dẫn có mũi tên trống ở phía trên.

Du thuyền Mỹ và Bắc Cực của chúng tôi giờ đây có thể sử dụng các thuộc tính và phương thức của lớp Du thuyền.

Columbus Travels là một doanh nghiệp hoàn toàn mới và để giành được thị phần từ đối thủ của mình, người sở hữu quyết định rằng họ cần có khả năng giảm giá một số chuyến du thuyền và cung cấp các chuyến đi với giá ưu đãi.

Là một nhà phát triển web chịu trách nhiệm tạo ra ứng dụng, ý tưởng đầu tiên sẽ là tạo một thuộc tính khác với giá giảm giá hoặc một boolean kiểm tra xem du thuyền hiện đang có giá đầy đủ hay không.

Đó là một giải pháp tệ hại, chúng ta có thể tận dụng Unified Modeling Language để tìm một câu trả lời tốt hơn cho vấn đề này.

Sao chép văn bản trên để tiếp tục đăng nhập

1