SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
1
Análise e Projeto
Orientado a Objetos
Ciência da Computação
Anderson Belgamo
UML
2
Evolução do Software
 O rápido crescimento da capacidade
computacional das máquinas resultou na demanda
por sistemas de software cada vez mais
complexos.
 O surgimento de sistemas de software mais
complexos resultou na necessidade de reavaliação
da forma de se desenvolver sistemas.
 Conseqüentemente as técnicas utilizadas para a
construção de sistemas computacionais têm
evoluído de forma impressionante, notavelmente
no que tange à modelagem de sistemas.
3
Evolução do Software
 Na primeira metade da década de 90 surgiram
várias propostas de técnicas para modelagem
de sistemas segundo o paradigma orientado a
objetos.
 Houve uma grande proliferação de propostas
para modelagem orientada a objetos.
 diferentes notações gráficas para modelar uma
mesma perspectiva de um sistema.
 cada técnica tinha seus pontos fortes e fracos.
4
Necessidade de um Padrão
 Percebeu-se a necessidade de um padrão para a
modelagem de sistemas, que fosse aceito e
utilizado amplamente.
 Alguns esforços nesse sentido de padronização, o
principal liderado pelo “três amigos”.
 Surge a UML (Unified Modeling Language) em
1996 como a melhor candidata para ser linguagem
“unificadora”.
 Em 1997, a UML é aprovada como padrão pelo
OMG.
 Desde então, a UML tem tido grande aceitação
pela comunidade de desenvolvedores de sistemas.
 É uma linguagem ainda em desenvolvimento.
5
UML (Linguagem de Modelagem
Unificada)
 “A UML é a linguagem
padrão para visualizar,
especificar, construir e
documentar os artefatos
de software de um
sistema.”
 Unificação de diversas
notações anteriores.
 Mentores: Booch,
Rumbaugh e Jacobson
 “Três Amigos”
 IBM Rational
(www.rational.com)
6
UML (Linguagem de Modelagem
Unificada)
 UML é...
 uma linguagem visual.
 independente de linguagem de programação.
 independente de processo de desenvolvimento.
 UML não é...
 uma linguagem programação (mas possui versões!).
 uma técnica de modelagem.
 Um processo de desenvolvimento que utilize a UML como
linguagem de modelagem envolve a criação de diversos
documentos.
 Estes documentos, denominados artefatos de software, podem
ser textuais ou gráficos.
 Os artefatos gráficos produzidos de um sistema OO são
definidos através dos diagramas da UML.
7
Diagramas da UML
 Um diagrama na UML é uma apresentação de uma
coleção de elementos gráficos que possuem um
significado predefinido.
 No contexto de desenvolvimento de software,
correspondem a desenhos gráficos que seguem algum
padrão lógico.
 Um processo de desenvolvimento que utilize a UML como
linguagem de modelagem envolve a criação de diversos
documentos.
 Estes documentos, denominados artefatos de software,
podem ser textuais ou gráficos.
 Os artefatos gráficos produzidos no desenvolvimento de
sistema OO são definidos através dos diagramas da
UML.
8
Diagramas da UML 2.0
9
Por que fazer modelagem?
 Uma empresa bem-sucedida é aquela que fornece
software de qualidade e capaz de atender às
necessidades dos respectivos usuários.
 O principal produto é um bom software capaz de satisfazer às
necessidades de seus usuários e respectivos negócios. Tudo o
mais é secundário.
 Secundário não pode ser confundido com irrelevante.
10
Por que fazer modelagem?
 A modelagem é uma parte central de todas a atividades
que levam à implantação de um bom software.
Construímos modelos para:
 Comunicar a estrutura e o comportamento desejados do sistema.
 Visualizar e controlar a arquitetura do sistema.
 Compreender melhor o sistema que estamos elaborando.
 Gerenciar os riscos.
 Afinal, o que é um modelo?
Um modelo é uma simplificação da realidade
11
Princípios da modelagem?
 Em outras palavras, escolha bem os seus modelos.
A escolha dos modelos a serem criados tem profunda
influência sobre a maneira como um determinado
problema é atacado e como uma solução é definida.
12
Princípios da modelagem?
 Em outras palavras, modelos podem se construídos em
