X

O Porquê da indústria de software ter uma relação de amor e ódio com os diagramas UML

By lalindri

UML é uma linguagem visual versátil que é usada para modelar um sistema de software. A indústria de software tem estado dividida em sua opinião a respeito do uso de diagramas UML. Enquanto alguns o vêem como parte integrante dos sistemas e desenvolvimento de software, há um número significativo de pessoas que o consideram completamente desnecessário. Neste post, exploramos os dois lados deste argumento (tanto as vantagens como as desvantagens da UML) e tentamos entender a relação de amor e ódio da indústria de software com os diagramas de design UML.

Vantagens da UML

Mais utilizado e flexível 

A UML é uma plataforma altamente reconhecida e compreendida para o design de software. É uma notação padrão entre os desenvolvedores de software. Você pode assumir com segurança que a maioria dos profissionais de software estarão pelo menos familiarizados, se não estiverem bem versados, com diagramas UML, tornando assim a alternativa para explicar modelos de design de software. O que torna a UML bem adaptada e muito necessária para o desenvolvimento de software é a sua flexibilidade. Você pode personalizar seus elementos de modelagem e interações em um diagrama UML especificamente para se adequar ao domínio ou tecnologias que você está usando. 

A arquitetura de software deve ser comunicada de forma eficaz

 A arquitetura de software é o projeto do sistema. É o quadro do qual depende a eficiência do sistema e dos seus processos. Mas, este quadro só é eficaz se for devidamente comunicado a todos os que o utilizam e trabalham nele. É aqui que entra em cena a Unified Modeling Language (UML),ou Linguagem de Modelagem Unificada. A UML é uma linguagem rica e extensa que pode ser usada para modelar não apenas a engenharia de software orientada a objetos, mas também a estrutura e o comportamento de aplicações e processos de negócios. Os programadores de software concordaram que não podemos eliminar a documentação da arquitetura. É importante. Ele ajuda na avaliação de desempenho, segurança, rastreamento e fornece diretrizes importantes para a tarefa em operação. Devido ao seu amplo alcance, a UML é a linguagem visual perfeita para comunicar informações detalhadas sobre a arquitetura ao maior número de usuários.

 Você precisa conhecer apenas uma fração da linguagem para usá-la

Embora existam 14 tipos diferentes de diagramas UML para modelagem de aplicativos, os desenvolvedores usam apenas três ou quatro para documentar um sistema de software. Os diagramas de classes, diagramas de sequência e diagramas de caso de uso continuam sendo os mais comuns. O que isto implica é que você precisa conhecer apenas 20% da linguagem UML para explicar 80% das suas necessidades de modelagem. Não é necessário conhecer ou compreender toda a notação, para se comunicar de forma eficaz usando diagramas UML. Conhecer um subconjunto da notação equipa-o muito bem. 

Abundância de ferramentas UML 

As ferramentas UML são uma das razões mais importantes pelas quais a UML é tão amplamente utilizada. As ferramentas UML vão desde o software livre de código aberto até aquelas que custam milhões de dólares. Estas ferramentas cobrem muito mais território do que apenas diagramas de desenho. Eles podem gerar códigos a partir do projeto, aplicar padrões de projeto, requisitos de mina, código de engenharia reversa e realizar análises de impacto e complexidade. Estas vantagens e a própria abundância de ferramentas UML fazem da UML a linguagem de modelagem e desenvolvimento no campo da engenharia de software. Apesar dos seus inúmeros usos e benefícios, o UML não é o preferido de todos. Na verdade, uma seção considerável de desenvolvedores de software, não usam UML e amontoam críticas pesadas sobre o mesmo. Vamos olhar para os argumentos contra o uso da UML.

Desvantagens da UML: Raciocínio contra UML

Notação formal não é necessária 

O argumento mais forte contra UML é que você não precisa realmente de um diagrama UML para comunicar seus desenhos. Você pode ter o mesmo impacto e efeito com diagramas informais, de caixa e linha criados em PowerPoint, Visio, ou um quadro branco. Como a codificação é uma linguagem formal por si só, muitos desenvolvedores não preferem a complexidade e a formalidade a nível arquitetônico, o que desestimula o uso da UML e se tornou uma de suas desvantagens. 

Grau Ascendente de Complexidade 

Desde o seu início até agora, a UML tem crescido em complexidade e tamanho. O tamanho da UML deixa muitas pessoas nervosas logo no início, e sentem que não vão conseguir aprender, e estão melhor sem ela.

 Não Necessário em ‘Arquitetura de Design Indiferente’ 

Um termo cunhado por George Fairbanks, ‘architecture-indiferent design’ é uma situação em que a UML é considerada desnecessária. Em sua essência, um design independente de arquitetura refere-se a uma arquitetura de software que é simples e básica, e não precisa de diagramas complexos para representar ou explicar o design. Se as empresas dão mais ênfase à codificação formal, e existe uma cultura prevalecente de documentação mínima de design, a UML é considerada desnecessária.

Decifrando esta relação de amor e ódio:

Embora se fale muito sobre a redundância da UML na indústria de software, não se pode negar que, até agora, não existe nenhum substituto holístico ou apropriado para a UML. Para receber uma perspectiva imparcial sobre o significado e o destino da UML, falamos com gigantes de hardware que estão em contato próximo com a indústria de software, mas neutros em sua perspectiva.

 “A ausência de documentação de design está bem no curto prazo, mas pode se tornar um problema a longo prazo quando você precisa comunicar o design a um desenvolvedor que está em outro país, ou alguém que vai se juntar à equipe seis meses depois. A UML torna-se uma grande ajuda em tais circunstâncias, e alivia a ambiguidade e as questões relativas ao design” Um representante na Sconect, Female Header Manufacturer, opina.

 “Podemos falar de linguagens específicas de domínio para modelagem visual, mas o fato é que nenhuma delas encontrou ampla aceitação, o que apenas afirma que a UML continua sendo a melhor alternativa no que diz respeito às linguagens visuais”. Esta observação foi muito interessante, feita por um representante da Scondar, especializada na fabricação de conectores de pinos. 

As contribuições de um representante da Ismolex resumem adequadamente o caso da relação amor-ódio da indústria de software com diagramas de design UML. “Pode haver mil argumentos contra o uso da UML, mas devido à sua capacidade de capturar as nuances da informação sobre a arquitetura do design, e com a crescente importância da documentação do design, a UML permanece insubstituível”

Vantagens e Desvantagens da UML: De que lado você está?

As negações e as aderências aos diagramas UML continuarão nos círculos do software. Mas a UML está aqui para ficar. Os diagramas UML, entretanto, precisam ser continuamente atualizados para que seu uso não se limite apenas à descrição da arquitetura e da comunicação, mas seja ampliado para representar e criar sistemas que possam acomodar mudanças dinâmicas. 

Sobre o Autor 

Sou Rachel Oliver, trabalho há dois anos como escritora freelancer e atualmente estou associada à Ismolex – Pin Header Manufacturer. Enquanto eu gosto de escrever sobre todas as coisas sob o sol, incluindo energia, negócios, esportes, melhoria da casa e moda, eu sou especialmente apaixonada por negócios, tecnologia e eletrônica. Você pode entrar em contato comigo no Google+, Facebook e Twitter.