Vous êtes sur la page 1sur 11

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.

.Please visit http://www.visagesoft.com for more details

Proposta de Tutorial Prtico (8 Horas) Ttulo: Modelando Software por Meio da UML
Gilleanes Thorwald Araujo Guedes Departamento de Sistemas de Informao Faculdade do Sul de Mato Grosso (FACSUL) Centro de Ensino Superior de Rondonpolis (CESUR) Rua Ary Coelho, 822 78705-010 Rondonpolis MT Brasil
gtag@cesur.br

Resumo: Este tutorial tem por objetivo demonstrar como modelar software por meio da UML (Unified Modeling Language). Primeiramente o tutorial ir introduzir os objetivos da linguagem e abordar rapidamente a infraestrutura da linguagem, enfatizando o uso de perfis. Em seguida, o tutorial far uma reviso sobre o Paradigma de Orientao a Objetos, cujo conhecimento e domnio imprescindvel para quem deseja modelar software por meio da UML. Finalmente o tutorial abordar a superestrutura da linguagem, foco principal do mesmo, onde ser ensinado o uso dos diversos diagramas que compem a linguagem, detalhando sua estrutura, componentes e exemplificando problemas j modelados. Aps a apresentao dos diagramas mais importantes, sero sugeridos exerccios, que permitam aos alunos consolidar os conhecimentos adquiridos. No ser possvel exercitar todos os diagramas devido ao tempo no ser suficiente, no entanto, todos os diagramas sero apresentados e exemplificados, embora os diagramas menos importantes tenham que ser vistos muito rapidamente.

1. Introduo
A UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) uma linguagem visual utilizada para modelar sistemas computacionais por meio do paradigma de Orientao a Objeto. Essa linguagem tornou-se, nos ltimos anos, a linguagem padro de modelagem de software adotada internacionalmente pela indstria de Engenharia de Software. Deve ficar bem claro, no entanto, que a UML no uma linguagem de programao e sim uma linguagem de modelagem, cujo objetivo auxiliar os engenheiros de software a definir as caractersticas do software, tais como seus requisitos, seu comportamento, sua estrutura lgica, a dinmica de seus processos e at mesmo suas necessidades fsicas em relao ao equipamento sobre o qual o sistema dever ser implantado. Todas essas caractersticas so definidas por meio da UML antes do software comear a ser realmente desenvolvido.

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

2. Justificativa
Conforme j foi detalhado na introduo, a UML tornou-se a linguagem padro adotada internacionalmente pela indstria de Engenharia de Software, sendo, portanto, seu conhecimento imprescindvel para os profissionais que desejem atuar nesta rea.

3. Objetivos Gerais
Fornecer ao aluno conhecimentos a respeito da UML, de forma a que este seja capaz de modelar software por meio desta linguagem.

4. Objetivos Especficos
Introduzir a tecnologia UML; Revisar o Paradigma de Orientao a Objetos; Apresentar a infraestrutura da linguagem UML; Apresentar a superstrutura da linguagem UML, detalhando e exemplificando seus diversos diagramas.

15. Pblico Alvo


2Este mini-curso direcionado principalmente a alunos que tenham cursado ou estejam cursando disciplinas como Engenharia de Software e afins, podendo ser realizado tambm por professores da rea de computao e por profissionais formados na rea que atuem como engenheiros ou desenvolvedores de Software.

36. Durao e Metodologia


4O mini-curso ter durao de 8 horas, apresentando um pequeno mdulo terico, de cerca de uma hora, onde ser feita uma introduo linguagem UML, passando-se para a descrio da infraestrutura da linguagem, enfatizando-se o uso de perfis, e, finalmente, realizando-se uma rpida reviso sobre o Paradigma de Orientao a Objetos. Aps a apresentao do mdulo terico, o tutorial passar ao mdulo prtico, onde versar sobre a Superestrutura da UML, principal foco deste tutorial, no qual ser enfatizada a modelagem prtica de problemas por meio dos diagramas da UML. Todos os diagramas da linguagem sero apresentados aos alunos, embora apenas os componentes principais de cada diagrama sero vistos, devido ao tempo exguo, e, por este mesmo motivo alguns diagramas menos importantes no podero ser exercitados, no entanto, todos sero exemplificados, ainda que em alguns casos rapidamente.

57. Materiais Necessrios