diferentes níveis de abstração.
Cada modelo poderá ser expresso em diferentes
níveis de precisão.
13
Princípios da modelagem?
 Em outras palavras, ter certeza de que sua simplificação
não ocultará detalhes importantes.
Os melhores modelos estão relacionados à realidade.
14
Princípios da modelagem?
 Em outras palavras, dividir para conquistar.
Nenhum modelo único é suficiente. Qualquer sistema
não-trivial será melhor investigado por meio de um
pequeno conjunto de modelos quase independentes.
15
A linguagem UML
 Para muitos programadores não existe diferença entre
pensar em uma implementação e transformá-la em
código. Ele até pode rabiscar algumas idéias em um
quadro, o qual apresenta alguns problemas:
 A comunicação desses modelos a outras pessoas está sujeita a
erros, a menos que todos os envolvidos usem a mesma
linguagem.
 Se o desenvolvedor decidiu fazer uma remoção no código, mas
nunca escreveu os modelos existentes em sua mente, essas
informações estarão perdidas para sempre ou, na melhor das
hipóteses, serão recriadas parcialmente somente a partir da
própria implementação.
UML é uma linguagem para visualização
16
A linguagem UML
 Por trás de cada símbolo empregado na notação da UML
existe uma semântica bem-definida.
 Assim, qualquer modelo escrito por qualquer desenvolvedor pode
ser entendido por todos que possuem conhecimento da UML,
sem ambigüidade.
UML é uma linguagem para visualização
17
A linguagem UML
 No presente contexto, especificar significa construir
modelos precisos, sem ambigüidades e completos.
 A UML atende todas as decisões importantes em termos de
análise, projeto, implementação, que devem ser tomadas para
desenvolvimento e implantação de sistemas complexos de
software.
UML é uma linguagem para especificação
18
A linguagem UML
 A UML não é uma linguagem visual de programação, mas
seus modelos podem ser diretamente conectados á várias
linguagens de programação.
 Isso significa que é possível mapear os modelos da UML em
linguagens de programação tais como JAVA, C#, C++, VB, etc.
 Uma nova área existente e bastante estudada atualmente é a
MDA (Model Driven Architecture).
UML é uma linguagem para construção
19
A linguagem UML
 A UML abrange a documentação da arquitetura do
sistema e de todos os seus detalhes.
 A UML também proporciona uma linguagem para a
expressão de requisitos e para a realização de testes.
 Por fim, a UML oferece uma linguagem para a modelagem
das atividades de planejamento de projeto e
gerenciamento de versões.
UML é uma linguagem para documentação
20
A linguagem UML
 A UML abrange a documentação da arquitetura do
sistema e de todos os seus detalhes.
 A UML também proporciona uma linguagem para a
expressão de requisitos e para a realização de testes.
 Por fim, a UML oferece uma linguagem para a modelagem
das atividades de planejamento de projeto e
gerenciamento de versões.
UML é uma linguagem para documentação
21
Itens da UML
 Existem quatro tipos de itens na UML:
 Itens estruturais: são os substantivos utilizados em modelos da
UML. São a partes mais estáticas do modelo, representando
elementos conceituais ou físicos. Existem sete tipos de itens
estruturais:
 Classes
 Interfaces
 Colaborações
 Casos de uso
 Classes ativas
 Componentes
 Nós
22
Itens da UML
 Existem quatro tipos de itens na UML:
 Itens comportamentais: são as partes dinâmicas dos modelos de
UML. São os verbos de um modelo, representando
comportamentos no tempo e no espaço. Existem dois tipos
principais de itens comportamentais:
 Interação
 Máquina de estado
23
Itens da UML
 Existem quatro tipos de itens na UML:
 Itens de agrupamento: são as partes organizacionais dos
modelos de UML. São blocos em que os modelos podem ser
decompostos. Existem apenas um tipo de itens de agrupamento:
 Pacote.
24
Itens da UML
 Existem quatro tipos de itens na UML:
 Itens anotacionais: são as partes explicativas dos modelos de
UML. São comentários, incluídos para descrever, esclarecer e
fazer alguma observação sobre qualquer elemento do modelo.
Existe um único tipo:
 Nota
