uml e seus diagramas resumo 9 págs

download uml e seus diagramas resumo 9 págs

of 9

Transcript of uml e seus diagramas resumo 9 págs

  • 8/4/2019 uml e seus diagramas resumo 9 pgs

    1/9

    A histria de UML e seus diagramas

    Thnia Clair de Souza Vargas

    Departamento de Informtica e Estatstica

    Universidade Federal de Santa Catarina (UFSC) Florianpolis, SC Brazil

    [email protected]

    Abstract. This paper describes the UML history since the decade of 1990 so

    far today. It presents the organization of the thirteen UML diagrams,

    classifying them in structural and behavioral diagrams. The four documents

    belonging to the specification are cited and explained as well. Finally, each

    UML 2 diagram is described in detail.

    Resumo. Este artigo descreve a histria de UML desde a dcada de 1990 at

    o momento atual. Apresenta-se a organizao dos treze diagramas de UML,

    classificando-os em diagramas estruturais e comportamentais. Os quatro

    documentos pertencentes especificao tambm so mencionados e

    explicados. Por fim, cada diagrama de UML 2 descrito em detalhes.

    1. Introduo

    Modelagem de software a atividade de construir modelos que expliquem ascaractersticas ou o comportamento de um software ou de um sistema de software. Na

    construo do software os modelos podem ser usados na identificao das

    caractersticas e funcionalidades que o software dever prover (anlise de requisitos), e

    no planejamento de sua construo. Freqentemente a modelagem de software usa

    algum tipo de notao grfica e so apoiados pelo uso de ferramentas.

    A modelagem de software normalmente implica a construo de modelos

    grficos que simbolizam os artefatos dos componentes de software utilizados e os seus

    interrelacionamentos. Uma forma comum de modelagem de programas orientados a

    objeto atravs da linguagem unificada UML.

    A UML (Unified Modeling Language) uma linguagem para especificao,

    documentao, visualizao e desenvolvimento de sistemas orientados a objetos.

    Sintetiza os principais mtodos existentes, sendo considerada uma das linguagens mais

    expressivas para modelagem de sistemas orientados a objetos. Por meio de seus

    diagramas possvel representar sistemas de softwares sob diversas perspectivas de

    visualizao. Facilita a comunicao de todas as pessoas envolvidas no processo de

    desenvolvimento de um sistema - gerentes, coordenadores, analistas, desenvolvedores -

    por apresentar um vocabulrio de fcil entendimento (OMG, 2005a) (OMG,

  • 8/4/2019 uml e seus diagramas resumo 9 pgs

    2/9

    2005b) (OMG, 2005c) (OMG, 2006).

    2. Histria de UML

    No incio da utilizao do paradigma de orientao a objetos, diversos mtodos foram

    apresentados para a comunidade. Chegaram a mais de cinqenta entre os anos de 1989 a

    1994, porm a maioria deles cometeu o erro de tentar estender os mtodos estruturados

    da poca. Com isso os maiores prejudicados foram os usurios que no conseguiam

    encontrar uma maneira satisfatria de modelar seus sistemas. Foi a partir da dcada de

    90 que comearam a surgir teorias que procuravam trabalhar de forma mais ativa com o

    paradigma da orientao a objetos. Diversos autores famosos contriburam com

    publicaes de seus respectivos mtodos.

    Figure 1. Linha do Tempo de UML

    Por volta de 1993 existiam trs mtodos que mais cresciam no mercado, eram

    eles: Booch93 de Grady Booch, OMT-2 de James Rumbaugh e OOSE de Ivar

    Jacobson. Cada um deles possua pontos fortes em algum aspecto. O OOSE possua

    foco em casos de uso (use cases), OMT-2 se destaca na fase de anlise de sistemas de

    informao e Booch93 era mais forte na fase de projeto. O sucesso desses mtodos foi,principalmente, devido ao fato de no terem tentado estender os mtodos j existentes.

  • 8/4/2019 uml e seus diagramas resumo 9 pgs

    3/9

    Seus mtodos j convergiam de maneira independente, ento seria mais produtivo

    continuar de forma conjunta (SAMPAIO, 2007).

    Em outubro de 1994, comearam os esforos para unificao dos mtodos. Jem outubro de 1995, Booch e Rumbaugh lanaram um rascunho do Mtodo

    Unificado unificando o Booch93 e o OMT-2. Aps isso, Jacobson se juntou a equipe

    do projeto e o Mtodo Unificado passou a incorporar o OOSE. Em junho de 1996, os

    trs amigos, como j eram conhecidos, lanaram a primeira verso com os trs mtodos

    - a verso 0.9 que foi batizada como UML (FOWLER, 2003). Posteriormente, foram

    lanadas vrias novas verses na qual podemos acompanhar atravs do grfico na figura

    1.

    OMG3 lanou uma RFP (Request for Proposals) para que outras empresaspudessem contribuir com a evoluo da UML, chegando verso 1.1. Aps alcanar

    esta verso, a OMG3 passou a adot-la como padro e a se responsabilizar (atravs da

    RTF Revision Task Force) pelas revises. Essas revises so, de certa forma,

    controladas a no provocar uma grande mudana no escopo original. Se observarmos

    as diferenas entre as verses atualmente, veremos que de uma para a outra no houve

    grande impacto, o que facilitou sua disseminao pelo mundo.

    3. Estrutura da Especificao

    A especificao de UML composta por quatro documentos: infra-estrutura deUML(OMG, 2006), superestrutura de UML (OMG, 2005c), Object Constraint

    Language (OCL) (OMG, 2005a) e Intercmbio de Diagramas (OMG, 2005b).

    Infra-estrutura de UML: O conjunto de diagramas de UML constitui uma

    linguagem definida a partir de outra linguagem que define os elementos

    construtivos fundamentais. Esta linguagem que suporta a definio dos

    diagramas apresentada no documento infra-estrutura de UML.

    Superestrutura de UML: Documento que complementa o documento de

    infra-estrutura e que define os elementos da linguagem no nvel do usurio.

    Linguagem para Restries de Objetos (OCL): Documento que apresenta a

    linguagem usada para descrever expresses em modelos UML, com pr-

    condies, ps-condies e invariantes.

    Intercmbio de diagramas de UML: Apresenta uma extenso do meta-

    modelo voltado a informaes grficas. A extenso permite a gerao de

    uma descrio no estilo XMI orientada a aspectos grficos que, em conjunto

    com o XMI original permite produzir representaes portveis deespecificaes UML.

  • 8/4/2019 uml e seus diagramas resumo 9 pgs

    4/9

    4. Organizao dos diagramas de UML 2

    A linguagem UML 2 composta por treze diagramas, classificados em diagramas

    estruturais e diagramas de comportamento. A figura 2 apresenta a estrutura dascategorias utilizando a notao de diagramas de classes (OMG, 2006).

    Figura 2. Organizao Geral dos Diagramas de UML 2

    Os diagramas estruturais, ilustrados na imagem 3 conforme a especificao

    OMG (OMG, 2006), tratam o aspecto estrutural tanto do ponto de vista do sistema

    quanto das classes. Existem para visualizar, especificar, construir e documentar os

    aspectos estticos de um sistema, ou seja, a representao de seu esqueleto e estruturasrelativamente estveis. Os aspectos estticos de um sistema de software abrangem a

    existncia e a colocao de itens como classes, interfaces, colaboraes, componentes.

    Figura 3. Diagramas Estruturais

    Os diagramas de comportamento, ilustrados na imagem 4 conforme a

    especificao OMG (OMG, 2006), so voltados a descrever o sistema computacional

    modelado quando em execuo, isto , como a modelagem dinmica do sistema. So

  • 8/4/2019 uml e seus diagramas resumo 9 pgs

    5/9

    usados para visualizar, especificar, construir e documentar os aspectos dinmicos de um

    sistema que a representao das partes que sofrem alteraes, como por exemplo o

    fluxo de mensagens ao longo do tempo e a movimentao fsica de componentes emuma rede.

    Figura 4. Diagramas Comportamentais

    5. Diagramas de UML 2

    Um diagrama uma representao grfica de um conjunto de elementos (classes,

    interfaces, colaboraes, componentes, ns, etc) e so usados para visualizar o sistema

    sob diferentes perspectivas. A UML define um nmero de diagramas que permite dirigir

    o foco para aspectos diferentes do sistema de maneira independente. Se bem usados, os

    diagramas facilitam a compreenso do sistema que est sendo desenvolvido.

    Nas prximas sees, sero sintetizadamente apresentados os diagramas que

    compem a linguagem UML 2.

    5.1. Diagrama de Classes

    Um diagrama de classes um modelo fundamental de uma especificao orientada a

    objetos. Produz a descrio mais prxima da estrutura do cdigo de um programa, ou

    seja, mostra o conjunto de classes com seus atributos e mtodos e os relacionamentos

    entre classes. Classes e relacionamentos constituem os elementos sintticos bsicos do

    diagrama de classes (SILVA, 2007).

    5.2. Diagrama de Objetos

    O diagrama de objetos consiste em uma variao do diagrama de classes em que, em

    vez de classes, so representadas instncias e ligaes entre instncias. A finalidade descrever um conjunto de objetos e seus relacionamentos em um ponto no tempo.

  • 8/4/2019 uml e seus diagramas resumo 9 pgs

    6/9

    Contm objetos e vnculos e so usados para fazer a modelagem da viso de projeto

    esttica de um sistema a partir da perspectiva de instncias reais ou prototpicas.

    5.3. Diagrama de Pacotes

    O pacote um elemento sinttico voltado a conter elementos sintticos de uma

    especificao orientada a objetos. Esse elemento foi definido na primeira verso de

    UML para ser usado nos diagramas ento existentes, como diagrama de classes, por

    exemplo. Na segunda verso da linguagem, foi introduzido um novo diagrama, o

    diagrama de pacotes, voltado a conter exclusivamente pacotes e relacionamentos entre

    pacotes (SILVA, 2007). Sua finalidade tratar a modelagem estrutural do sistema

    dividindo o modelo em divises lgicas e descrevendo as interaes entre ele em alto

    nvel.

    5.4. Diagrama de Estrutura Composta

    O diagrama de estrutura composta fornece meios de definir a estrutura de um elemento e

    de focaliz-la no detalhe, na construo e em relacionamentos internos. um dos novos

    diagramas propostos na segunda verso de UML, voltado a detalhar elementos de

    modelagem estrutural, como classes, pacotes e componentes, descrevendo sua estrutura

    interna.

    O diagrama de estrutura composta introduz a noo de porto, um ponto deconexo do elemento modelado, a quem podem ser associadas interfaces. Tambm

    utiliza a noo de colaborao, que consiste em um conjunto de elementos

    interligados atravs de seus portos para a execuo de uma funcionalidade especfica

    recurso til para a modelagem de padres de projeto (SILVA, 2007).

    5.5. Diagrama de Componentes

    O diagrama de componentes um dos dois diagramas de UML voltados a modelar

    software baseado em componentes. Tem por finalidade indicar os componentes do

    software e seus relacionamentos. Este diagrama mostra os artefatos de que oscomponentes so feitos, como arquivos de codigo fonte, bibliotecas de programao ou

    tabelas de bancos de dados. As interfaces que possibilitam as associaes entre os

    componentes.

    5.6. Diagrama de Implantao

    O diagrama de utilizao, tambm denominado diagrama de implantao, consiste na

    organizao do conjunto de elementos de um sistema para a sua execuo. O principal

    elemento deste diagrama o nodo, que representa um recurso computacional. Podem serrepresentados em um diagrama tantos os nodos como instncias de nodos.

  • 8/4/2019 uml e seus diagramas resumo 9 pgs

    7/9

    O diagrama de implatao util em projetos onde h muita interdepedncia entre

    pedaos de hardware e software.

    5.7. Diagrama de Casos de Uso

    O diagrama de casos de uso especifica um conjunto de funcionalidades, atravs do

    elemento sinttico casos de uso, e os elementos externos que interagem com o

    sistema, atravs do elemento sinttico ator (SILVA, 2007). Alm de casos uso e

    atores, este diagrama contm relacionamentos de dependncia, generalizao e

    associao e so basicamente usados para fazer a modelagem de viso esttica do caso

    de uso do sistema. Essa viso proporciona suporte principalmente para o

    comportamento de um sistema, ou seja, os servios externamente visveis que o sistema

    fornece no contexto de seu ambiente. Neste caso os diagramas de caso de uso sousados para fazer a modelagem do contexto de um sistema e fazer a modelagem dos

    requisitos de um sistema.

    5.8. Diagrama de Seqncia

    O diagrama de seqncia mostra a troca de mensagens entre diversos objetos, em uma

    situao especfica e delimitada no tempo. Coloca nfase especial na ordem e nos

    momentos nos quais mensagens para os objetos so enviadas.

    Em diagramas de seqncia, objetos so representados atravs de linhas verticaistracejadas (denominadas como linha de existncia), com o nome do objeto no topo. O

    eixo do tempo tambm vertical, aumentando para baixo, de modo que as mensagens

    so enviadas de um objeto para outro na forma de setas com a operao e os nomes dos

    parmetros.

    5.8. Diagrama de Mquina de Estados

    O diagrama de mquina de estados tem como elementos principais o estado, que modela

    uma situao em que o elemento modelado pode estar ao longo de sua existncia, e a

    transio, que leva o elemento modelado de um estado para o outro. O diagrama demquina de estados v os objetos como mquinas de estados ou autmatos finitos que

    podero estar em um estado pertencente a uma lista de estados finita e que podero

    mudar o seu estado atravs de um estmulo pertencente a um conjunto finito de

    estmulos.

    5.8. Diagrama de Comunicao

    Os elementos de um sistema trabalham em conjunto para cumprir os objetos do sistema

    e uma linguagem de modelagem precisa poder representar esta caracterstica. Odiagrama de comunicao voltado a descrever objetos interagindo e seus principais

  • 8/4/2019 uml e seus diagramas resumo 9 pgs

    8/9

    elementos sintticos so objeto e mensagem. Corresponde a um formato alternativo

    para descrever interao entre objetos. Ao contrrio do diagrama de seqncia, o tempo

    no modelado explicitamente, uma vez que a ordem das mensagens definida atravsde enumerao. Vale ressaltar que tanto o diagrama de comunicao como o diagrama

    de seqncia so diagramas de interao.

    5.8. Diagrama de Atividades

    O diagrama de atividades representa a execuo das aes e as transies que so

    acionadas pela concluso de outras aes ou atividades.

    Uma atividade pode ser descrita como um conjunto de aes e um conjunto de

    atividades. A diferena bsica entre os dois conceitos que descrevem comportamento

    que a ao atmica, admitindo particionamento, o que no se aplica a atividade, que

    pode ser detalhada em atividades e aes (SILVA, 2007).

    5.8. Diagrama de Viso Geral de Integrao

    O diagrama de viso geral de interao uma variao do diagrama de atividades,

    proposto na verso atual de UML. Seus elementos sintticos so os mesmos do

    diagrama de atividades. As interaes que fazem parte do diagrama de viso geral de

    interao podem ser referncias a diagramas de interao existentes na especificao

    tratada.

    5.8. Diagrama de Temporizao

    O diagrama de temporizao consiste na modelagem de restries temporais do sistema.

    um diagrama introduzido na segunda verso de UML, classificado como diagrama de

    interao. Este diagrama modela interao e evoluo de estados.

    6. Concluso

    Embora a UML defina uma linguagem precisa, ela no uma barreira para futuros

    aperfeioamentos nos conceitos de modelagem. O desenvolvimento da UML foibaseado em tcnicas antigas e marcantes da orientao a objetos, mas muitas outras

    influenciaro a linguagem em suas prximas verses. Muitas tcnicas avanadas de

    modelagem podem ser definidas usando UML como base, podendo ser estendida sem se

    fazer necessrio redefinir a sua estrutura interna.

    A UML est sendo a base para muitas ferramentas de desenvolvimento,

    incluindo modelagem visual, simulaes e ambientes de desenvolvimento. Em breve,

    ferramentas de integrao e padres de implementao baseados em UML estaro

    disponveis para qualquer um.

    A UML integrou muitas idias adversas, e esta integrao acelera o uso do

    desenvolvimento de softwares orientados a objetos.

  • 8/4/2019 uml e seus diagramas resumo 9 pgs

    9/9

    References

    FOWLER, M. UML Distilled: A Brief Guide to the Standard Object Modeling

    Language. [S.l.: s.n.], 2003.OMG. OCL 2.0 Specification. 2005.

    OMG. Unified Modeling Language: diagram interchange. 2005.

    OMG. Unified Modeling Language: superstructure. 2005.

    OMG. Unified Modeling Language: infrastructure. 2006.

    ROCHA, A. R. C.; MALDONADO, J. C.; WEBER, K. C. Qualidade de Software. SoPaulo: a Pretince Hall, 2001.

    SAMPAIO, M. C. Histria de UML. http://www.dsc.ufcg.edu.br/sampaio: [s.n.], 2007.

    Books, 2007.