tất cả (sơ đồ mô hình hóa) là dành cho mục đích giao tiếp
Mô hình hóa có 4 công dụng quan trọng trong quy trình phát triển phần mềm:
Công cụ thiết kế tích hợp
Công cụ giao tiếp
Trợ giúp cho việc tạo ra phần mềm
Một cách để giảm sự phức tạp của vấn đề từ thật (tôi đã học được điều này từ phản hồi của @kevin cline ở trên)
Quá trình mô hình hóa khiến một số nhà thiết kế suy nghĩ về các chi tiết không được xem xét trong khi mã hóa (và ngược lại). Mô hình hóa tại thời điểm thiết kế cho phép bạn xem xét một bức tranh lớn hơn là mã hóa một phương thức hoặc một lớp bằng ngôn ngữ.
Mô hình hóa theo ý kiến của tôi là rất quan trọng để xây dựng cơ sở dữ liệu (Biểu đồ ER), hiểu các luồng quy trình (Sơ đồ hoạt động) và hiểu các tương tác hệ thống người dùng (sơ đồ ca sử dụng).
Mọi người có sử dụng UML để làm những việc phức tạp hơn như tạo mã hoặc tạo cơ sở dữ liệu không?
Vâng thực sự. ERD (không phải sơ đồ UML) và Sơ đồ lớp có thể được sử dụng (tùy thuộc vào khả năng của công cụ của bạn) để tạo:
1 - Ngôn ngữ định nghĩa dữ liệu (DDL)
2 - Các thủ tục được lưu trữ cho CRUD và Sơ đồ lớp trong ngôn ngữ ưa thích của bạn (ít hữu ích hơn vì các công cụ ORM làm nhiều hơn về điều này)
Trong số các tính năng có giá trị nhất của các công cụ mô hình là:
1 - Khả năng giữ tính toàn vẹn của mô hình. Nếu bạn thay đổi, nó sẽ lan truyền trong mô hình
2 - Khả năng trả lời các câu hỏi được sử dụng ở đâu ('tài khoản' được sử dụng trong mô hình của tôi ở đâu?)
3 - Khả năng cho phép người dùng đồng thời làm việc trên mô hình
4 - Tìm kiếm trong các biểu diễn đồ họa
5 - Kiểm soát in
6 - Phân lớp (sắp xếp các thành phần sơ đồ của bạn theo lớp) để bạn có thể tập trung vào một lớp tại một thời điểm
7 - Tạo mã cơ sở dữ liệu cho một số hệ thống cơ sở dữ liệu
8 - Xác thực mô hình (kiểm tra tính nhất quán, các phím bị thiếu, chu trình, v.v.)
Vì vậy, các công cụ mô hình hóa, đặc biệt là những công cụ tốt, làm được nhiều hơn so với Paint.