25
Itens da UML
 Existem quatro tipos de itens na UML:
 Itens anotacionais: são as partes explicativas dos modelos de
UML. São comentários, incluídos para descrever, esclarecer e
fazer alguma observação sobre qualquer elemento do modelo.
Existe um único tipo:
 Nota
26
Relacionamentos na UML
 Existem quatro tipos de relacionamentos na UML:
 Dependência: é um relacionamento semântico entre dois itens,
nos quais a alteração de um (o item independente) pode afetar a
semântica de outro (o item dependente).
 Associação: é um relacionamento estrutural que descreve um
conjunto de ligações, em que as ligações são conexões entre
objetos.
 Generalização: é um relacionamento de
especialização/generalização, nos quais os objetos dos
elementos especializados (os filhos) são substituíveis por objetos
do elemento generalizado (os pais).
 Realização: é um relacionamento semântico entre
classificadores, em que um classificador especifica um
contrato que outro classificador garante executar.
27
Diagramas da UML (relembrando)
28
Regras da UML
 Os blocos de construção da UML não podem ser
simplesmente combinados de uma forma aleatória.
 Como em qualquer linguagem, é necessário respeitar a
sintaxe e a semântica para obter um modelo bem-
formado.
 Os modelos bem-formados são aqueles autoconsistentes
semanticamente e em harmonia com todos os modelos a
eles relacionados.
29
Regras da UML
 A UML dispões de regras semânticas para:
 Nomes: quais nomes podem ser atribuídos a coisas,
relacionamentos e diagramas.
 Escopo: o contexto que determina um significado específico
para um nome.
 Visibilidade: como esses nomes podem ser vistos e
utilizados pelos outros.
 Integridade: como os itens se relacionam entre si de forma
adequada e consistente.
 Execução: o que significa executar ou simular um modelo
dinâmico.
30
Regras da UML
 Como os modelos de sistemas tendem a evoluir, é comum
a equipe de desenvolvimento não construir apenas
modelos bem-formados, mas também modelos:
 Parciais: certos elementos ficam ocultos par simplificara
visão do modelo.
 Incompletos: certos elementos podem ser omitidos.
 Inconsistentes: a integridade do modelo não é segurada.
31
Mecanismos de Extensibilidade da
UML
 Embora a UML forneça uma linguagem padrão para
elaboração de projetos de software, não é possível que
uma única linguagem fechada seja suficiente para
expressar todas as nuances possíveis de todos os
modelos em qualquer domínio o tempo todo.
 Por isso, a UML é aberto-fechada, permitindo que você
amplie a linguagem de uma maneira controlada, com o uso
dos seguintes mecanismos:
 Estereótipos
 Valores atribuídos
 Restrições

Mais conteúdo relacionado

Mais procurados

Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
audiclerio
 
2010 05-06 b - desenho de interfaces com o utilizador
2010 05-06 b - desenho de interfaces com o utilizador2010 05-06 b - desenho de interfaces com o utilizador
2010 05-06 b - desenho de interfaces com o utilizador
guest8a778
 

Mais procurados (19)

Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
UML
UMLUML
UML
 
Análise e Modelagem com UML
Análise e Modelagem com UMLAnálise e Modelagem com UML
Análise e Modelagem com UML
 
Aula1 astah
Aula1 astahAula1 astah
Aula1 astah
 
Modelando Sistemas com UML
Modelando Sistemas com UMLModelando Sistemas com UML
Modelando Sistemas com UML
 
Apostila uml
Apostila umlApostila uml
Apostila uml
 
Eng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónicoEng.ª do Software - 7. Desenho arquitectónico
Eng.ª do Software - 7. Desenho arquitectónico
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
 
2010 05-06 b - desenho de interfaces com o utilizador
2010 05-06 b - desenho de interfaces com o utilizador2010 05-06 b - desenho de interfaces com o utilizador
2010 05-06 b - desenho de interfaces com o utilizador
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
 
Eng.ª do Software - 6. Gestão de projectos
Eng.ª do Software - 6. Gestão de projectosEng.ª do Software - 6. Gestão de projectos
Eng.ª do Software - 6. Gestão de projectos
 
