• Nenhum resultado encontrado

Engenharia de Software demais diagramas

N/A
N/A
Protected

Academic year: 2019

Share "Engenharia de Software demais diagramas"

Copied!
58
0
0

Texto

(1)
(2)

Representando Arquiteturas com

Pacotes

Um

pacote

é um conjunto de elementos de modelo

de qualquer tipo (casos de uso, classes, diagramas

de interação), incluindo outros pacotes

O sistema inteiro pode ser considerado dentro do

escopo de um único pacote — o pacote

Sistema

Notação para pacotes na UML:

Domain Concepts

(3)

Notação

É representado graficamente por uma

pasta

.

Todo o pacote tem um nome que o

distingue dos outros pacotes

.

Todo elemento dentro de um pacote

.

deve ter um nome único

Um path name é o nome de um pacote

prefixado pelo nome do pacote no qual ele

se encontra.

Deve evitar aninhamento

(4)

Diagrama de Pacotes

Não têm significado por si só; o seu

comportamento é dado pelos

elementos que o compõem.

A sua utilização facilita a gestão e

(5)

Diagrama de Pacotes

Pacote: Agrupamento de classes

ou qualquer outro elemento UML.

Diagramas de Pacotes mostram

pacotes de elementos e as

dependências entre eles.

(6)

Diagrama de Pacotes

Em um modelo UML, cada classe (ou

elemento) é membro de um único pacote.

Os pacotes podem ser membros de outros

pacotes, de modo que se obtém uma

estrutura hierárquica na qual os pacotes de

nível superior são divididos em subpacotes

que possuem seus próprios subpacotes.

Um pacote pode conter subpacotes e

(7)

Pacote

Um pacote é um mecanismo genérico

para organizar elementos em grupos.

É um elemento de modelagem que pode

conter outros elementos de modelagem.

Um pacote pode ser utilizado para:

Organizar o modelo em desenvolvimento.

Compor uma unidade de configuração.

Princípio OO: Modularidade e Hierarquia.

(8)

Subsistema

Uma combinação de um pacote (pode conter

outros elementos de modelagem) como uma

classe (possui comportamento).

Realiza uma ou mais interfaces que definem seu

comportamento.

Princípio OO: Encapsulamento e Modularidade.

Interface

Nom e do Pacote <<s ubs ys te m >>

Realização

(9)

Relacionamento entre Pacotes

Relacionamento entre pacotes é o de

Dependência

.

Se um pacote A depende de um pacote

B, uma ou mais classes de A inicia

comunicação com uma ou mais classes

públicas de B

Pacote A é o CLIENTE.

Pacote B é o FORNECEDOR.

(10)

Relacionamento entre Pacotes

Toda vez que uma classe em um pacote A

utilizar uma classe de um pacote B, existirá uma

relação de dependência do pacote A em relação

ao pacote B.

Toda vez que o pacote B for modificado, o

pacote A deverá ser verificado para verificar o

impacto.

O pacote A só pode ser utilizado se o pacote B

estiver presente.

Pacote Cliente A

(11)

Dependência

RECEBER PEDIDO COMPRADORES

PEDIDOS

Dependência

Pacote

APLICAÇÃO P/ RECEBIMENTO DO

(12)

Dependência

Se a classe

Pedidos

é modificada, isto não

implica que a classe

Receber Pedido

necessita ser modificada. Isto apenas indica

que a classe

Aplicação para Recebimento

do Pedido

deve ser verificada para ver se é

modificada.

Somente se a classe

Aplicação para

Recebimento do Pedido

for modificada na

interface, indicará que a classe

Receber

(13)

Generalização

Pacote1

Pacote2

(14)

Visibilidade Entre Pacotes

Visibilidade típica:

Acesso a pacotes de domínio

Outros pacotes (normalmente pacotes de

apresentação) têm visibilidade para várias das classes

que representam conceitos de domínio.

Acesso a pacotes de serviço

Outros pacotes (normalmente pacotes de domínio e

apresentação) têm visibilidade para apenas uma ou

poucas das classes representando um serviço

particular.

Acesso a pacotes de apresentação

Nenhum outro pacote tem visibilidade direta para as

(15)

Diagrama de Pacotes: Visibilidade

Uma classe dentro de um pacote não

vê as classes e operações de outro

pacote, a menos que o pacote seja

importado.

Podemos modelar isto usando o

(16)

Visibilidade

Um elemento de um pacote

Pacote_X

é público (+)

se é visível para os elementos de um

Pacote_Y

que

importa o

Pacote_X.