6Para a apresentao do tutorial ser necessrio: Quadro branco, marcadores e apagador; Computador com drive de CD-ROM; Sistema Operacional Windows; Data Show; Verso trial do software Enterprise Architect (que pode ser baixado no site www.sparxsystems.com.au); Edio para a comunidade do software Visual Paradigm (que pode ser baixado no site www.visual-paradigm.com); Software PowerPoint 97/2000 ou equivalente;

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

1Para os alunos: Computadores com sistema operacional Windows; Verso trial do software Enterprise Architec; Edio para a comunidade do software Visual Paradigm; Cpia de apostila do curso;

8. Contedos a serem abordados


1.

Introduo UML
1.1. 1.2. 1.3.

Histrico Breve introduo Infraestrutura da UML 2.0 Perfis

2.

Reviso do Paradigma de Orientao a Objetos;


2.1. 2.2. 2.3. 2.4. 2.5. 2.6.

Classificao, abstrao, instanciao Classes de objetos Atributos Mtodos Herana Polimorfismo

3. 4.

Breve Introduo Superestrutura da UML 2.0 Diagrama de Casos de Uso


4.1. 4.2. 4.3.

Objetivos Principais componentes Exemplos e exerccios rpidos

5.

Diagrama de Classes
5.1. 5.2. 5.3.

Objetivos Principais componentes Exemplos e exerccios rpidos

6. 7.

Diagrama de Objetos Diagrama de Estruturas Compostas


7.1. 7.2. 7.3.

Objetivos Principais componentes Exemplos e exerccios rpidos

8.

Diagrama de Seqncia
8.1. 8.2.

Objetivos Principais componentes

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

8.3. 9.

Exemplos e exerccios rpidos

Diagrama de Comunicao (Diagrama de Colaborao na UML 1.x)


9.1. 9.2. 9.3.

Objetivos Principais componentes Exemplos

10.

Diagrama de Mquina de Estados (Diagrama de Grfico de Estados na UML 1.x)


10.1. 10.2. 10.3.

Objetivos Principais componentes Exemplos

11.

Diagrama de Atividades
11.1. 11.2. 11.3.

Objetivos Principais componentes Exemplos e exerccios rpidos

12.

Diagrama de Pacotes
12.1. 12.2. 12.3.

Objetivos Principais componentes Exemplos

13.

Diagrama de Interao Geral


13.1. 13.2. 13.3.

Objetivos Principais componentes Exemplos

14.

Diagrama de Tempo
14.1. 14.2. 14.3.

Objetivos Principais componentes Exemplos

15.

Diagrama de Componentes
15.1. 15.2. 15.3.

Objetivos Principais componentes Exemplos

16.

Diagrama de Implantao
16.1. 16.2. 16.3.

Objetivos Principais componentes Exemplos

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

9. Breve resumo dos contedos a serem abordados 9.1. Breve Histrico da UML
A UML surgiu da unio de trs metodologias de modelagem: o mtodo de Booch; o mtodo OMT (Object Modeling Technique), de Jacobson; e o mtodo OOSE (Object-Oriented Software Engineering) de Rumbaugh. Estas eram, at meados da dcada de 90, as trs metodologias de modelagem orientada a objetos mais populares entre os profissionais da rea de desenvolvimento de software. A unio dessas metodologias contou com o amplo apoio da Rational Software, que incentivou e financiou a unio das trs metodologias. O esforo inicial do projeto comeou com a unio do mtodo de Booch com o mtodo OMT de Jacobson, o que resultou no lanamento do Mtodo Unificado no final de 1995. Logo em seguida, Rumbaugh juntou-se a Booch e Jacobson na Rational Software e seu mtodo OOSE comeou tambm a ser incorporado nova metodologia. O trabalho de Booch, Jacobson e Rumbaugh, conhecidos popularmente como Os Trs Amigos, resultou no lanamento da primeira verso da UML propriamente dita em 1996. To logo a primeira verso foi lanada, diversas grandes empresas atuantes na rea de modelagem e desenvolvimento de software passaram a contribuir com o projeto, fornecendo sugestes para melhorar e ampliar a linguagem. Finalmente a UML foi adotada pela OMG (Object Management Group ou Grupo de Gerenciamento de Objetos) em 1997, como uma linguagem padro de modelagem [Booch, Rumbaugh e Jacobson 2000], [Bezerra 2002], [Melo 2002], [Guedes 2004]. At pouco tempo atrs, a UML encontrava-se na verso 1.5, tendo sido muito recentemente substituda pela verso 2.0 da linguagem. Esta nova verso traz grandes novidades em relao estrutura geral da linguagem principalmente com relao a abordagem de quatro camadas e a possibilidade de se desenvolver perfis particulares a partir da UML [Guedes 2004].