Aula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_umlAula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_uml
 
Eng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de softwareEng.ª do Software - 5. Desenvolvimento rápido de software
Eng.ª do Software - 5. Desenvolvimento rápido de software
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UML
 
Análise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLAnálise Orientada a Objetos com UML
Análise Orientada a Objetos com UML
 

Destaque

modelagem sistema da informação Unid 1
modelagem sistema da informação Unid 1modelagem sistema da informação Unid 1
modelagem sistema da informação Unid 1
spawally
 
Diagramas de implantação
Diagramas de implantaçãoDiagramas de implantação
Diagramas de implantação
FitBlar Mit
 
Principios de analise de sistemas modelagem de casos de uso ppt
Principios de analise de sistemas modelagem de casos de uso pptPrincipios de analise de sistemas modelagem de casos de uso ppt
Principios de analise de sistemas modelagem de casos de uso ppt
Leandro Maduro
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classe
Suissa
 
Aula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a ObjetosAula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a Objetos
Leandro Rezende
 
Modelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas ProdutivosModelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas Produtivos
Adeildo Telles
 

Destaque (20)

modelagem sistema da informação Unid 1
modelagem sistema da informação Unid 1modelagem sistema da informação Unid 1
modelagem sistema da informação Unid 1
 
Pós Ruy - 2 e 3 Camadas - Apresentação
Pós Ruy - 2 e 3 Camadas - ApresentaçãoPós Ruy - 2 e 3 Camadas - Apresentação
Pós Ruy - 2 e 3 Camadas - Apresentação
 
Diagramas de implantação
Diagramas de implantaçãoDiagramas de implantação
Diagramas de implantação
 
Engenharia de softwares reusabilidade
Engenharia de softwares reusabilidadeEngenharia de softwares reusabilidade
Engenharia de softwares reusabilidade
 
Connectors
ConnectorsConnectors
Connectors
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Modelagem de Sistemas de Informação 01
Modelagem de Sistemas de Informação 01Modelagem de Sistemas de Informação 01
Modelagem de Sistemas de Informação 01
 
Diagrama de Classe
Diagrama de ClasseDiagrama de Classe
Diagrama de Classe
 
Principios de analise de sistemas modelagem de casos de uso ppt
Principios de analise de sistemas modelagem de casos de uso pptPrincipios de analise de sistemas modelagem de casos de uso ppt
Principios de analise de sistemas modelagem de casos de uso ppt
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classe
 
Modelagem de Sistemas de Informação 07
Modelagem de Sistemas de Informação 07Modelagem de Sistemas de Informação 07
Modelagem de Sistemas de Informação 07
 
Diagrama de Classe: Relacionamento de Composição
Diagrama de Classe: Relacionamento de ComposiçãoDiagrama de Classe: Relacionamento de Composição
Diagrama de Classe: Relacionamento de Composição
 
ES6 funcional TDC - Suissa
ES6 funcional TDC - SuissaES6 funcional TDC - Suissa
ES6 funcional TDC - Suissa
 
Aula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a ObjetosAula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a Objetos
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de Informação
 
Modelo aprovacao etapa
Modelo aprovacao etapaModelo aprovacao etapa
Modelo aprovacao etapa
 
Ppt111
Ppt111Ppt111
Ppt111
 
Analise e Projeto de Sistemas
Analise e Projeto de SistemasAnalise e Projeto de Sistemas
Analise e Projeto de Sistemas
 
Modelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas ProdutivosModelagem e Simulação de Sistemas Produtivos
Modelagem e Simulação de Sistemas Produtivos
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 

Semelhante a 3 uml

Aula(l) 11 12-software engenhering
Aula(l) 11 12-software engenheringAula(l) 11 12-software engenhering
Aula(l) 11 12-software engenhering
cifjovo02
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02
Jhonefj
 

Semelhante a 3 uml (20)

Apostila uml
Apostila umlApostila uml
Apostila uml
 
Apostila uml
Apostila umlApostila uml
Apostila uml
 
O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
 
Uml
UmlUml
Uml
 
