Top Banner
Unified Modelin g Languag e
50

Unified Modeling Language

Jan 22, 2016

Download

Documents

Maura

Unified Modeling Language. Agenda. Software e modelagem; UML Introdução; Diagramas; Comentários finais;. Agenda. Software e modelagem; UML Introdução; Diagramas; Comentários finais;. Evolução do software. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Unified Modeling Language

UnifiedModelingLanguage

Page 2: Unified Modeling Language

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;

Page 4: Unified Modeling Language

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

Novos requisitos de sistemas

Escalabilidade; Segurança; Robustez; De fácil manutenção; Reutilizável;

Como resolver isso...

Page 6: Unified Modeling Language

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

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

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

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

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;

Page 12: Unified Modeling Language

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

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

Usos da UML

Visualização; Especificação; Documentação; Comunicação; Construção.

Page 15: Unified Modeling Language

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

Elementos Essenciais Estruturais

Cliente<<entity>>

-razaoSocial: String-cpf: String

+getRazaoSocial()+setRazaoSocial(razaoSocial: String)

ClasseCliente

Objeto

Interface

Web Server

ocv.dll

Componente

Relacionamentos

IImprimivel

Page 17: Unified Modeling Language

Elementos Essenciais Comportamentais

Operador

Programar produçãoConectando

Caso de uso

Ator

Estados Mensagens

Page 18: Unified Modeling Language

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

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;

Page 21: Unified Modeling Language

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

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

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

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

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

Diagramas de Classe Visão Geral Largamente utilizado; Descreve os diferentes

tipos de objeto e o relacionamentos entre eles.

Page 27: Unified Modeling Language

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

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

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

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

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

Diagramas de Classe Pacotes Agrupa classes

relacionadas;

Regras de negócio

Interface

Banco de Dados

Page 33: Unified Modeling Language

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

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

Diagrama de Seqüência Objetos Representa uma

instância de uma determinada classe;

: ItemPedido<<entity>>

Page 36: Unified Modeling Language

Diagrama de Seqüência Mensagens Representa troca de

mensagens entre os objetos;

8 : setQuantidade()

10 : calcSubTotal()

Page 37: Unified Modeling Language

Diagrama de Seqüência Fragmentos Servem para separar

blocos de mensagens condicionadas a teste ou laço;

Insere itenssd

Page 38: Unified Modeling Language

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

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

Diagramas de Classe Elementos básicos Estado inicial; Estado final; Estado intermediário;

A

B

State1

State3

State1

State3

Page 41: Unified Modeling Language

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

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

Diagramas de Implantação Elementos básicos Componente; Nó.

servidor.exe

Servidor de aplicação

Page 44: Unified Modeling Language

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;

Page 46: Unified Modeling Language

Design na metodologia hoje Exemplo do RUP

Page 47: Unified Modeling Language

Quanto esforço empregar

Projeto; Equipe de trabalho; Complexidade; Automatismos possíveis;

Page 48: Unified Modeling Language

Engenharia Reversa

Útil quando se quer trabalhar com sistemas sem documentação;

Nem sempre o resultado é satisfatório;

Page 49: Unified Modeling Language

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

Fontes

OMG – www.omg.org UML – www.uml.org UML Essencial – Grady Booch, Ivar

Jacobson e James Rumbaugh