Mô hình hóa phần mềm và UML
Mô hình hóa phần mềm thể hiện một hệ thống thông qua các trừu tượng nắm bắt cấu trúc và hành vi của nó, và Ngôn ngữ Mô hình hóa Thống nhất (UML) là ký hiệu đồ họa tiêu chuẩn để diễn đạt các mô hình như vậy.
Definition
Mô hình hóa phần mềm là việc xây dựng các biểu diễn trừu tượng của một hệ thống phần mềm để phân tích, thiết kế và truyền đạt nó, và UML là một ngôn ngữ mô hình hóa đa năng được chuẩn hóa cung cấp một tập hợp thống nhất các loại biểu đồ cho các biểu diễn này.
Scope
Chủ đề này bao gồm các mô hình cấu trúc như biểu đồ lớp, thành phần và triển khai; các mô hình hành vi như biểu đồ trường hợp sử dụng, trình tự, hoạt động và máy trạng thái; vai trò của các mô hình trong phân tích, thiết kế và giao tiếp; kỹ thuật hướng mô hình và tạo mã; và mức độ chặt chẽ của mô hình phù hợp cho một dự án nhất định.
Core questions
- Những khía cạnh nào của một hệ thống được nắm bắt bởi các mô hình cấu trúc so với các mô hình hành vi?
- Các loại biểu đồ UML chính thể hiện một thiết kế như thế nào?
- Mức độ chặt chẽ của mô hình hóa nào là phù hợp cho một dự án nhất định?
- Khi nào việc tạo mã tự động từ các mô hình là đáng giá?
Key theories
- Nhiều góc nhìn về một hệ thống
- Một hệ thống được mô hình hóa từ các quan điểm bổ sung — cấu trúc tĩnh, tương tác, hành vi trạng thái và triển khai — mỗi quan điểm được nắm bắt bởi các loại biểu đồ phù hợp, vì không có một quan điểm nào có thể truyền tải tất cả thông tin thiết kế liên quan.
- Kỹ thuật hướng mô hình
- Các mô hình có thể đóng vai trò là các tạo phẩm phát triển chính mà từ đó các triển khai được tạo ra một phần hoặc toàn bộ thông qua các phép biến đổi, nâng cao mức độ trừu tượng và liên kết thiết kế trực tiếp với mã.
Clinical relevance
Các mô hình làm cho ý định thiết kế trở nên rõ ràng, hỗ trợ phân tích trước khi mã tồn tại và cung cấp một ngôn ngữ chung cho toàn bộ nhóm; giá trị của chúng phụ thuộc vào việc sử dụng đúng mức độ mô hình hóa, vì các mô hình quá mức hoặc lỗi thời sẽ gây ra chi phí mà không mang lại lợi ích.
Evidence & guidelines
Đặc tả OMG UML định nghĩa ký hiệu và ngữ nghĩa tiêu chuẩn, và các tiêu chuẩn OMG liên quan như SysML và MOF mở rộng mô hình hóa sang kỹ thuật hệ thống và siêu mô hình hóa.
History
UML xuất hiện vào giữa những năm 1990 từ sự hợp nhất của các phương pháp Booch, OMT và Objectory, được chấp nhận làm tiêu chuẩn OMG vào năm 1997 và phát triển thông qua UML 2; các phương pháp tiếp cận hướng mô hình và phác thảo nhẹ nhàng cùng tồn tại với các cuộc tranh luận về mức độ hiệu quả của mô hình hóa chính thức.
Debates
- Phát triển hướng mô hình nặng ký so với phác thảo nhẹ nhàng
- Việc các mô hình nên là các tạo phẩm có thẩm quyền thúc đẩy việc tạo mã hay các bản phác thảo không chính thức để giao tiếp vẫn còn gây tranh cãi; tầm nhìn mô hình-như-chương trình hứa hẹn tính nhất quán, trong khi việc sử dụng theo định hướng phác thảo coi trọng chi phí thấp và khả năng thích ứng.
Key figures
- Grady Booch
- James Rumbaugh
- Ivar Jacobson
- Martin Fowler
Related topics
Seminal works
- booch2005
- omg2017uml
- fowler2003
Frequently asked questions
- UML có còn phù hợp trong phát triển linh hoạt không?
- Có, mặc dù thường được sử dụng nhẹ nhàng hơn. Các nhóm linh hoạt có xu hướng sử dụng biểu đồ UML như các bản phác thảo không chính thức để giao tiếp và suy luận về thiết kế hơn là các đặc tả đầy đủ, chỉ áp dụng đủ mô hình hóa để làm rõ vấn đề đang được giải quyết.
- Mô hình hóa có yêu cầu UML không?
- Không. UML là ký hiệu được chuẩn hóa rộng rãi nhất, nhưng mô hình hóa có thể sử dụng các ký hiệu khác hoặc các ngôn ngữ dành riêng cho miền; ý tưởng cốt lõi là trừu tượng hóa cấu trúc và hành vi, trong đó UML là một lựa chọn được hỗ trợ tốt.