Fundamentos de Sistemas de Informacao - Aula 27
Fundamentos de Sistemas de Informacao - Aula 27Fundamentos de Sistemas de Informacao - Aula 27
Fundamentos de Sistemas de Informacao - Aula 27
 
uml-intro_v02.pdf
uml-intro_v02.pdfuml-intro_v02.pdf
uml-intro_v02.pdf
 
Ferramenta de Apoio a UML e Modelo de Bases Relacionais
Ferramenta de Apoio a UML e Modelo de Bases RelacionaisFerramenta de Apoio a UML e Modelo de Bases Relacionais
Ferramenta de Apoio a UML e Modelo de Bases Relacionais
 
Modelagem de Objeto (PDS)
Modelagem de Objeto (PDS)Modelagem de Objeto (PDS)
Modelagem de Objeto (PDS)
 
Aula 8 Modelagem de Dados
Aula 8 Modelagem de DadosAula 8 Modelagem de Dados
Aula 8 Modelagem de Dados
 
Aula(l) 11 12-software engenhering
Aula(l) 11 12-software engenheringAula(l) 11 12-software engenhering
Aula(l) 11 12-software engenhering
 
Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005
 
Análise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e JavaAnálise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e Java
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02
 
Apostila uml
Apostila umlApostila uml
Apostila uml
 
Modelagem 21102006_1
Modelagem 21102006_1Modelagem 21102006_1
Modelagem 21102006_1
 
Aula5 linguagem uml-introducao
Aula5 linguagem uml-introducaoAula5 linguagem uml-introducao
Aula5 linguagem uml-introducao
 
Engenharia de Software II - Aula 9
Engenharia de Software II - Aula 9Engenharia de Software II - Aula 9
Engenharia de Software II - Aula 9
 
Preparatório uml
Preparatório umlPreparatório uml
Preparatório uml
 

