Upload
frederico-bortolato
View
226
Download
0
Embed Size (px)
Citation preview
7/23/2019 5.UML
1/42
Curso de EspecializaoDEINF - UFMA
Desenvolvimento Orientado a Objetos
Prof. Geraldo Braz Junior
UML (Unified Modelling Language)
Referncias: Booch, G. et al. The Unified Modeling Language User GuideMedeiros, E. Desenvolvendo Software com UML 2.0: Definitivo, Makron Books, 2006.
Sommerville, I. Engenharia de Software, 8 edio, 2007.
7/23/2019 5.UML
2/42
Introduo uma linguagem para especificao,
construo, visualizao e documentao deartefatos de um sistema de software
mantida pelo Object Management Group(OMG), com contribuies e direitos deautoria das seguintes empresas: Hewlett-Packard, IBM, ICON Computing, i-Logix,IntelliCorp, Electronic Data Services,
Microsoft, ObjecTime, Oracle, Platinum,Ptech,Rational, Reich, Softeam, Sterling, Taskon A/Se Unisys.
2
7/23/2019 5.UML
3/42
Introduo A nfase da UML na definio de uma linguagem de
modelagem padro, e por conseguinte, a UML independente das linguagens de programao, dasferramentas CASE, bem como dos processos de
desenvolvimento. O objetivo da UML que, dependendo do tipo de
projeto, da ferramenta de suporte, ou da organizaoenvolvida, devem ser adotados diferentes
processos/metodologias, mantendo-se contudo autilizao da mesma linguagem de modelagem.
3
7/23/2019 5.UML
4/42
Introduo A UML usada no desenvolvimento dos mais diversostipos de sistemas. Ela abrange sempre qualquer caracterstica de um
sistema em um de seus diagramas
Aplicada em diferentes fases do desenvolvimento deum sistema, desde a especificao da anlise derequisitos at a finalizao com a fase de testes.
O objetivo da UML descrever qualquer tipo de
sistema, em termos de diagramas orientado aobjetos.
4
7/23/2019 5.UML
5/42
Introduo
Vantagem a unificao de todas as notaesanteriores
5
7/23/2019 5.UML
6/42
Introduo
UMLBOOCH OMT
OOSE
Diagrama de Estados Diagrama de Objetos(Colaborao)
Diagrama de Processo(Desenvolvimento)
Diagrama de Mdulos
(Componentes) Use Case Subsistemas (Package) Diagrama de Interaes MiniEspecificao
Diagrama de Estados Diagrama de Classes
6
7/23/2019 5.UML
7/42
A UML no
um processo uma metodologia
Anlise e Projeto OO regras de projeto Linguagem de Programao
7
7/23/2019 5.UML
8/42
Introduo UML uma linguagem padro da OMG para
Visualizao, Especificao, Construo e Documentao de software orientado a objetos.
8
7/23/2019 5.UML
9/42
7/23/2019 5.UML
10/42
Especificao uma ferramenta poderosa para a especificao
de diferentes aspectos arquiteturais e de uso deum sistema.
10
7/23/2019 5.UML
11/42
Construo
Gerao automtica de cdigo a partir do modelovisual
Gerao do modelo visual a partir do cdigoAmbientes de desenvolvimento de software atuais
permitem: movimentaes em ambos sentidos e
manuteno da consistncia entre as duas vises.
11
7/23/2019 5.UML
12/42
Documentao Pode incluir artefatos como:
Deliverables (documentos como especificaode requisitos, especificaes funcionais, planosde teste, etc.).
Materiais que so importantes para controlar,medir, e refletir sobre um sistema durante o seudesenvolvimento e implantao.
12
7/23/2019 5.UML
13/42
7/23/2019 5.UML
14/42
Razes para Modelar Comunicar a estrutura e o comportamento desejado
de um sistema. Visualizar e controlar a arquitetura de um sistema. Para melhorar o nosso entendimento de um sistema
e, assim, expor oportunidades para melhorias ereutilizao. Para administrar os riscos A UML permite modelar:
Elementos; Relacionamentos; Mecanismos de extensibilidade; Diagramas
14
7/23/2019 5.UML
15/42
Algumas aplicaes
Sistemas de informaes corporativos Servios bancrios e financeiros Telecomunicaes
Transportes Defesa/espao areoVendas de varejo Eletrnica mdica Cientficos Servios distribudos baseados na Web
15
7/23/2019 5.UML
16/42
Elementos da UMLPara formar um modelo conceitual da linguagem
necessrio aprender trs elementos principais
Blocos de construo Regras que determinam como esses blocos
podero ser combinados Mecanismos comuns aplicados na UML
16
7/23/2019 5.UML
17/42
Blocos de Construo Trs tipos:
Itens: so abstraes Relacionamentos: os relacionamentos reunem
esses itens
Diagramas: agrupam colees interessantes deitem
17
7/23/2019 5.UML
18/42
Itens da UML Estruturais Comportamentais De agrupamento
Anotacionais
18
7/23/2019 5.UML
19/42
Itens estruturais
So os substantivos dos modelos. So a parteesttica, representando elementos conceituais oufsicos
Sete tipos: classes, interfaces, colaboraes, casos deuso, classes ativas, componentes e ns
Classe
orderForm.java
Componente
Servidor
N19
7/23/2019 5.UML
20/42
Itens comportamentais Representam as partes dinmicas dos modelos. So
os verbos, representando comportamentos no tempoe no espao
Dois tipos: interao e mquina de estado
exibir
Mensagem
Aguardando
Estado
20
7/23/2019 5.UML
21/42
Itens de agrupamento So as partes organizacionais dos modelos de UML.
So os blocos em que os modelos podem serdecompostos pacotes
Um pacote um mecanismo de propsito geral para a
organizao de elementos em grupos
Regras de
negcios
Pacote
21
7/23/2019 5.UML
22/42
Itens anotacionais Partes explicativas dos modelos UML. So
comentrios, includos para descrever, esclarecer efazer alguma observao importante sobre qualquerelemento do modelo - notas
Nota
Retornar cpia
22
7/23/2019 5.UML
23/42
Relacionamentos DependnciaAssociao Generalizao
Realizao
23
7/23/2019 5.UML
24/42
7/23/2019 5.UML
25/42
Associao um relacionamento estrutural que descreve
um conjunto de ligaes, em que as ligaesso conexes entre objetos
Pessoa Departamento
11..*
+funcionario+emprega
11..*
associao
25
7/23/2019 5.UML
26/42
(Agregao)A agregao um tipo especial de associao
representando um relacionamento estruturalentre o todo e sua parte
Departamento
1
*
Empresa
todo
parte
agregao
26
7/23/2019 5.UML
27/42
Generalizao um relacionamento de especializao/generalizao,
nos quais os objetos dos elementos especializados (osfilhos) so substituveis por objetos do elementogeneralizado (os pais)
Pessoa
Aluno Professor Funcionario
27
7/23/2019 5.UML
28/42
Realizao um relacionamento semntico entre classificadores,
em que um classificador especifica um contrato queoutro classificador garante executar
Regras de
contabilidadeAgente da Regra
>
realizao
28
7/23/2019 5.UML
29/42
Modelos
Um modelo uma simplificao da realidade Um modelo representado por um ou mais
diagramas. Desta forma, um diagrama pode
ser visto como uma viso dentro de ummodelo. Um diagrama pode ser representado de vrias
formas, dependendo de quem ir interpret-lo.
29
7/23/2019 5.UML
30/42
Viso Um diagrama uma viso sobre um modelo
Organizao Comportamento30
7/23/2019 5.UML
31/42
Diagrama Um diagrama prov uma parcial representao do
sistema. Ele ajuda a compreender a arquitetura do sistema
em desenvolvimento. Os diagramas:
Caso de uso, classes, sequncia, objeto,colaborao, atividade, estado, implantao,pacotes, componentes
31
7/23/2019 5.UML
32/42
Diagramas de classes
Diagramas de classe so a
espinha dorsal da maioria dos
mtodos orientados a objeto,
inclusive UML
Descrevem a estrutura esttica
do sistema (entidades erelacionamentos)
32
http://www.smartdraw.com/resources/centers/uml/uml2.htm7/23/2019 5.UML
33/42
Diagramas de pacotes
Organizam elementos do sistema
em grupos relacionados a fim de
minimizar a dependncia entre
eles
33
http://www.smartdraw.com/resources/centers/uml/uml3.htm7/23/2019 5.UML
34/42
Di d
7/23/2019 5.UML
35/42
Diagramas decasos de uso
Modelam a funcionalidade do
sistema atravs de atores e
casos de uso
Casos de uso so servios ou
funes fornecidas pelo
sistema aos seus usurios
35
http://www.smartdraw.com/resources/centers/uml/uml4.htm7/23/2019 5.UML
36/42
Diagramas de seqncias
Descreve as interaes
entre as classes atravs das
trocas de mensagens aologo do tempo
36
http://www.smartdraw.com/resources/centers/uml/uml4.htm7/23/2019 5.UML
37/42
7/23/2019 5.UML
38/42
Diagramas de estados
Descrevem o comportamentodinmico do sistema emresposta a estmulos externos
So especialmente teis paramodelar objetos reativos cujosestados so disparados por
eventos especficos
38
http://www.smartdraw.com/resources/centers/uml/uml5.htm7/23/2019 5.UML
39/42
Diagramas de atividades Ilustram a natureza dinmica de
um sistema modelando o fluxo decontrole de uma atividade paraoutra
Uma atividade representa umaoperao em uma classe dosistema que resulta na mudana doestado do sistema
Tipicamente, so usados para
modelar fluxo de trabalho ouprocessos de negcio efuncionamento interno
39
http://www.smartdraw.com/resources/centers/uml/uml5.htm7/23/2019 5.UML
40/42
Diagramas de componente
Descreve a organizao
dos componentes fsicos
de software
Ex.: cdigo-fonte, cdigo
em tempo de execuo
(binrio) e executveis
40
http://www.smartdraw.com/resources/centers/uml/uml6.htm7/23/2019 5.UML
41/42
7/23/2019 5.UML
42/42
Diagrama Os diagramas UML so abordados como
Estticos e Dinmicos.
Estes diagramas tambmPodem ser classificadoscomo:
ComportamentaisEstruturais