unified modeling language. agenda software e modelagem; uml introdução; diagramas; comentários...
TRANSCRIPT
![Page 1: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/1.jpg)
UnifiedModelingLanguage
![Page 2: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/2.jpg)
Agenda
Software e modelagem; UML
Introdução;Diagramas;
Comentários finais;
![Page 3: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/3.jpg)
Agenda
Software e modelagem; UML
Introdução;Diagramas;
Comentários finais;
![Page 4: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/4.jpg)
Evolução do software
O surgimento de sistemas de software complexos resultou na necessidade de reavaliar a forma de desenvolver sistemas;
As técnicas tem evoluído de forma impressionante, notavelmente no que tange à modelagem de sistemas.
![Page 5: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/5.jpg)
Novos requisitos de sistemas
Escalabilidade; Segurança; Robustez; De fácil manutenção; Reutilizável;
Como resolver isso...
![Page 6: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/6.jpg)
Modelagem
Um modelo pode ser visto como uma representação idealizada de um sistema a ser construído;
Maquetes de edifícios e de aviões e plantas de circuitos eletrônicos são apenas alguns exemplos de modelos;
Uma simplificação da realidade que nos ajuda a entender um problema complexo;
![Page 7: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/7.jpg)
Modelagem de software
A modelagem de sistemas de software consiste na utilização de notações gráficas e textuais com o objetivo de construir modelos que representam as partes essenciais de um sistema, considerando-se diversas perspectivas diferentes e complementares.
![Page 8: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/8.jpg)
Para que modelar
Ajuda no gerenciamento da complexidade inerente ao desenvolvimento de software;
Ajuda na comunicação entre as pessoas envolvidas;
Ajuda na predição do comportamento futuro do sistema.
![Page 9: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/9.jpg)
Evolução da modelagem
Na primeira metade da década de 90 surgiram várias propostas de técnicas para modelagem de sistemas;
Houve uma grande proliferação de propostas para modelagem de sistemas segundo o paradigma orientado a objetos;
Existiam diferentes notações gráficas para modelar uma mesma perspectiva de um sistema.
![Page 10: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/10.jpg)
Necessidade de um padrão
Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente;
Surgiram esforços nesse sentido de padronização, sendo o principal liderado por James Rumbaugh, Grady Booch e Ivar Jacobson (Rational).
![Page 11: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/11.jpg)
Agenda
Software e modelagem; UML
Introdução;Diagramas;
Comentários finais;
![Page 12: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/12.jpg)
UML...
Surge a UML em 1996 como a melhor candidata para ser a linguagem unificadora de notações;
Em 1997 a UML é aprovada como padrão pela OMG;
Desde então tem tido grande aceitação;
Atualmente na versão 2.0;
![Page 13: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/13.jpg)
Características da UML
É uma linguagem visual; É independente de linguagem de
programação; É independente de processo de
desenvolvimento; Não é uma linguagem de programação; Não é uma metodologia.
![Page 14: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/14.jpg)
Usos da UML
Visualização; Especificação; Documentação; Comunicação; Construção.
![Page 15: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/15.jpg)
Diagramas Podem ser usados para... Mostrar os limites de um sistema e suas
funções; Representa a estrutura estática de um
sistema; Modelar o comportamento de objetos; Apresentar a implementação física e a
arquitetura de um sistema;
![Page 16: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/16.jpg)
Elementos Essenciais Estruturais
Cliente<<entity>>
-razaoSocial: String-cpf: String
+getRazaoSocial()+setRazaoSocial(razaoSocial: String)
ClasseCliente
Objeto
Interface
Web Server
Nó
ocv.dll
Componente
Relacionamentos
IImprimivel
![Page 17: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/17.jpg)
Elementos Essenciais Comportamentais
Operador
Programar produçãoConectando
Caso de uso
Ator
Estados Mensagens
![Page 18: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/18.jpg)
Elementos Essenciais Extensão
{nome=J oão da SilvaCpf=12345678901}
Notas servem para adicionaralguma informação nos diagramas
Notas Tagged Values
![Page 19: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/19.jpg)
Elementos Essenciais Agrupamento
Banco de Dados
Regras de negócio
Interface
Pacotes
![Page 20: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/20.jpg)
Agenda
Software e modelagem; UML
Introdução;Diagramas;
Comentários finais;
![Page 21: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/21.jpg)
Diagrama de Casos de UsoVisão Geral Descreve o que o
sistema faz do ponto de vista do observador externo;
Ajuda a esclarecer os requisitos do sistema;
Ajuda a dividir o desenvolvimento do sistema em tarefas;
![Page 22: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/22.jpg)
Diagrama de Casos de Uso Caso de uso Representa as
diferentes funcionalidades que o sistema disponibiliza aos usuários.
Programar produção
Produzir pedido
Solicitar material
![Page 23: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/23.jpg)
Diagramas de Caso de Uso Atores Diferentes usuários que
operam o sistema; Sistemas externos que
interagem com o sistema;
Gerente
Sistema de estoque
Operador
![Page 24: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/24.jpg)
Diagramas de Caso de Uso Associação
Representa a comunicação entre o ator e o caso de uso;
Também existem associações entre casos de usos;
Gerar relatórios de serviços
Gerente
![Page 25: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/25.jpg)
Diagramas de Caso de Uso Diagrama completo
Gerente
Sistema de estoque
Operador
Produzir pedido
Programar produção
Solicitar material
Gerar relatórios de serviços
Cenário do sistema para na produção
![Page 26: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/26.jpg)
Diagramas de Classe Visão Geral Largamente utilizado; Descreve os diferentes
tipos de objeto e o relacionamentos entre eles.
![Page 27: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/27.jpg)
Diagramas de Classe Classes Estereótipo; Atributos; Operações; Visibilidade; Tipo;
Pagamento<<entity>>
-quantia: Float
+getQuantia()
Pedido<<entity>>
-data: date-status: Integer-obs: String-valorTotal: Float
+calcImposto()+calcTotal()-calcSubTotal()+setCliente(cliente: Cliente)+inserirItem(item: ItemPedido)
Estereótipo
Nome
Atributos
Métodos
![Page 28: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/28.jpg)
Diagramas de Classe Relacionamentos Associações
representam relações entre ocorrências de classes;
Cliente<<entity>>
-razaoSocial: String-cpf: String
+getRazaoSocial()+setRazaoSocial(razaoSocial: String)
0..*
1
Pedido<<entity>>
-data: date-status: Integer-obs: String-valorTotal: Float
+calcImposto()+calcTotal()-calcSubTotal()+setCliente(cliente: Cliente)+inserirItem(item: ItemPedido)
![Page 29: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/29.jpg)
Diagramas de Classe Relacionamentos Multiplicidade; Navegabilidade;
Pagamento
-quantia
Cliente
-nome-cpf
Pedido
-data-status
+calcImposto()+calcTotal()
1..*
1 0..*
1
![Page 30: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/30.jpg)
Diagramas de Classe Relacionamentos Agregação; Composição;
Computador
Monitor
TecladoCpu
ItemPedido<<entity>>
+qtd: Integer
+setQuantidade(qtd: Integer)+setProduto(produto: Produto)
1
1..*
Pedido<<entity>>
-data: date-status: Integer-obs: String-valorTotal: Float
+calcImposto()+calcTotal()-calcSubTotal()+setCliente(cliente: Cliente)+inserirItem(item: ItemPedido)
![Page 31: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/31.jpg)
Diagramas de Classe Relacionamentos Generalização; Dependência;
Cheque
-banco
Cartao
+numero+tipo
Pagamento
-quantia
FormPedido<<boundary>>
+criarPedido()+gravarPedido()
Pedido<<entity>>
-data: date-status: Integer-obs: String-valorTotal: Float
+calcImposto()+calcTotal()-calcSubTotal()+setCliente(cliente: Cliente)+inserirItem(item: ItemPedido)
![Page 32: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/32.jpg)
Diagramas de Classe Pacotes Agrupa classes
relacionadas;
Regras de negócio
Interface
Banco de Dados
![Page 33: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/33.jpg)
Diagramas de Classe Diagrama completo
Cliente<<entity>>
-razaoSocial: String-cpf: String
+getRazaoSocial()+setRazaoSocial(razaoSocial: String)
Pedido<<entity>>
-data: date-status: Integer-obs: String-valorTotal: Float
+calcImposto()+calcTotal()-calcSubTotal()+setCliente(cliente: Cliente)+inserirItem(item: ItemPedido)
0..*1
Pagamento<<entity>>
-quantia: Float
+getQuantia()
Dinheiro<<entity>>
Cheque<<entity>>
-banco: Integer
Cartao<<entity>>
+numero: Integer+tipo: Integer
1..*1
ItemPedido<<entity>>
+qtd: Integer
+setQuantidade(qtd: Integer)+setProduto(produto: Produto)
1
1..*
FormPedido<<boundary>>
+criarPedido()+gravarPedido()
Produto<<entity>>
+descricao: String
1 0..*
![Page 34: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/34.jpg)
Diagrama de Seqüência
Mostra um conjunto de objetos, seus relacionamentos e as mensagens que podem ser enviadas entre eles;
Diagrama de seqüência dá ênfase à seqüência de mensagens;
![Page 35: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/35.jpg)
Diagrama de Seqüência Objetos Representa uma
instância de uma determinada classe;
: ItemPedido<<entity>>
![Page 36: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/36.jpg)
Diagrama de Seqüência Mensagens Representa troca de
mensagens entre os objetos;
8 : setQuantidade()
10 : calcSubTotal()
![Page 37: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/37.jpg)
Diagrama de Seqüência Fragmentos Servem para separar
blocos de mensagens condicionadas a teste ou laço;
Insere itenssd
![Page 38: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/38.jpg)
Diagrama de Seqüência
Insere itens
: Pedido<<entity>>
: ItemPedido<<entity>>
: Atendente
: FormPedido<<boundary>>
1 : cria pedido()2 : create()
3 : informa cliente()4 : setCliente()
5 : informa item()6 : create()
7 : setProduto()
8 : setQuantidade()
9 : insereItem()
10 : calcSubTotal()
Insere quantos itens quiser
Diagrama de sequência referenteà inserção de pedidos
11 : Atualizar()
12 : finaliza edição()
![Page 39: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/39.jpg)
Diagrama de estados
Exibe os possíveis estados de um objeto;
Exibe também as transições que causam a mudança de estado.
![Page 40: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/40.jpg)
Diagramas de Classe Elementos básicos Estado inicial; Estado final; Estado intermediário;
A
B
State1
State3
State1
State3
![Page 41: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/41.jpg)
Diagramas de Estados Diagrama completo
Rejeitando
Validando
Lendo usuário
Lendo Senha
Exibe mensagem de erro
Submete
Cursor para campo de senha
Cursor para campo de usuário
Capturando teclas ( exibir ponto )
Capturando teclas
Cursor inicia no campo do usuário
Submete
Tenta novamente ( limpa campos )
Cancelado
Inicia transação
Diagrama de estados - Acesso ao Sistema
![Page 42: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/42.jpg)
Diagramas de Implantação Visão Geral Mostra a
configuração de software ou hardware;
Permite avaliar as diferentes situações de implantação do sistema.
![Page 43: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/43.jpg)
Diagramas de Implantação Elementos básicos Componente; Nó.
servidor.exe
Servidor de aplicação
![Page 44: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/44.jpg)
Diagramas de Implantação Diagrama completo
Servidor de aplicaçãoCliente Servidor de banco de dados
Cliente remoto Servidor Web
Diagrama de implantação
navegador autenticacao
aplicativo.exe servidor.exe SGBD
<<http>>
<<RMI>> <<odbc>>
<<jdbc>>
![Page 45: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/45.jpg)
Agenda
Software e modelagem; UML
Introdução;Diagramas;
Comentários finais;
![Page 46: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/46.jpg)
Design na metodologia hoje Exemplo do RUP
![Page 47: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/47.jpg)
Quanto esforço empregar
Projeto; Equipe de trabalho; Complexidade; Automatismos possíveis;
![Page 48: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/48.jpg)
Engenharia Reversa
Útil quando se quer trabalhar com sistemas sem documentação;
Nem sempre o resultado é satisfatório;
![Page 49: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/49.jpg)
Ferramentas sugeridas
StarUML em www.staruml.com Poseidon em www.gentleware.com Umbrello em
http://uml.sourceforge.net/index.php Rational Rose em www.rational.com Dentre outras...
![Page 50: Unified Modeling Language. Agenda Software e modelagem; UML Introdução; Diagramas; Comentários finais;](https://reader035.vdocuments.mx/reader035/viewer/2022062219/552fc111497959413d8c5fe6/html5/thumbnails/50.jpg)
Fontes
OMG – www.omg.org UML – www.uml.org UML Essencial – Grady Booch, Ivar
Jacobson e James Rumbaugh