3 uml

  • 1. 1 Análise e Projeto Orientado a Objetos Ciência da Computação Anderson Belgamo UML
  • 2. 2 Evolução do Software  O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de software cada vez mais complexos.  O surgimento de sistemas de software mais complexos resultou na necessidade de reavaliação da forma de se desenvolver sistemas.  Conseqüentemente as técnicas utilizadas para a construção de sistemas computacionais têm evoluído de forma impressionante, notavelmente no que tange à modelagem de sistemas.
  • 3. 3 Evolução do Software  Na primeira metade da década de 90 surgiram várias propostas de técnicas para modelagem de sistemas segundo o paradigma orientado a objetos.  Houve uma grande proliferação de propostas para modelagem orientada a objetos.  diferentes notações gráficas para modelar uma mesma perspectiva de um sistema.  cada técnica tinha seus pontos fortes e fracos.
  • 4. 4 Necessidade de um Padrão  Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente.  Alguns esforços nesse sentido de padronização, o principal liderado pelo “três amigos”.  Surge a UML (Unified Modeling Language) em 1996 como a melhor candidata para ser linguagem “unificadora”.  Em 1997, a UML é aprovada como padrão pelo OMG.  Desde então, a UML tem tido grande aceitação pela comunidade de desenvolvedores de sistemas.  É uma linguagem ainda em desenvolvimento.
  • 5. 5 UML (Linguagem de Modelagem Unificada)  “A UML é a linguagem padrão para visualizar, especificar, construir e documentar os artefatos de software de um sistema.”  Unificação de diversas notações anteriores.  Mentores: Booch, Rumbaugh e Jacobson  “Três Amigos”  IBM Rational (www.rational.com)
  • 6. 6 UML (Linguagem de Modelagem Unificada)  UML é...  uma linguagem visual.  independente de linguagem de programação.  independente de processo de desenvolvimento.  UML não é...  uma linguagem programação (mas possui versões!).  uma técnica de modelagem.  Um processo de desenvolvimento que utilize a UML como linguagem de modelagem envolve a criação de diversos documentos.  Estes documentos, denominados artefatos de software, podem ser textuais ou gráficos.  Os artefatos gráficos produzidos de um sistema OO são definidos através dos diagramas da UML.
  • 7. 7 Diagramas da UML  Um diagrama na UML é uma apresentação de uma coleção de elementos gráficos que possuem um significado predefinido.  No contexto de desenvolvimento de software, correspondem a desenhos gráficos que seguem algum padrão lógico.  Um processo de desenvolvimento que utilize a UML como linguagem de modelagem envolve a criação de diversos documentos.  Estes documentos, denominados artefatos de software, podem ser textuais ou gráficos.  Os artefatos gráficos produzidos no desenvolvimento de sistema OO são definidos através dos diagramas da UML.
  • 9. 9 Por que fazer modelagem?  Uma empresa bem-sucedida é aquela que fornece software de qualidade e capaz de atender às necessidades dos respectivos usuários.  O principal produto é um bom software capaz de satisfazer às necessidades de seus usuários e respectivos negócios. Tudo o mais é secundário.  Secundário não pode ser confundido com irrelevante.
  • 10. 10 Por que fazer modelagem?  A modelagem é uma parte central de todas a atividades que levam à implantação de um bom software. Construímos modelos para:  Comunicar a estrutura e o comportamento desejados do sistema.  Visualizar e controlar a arquitetura do sistema.  Compreender melhor o sistema que estamos elaborando.  Gerenciar os riscos.  Afinal, o que é um modelo? Um modelo é uma simplificação da realidade
  • 11. 11 Princípios da modelagem?  Em outras palavras, escolha bem os seus modelos. A escolha dos modelos a serem criados tem profunda influência sobre a maneira como um determinado problema é atacado e como uma solução é definida.
  • 12. 12 Princípios da modelagem?  Em outras palavras, modelos podem se construídos em diferentes níveis de abstração. Cada modelo poderá ser expresso em diferentes níveis de precisão.
  • 13. 13 Princípios da modelagem?  Em outras palavras, ter certeza de que sua simplificação não ocultará detalhes importantes. Os melhores modelos estão relacionados à realidade.
  • 14. 14 Princípios da modelagem?  Em outras palavras, dividir para conquistar. Nenhum modelo único é suficiente. Qualquer sistema não-trivial será melhor investigado por meio de um pequeno conjunto de modelos quase independentes.
  • 15. 15 A linguagem UML  Para muitos programadores não existe diferença entre pensar em uma implementação e transformá-la em código. Ele até pode rabiscar algumas idéias em um quadro, o qual apresenta alguns problemas:  A comunicação desses modelos a outras pessoas está sujeita a erros, a menos que todos os envolvidos usem a mesma linguagem.  Se o desenvolvedor decidiu fazer uma remoção no código, mas nunca escreveu os modelos existentes em sua mente, essas informações estarão perdidas para sempre ou, na melhor das hipóteses, serão recriadas parcialmente somente a partir da própria implementação. UML é uma linguagem para visualização
  • 16. 16 A linguagem UML  Por trás de cada símbolo empregado na notação da UML existe uma semântica bem-definida.  Assim, qualquer modelo escrito por qualquer desenvolvedor pode ser entendido por todos que possuem conhecimento da UML, sem ambigüidade. UML é uma linguagem para visualização
  • 17. 17 A linguagem UML  No presente contexto, especificar significa construir modelos precisos, sem ambigüidades e completos.  A UML atende todas as decisões importantes em termos de análise, projeto, implementação, que devem ser tomadas para desenvolvimento e implantação de sistemas complexos de software. UML é uma linguagem para especificação
  • 18. 18 A linguagem UML  A UML não é uma linguagem visual de programação, mas seus modelos podem ser diretamente conectados á várias linguagens de programação.  Isso significa que é possível mapear os modelos da UML em linguagens de programação tais como JAVA, C#, C++, VB, etc.  Uma nova área existente e bastante estudada atualmente é a MDA (Model Driven Architecture). UML é uma linguagem para construção
  • 19. 19 A linguagem UML  A UML abrange a documentação da arquitetura do sistema e de todos os seus detalhes.  A UML também proporciona uma linguagem para a expressão de requisitos e para a realização de testes.  Por fim, a UML oferece uma linguagem para a modelagem das atividades de planejamento de projeto e gerenciamento de versões. UML é uma linguagem para documentação
  • 20. 20 A linguagem UML  A UML abrange a documentação da arquitetura do sistema e de todos os seus detalhes.  A UML também proporciona uma linguagem para a expressão de requisitos e para a realização de testes.  Por fim, a UML oferece uma linguagem para a modelagem das atividades de planejamento de projeto e gerenciamento de versões. UML é uma linguagem para documentação
  • 21. 21 Itens da UML  Existem quatro tipos de itens na UML:  Itens estruturais: são os substantivos utilizados em modelos da UML. São a partes mais estáticas do modelo, representando elementos conceituais ou físicos. Existem sete tipos de itens estruturais:  Classes  Interfaces  Colaborações  Casos de uso  Classes ativas  Componentes  Nós
  • 22. 22 Itens da UML  Existem quatro tipos de itens na UML:  Itens comportamentais: são as partes dinâmicas dos modelos de UML. São os verbos de um modelo, representando comportamentos no tempo e no espaço. Existem dois tipos principais de itens comportamentais:  Interação  Máquina de estado
  • 23. 23 Itens da UML  Existem quatro tipos de itens na UML:  Itens de agrupamento: são as partes organizacionais dos modelos de UML. São blocos em que os modelos podem ser decompostos. Existem apenas um tipo de itens de agrupamento:  Pacote.
  • 24. 24 Itens da UML  Existem quatro tipos de itens na UML:  Itens anotacionais: são as partes explicativas dos modelos de UML. São comentários, incluídos para descrever, esclarecer e fazer alguma observação sobre qualquer elemento do modelo. Existe um único tipo:  Nota
  • 25. 25 Itens da UML  Existem quatro tipos de itens na UML:  Itens anotacionais: são as partes explicativas dos modelos de UML. São comentários, incluídos para descrever, esclarecer e fazer alguma observação sobre qualquer elemento do modelo. Existe um único tipo:  Nota
  • 26. 26 Relacionamentos na UML  Existem quatro tipos de relacionamentos na UML:  Dependência: é um relacionamento semântico entre dois itens, nos quais a alteração de um (o item independente) pode afetar a semântica de outro (o item dependente).  Associação: é um relacionamento estrutural que descreve um conjunto de ligações, em que as ligações são conexões entre objetos.  Generalização: é um relacionamento de especialização/generalização, nos quais os objetos dos elementos especializados (os filhos) são substituíveis por objetos do elemento generalizado (os pais).  Realização: é um relacionamento semântico entre classificadores, em que um classificador especifica um contrato que outro classificador garante executar.
  • 27. 27 Diagramas da UML (relembrando)
  • 28. 28 Regras da UML  Os blocos de construção da UML não podem ser simplesmente combinados de uma forma aleatória.  Como em qualquer linguagem, é necessário respeitar a sintaxe e a semântica para obter um modelo bem- formado.  Os modelos bem-formados são aqueles autoconsistentes semanticamente e em harmonia com todos os modelos a eles relacionados.
  • 29. 29 Regras da UML  A UML dispões de regras semânticas para:  Nomes: quais nomes podem ser atribuídos a coisas, relacionamentos e diagramas.  Escopo: o contexto que determina um significado específico para um nome.  Visibilidade: como esses nomes podem ser vistos e utilizados pelos outros.  Integridade: como os itens se relacionam entre si de forma adequada e consistente.  Execução: o que significa executar ou simular um modelo dinâmico.
  • 30. 30 Regras da UML  Como os modelos de sistemas tendem a evoluir, é comum a equipe de desenvolvimento não construir apenas modelos bem-formados, mas também modelos:  Parciais: certos elementos ficam ocultos par simplificara visão do modelo.  Incompletos: certos elementos podem ser omitidos.  Inconsistentes: a integridade do modelo não é segurada.
  • 31. 31 Mecanismos de Extensibilidade da UML  Embora a UML forneça uma linguagem padrão para elaboração de projetos de software, não é possível que uma única linguagem fechada seja suficiente para expressar todas as nuances possíveis de todos os modelos em qualquer domínio o tempo todo.  Por isso, a UML é aberto-fechada, permitindo que você amplie a linguagem de uma maneira controlada, com o uso dos seguintes mecanismos:  Estereótipos  Valores atribuídos  Restrições