9.2. A Infraestrutura da UML 2.0


O objetivo da Infraestrutura da UML definir um ncleo de metalinguagem que possa ser utilizado para definir a UML e que possa ser reutilizado para definir outras arquiteturas de metamodelos, alm de definir mecanismos que permitam a customizao e adaptao da UML, de maneira a criar dialetos para plataformas e domnios especficos. A Infraestrutura da UML define as construes bsicas de especificao da UML, alm de permitir adapt-la a domnios especficos. A Infraestrutura da UML definida pela Biblioteca de Infraestrutura, que satisfaz os seguintes requisitos de projeto [Guedes 2004], [OMGa 2003]: Definir um ncleo de metalinguagem que possa ser reutilizada para definir uma variedade de metamodelos incluindo UML, MOF e CWM. Alinhar arquiteturalmente UML, MOF e XMI de forma que o intercmbio entre os modelos seja totalmente suportado. Permitir customizao da UML atravs de perfis (Profiles) e a criao de novas linguagens (famlias de linguagens) baseadas no mesmo ncleo de metalinguagem que a UML.

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

19.3. Perfis
2O Pacote Perfis define os mecanismos usados para adaptar metamodelos existentes a plataformas ou domnios especficos. Um perfil deve estar baseado em um metamodelo como a UML e no muito til sozinho. O uso de perfis permite aos usurios criarem dialetos da UML, de forma que estes estejam mais adequados s tecnologias de desenvolvimento adotadas por uma determinada empresa ou mesmo sua rea de negcio. Alm disso, a utilizao de perfis permitir a adaptao da UML ao surgimento de novas tecnologias, sem haver a necessidade de se alterar o ncleo da linguagem, o que no ocorria em suas verses anteriores, no sendo estas totalmente adequadas a determinadas tecnologias por no acompanharem suas inovaes ou no serem compatveis com algumas de suas caractersticas [Guedes 2004], [OMGa 2003].

39.4. A Superestrutura da UML 2.0


4O desenvolvimento da Superestrutura da UML foi motivado por diversos objetivos, tais como [OMGb 2003], [Guedes 2004]: Melhorar o suporte ao desenvolvimento baseado em componentes, permitindo tanto a especificao de componentes independentes de plataforma, como a especificao de componentes para plataformas especficas. Refinar capacidades de especificao arquitetural. Melhorar o suporte para desenvolvimento de tempo-real. Melhorar o suporte para modelagem de processos de negcio. Melhorar a escalabilidade e preciso de outras construes comportamentais. Aprofundar a preciso de maneira a suportar melhor modelos executveis.

A Superestrutura da UML 2.0 define as construes ao nvel de usurio, utilizadas para modelar a estrutura e o comportamento de sistemas. Dessa forma, a Superestrutura representa a linguagem UML propriamente dita, onde so definidos os diversos diagramas que compem a linguagem. O metamodelo de Superestrutura da UML especificado pelo pacote UML que se divide em diversos pacotes que lidam com modelagem estrutural e comportamental. A modelagem estrutural engloba os Diagramas de Classes, de Estrutura Composta, de Objetos, de Componentes, de Implantao e de Pacotes, enquanto que a modelagem comportamental englobam os Diagramas de Casos de Uso, Atividade, Mquina de Estados, Seqncia, Comunicao, de Interao Geral e de Tempo.

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

9.5. Diagrama de Casos de Uso


O Diagrama de Casos de Uso o diagrama mais geral e informal da UML, sendo utilizado normalmente nas fases de Levantamento e Anlise de Requisitos do sistema, embora venha a ser consultado durante todo o processo de modelagem e possa servir de base para outros diagramas. Este diagrama apresenta uma linguagem simples e de fcil compreenso para que os usurios possam ter uma idia geral de como o sistema ir se comportar. O diagrama de Casos de Uso procura identificar os atores (usurios, outros sistemas ou at mesmo algum hardware especial), que utilizaro de alguma forma o software, bem como os servios, ou seja, as opes, que o sistema disponibilizar aos atores, conhecidas neste diagrama como Casos de Uso [Guedes 2004], [OMGb 2003], [Bezerra 2002], [Melo 2002], [Bennett, Skelton e Lunn 2001], [Silva 2001] , [Booch, Rumbaugh e Jacobson 2000].

9.6. Diagrama de Classes


