Você está na página 1de 3

Programação OO e Java

Prof. Fernando Anselmo

UML
A UML (Unified Modeling Language) oferece diversos benefı́cios, especialmente no contexto do
desenvolvimento de software. Alguns dos principais vantagens incluem:

1. Padronização: Fornece uma linguagem padrão de modelagem que é compreendida por


diversos profissionais da área de tecnologia, facilitando a comunicação entre as equipes de
desenvolvimento, arquitetura de sistemas, qualidade e gerenciamento de projetos.
2. Visualização: Facilita a visualização da estrutura e do comportamento de um sistema de
software antes de sua construção ou modificação. Permite identificar e corrigir problemas de
design em um estágio inicial do ciclo de desenvolvimento, economizando tempo e recursos.
3. Documentação: Serve como uma ferramenta de documentação eficaz. Os diagramas podem
descrever como o sistema funciona atualmente ou como estará após implementações futuras.
Ajuda novos membros da equipe a entenderem rapidamente a estrutura e o funcionamento do
software.
4. Desenho da Arquitetura: Auxilia na definição da arquitetura de sistemas complexos de
uma forma que seja facilmente compreendida pelos stakeholders. Contribui para a elaboração
de uma arquitetura consistente e robusta que pode ser implementada eficientemente.
5. Escalabilidade: Os diagramas podem ser evoluı́dos e refinados ao longo do tempo, o que
ajuda a lidar com a natureza evolutiva do software.
6. Análise e Design Orientado a Objetos: Facilita a aplicação de análise e design orientado
a objetos, oferecendo elementos para representar quase todos os aspectos de um aplicativo.
7. Reúso de Software: Encoraja o reúso de componentes de software, pois os diagramas UML
permitem identificar e definir as interfaces e classes reutilizáveis de forma mais clara.
8. Custo-Benefı́cio: Pode reduzir custos de desenvolvimento e manutenção ao permitir uma
melhor compreensão dos requisitos e a identificação precoce de erros.

É importante notar que, apesar desses benefı́cios, a utilização prática da UML requer conhecimento
especializado e pode ter uma curva de aprendizado associada. As ferramentas de modelagem UML
podem variar em complexidade e eficiência, sendo relevante escolher aquelas que melhor atendam às
necessidades especı́ficas do projeto em mãos.

História

A UML é uma linguagem-padrão para a elaboração da estrutura de projetos de software. Aqui


está um breve histórico da UML e sua linha do tempo:

• - 1994: Os trabalhos para a criação da UML começam com o objetivo de unificar os métodos
existentes em modelagem de sistemas.
• - 1995: O esboço da versão inicial do Unified Process é lançado.
• - 1997: A UML 1.0 é apresentada ao Object Management Group (OMG) e após alguns meses,
a versão 1.1 é adotada.
• - 1998: O grupo Revision Task Force (RTF) do OMG lança as versões 1.2 e 1.3 da UML.

No site urlhttps://www.guru99.com/pt/uml-diagrams.html, são mencionados os seguintes marcos


de desenvolvimento da UML:

Em 3 de março de 2024 Folha 1 de 3


Programação OO e Java

• Bugs da UML 2.1.2 foram corrigidos (Maio de 2006)


• UML 2.3 com revisões em diagramas de componentes (Maio de 2010)
• UML 2.4.1 com mudanças em classes, pacotes e estereótipos (Agosto de 2011)
• UML 2.5 revisada com pequenas alterações (junho de 2015)

Cada versão traz aprimoramentos para lidar com a complexidade crescente dos sistemas de software
modernos e incorporar feedback da comunidade de engenharia de software. A UML evoluiu
significativamente desde sua criação e continua sendo uma ferramenta fundamental para modelar e
documentar sistemas de software de forma visual e organizada.

Diagramas
Na notação UML, existem diversos tipos de diagramas que são usados para representar diferentes
aspectos do desenvolvimento de software. Os principais diagramas da UML incluem:

1. Diagrama de Classes: Estrutura estática do sistema, mostrando classes, seus atributos e


métodos, e as relações entre eles.
2. Diagrama de Objetos: Uma instância de um diagrama de classes, mostrando instâncias de
classes (objetos) e seus relacionamentos.
3. Diagrama de Casos de Uso: Representa as funcionalidades do sistema sob a perspectiva
dos usuários.
4. Diagrama de Sequência: Mapeia como os objetos no sistema interagem entre si em uma
determinada função.
5. Diagrama de Colaboração: Semelhante ao diagrama de sequência, mas focado na visua-
lização da organização dos objetos e suas interações.
6. Diagrama de Estados: Representa os diferentes estados possı́veis de um objeto e as transições
entre esses estados.
7. Diagrama de Atividades: Similar a um fluxograma, mostra o fluxo de atividades e ações
no sistema.
8. Diagrama de Componentes: Mostra a estrutura fı́sica do sistema, incluindo componentes,
interfaces e suas dependências.
9. Diagrama de Implantação: Visualiza a distribuição fı́sica de artefatos (softwares) em nós
(hardware).
10. Diagrama de Estrutura Composta: Ilustra a organização interna de um elemento de
classificação, como uma classe ou um componente.
11. Diagrama de Comunicação: Uma variação do diagrama de colaboração, mostrando as
interações entre objetos ou partes do sistema, que são modeladas como sequências de trocas
de mensagens.
12. Diagrama de Pacotes: Agrupa elementos do sistema em pacotes e mostra as dependências
entre eles.
13. Diagrama de Visão Geral de Interação: Um tipo de diagrama que fornece uma visão geral
das interações ou fluxo de controle, onde cada ponto de interação pode ser outro diagrama.
14. Diagrama de Tempo: Foca na temporalidade dos eventos, mostrando a mudança de estado
ou as condições de objetos em um perı́odo de tempo.

Os diagramas UML são essenciais para representar a estrutura e o comportamento dos sistemas de
software de forma padronizada e compreensı́vel.

Em 3 de março de 2024 Folha 2 de 3


Programação OO e Java

Ferramentas

Aqui estão três ferramentas gratuitas que podem ser usadas para criar e desenvolver diagramas
UML:

• Software Ideas Modeler: Uma ferramenta de design para desenhar UML, SysML, ERD,
ArchiMate e fluxogramas. É uma das melhores ferramentas UML gratuitas que permite criar
histórias de usuários e oferece suporte a wireframe. https://www.softwareideas.net/
• Lucidchart: Oferece uma versão gratuita para a criação de fluxogramas, mapas mentais,
organogramas, diagramas de rede, entre outros, com uma galeria repleta de exemplos e modelos.
https://www.lucidchart.com/pages/pt/exemplos/uml-online
• Visual Paradigm Online Free Edition Uma ferramenta de desenho online gratuita que
suporta UML, ERD, Organograma, entre outros. Possui um editor UML simples, intuitivo e
poderoso, permitindo a criação de diagramas UML profissionais de forma simples e rápida.
https://online.visual-paradigm.com
• UMLet: Uma ferramenta open source de UML que possui uma interface de usuário simples
para a criação rápida de diagramas UML. Licenciada sob a GPL-3.0, é escrita em JavaScript e
Java, e pode ser executada de forma independente ou como um plug-in do Eclipse em Windows,
OS X e Linux. https://www.umlet.com/

Essas ferramentas são populares entre a comunidade de desenvolvedores conhecidas por sua aces-
sibilidade, flexibilidade, extensibilidade e funcionalidades que cobrem a maioria das necessidades
durante a fase de modelagem em UML.

Em 3 de março de 2024 Folha 3 de 3

Você também pode gostar