uml - guia de consulta r-pida

Upload: antomar-edmir

Post on 15-Jul-2015

181 views

Category:

Documents


5 download

TRANSCRIPT

GUIA DE CONSULTA , RAPIDA

Douglas Marcos da Silva

Guia de Consulta Rapida UML de Douglas Marcos da Silva

Todos os direitos reservados. E proibida a reprodugao desta obra, mesmo parcial, por qualquer processo, sem previa autorizagao, par escrito, do autor e da Editora.

ra desse guia Ul;ao 11orienta9ao aobjetos Objeto Oasse Polimorfismo Heran9a . letodos orientados a objetos u9ao 11UML Origem e evolu9ao da UML Diagramas na UML Diagrama de casos de uso Diagramas de intera9ao Diagrama de gnificos de estados Diagrama de atividades Diagrama de classes Diagrama de componentes Diagrama de objetos Diagrama de implanta9ao Como os diagramas se relacionam Prop6sitos da UML que a UML nao e Onde pode ser utilizada a UML Elementos da UML .: Bloeos de constru9ao da UML estaticos Classe Colabora9ao Caso de usa Componente dinamicos Intera9ao Maquina de estados P.acotes na UML

5 6 7 7 8 8 9 10 10 IO 10 11 12 13 13 14 14 15 15 16 16 16 17 17 18 18 18 18 19 19 19 19 20 20 20 21 22 22 23 23 24 24 25 26 27 27 28 28 31 32 34 36 37

Novatec Editora Ltda. Rua Cons. Moreira de Barros 1084 Conj. 01 02018-012 Sao Paulo - SP Brasil Tel.: (Oxxll) 6959-6529 Fax: (Oxxll) 6950-8869 E-mail: [email protected] Site: www.novateceditora.com.br

o

......................................................................................... Relacionamentos Associa9ao Agrega9ao e composi9ao Generaliza9ao Especializa9ao Realiza9ao oem utilizando a UML J.Jodelagem da arquitetura de sistemas A importancia da modelagem Construindo model os ~Iodelagem orientada a objetos I)ggrama de casos de usa Alor Varia90es na especifica9ao de casos de usa Erros comuns na especifica9ao de casos de usa Relacionamentos entre casos de usa Arquitetura de sistemas orientada a casos de uso ~Iodelando diagramas de casos de uso Como fazer

Diagrama de classes Atributos , Operacroes Pre-condicrao Pos-condicrao Operacroes versus metodos Analise de casos de uso Como fazer Diagrama de objetos Estrutura de objetos Diagramas de interac;ao Diagrama de seqUencia Diagrama de colaboracrao Introducrao aos objetos ReaIizando casos de uso Auxilio aos desenvolvedores Como fazer Diagrama de gflificos de estados ......................................... Estados Evento Transicrao Analisando os estados para urn objeto Como fazer Diagrama de atividades Thread condicional Concorrencia dinamica Raia de natacrao Diagrama de atividades versus diagramas de interacrao Como fazer Diagrama de componentes Componentes Interfaces Outros tipos de componentes Sistemas base ados em componentes Como fazer Diagrama de implantacrao A UML no ambiente ffsico Uso comum Como fazer Mecanismos de extensibilidade da UML Estereotipos Restricroes Alguns padroes para restricrao OCL (Object Constraint Language) Ferramentas que suportam a UML Rose Visio PowerDesigner Onde obter mais informacroes Versoes da UML Diferencras entre as versoes da UML Glossario Obtendo mais informacroes Consulte a UMLBrasil Consulte 0 autor , fndice

38 41 42 44 45 46 46 49 50 50 51 52 54 54 55 56 57 58 58 59 59 59 60 60 63 64 65 66 66 67 68 69 69 70 70 71 71 72 72 73 73 78 78 79 80 80 80 80 80 81 81 84 92 92 92 93

trutura desse guiao topico lntrodur;iio a orientar;iio a objetos e apresentada uma visao geral da orientayao a objetos, seus principais conceitos e os metodos orientados a objetos mais usados nos ultimos anos. Em lntrodur;iio a UML e dada uma visao geral sobre todos os conceitos da UML. Sao apresentados os diagramas da UML, os relacionamentos, origem da linguagem, entre outros assuntos . Recomenda-se a leitura desse capitulo para a formayao de uma base conceitual sobre a UML. o topico Modelagem utilizando a UML, antes de entrarmos mais detalhadamente nos diagramas da Iinguagem, apresentam-se uma pequena introduyao a modelagem da arq uitetura de sistemas orientados a objetos e a importancia da modelagem de sistemas. Em seguida, e abordado minuciosamente cada diagrama da UML. Em Ferramentas que suportam a UML, sac apresentadas principais ferramentas que suportam a linguagem , contendo tambem 0 site de cada fabricante. Apendice sac ressaltadas as principais diferenyas tre as vers6es da UML, ocorridas ao longo de sua evoluyao.

II

Introduc;ao

a orientac;ao

a objetos

A orientac;iio a objetos surgiu como uma nova forma de modelar e construir sistemas de softwares, isto e, organizar e geriros conhecimentos manipulados e registrados dentro de uma empresa. No desenvolvimento de urn sistema orientado a objetos, dados e process os siio organizados e manipulados por objetos, e niio por programas.

Vantagens da orientaC;iio a objetos : Reutilizac;iio dos objetos Os dados e os processos siio manipulados por objetos, niio ficando engessados dentro de program as, isto e, os objetos construfdos podem ser utilizados pordiferentes sistemas. Modularidade