O Diagrama de Classes sem sombra de dvida o diagrama mais utilizado e mais importante da UML, servindo de apoio para a maioria dos outros diagramas. O Diagrama de Classes, como o prprio nome diz, define a estrutura das classes utilizadas pelo sistema, determinando os atributos e mtodos possudos por cada classe, alm de estabelecer como as classes se relacionam e trocam informaes entre si [Guedes 2004], [OMGb 2003], [Bezerra 2002], [Melo 2002], [Bennett, Skelton e Lunn 2001], [Silva 2001] , [Booch, Rumbaugh e Jacobson 2000].

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

9.7. Diagrama de Objetos


O Diagrama de Objetos est amplamente associado ao Diagrama de Classes. Na verdade, o Diagrama de Objetos praticamente um complemento do Diagrama de Classes, sendo bastante dependente deste. O Diagrama de Objetos fornece uma viso dos valores armazenados pelos objetos de um Diagrama de Classes em um determinado momento da execuo de um processo do software. Este foi um dos diagramas tornados independentes pela UML 2, apesar de j existir anteriormente era considerado apenas uma extenso do Diagrama de Classes [Guedes 2004], [OMGb 2003], [Bezerra 2002], [Melo 2002], [Bennett, Skelton e Lunn 2001], [Silva 2001] , [Booch, Rumbaugh e Jacobson 2000].

9.8. Diagrama de Estruturas Compostas


O Diagrama de Estrutura Composta, descreve a estrutura interna de um classificador, como uma classe ou componente, detalhando as partes internas que o compem, como estas se comunicam e colaboram entre si. O Diagrama de Estrutura Composta tambm utilizado para descrever uma Colaborao onde um conjunto de instncias cooperam entre si para realizar uma tarefa. Este um dos trs novos diagramas propostos pela UML 2 [Guedes 2004], [OMGb 2003].

9.9. Diagrama de Seqncia


O Diagrama de Seqncia preocupa-se com a ordem temporal em que as mensagens so trocadas entre os objetos envolvidos em um determinado processo. O Diagrama de Seqncia, em geral, baseia-se em um Caso de Uso definido pelo diagrama de mesmo nome e apia-se no Diagrama de Classes para determinar os objetos das classes envolvidas em um processo. Um Diagrama de Seqncia costuma identificar o evento gerador do processo modelado, bem como, o ator responsvel por este evento e determina como o processo deve se desenrolar e ser concludo por meio da chamada de mtodos disparados por mensagens enviadas entre os objetos [Guedes 2004], [OMGb 2003], [Bezerra 2002], [Melo 2002], [Bennett, Skelton e Lunn 2001], [Silva 2001] , [Booch, Rumbaugh e Jacobson 2000].

9.10. Diagrama de Comunicao (Diagrama de Colaborao na UML 1.x)


O Diagrama de Comunicao era conhecido como Diagrama de Colaborao at a verso 1.5 da UML, tendo seu nome modificado para Diagrama de Comunicao a partir da verso 2.0. Este Diagrama est amplamente associado ao Diagrama de Seqncia, na verdade, um complementa o outro. As informaes mostradas no Diagrama de Comunicao so, com freqncia, praticamente as mesmas apresentadas no Diagrama de Seqncia, porm com um enfoque diferente, visto que este diagrama no se preocupa com a temporalidade do processo, concentrando-se em como os objetos esto vinculados e quais mensagens trocam entre si durante o processo [Guedes 2004], [OMGb 2003].

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

9.11. Diagrama de Mquina de Estados (Diagrama de Grfico de Estados na UML 1.x)


O Diagrama de Mquina de Estados era conhecido nas verses anteriores da linguagem como Diagrama de Grfico de Estados ou simplesmente como Diagrama de Estados, tendo assumido esta nova nomenclatura a partir da verso 2.0. Este diagrama procura acompanhar as mudanas sofridas por um objeto dentro de um determinado processo. Como o Diagrama de Seqncia, o Diagrama de Mquina de Estados muitas vezes baseia-se em um Caso de Uso descrito em um Diagrama de Casos de Uso e apia-se no Diagrama de Classes. O Diagrama de Mquina de Estados utilizado normalmente para acompanhar os estados por que passa uma instncia de uma classe, no entanto pode ser utilizado para representar os estados de um caso de uso ou mesmo os estados gerais de um sub-sistema ou de um sistema completo [Guedes 2004], [OMGb 2003].

9.12. Diagrama de Atividades


