Tuy nhiên, tôi đã có một hoặc hai giáo sư sử dụng UML chính thức, nghiêm ngặt, càng gần với thông số kỹ thuật càng tốt.
Hỏi giáo sư của bạn khi nào là lần cuối cùng ông sử dụng phương pháp đó trên một hệ thống thực sự. Nghiêm túc.
Tôi cố gắng trở nên trang trọng nhất có thể khi nói đến UML, nhưng chỉ khi / khi nó có ý nghĩa. Những người quá khích ở cả hai phía của quang phổ (từ những chàng cao bồi cho đến những người theo chủ nghĩa chính thống) đều không hiểu điều đó.
Có những bối cảnh trong đó một cách tiếp cận ít cứng nhắc hơn (như cách bạn sử dụng cá nhân) là cách tiếp cận tốt nhất để làm theo. Một ví dụ điển hình là cho các hệ thống nhỏ hoặc thay đổi, trong đó các yêu cầu nhỏ và không được xác định đầy đủ; nhóm phụ trách là hiệu quả và hiệu quả; điều quan trọng là lấy nó ra hơn là làm cho nó hoàn hảo. Nó được thực hiện lặp đi lặp lại và một số thiếu sót được chấp nhận.
Hoặc có thể bạn đang ở trong một giai đoạn mà bạn đang làm khách mời và phác thảo trái ngược với giai đoạn mô hình hóa chính thức đầy đủ. Đó là những ví dụ sẽ đến với tâm trí.
Vào những lúc khác, bạn cần một cách tiếp cận UML chính thức cứng nhắc. Ví dụ, bạn có thể bị ràng buộc theo hợp đồng; bạn có một số lượng lớn các nhà phát triển trong nhiều nhóm (có thể được phân phối); phạm vi của dự án có thể tính bằng năm; nó là một hệ thống rất lớn (bao gồm các thành phần phần mềm và phần cứng); chi phí thất bại cao, v.v.
Vào những lúc khác , bạn phải sử dụng một cái gì đó khác thay thế / ngoài UML (các mô hình chính thức toán học thực tế như lưới petri, CSP hoặc logic tạm thời.) Ví dụ về điều này là các hệ thống thời gian thực, các hệ thống trong đó các sự cố là thảm họa (thiết bị y tế) hoặc nơi bạn bị ràng buộc theo hợp đồng (.ie. như ở châu Âu khi phát triển hệ thống giao thông.)
Tất cả phụ thuộc vào hoàn cảnh và những gì chúng ta mong đợi đạt được từ mỗi phương pháp. Một giáo sư nói về việc gắn bó với hình thức chỉ đơn giản là một người nhiệt thành mù quáng. Thế giới kỹ thuật không phải là sự phân đôi đen trắng, đúng / sai. Đó là một thế giới của sự đánh đổi thông minh.
Nếu bạn đủ thông minh để sử dụng một mô hình ngẫu nhiên, không chính thức theo cách hiệu quả và phù hợp để hoàn thành công việc, thì cũng vậy. Với cùng một mã thông báo, bạn sẽ được nhận ra khi KHÔNG sử dụng phương pháp tiếp cận không chính thức và / hoặc khi KHÔNG sử dụng phương thức chính thức.
Phải nói rằng, bạn phải chơi nó bằng tai với các giáo sư. Cung cấp cho họ một xương để họ cho bạn một điểm, và nếu điều đó có nghĩa là cuối cùng phải cúi đầu trước câu thần chú nhiệt tâm của họ, điều đó tốt. Bạn biết những gì làm việc cho bạn, và hy vọng, bạn sẽ biết khi nào nên sử dụng những gì và làm thế nào trong thế giới thực.