No entanto, tive um professor ou dois que insistiram no uso de UML formal e estrita, o mais próximo possível das especificações.
Pergunte ao seu professor quando foi a última vez que ele usou essa abordagem em um sistema real. A sério.
Tento ser o mais formal possível quando se trata de UML, mas apenas se / quando fizer sentido. Os fanáticos dos dois lados do espectro (de cowboys a formalistas rígidos) não conseguem entender isso.
Existem contextos em que uma abordagem menos rígida (como a que você usa pessoalmente) é a melhor abordagem a seguir. Um bom exemplo é para pequenos sistemas ou alterações, onde os requisitos são pequenos e não estão totalmente definidos; o grupo responsável é eficiente e eficaz; é mais importante tirá-lo do que aperfeiçoá-lo. É feito iterativamente e algumas deficiências são aceitáveis.
Ou talvez você esteja em um estágio em que está fazendo guestimation e esboçando em oposição a uma fase de modelagem formal completa. Esses são exemplos que viriam à mente.
Em outros momentos, você precisa de uma abordagem UML formal rígida. Por exemplo, você pode estar contratualmente vinculado; você tem um número muito grande de desenvolvedores em várias equipes (possivelmente distribuídas); o escopo do projeto pode estar em anos; é um sistema muito grande (incluindo componentes de software e hardware); o custo da falha é alto etc.
Em outras ocasiões , é necessário usar outra coisa / além da UML (modelos matemáticos formais reais, como redes de pesca, CSP ou lógica temporal). Exemplo disso são sistemas em tempo real, sistemas em que as falhas são catastróficas (dispositivos médicos) ou onde você está contratualmente vinculado (ou seja, como na Europa ao desenvolver sistemas de transporte.)
Tudo depende das circunstâncias e do que esperamos obter de cada abordagem. Um professor que se preocupa com a formalidade está simplesmente sendo um fanático cego. O mundo da engenharia não é uma dicotomia em preto e branco, certo / errado. É um mundo de compensações inteligentes.
Se você é inteligente o suficiente para usar um modelo informal e informal de maneira eficaz e apropriada para realizar o trabalho, que assim seja. Da mesma forma, espera-se que você reconheça quando NÃO usar uma abordagem informal e / ou quando NÃO usar uma abordagem formal.
Dito isto, você deve tocá-lo com os professores. Dê a eles um osso para que eles lhe dêem uma nota e, se isso significa finalmente curvar-se ao mantra zelote, tudo bem. Você sabe o que funciona para você e, esperançosamente, saberá quando usar o que e como no mundo real.