Elementos protegidos (#) só podem ser vistos pelos

pacotes filhos.

Elementos privados (-) não podem ser vistos fora

do pacote em que estão declarados.

Diferentes ambientes de programação têm regras

(17)

Visibilidade

Uma regra útil é reduzir a interface do

pacote, exportando apenas um pequeno

subconjunto das operações associadas às

classes públicas do pacote. Como proceder:

Fornecer visibilidade privada a todas as classes,

para que elas possam ser vistas apenas por

outras classes do mesmo pacote;

Adicionar classes públicas extras para o

comportamento público (Facades);

As classes extras delegam operações públicas

(18)

Exportação e Importação

Os elementos públicos de um

pacote são chamados

exports

”.

Se

X importa Y:

Um elemento de X pode ver os

elementos públicos de Y,

(19)

Exportação e Importação

Importação é representada por

uma dependência com um

estereótipo

<<import>>

Se um elemento é visível num

(20)

Diagrama de Pacotes

(Análise)

Int erfaces

Artefat os Universitarios

(21)

Diagrama de Pacotes (Projeto)

Interfaces

Artefatos Universitarios

Pessoas Controles GUI

Foundations Classes

g l o b a l

Acesso a BD Tratamento de Erro

(22)

Pacotes Lógicos

Interfaces de usuário da aplic ação

Plataforma de Interfaces de usuário

(23)

Pacotes Lógicos

Candidatos a pacotes lógicos:

Interfaces de usuários da aplicação;

Componentes da biblioteca de interfaces

de usuário do ambiente de

desenvolvimento;

Componentes que realizam regras de

negócios e outras características da

aplicação do produto;

Componentes que representam

(24)

Pacotes Lógicos

Candidatos a pacotes lógicos:

Interfaces com banco de dados e outras

estruturas de dados persistentes;

Interfaces de comunicação de dados, em

sistemas distribuídos;

Interfaces com dispositivos especiais de

hardware;

Interfaces de uso dos serviços embutidos nos

(25)

Pacotes Lógicos e Camadas da Aplicação

Interfaces de usuário da aplicação

Plataforma de Interfaces de usuário

Regras de negício Controladoras Objetos de negócio Camada de Persistência Plataforma de Banco de dados

(26)

Exercício – Pousada – Crie um

Diagrama de Pacotes para o Sistema

O gerente de uma pousada deseja um sistema para gerenciar as reservas. Quando um cliente potencial deseja fazer uma reserva, o sistema verifica se

existem quartos disponíveis no período, e em caso positivo, o sistema solicitará os dados do cliente (nome, endereço, telefone).

O sistema também deve armazenar sobre a reserva a data prevista para entrada, data prevista para saída, valor do desconto concedido e o número dos quartos. Cada quarto possui um preço e uma descrição. Não há frigobar. Nem serviços de quarto.

As reservas são garantidas através do pagamento de uma diária.

Caso o cliente não efetue este pagamento até três dias antes da data prevista de entrada, a reserva é cancelada pelo sistema. Um relatório de reservas canceladas é gerado pelo sistema diariamente. Outros relatórios diários são o relatório de

reservas não pagas e o relatório sobre as reservas a serem efetivadas no dia.

(27)

Quando Utilizar Pacotes

Os pacotes são ferramentas vitais

para projetos grandes

Utilize pacotes sempre que um

(28)

Como Definir as Classes de um

Pacote

Princípio de Fechamento Comum

As classes de um pacote devem precisar de

alterações por motivos semelhantes.

Princípio da Reutilização Comum

Todas as classes de um pacote devem ser

reutilizadas juntas.

Muitos dos motivos para o agrupamento de

(29)

Identificando Pacotes

Regras úteis:

Agrupar em um pacote elementos que oferecem

um serviço comum (ou uma família de serviços

relacionados), com

acoplamento e

colaboração

relativamente altos.

Em níveis mais altos de abstração, o pacote

deve ser visto como um elemento altamente

coeso

, com responsabilidades fortemente

relacionadas.

Por outro lado, o

acoplamento e colaboração

(30)

Acoplamento e Coesão

Alta coesão – oferecer um grupo de

serviços logicamente correlatos;

Baixo acoplamento – oferecer ao

(31)

Formas de Coesão

Funcional – rotina executa uma única tarefa;

Seqüencial – rotina executa uma seqüência de

tarefas correlatas e encadeadas;

Comunicacional – rotina executa seqüência de

tarefas que usa um conjunto comum de dados;

Temporal – rotina executa um conjunto de tarefas

coincidentes no tempo;

Procedimental – rotina executa uma seqüência de

tarefas ordenadas mas não-correlatas nem

encadeadas;

Lógico – rotina executa uma entre várias tarefas, de

acordo com o valor de uma variável de estado;

(32)

Formas de Acoplamento

Refere-se à maneira de comunicação entre as

rotinas.

O acoplamento é frouxo se existe:

baixa cardinalidade – número de objetos

comunicados entre as rotinas;

baixa intimidade – grau de controle de acesso;

alta visibilidade – grau de visibilidade dos dados

passados;

alta flexibilidade – grau de liberdade que a rotina

(33)

Dicas

Não devem existir ciclos nas dependências.

Se existirem que sejam localizados, sem

cruzar as camadas.

Quanto mais dependências entram em um

pacote, mais estável deve ser a sua

interface, pois qualquer modificação em sua

interface será propagada para todos os

(34)

Exercício:

Biblioteca:

A atividade da biblioteca encontra-se principalmente no

empréstimo de publicações pelos alunos da universidade.

O aluguel é registrado pelos funcionários da biblioteca,

que também consultam diariamente os empréstimos cujos

prazos foram ultrapassados. Todo processo é efetuado

manualmente, sendo muito ineficiente. Espera-se que o

novo sistema resolva esta situação.

Os alunos necessitam pesquisar os livros existentes na

biblioteca. Caso um livro esteja emprestado é mostrada a

data esperada de entrega.

(35)
(36)

Diagrama de Estruturas

Compostas

Tem capacidade de decompor

hierarquicamente uma classe em uma

estrutura interna.

Permite que você pegue um objeto

complexo e divida-o em partes.

Você poderá exibir um pequeno diagrama

de classes dentro de uma classe.

Esse tipo de notação leva a uma

(37)

Conectores

As classes-partes podem ser ligadas

por conectores.

Os conectores são linhas que indicam

links que habilitam a comunicação

entre duas ou mais instâncias.

Indicam a ligação entre as instâncias

(38)
(39)
(40)
(41)

Diferença entre Pacotes e

Estruturas Compostas

Os diagramas de pacotes são um

agrupamento em tempo de

compilação.

Os diagramas de estruturas

compostas mostram agrupamentos em

tempo de execução.

Os diagramas de estruturas servem

(42)

Exercício – Pousada – Crie um Diagrama

de Estruturas Compostas para o Sistema

O gerente de uma pousada deseja um sistema para gerenciar as reservas. Quando um cliente potencial deseja fazer uma reserva, o sistema verifica se

existem quartos disponíveis no período, e em caso positivo, o sistema solicitará os dados do cliente (nome, endereço, telefone).

O sistema também deve armazenar sobre a reserva a data prevista para entrada, data prevista para saída, valor do desconto concedido e o número dos quartos. Cada quarto possui um preço e uma descrição. Não há frigobar. Nem serviços de quarto.

As reservas são garantidas através do pagamento de uma diária.

Caso o cliente não efetue este pagamento até três dias antes da data prevista de entrada, a reserva é cancelada pelo sistema. Um relatório de reservas canceladas é gerado pelo sistema diariamente. Outros relatórios diários são o relatório de

reservas não pagas e o relatório sobre as reservas a serem efetivadas no dia.

(43)

Exercício:

Biblioteca:

A atividade da biblioteca encontra-se principalmente no

empréstimo de publicações pelos alunos da universidade.

O aluguel é registrado pelos funcionários da biblioteca,

que também consultam diariamente os empréstimos cujos

prazos foram ultrapassados. Todo processo é efetuado

manualmente, sendo muito ineficiente. Espera-se que o

novo sistema resolva esta situação.

Os alunos necessitam pesquisar os livros existentes na

biblioteca. Caso um livro esteja emprestado é mostrada a

data esperada de entrega.

Crie o Diagrama de Estruturas Compostas para o

(44)

Diagramas de Interação

(45)

Diagrama de Sincronização

Mostra a mudança de estado de um objeto

numa passagem de tempo, em resposta à

eventos externos.

É mais utilizado quando o objetivo

principal do diagrama é a determinação do

tempo (útil para sistemas de tempo real).

O foco está nas restrições de

(46)

Diagrama de Sincronização -

Elementos

Objeto – objeto que está sendo observado;

Estado – estado (s) que o objeto pode

assumir;

Mudança de estado – mudança de estado

entre os objetos;

Temporizador – tempos que estão sendo

apresentados;

Evento – evento gerador da mudança de

(47)

Exemplo

Cenário: bomba e chapa elétrica da

cafeteira.

Regras:

pelo menos 10 segundos devem passar

entre o acionamento da bomba e o

aquecimento da chapa;

Quando o reservatório de água se

(48)

Diagrama de Sincronização

10s

Objeto

Estado

Sem Água

Mudança

de Estado

(49)

Exercício – Pousada – Crie um Diagrama

de Sincronização para o Sistema

O gerente de uma pousada deseja um sistema para gerenciar as reservas. Quando um cliente potencial deseja fazer uma reserva, o sistema verifica se

existem quartos disponíveis no período, e em caso positivo, o sistema solicitará os dados do cliente (nome, endereço, telefone).

O sistema também deve armazenar sobre a reserva a data prevista para entrada, data prevista para saída, valor do desconto concedido e o número dos quartos. Cada quarto possui um preço e uma descrição. Não há frigobar. Nem serviços de quarto.

As reservas são garantidas através do pagamento de uma diária.

Caso o cliente não efetue este pagamento até três dias antes da data prevista de entrada, a reserva é cancelada pelo sistema. Um relatório de reservas canceladas é gerado pelo sistema diariamente. Outros relatórios diários são o relatório de

reservas não pagas e o relatório sobre as reservas a serem efetivadas no dia.

(50)

Exercício:

Biblioteca:

A atividade da biblioteca encontra-se principalmente no

empréstimo de publicações pelos alunos da universidade.

O aluguel é registrado pelos funcionários da biblioteca,

que também consultam diariamente os empréstimos cujos

prazos foram ultrapassados. Todo processo é efetuado

manualmente, sendo muito ineficiente. Espera-se que o

novo sistema resolva esta situação.

Os alunos necessitam pesquisar os livros existentes na

biblioteca. Caso um livro esteja emprestado é mostrada a

data esperada de entrega.

(51)

Diagramas de Interação

(52)

Diagrama de Visão Geral

Variação do diagrama de atividades

que mostra de uma forma geral o fluxo

de controle dentro de um sistema ou

processo de negócios.

Cada nó ou atividade do diagrama

pode representar outro diagrama de

interação.

As linhas de vida não aparecem neste

(53)
(54)
(55)
(56)
(57)

Exercício – Pousada – Crie um Diagrama

de Visão Geral para o Sistema

O gerente de uma pousada deseja um sistema para gerenciar as reservas. Quando um cliente potencial deseja fazer uma reserva, o sistema verifica se

existem quartos disponíveis no período, e em caso positivo, o sistema solicitará os dados do cliente (nome, endereço, telefone).

O sistema também deve armazenar sobre a reserva a data prevista para entrada, data prevista para saída, valor do desconto concedido e o número dos quartos. Cada quarto possui um preço e uma descrição. Não há frigobar. Nem serviços de quarto.

As reservas são garantidas através do pagamento de uma diária.

Caso o cliente não efetue este pagamento até três dias antes da data prevista de entrada, a reserva é cancelada pelo sistema. Um relatório de reservas canceladas é gerado pelo sistema diariamente. Outros relatórios diários são o relatório de

reservas não pagas e o relatório sobre as reservas a serem efetivadas no dia.

(58)

Exercício:

Biblioteca:

A atividade da biblioteca encontra-se principalmente no

empréstimo de publicações pelos alunos da universidade.

O aluguel é registrado pelos funcionários da biblioteca,

que também consultam diariamente os empréstimos cujos

prazos foram ultrapassados. Todo processo é efetuado

manualmente, sendo muito ineficiente. Espera-se que o

novo sistema resolva esta situação.

Os alunos necessitam pesquisar os livros existentes na

biblioteca. Caso um livro esteja emprestado é mostrada a

data esperada de entrega.

Referências

Documentos relacionados

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais

O grupo de mulheres saudáveis correspondeu a 70 gestantes acompanhadas no ambulatório de pré-natal do Centro de Saúde Geraldo de Paula Souza, da Faculdade de Saúde Pública

Todas as ordens de compra efetuadas em qualquer um dos canais de venda, rede de lojas, loja online ou outros canais não presenciais (telefone, fax, e-mail), podem ser

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

Para que o estudo seja possível, houve um levantamento bibliográfico sobre o cenário do sistema produtivo da saúde no Brasil, tendo em vista a proteção

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos

Visando suprir, sobremaneira a carência de informações no âmbito do conhecimento da ecofisiologia de espécies lenhosas nativas de Floresta Atlântica, o presente estudo teve

é um Nothopodinae com seta coxal I 1b presente; coxas da perna I fundida; tíbia da perna não fundida com o tarso; escudo prodorsal com tubérculos e seta escapular sc presente e