O Diagrama de Atividades era considerado um caso especial do antigo Diagrama de Grfico de Estados, atualmente conhecido como Diagrama de Mquina de Estados, conforme foi descrito na seo anterior. A partir da verso 2.0 da UML o Diagrama de Atividades foi considerado independente do Diagrama de Mquina de Estados. Esse diagrama preocupa-se em descrever os passos a serem percorridos para a concluso de uma atividade especfica, muitas vezes representada por um mtodo com um certo grau de complexidade e no de um processo completo como o caso dos Diagramas de Seqncia ou Colaborao, embora tambm possa ser utilizado para este fim. O Diagrama de Atividades concentra-se na representao do fluxo de controle de uma atividade [Guedes 2004], [OMGb 2003].

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

9.13. Diagrama de Pacotes


O Diagrama de Pacotes tem por objetivo representar os sub-sistemas englobados por um sistema de forma a determinar as partes que o compem. O Diagrama de Pacotes pode ser utilizado de maneira independente ou associado com outros diagramas [Guedes 2004], [OMGb 2003], [Bezerra 2002], [Melo 2002], [Bennett, Skelton e Lunn 2001], [Silva 2001] , [Booch, Rumbaugh e Jacobson 2000].

9.14. Diagrama de Interao Geral


O Diagrama de Interao Geral uma variao do Diagrama de Atividades que fornece uma viso geral dentro de um sistema ou processo de negcio. Este diagrama passou a existir somente a partir da nova verso da UML [Guedes 2004], [OMGb 2003].

9.15. Diagrama de Tempo


O Diagrama de Tempo descreve a mudana no estado ou condio de uma instncia de uma classe ou seu papel durante um tempo. Tipicamente utilizada para demonstrar a mudana no estado de um objeto no tempo em resposta a eventos externos. Este o terceiro diagrama criado a partir da nova verso da linguagem [Guedes 2004], [OMGb 2003].

9.16. Diagrama de Componentes


O Diagrama de Componentes est amplamente associado linguagem de programao que ser utilizada para desenvolver o sistema modelado. Esse diagrama representa as componentes do sistema quando este for ser implementado em termos de mdulos de cdigo-fonte, bibliotecas, formulrios, arquivos de ajuda, mdulos executveis, etc. e determina como esses componentes estaro estruturados e interagiro para que o sistema funcione de maneira adequada [Guedes 2004], [OMGb 2003], [Bezerra 2002], [Melo 2002], [Bennett, Skelton e Lunn 2001], [Silva 2001] , [Booch, Rumbaugh e Jacobson 2000].

9.17. Diagrama de Implantao


O Diagrama de Implantao determina as necessidades de hardware do sistema. Esse diagrama determina caractersticas fsicas como servidores, estaes, topologias e protocolos de comunicao, ou seja, todo o aparato fsico sobre o qual o sistema dever ser executado. O Diagrama de Componentes e de Implantao so bastante associados, podendo ser representados em separado ou em conjunto [Guedes 2004], [OMGb 2003], [Bezerra 2002], [Melo 2002], [Bennett, Skelton e Lunn 2001], [Silva 2001] , [Booch, Rumbaugh e Jacobson 2000].

10. Concluso
Acreditamos que aps assistir a este tutorial os alunos sairo com uma noo razovel a respeito dos objetivos gerais da UML, de sua infraestrutura e de sua superestrutura. Acreditamos tambm que os alunos adquiriro uma boa noo a respeito de cada diagrama da linguagem, compreendendo seus objetivos especficos, as funes de seus principais componentes e de como utiliz-los para a modelagem de software.

11. Bibliografia
GUEDES, G. (2004) UML Uma Abordagem Prtica, So Paulo, Novatec. OMGa Object Management Group (2003) UML 2.0 Infrastructure Specification Final Adopted, OMG, http://www.omg.com.

Easy PDF Copyright 1998,2004 Visage Software This document was created with FREE version of Easy PDF.Please visit http://www.visagesoft.com for more details

OMGb Object Management Group (2003) UML 2.0 Superstructure Specification Final Adopted, OMG, http://www.omg.com. BEZERRA, E. (2002) Princpios de Anlise e Projeto de Sistemas com UML, Editora Campus. MELO, A. C. (2002) Desenvolvendo Aplicaes com UML, Brasport. BENNETT, S., SKELTON, J., LUNN, K. (2001) UML, Editora McGraw-Hill. SILVA, D. M. da. (2001) UML Guia de Consulta Rpida, Editora Novatec. BOOCH, G., RUMBAUGH, J., JACOBSON, I (2000) UML Guia do Usurio 10 Edio. Editora Campus.