|
||
|
|
| Conheça o Plugfeed | » Início » Programação » UML » UML - Que raios é isso? --> |
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 13/11/2006UML - Que raios é isso?
Bruno Roque Bacharel em Ciências da Computação pelo SENAC, atualmente trabalha na EDS do Brasil, no time do Solution Center em São Paulo como analista de sistemas.
Suas especialidades são Análise de Sistemas, Engenharia e Qualidade de Desenvolvimento de Software.
UML - Que raios é isso?
Quando a gente acha que já viu todo o tipo de sopa de letras em desenvolvimento de software sempre aparece algo novo. Agora surge essa tal de UML que se tornou um padrão mundial em desenvolvimento de sistemas, mas que raios é isso? A UML ou Unified Modeling Language (que nada tem a ver com XML, HTML, XLS, DML, DHTML) é uma linguagem de modelagem não proprietária de terceira geração. Ela foi criada para facilitar e uniformizar a forma de especificação de projetos de desenvolvimento de software. Agora você deve estar se perguntando "Vou ter que aprender mais uma metodologia?". Bem, na verdade metodologia não, pois a UML não é um método, é uma notação. Um método normalmente é composto por uma linguagem de modelagem (notação gráfica) e por um processo1 (passos para elaboração do projeto). Dessa forma a UML, pode ser usada com qualquer processo já que é independente dele. Resumindo, a definição ideal para a UML seria: UML (Unified Modeling Language - Linguagem de Modelagem Unificada) é uma linguagem para especificação, visualização, construção e documentação de artefatos2 de desenvolvimento de sistemas. Breve História Para entender porque a UML se tornou um padrão mundial é interessante conhecermos como ela nasceu e como se desenvolveu até chegar a sua versão atual (versão 2.0). No início dos conceitos de O.O. (Orientação a Objetos), diversos métodos apresentados para a comunidade. Chegaram a mais de 50 entre os anos de 1989 a 1994, porém a maioria deles cometeu o erro de tentar estender os métodos estruturados da época. Com isso os maiores prejudicados foram os usuários, no caso nós, que não conseguiam encontrar uma maneira satisfatória de modelar seus sistemas. Essa situação ficou conhecida como a “guerra dos métodos”. Foi a partir da década de 90 que começaram a surgir teorias que procuravam trabalhar de forma mais ativa com o paradigma da orientação a objetos. Diversos autores famosos contribuíram com publicações de seus respectivos métodos. Por volta de 1993 existiam 3 métodos que mais cresciam no mercado, eram eles Booch’93 de Grady Booch, OMT-2 de James Rumbaugh e OOSE de Ivar Jacobson. Cada um deles possuía pontos fortes em alguma parte. O OOSE possuía foco em casos de uso (use cases), OMT-2 se destaca na faze de analise de sistemas de informação e Booch’93 era mais forte na fase de projeto. O sucesso desses métodos se deu principalmente ao fato de não terem tentado estender os métodos já existentes. Seus métodos já convergiam de maneira independente, então seria mais produtivo continuar de forma conjunta. Em outubro de 1994 começaram os esforços para unificação dos métodos. Já em outubro de 1995 Booch e Rumbaugh lançaram um rascunho do Método Unificado unificando o Booch’93 e o OMT-2, após isso Jacobson se juntou a equipe do projeto e o Método Unificado passou a incorporar o OOSE. os E foi em junho de 1996 os três amigos, como já eram conhecidos, lançaram a primeira versão com os três métodos, a versão 0.9 que foi batizada como UML. Daí em diante várias novas versões na qual podemos acompanhar através do gráfico abaixo:
A OMG3 lançou uma RFP (Request for Proposals) para que outras empresas pudessem contribuir com a evolução da UML, daí se chegou a versão 1.1. Após alcançar esta versão, a OMG3 passou a adotá-la como padrão4 e a se responsabilizar (através da RTF – Revision Task Force) pelas revisões. Essas revisões são controladas a não provocar uma grande mudança no escopo original. E realmente foi isso que aconteceu, se observarmos as diferenças entre as versões, veremos que de uma para a outra não houve grande impacto, o que facilitou sua disseminação pelo mundo. Visão Geral A UML permite modelar:
Um Diagrama é uma representação gráfica parcial ou total de um modelo. Apresentação gráfica de uma coleção de elementos de modelo, geralmente processados como um gráfico de arcos (relacionamentos) e vértices (outros elementos de modelo) conectados. A UML 2.0 (versão atual) define 13 tipos de diagramas divididos em 2 categorias. Modelagem Estáticos ou Estruturais Diagramas estáticos ou estruturais definem estaticamente a arquitetura de um modelo. São usados modelar as “coisas” que compõem um modelo - as classes, os objetos, as relações e os componentes físicos. Além disso, também são usados modelar os relacionamentos e as dependências entre elementos. Abaixo temos uma tabela com o diagramas estruturais e suas respectivas descrições: Diagrama de pacotes É usado dividir o modelo em containers lógicos ou em "pacotes" e descreve as interações entre eles em alto nível. Diagrama de classes Define os elementos básicos de um modelo: os tipos, as classes e os relacionamentos são usados construir um modelo completo. Diagrama de objetos Similar ao diagrama de classes porém sua principal diferença é que ele apresenta os atributos com valores. Corresponde a uma instância do diagrama de classes, mostrando o estado de um sistema em um determinado ponto do temp Diagrama de estrutura composta Fornece meios de definir a estrutura de um elemento e de focalizá-la no detalhe, na construção e em relacionamentos internos Diagrama de componentes Apresenta as dependências ente componentes de softwares, incluindo implementação de classes, arquivos de código fonte, arquivo de código binário, arquivos executáveis e scripts. Diagrama de instalação Mostra a configuração dos elementos de processamento em tempo de execução, além dos componentes, processos e objetos do sistema neles existentes. Dinâmicos ou de Comportamento Os diagramas dinâmicos ou de comportamento apresentam as variedades da interação e do estado instantâneo dentro de um modelo enquanto é “executado”. Diagrama casos de uso É usado modelar interações do usuário/sistema. Definem o comportamento, as exigências e o resultado esperado de uma funcionalidade. Diagrama de atividades É uma variação do diagrama de máquina de estados. Representa a execução das ações e as transições que são acionadas pela conclusão de outras ações ou atividades. Diagrama de máquina de estados Representa as ações ocorridas em reposta a ao recebimento de um evento, onde cada ponto de parada representa um estado da aplicação. Diagrama de comunicação Exibe uma interação, consistindo de um conjunto de objetos e seus relacionamentos, incluindo as mensagens que podem ser trocadas entre eles. Diagrama de seqüência É usado para representar o comportamento das operações, métodos (procedimentos ou funções) entre classes de um cenário. Diagrama de Tempo É a fusão do diagrama de seqüência e estado apresentando o comportamento dos objetos e sua interação em uma escala de tempo, ou seja, o estado dos objetos em relação ao tempo e as mensagens que modificam esse estado. Diagrama de Interatividade É a fusão do diagrama de atividades e seqüência. Ele permite que fragmentos das interações sejam facilmente combinados aos pontos e fluxos de decisão. Como acredito que você já está cansado de ler este texto (eu estaria!!), vou encerrar por aqui essa introdução. Nos próximos artigos darei mais detalhes, inclusive com exemplos de cada um desses diagramas. Até mais pessoal! Observações: 1 - É responsabilidade do processo decidir quais e quando os artefatos serão produzidos, a equipe e atividades necessárias para criar e manter esses artefatos. 2 - Exemplos: Requisitos, Caso de Uso, Plano de Teste, código-fonte, planos de projetos, etc.. 3 – A OMG é uma organização internacional, fundada em 1989. Promove teoria e prática da tecnologia orientada a objetos em desenvolvimento de sistemas. 4 – A versão 1.1 foi oferecida a OMG em Julho de 1997 e foi aceita em Setembro do mesmo ano. Em 14 de Novembro de 1997, a UML 1.1 passou a ser adotada como padrão pela OMG.
Artigos relacionados
Links relacionados
Felipe Cândido <felipe.candido@aoc.com.br>
Ótimo artigo ! Bem escrito, completo e bom referencial para uso do UML.
Parabéns ! Felipe ![]() ![]() ![]() ![]() ![]() Társia <pequenabrilhante@hotmail.com>
achei muito sucinto. Estou procurando algo que fale detalhadamente sobre cada diagrama... mas ta muito difícil de encontrar...
esperava encontrar mais detalhes. ![]() ![]() ![]() ![]() ![]() Patricia <patricia.sistemas@gmail.com>
Este artigo retrata de maneira clara e objetiva a utilidade do UML!!!!
Parabéns!!!!!! ![]() ![]() ![]() ![]() ![]() Adenilson Sousa da Rocha <adenilson2002@hotmail.com>
Simples e objetivo, você foi simplesmente assertivo. Parabéns Bruno!!!
![]() ![]() ![]() ![]() ![]() Pedrão <pedraohenrique@gmail.com>
Gostei. O texto é bastante objetivo. Parabéns.
![]() ![]() ![]() ![]() ![]() ![]() |
|
|