Pode ser qualquer coisa na natureza aracterfsticas e comportamentos.

que possua

o sistema e formado por objetos e niio por programas, facilitando 0 trabalho e a manutenc;iio desses objetos no futuro. Utiliza-se dos mesmos conceitos da realidade construc;iio de sistemas de software. na

mna abstrac;iio de urn conjunto de objetos que possuemmesmos tipos de caracterfsticas e comportamentos.

A orientac;iio a objetos baseia-se em conceitos da realidade - objetos, estados e estfmulos - para modelagem e construc;iio de sistemas de software. Dessa forma, 0 usa da orientac;iio a objetos se toma mais natural, pois os conceitos utilizados siio os mesmos que ja conhecemos, s6 que aplicados nesse casos ao desenvolvimento de sistemas.

sIi:~_::: ...

~

''l

--

.

-

-

c.ro

de passeio

Carro esportivo

II

II

Polimorfismo (do grego "muitas formas") refere-se aos process os que varios objetos podem executar, dado apenas a solicita~ao de uma unica opera~ao. No ambiente polim6rfico, todos os objetos con tern uma mesma opera~ao, que e implementada por metodos particulares a cada objeto (a diferen~a entre opera~6es e metodos e apresentada na pag. 46).

Nos ultimos tempos houve uma grande evolu~ao na engenharia de software, que pas sou a contar com tecnicas, como a analise, 0 projeto estruturado e a Engenharia da Informa~ao. as metodos orientados a objetos surgiram na decada de 70, procurando melhorar essas tecnicas. A seguir sao apresentados resumidamente alguns metodos que surgiram para a orienta~ao a objetos. MetodaBooch Descri~iio Consiste em tecnicas do desenho orientado a objetos. Esse metodo utiliza-se do desenho de objetos, que servem como base para a criacao dos mOdulosdo sistema. Esse metodo loi criado por Grady Booch (Rational Software). OMT 0 metodo OMT (Object Modeling Technique) consiste na modelagem semantica de dados, suportando os conceitos de: Modelagem de dados (atributos e relacionamentos). Objetos (composicao e agregacao). Heranca. Esse metodo loi criado por James Rumbaugh (GE Corporation). Os conceitos apresentados antes tambem sao utilizados pela UML, e sao detalhados a partir da pagina 20. OOSE 0 metodo OOSE (Object Oriented Soltware Engineering), consiste na analise dos requerimentos de um sistema utilizando casos de use, criando categorias para pessoas e equipamentos com que esses casos interagem. Esse metodo loi criado por Ivar Jacobson. as conceitos apresentados antes tambem sao utilizados pela UML e sao detalhados a partir da pagina 27. CoadIYourdon Peter Coad e Ed Yourdon dividiram a analise orientada a objetos em classes e objetos. Dentro desse contexto, os objetos sao relacionados pormeio dos conceitos de agregacao, generalizacaolespecializacao, associacoes, conexoes e . mensagens.

E

0 compartilhamento pelas classes especializadas (subclasses) dos atributos e opera~6es de classes mais gerais (superclasse).

Automovel esportivo

as conceitos da orienta~ao a objetos sao explorados em mais detalhes no decorrer deste guia.

II

II

Introdu~ao a UMLA Unified Modeling Language (UML) e 0 resultado da unifica~ao dos metodos Booch, OMT e OOSE, que da origem a uma linguagem padronizada para a modelagem de sistemas de software orientados a objetos, sendo adotada pela industria de software como linguagempadrao, e tambem por fornecedores de ferramentas CASE.

Os trabalhos para a cria~ao da UML iniciaram-se em 1994 com Grady Booch da Rational Software (metodo Booch) e James Rumbaugh (OMT), que combinaram seus dois metodos mais populares. VersiioUML 0.8 UML 0.9

Ano1995 1996

Principais'alos ocorridosLan9amento do primeiro esbo90da UML. Integra9aode Ivar Jacobson il equipe da Rational Software, e seu metodo OOSE il expansao do escopo da UML; forma9ao de um consorcio de empresas, com 0 objetivo de apoiar a delini9ao da UML. A UML loi submetida como candidata a Iinguagem-padraode modelagem il OMG (Object Management Group, uma entidade depadroniza9aoestabelecidapela industria de software). Expansao do consorcio formado por empresas para apoiar a defini9ao da UML, e aceita9ao da UML pela OMG. Revisoes e novas padroniza90es. Revisoes e novas padroniza90es.

Os diagramas de intera~ao representam colabora~6es entre objetos, para realizarem algum tipo de comportamento para um sistema. Os diagramas de intera~ao sao representados por : Diagrama de sequencia. Diagrama de colabora~ao.

UML 1.0

1997

UML 1.1

1997

UML 1.2 UML 1.3

1998 1998

Odiagrama de seqiiencia da enfase

a ordena~ao

temporal

em que as mensagens sao trocadas entre os objetos de um

Diagrama e a representa~ao grafica de urn conjunto de elementos do sistema. A UML disponibiliza nove diagramas que permitem representar diferentes partes do modelo de urn sistema.

sistema. Podemos entender por mensagens, os servi~os solicitados porum objeto a outro, e as respostas devolvidas a essas solicita~6es.

o diagrama de casas de usa representa urn conjunto de atores, casos de uso e os relacionamentos entre eles.

[tern Estoque] AtualizarQ

III

Introdu~ao it UML

Introdu~ao it UML

Diagrama de colabora~ao diagrama de colaborar;iio da enfase a ordena