78
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise 6. Novas abordagens da análise estruturada e análise essencial de estruturada e análise essencial de sistemas sistemas 6.1 Dicionário de dados 6.1 Dicionário de dados 6.2 Especificação de processos 6.2 Especificação de processos 6.3 Diagrama de transição de estados 6.3 Diagrama de transição de estados 6.4 Diagramas entidade-relacionamento 6.4 Diagramas entidade-relacionamento 6.5 Relação entre as ferramentas 6.5 Relação entre as ferramentas 6.6 Análise essencial de sistemas 6.6 Análise essencial de sistemas Objetivo: mostrar a evolução da análise Objetivo: mostrar a evolução da análise estruturada, suas modificações, novas estruturada, suas modificações, novas ferramentas utilizadas e o conceito de ferramentas utilizadas e o conceito de análise essencial de sistemas análise essencial de sistemas

1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

Embed Size (px)

Citation preview

Page 1: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

11 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

6. Novas abordagens da análise estruturada 6. Novas abordagens da análise estruturada e análise essencial de sistemase análise essencial de sistemas

6.1 Dicionário de dados6.1 Dicionário de dados6.2 Especificação de processos6.2 Especificação de processos6.3 Diagrama de transição de estados6.3 Diagrama de transição de estados6.4 Diagramas entidade-relacionamento6.4 Diagramas entidade-relacionamento6.5 Relação entre as ferramentas6.5 Relação entre as ferramentas6.6 Análise essencial de sistemas6.6 Análise essencial de sistemas

Objetivo: mostrar a evolução da análise estruturada, Objetivo: mostrar a evolução da análise estruturada, suas modificações, novas ferramentas utilizadas e suas modificações, novas ferramentas utilizadas e

o conceito de análise essencial de sistemaso conceito de análise essencial de sistemas

Page 2: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

22 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Não basta estar ciente das técnicas atuais em análise de sistemas

• É necessário compreender as modificações ocorridas

• Razões

– Onde você trabalha não evolui e ninguém quer evoluir

– Onde você trabalha houve algumas mudanças, mas demoradas

– É importante entender as transições mesmo que você esteja em uma empresa moderna

Page 3: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

33 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• A análise estruturada precisou de algumas alterações e extensões no decorrer do tempo

– Na ênfase dada aos modelos físicos e lógicos

– Na vagueza da distinção entre o físico e o lógico• Em essencial é “essencial” e de implementação

– Em relação à dependência do tempo e o controle em tempo real

– Na ênfase da função em detrimento dos dados• Em essencial substitui-se bolhas por eventos

Page 4: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

44 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Pode-se considerar até que as necessidades de um trabalho artístico (“trabalhoso”) em fazer diagramas desgastou a análise estruturada e que foram requeridas novas ferramentas automatizadas

• A alternativa dos protótipos e uma ligação maior entre análise e projeto de programas também dirimiu no decorrer do tempo algumas problemas da AE

– Tempo demais na análise do “atual”

– Pouca observação do retorno da análise

– Surgimento de novas técnicas e integração com novas ferramentas

Page 5: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

55 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 6.1 Dicionário de dados6.1 Dicionário de dados

• O que é um dicionário e como pode ajudar na APS?

• O dicionário de dados pode ser entendido como uma listagem organizada dos itens pertencentes ao sistema– Com definições precisas e rigorosas– Para a compreensão entre usuário e analista– Para serem comumente conhecidos

• As entradas• As saídas• Os componentes dos depósitos• Os cálculos intermediários

Page 6: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

66 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• A maioria dos dicionários de dados têm as seguintes informações, compreendendo elementos de dados e estrutura de dados– Nome: o nome principal do elemento

– Alias / pseudônimo: outros nomes usados para a primeira entrada

– Descrição: representação do conteúdo (deve ser curta!)

– Formato: se o dado é numérico, alfabético, alfanumérico, além de informações como comprimento e casas decimais, se houver

– Validade: o que é aceito pelo sistema. Ex.: data de emissão de duplicata igual ou inferior ao seu pagamento

– Controle: para garantir a integridade: data de origem, origem da informação, programas que utilizam o item e autorização de mudanças

– Grupos: estruturas e localização física (banco de dados, registros, arquivos) e os programas que utilizam o item

Page 7: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

77 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Notação

Construção de dados Notação Significado

= é composto de

sequência + e

seleção [ | ] ou…ou

repetição { }n n repetições de

( ) dados opcionais

* * Comentário

Page 8: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

88 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Exemplo de um item• Nome: número telefônico

• Pseudônimo: não tem

• Onde / como é usado: avaliar com planejamento (saída), discar número telefônico (entrada)

• Descrição:

– Número telefônico = [extensão local | número externo]Número telefônico = [extensão local | número externo]

– Extensão local = [2001 | 2002 | … | 2999]Extensão local = [2001 | 2002 | … | 2999]

– Número externo = 9 + [número local | número de longa Número externo = 9 + [número local | número de longa distância]distância]

– Número local = prefixo + número de acessoNúmero local = prefixo + número de acesso

– Número de longa distância = (1) + código de área + Número de longa distância = (1) + código de área + número localnúmero local

– Prefixo = [795 | 799 | 874 | 877]Prefixo = [795 | 799 | 874 | 877]

– Número de acesso = *qualquer série de quatro números*Número de acesso = *qualquer série de quatro números*

Page 9: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

99 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Exemplo de DD

• Observações:– 1) definição - o símbolo “=“ tem três leituras

• “é definido como”, “é composto de” e “significa”• Ex. A = B + C• Pode ser colocado em comentários

– Peso = *peso do paciente ao chegar ao hospital*Peso = *peso do paciente ao chegar ao hospital* *unidades: quilogramas; intervalo: 1-200**unidades: quilogramas; intervalo: 1-200*

Nome: Número de peçaPseudônimo:Descrição: campo-chave que identifica singularmente uma peça específica no estoqueFormato: Alfanumérico, 8 caracteresLocalização: Relatório de estoque por execeção

EstoqueReposição

Nome: Reposição - quantidadePseudônimo:Descrição: o número de unidades de uma determinada parte deverá ser reposto de uma só vezFormato: Numérico, 5 dígitosLocalização: Relatório de estoque por execeção

EstoqueReposição

Page 10: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1010 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– 2) componentes elementares – não há decomposição

– 3) elementos opcionais – podem ser usados em [] e ()• Ex.: sexo = *valores [M|F]*• Ex.: qual é o endereço do cliente?

– end-cliente = (end-remessa) + (end-cobrança)end-cliente = (end-remessa) + (end-cobrança)– end-cliente = [end-remessa | end-cobrança | end-end-cliente = [end-remessa | end-cobrança | end-

remessa + end-cobrança]remessa + end-cobrança]– end-cliente = end-remessa + (end-cobrança)end-cliente = end-remessa + (end-cobrança)

– 4) a apresentação ao usuário dá origem a algumas dúvidas• Ele entendeu tudo? Sabe verificar se está completo?

– 5) antes de mostrar ao usuário, rever tudo

– 6) ao implementar avaliar as restrições da ferramentas

Page 11: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1111 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 6.2 Especificação de processos6.2 Especificação de processos

• As especificações definem o que deve ser feito para transformar entradas em saídas

• Há vários métodos para a especificação de processos e o uso deve atender o seguinte:

– O analista e o usuário devem verificá-la

– Deve serefetivamente demonstrada à audiência

Page 12: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1212 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• As ferramentas de especificação dependem– Da experiência do usua’rio– Do analista– Do tipo de projeto

• Muitas vezes se deve ter cuidado com o que elas especificam atualmente

• Modo de fazer:

– Não deve ser feita para os diagramas de nível mais alto

– A especificação para uma bolha é o diagrama de nível inferior

Page 13: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1313 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Linguagem estruturada

– A linguagem de projeto ou de especificação de problema tenta um equilíbrio entre o formal e o natural

– Usa verbos, comandos e notações semelhantes aos seguintes

• X = (Y+Z)/Q

• Calcule X = (Y+Z)/Q

– Usa comandos semelhantes aos estruturados

• CASE

• IF

• THEN

• ELSE

• OTHERWISE

• DO-WHILE

Page 14: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1414 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Condições PRÉ/PÓS– Forma mais direta de descrever uma função sem especifica um

algoritmo– Ocorre quando:

• 1) um usuário tende a expressar a política de uma bolha em termos de um algoritmo especial

• 2) o analista sabe que há muitos algoritmos e não quer se envolver com detalhes

– Exemplo:Especificação 3.5 – Calculas imposto sobre vendas

Pré-condição 1

DADOS-DE-VENDA ocorre com TIPO-DE-ITEM que coincide com CATEGORIA-DE-ITEM em CATEGORIAS-DE-IMPOSTOS

Pós-condição 1

TAXA-DE-VENDAS é ajustado em TOTAL-VENDAS*VALOR-TAXA

Pré-condição 2DADOS-DE-VENDA ocorre com TIPO-DE-ITEM que não coincide com CATEGORIA-DE-

ITEM em CATEGORIAS-DE-IMPOSTOSPós-condição 2

MENSAGEM-DE-ERRO é gerada

Page 15: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1515 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Pré-condições descrevem:– Que entradas estão disponíveis– Relacionamentos na entrada ou no interior– Relacionamentos entre entrada e depósito– Relacionamento no interior do processo

• Pós-condição descreve:– Saídas geradas– Relacionamentos do valor E/S– Relação entre saída e depósito– Alterações nos depósitos

Page 16: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1616 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 6.3 Diagrama de transição de estados6.3 Diagrama de transição de estados

• Enfatizam menos as funções e os dados e destacam o comportamento no tempo

• Evoluiram dos sistemas em tempo real para as aplicações realizadas de maneira efetiva no dia-a-dia

• O mais importante é o que acontece quando

Page 17: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1717 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Notações– Estados– Setas que representam alterações

inativo

Aguardando chamada

inativo

inativo

inativo inativo

Page 18: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1818 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Estados

– “Conjunto de circunstâncias ou atributos que caracterizam uma pessoa ou objeto em determinado momento, modo ou forma de ser; condição” (Webster)

– Exemplos:• Aguardando senha• Aguardando próximo comando• Misturando substâncias• Calculando pressão• Ocioso

– Notar que AGUARDAR # ESTAR FAZENDO ALGO (concepção essencial)

Page 19: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

1919 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Mudanças de estado

– É diferentes de “estados” (que podem ser os mais diversos);

– Há somente certos tipos de mudança válidas (com normas reguladoras)

– Há modelos estáticos e com representações de estados finais e iniciais

ESTADO 1

ESTADO 2

ESTADO 3

Que problemas Que problemas você pode você pode

identificar nesta identificar nesta representação?representação?

Page 20: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2020 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Os estados iniciais e finais podem ser identificados

– Há um só estado inicial e podem haver vários estados finais

324

Page 21: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2121 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Condições e ações

– Condições causam mudanças de estado e as ações são o que acontece quando há uma mudança

– As ações no DTE são respostas enviadas ao ambiente externo ou cálculos memorizados pelos sistema

ESTADO 1

ESTADO 2

CondiçãoAção

Page 22: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2222 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Os diagramas podem ser sub-divididos• Ocorre semelhante ao DFD, só que o diagrama de nível

superior é o estado inicial de um diagrama de nível inferior que tem estados finais que são ascondições de saída do superior

327

Page 23: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2323 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Exemplo de DTE

Page 24: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2424 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Passos na construção do DTE

– Inicialmente• Identificar todos os estados possíveis OU…• … começar pelo inicial

– Depois• Foram definidas todas as E’s?• As E’s podem ser atingidas?• Todas as E’s têm saída• O sistema reage adequadamente a todas as E’s?

Page 25: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2525 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Relacionamento com outros modelos

– Com os DFDS, pode ser entendida como surgindo condições a partir de fluxos que CHEGAM e as ações a partir de fluxos que SAEM

331

Page 26: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2626 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 6.4 Diagramas entidade-relacionamento6.4 Diagramas entidade-relacionamento

• O DER descreve o diagrama dos dados armazenados de um sistema em alto nível de abstração

• Razões:

– Necessidade de tornar a estrutura de dados independente devido a sua complexidade

– Contatos com os altos níveis da organização que tem I• Dados do negócio• Como se relacionam• A quem pertencem?• Como controlar?

Page 27: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2727 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Contatos com outros grupos

– Integrar seus dados com o da organização

– Contato com os próprios grupos de BDA

– Transforma o modelo essencial em fixo

– Para que eu mesmo realce os relacionamentos entre os depósitos de dados

Page 28: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2828 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Componentes do DER

– 1) Objetos

– 2) Relacionamentos

– 3) Associações

– 4) Supertipos e Subtipos

Page 29: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

2929 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 6.5 Relação entre as ferramentas6.5 Relação entre as ferramentas

• As relações entre as ferramentas devem ser equilibradas– DFD e DD– DFD e especificação de processos– Especificação de processos e DD– DER e DD– DER e DFD e especificação– DFD e DD– DFD e DTE

• Erros de relações não equilibrada– Inconsistência– Indefinição– Interpretação errada inter-modelos

Page 30: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3030 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Razões para equilibrar

– Qualquer erro é encontrado, mas é mais caro nas fases finais

– É fácil ter uma interpretação errada da realidade

• Especificidade entre DFD e DD

– Cada fluxo e depósito deve estar no DD

– Cada elemento do DD deve estar no DFD

Page 31: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3131 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 6.6 Análise essencial de sistemas6.6 Análise essencial de sistemas

• O modelo essencial surgiu como uma revisão do modelo estruturado

• O modelo essencial critica a abordagem clássica de modelos de sistemas no seu desenvolvimento e como são abordados– Modelo físico atual

– Modelo lógico atual

– Novo modelo lógico

– Novo modelo físico

Page 32: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3232 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Críticas do modelo essencial à abordagem clássica

– O analista pode não conhecer a aplicação ou o ramo de atividade

– O usuário não querer ou não poder trabalhar com um novo modelo lógico

– Um menor esforço para transformação de um modelo lógico atual em um modelo físico

Page 33: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3333 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• No modelo essencial os problemas são indentificados; não modelados

• São identificadas as funcionalidades lógicas requeridas; e aí apenas um modelo essencial

• Não há restrições tecnológicas– Custo, consumo e desgaste é zero– A velocidade do processador é infinita– O tempo de acesso aos dados é instantâneo– Zero erro

• O sistema de informação é visto como um sistema de resposta planejado entre ambiente, estímulos, respostas internas, respostas ao ambiente (relatórios, e-mails etc)

Page 34: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3434 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Fases do modelo essencial

Análise essencial

Modelo ambiental

Modelo comportamental

Declaração de objetivos

Diagrama de contexto

Lista de eventos

Diagrama hierárquico

DFD por eventos

DER

Dicionário de dados

Page 35: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3535 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

7. Análise e projeto orientados a objetos7. Análise e projeto orientados a objetos

7.1 Técnica de modelagem de objetos (TMO)7.1 Técnica de modelagem de objetos (TMO)7.2 Características básicas da TMO7.2 Características básicas da TMO7.3 O modelo dos objetos7.3 O modelo dos objetos7.4 O modelo dinâmico7.4 O modelo dinâmico7.5 O modelo funcional7.5 O modelo funcional7.6 Um exemplo completo de TMO7.6 Um exemplo completo de TMO

Objetivo: compreender os termos essenciais da Objetivo: compreender os termos essenciais da análise orientada a objetos e a forma como estão análise orientada a objetos e a forma como estão relacionados com o projeto de desenvolvimentorelacionados com o projeto de desenvolvimento

Page 36: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3636 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• A análise orientada a objetos é um modo de estudar problemas com a utilização de modelos fundamentados em conceitos do mundo real nos quais os objetos agrupam conjuntamente dois elementos– Estrutura– Comportamento

• Difere do modo tradicional com ênfase no funcional e em objetos focalizados nos problemas das linguagens de programação

• A metodologia baseada em objetos é acompanhada por uma notação gráfica e consiste na construção de um modelo de DOMÍNIO DA APLICAÇÃO com noções específicas como classe, polimorfismo e herança

Page 37: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3737 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Exemplo:

Objetos de pessoas

Objetos de polígonos

Classe pessoaAtributos:

NomeProfissão Endereço

Comportamentos:Andar

ComprarReceber salário

Classe PolígonoAtributos:

VérticeCor de preenchimento

Espessura da bordaComportamentos:

DesenharApagarMover

Page 38: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3838 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 7.1 Técnica de modelagem de objetos (TMO)7.1 Técnica de modelagem de objetos (TMO)

• Há várias metodologias orientadas a objeto– Uma que trabalha com ênfase em um modelo no DOMÍNIO DA

APLICAÇÃO é a de Rumbaugh e será a que nós nos basearemos

• Etapas da TMO

– 1) Análise• Parte do enunciado para construir o modelo de uma situação

real• Ênfase no “o quê” e não no “como”• Um bom modelo pode ser criticado por não programadores• Atributos e operações são visíveis ao usuário

– Como deve ser descrita em termos de atributos e Como deve ser descrita em termos de atributos e operaçõe uma classe de objetos como “janela”?operaçõe uma classe de objetos como “janela”?

Page 39: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

3939 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– 2) Projeto do sistema• Decisões de alto nível da arquitetura geral• Sub-sistemas baseados na estrutura de análise e na

arquitetura proposta– Como objetos da classe “janela” seriam modificados?Como objetos da classe “janela” seriam modificados?

– 3) Projeto dos objetos• Modelo de projeto baseado no módulo de análise com

alguma implementação• Estrutura de dados e algoritmos de cada classe

– Como as operações de “janela” são especificadas agora?Como as operações de “janela” são especificadas agora?

Page 40: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4040 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– 4) Implementação• Deve ser mecânica• Deve ser a parte mais fácil e de menor importância• Detalhes da linguagem de programação não devem trazer

restrições– Como “janela” deveria ser implementada? Em que se Como “janela” deveria ser implementada? Em que se

deve pensar no momento da implementação?deve pensar no momento da implementação?

Page 41: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4141 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• A TMO usa três tipos de modelos

– 1) Modelo de objetos• Nós são classes• Arcos são relacionamentos

– 2) Modelos dinâmicos• Nós são estados• Arcos são transições causadas por eventos

– 3) Modelo funcional• Nós são processos• Arcos são fluxos de dados

Page 42: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4242 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 7.2 Características básicas da TMO7.2 Características básicas da TMO

• 1) Abstração

– Concentrar-se nos aspectos essenciais e ignorar os acidentais

– Permite liberdade de decisões, evitando detalhes

– Preocupa-se com o domínio da aplicação e não com os detalhes do projeto ou da implementação

– Todas as palavras e linguagens são abstrações – descrições incompletas do mundo real

– Devem se ater a algum propósito

Page 43: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4343 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 2) Encapsulamento

– Separação dos aspectos externos de um objeto, acessíveis por outros objetos, de seus detalhes internos

– Torna a modificação da implementação possível

• 3) Dados e comportamento em conjunto

– É a essência da orientação a objeto; faz com que uma implementação não precise considerarm implementação de uma determinada operação

– Manutenção fácil e desnecessário repetir a escolha de um procedimento

Page 44: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4444 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 4) Compartilhamento

– Uma hierarquia de classes em vez da separação da hierarquia da estrutura de dados e da hierarquia de procedimentos

– Faz mais do que permitir reutilização, pois possibilita clareza conceitual

• 5) Ênfase na estrutura de objetos e não nos procedimentos

– O objeto (o que é) é dependente dos detalhes e frequentemente muda

– Quando os requisitos envolvem os objetos se tornam mais estáveis

– Similar às técnicas de modelagem da informação

Page 45: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4545 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 6) Sinergia

– Utilização dos conceitos de orientação a objetos de forma complementar e em conjunto

– Estilo diferente

– Encapsulamento como alicerce

– Herança utilizando empacotamento para viabilização de código

Page 46: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4646 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 7.3 O modelo dos objetos7.3 O modelo dos objetos

• Incorpora a estrutura estática de um sitema de objetos, os relacionamentos entre eles e os atributos e operações de cada classe de objetos

• Tenciona-se se aproximar do mundo real

• Novos conceitos fundamentais: objeto, classe, ligação, associação, generalização e herança

Page 47: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4747 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Objetos

– A modelagem tem como função principal descrevê-los

– O que faz sentido no contexto da aplicação

– Os objetos se distinguem pela sua própria existência e não pela propriedade descritiva

– Às vezes, são confundidos com grupos, mas merecem explicitação

• Instância• Classe

Page 48: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4848 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Classes

– Um grupo de objetos com propriedades semelhantes (atributos)• Mesmo comportamento (operações)• Mesmos relacionamentos com outros objetos• Mesma semântica

– Ex.: pessoa, empresa, animal, processo, janela etcEx.: pessoa, empresa, animal, processo, janela etc

– Substantivos

– É possível a existência de objetos com idênticos atributos e relacionamentos; não de classes

– Cadeira e cachorro podem pertencer à mesma classe?

Page 49: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

4949 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Cada objeto conhece sua classe, que é uma propriedade implícita e seus procedimentos podem ser sempre melhorados

(Pessoa)

João

Pessoa

(Pessoa)

Maria

(Pessoa)

Classes

Objetos

Page 50: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5050 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Diagramas de objetos

– Notação gráfica formal para a modelagem de objetos e os seus inter-relacionamentos

– Há dois tipos:• Diagramas de classe – esquema que descreve muitas

instâncias possíveis e suas classes• Diagramas de instâncias – descreve como os objetos de um

conjunto se relacionam entre si

Page 51: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5151 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Atributos

– Valor de dado guardado pelo objeto de uma classe• Ex.: idade, peso, cor, endereço, anos

– Um atributo deve ser um puro valor de dados e não um objeto• Ex.: Brasil e Brasília

– Valores puros de dados não têm identidade

Page 52: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5252 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Os identificadores explícitos de cada objeto NÃO SÃO OBRIGATÓRIOS em um modelo de objetos

PessoanomeID: id de pessoamudar-cargomudar-endereço

Erro!

Page 53: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5353 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Operações e métodos

– Operações: função ou transformação que pode ser aplicada a objetos ou por estes a uma classe

• Quais seriam as operações da classe empresa?• Quais seriam as operações de “janela”?

– Cada operação tem um objeto-alvo como argumento implícito

– A mesma operação pode ser aplicada a objetos diferentes: POLIMORFISMO

– Método: implementação de uma operação para uma classe• Como pode ser aplicado um método “imprimir”?

Page 54: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5454 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Uma operação pode ter argumentos além do objeto-alvo

– Quando houver uma operação com métodos em várias classes, é importante uma assinatura

• Que cuidados devem ser observados ao se definir um método?

– As características são os atributos e as operações

– As operações são:• Com efeito colateral• Cálculo do valor funcional sem mudar o objeto (consulta)

Pessoanomeidademudar-cargomudar-endereço

Arquivonome do arquivotamanho em bytesúltima atualizaçãoimprimir

Objeto geométricocorposiçãomover (delta: Vetor)selecionar (p: Ponto): Booleanogirar (ângulo)

Page 55: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5555 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Consultas sem argumentos são atributos derivados• Como pode ser definido um atributo derivado de um

“quadro”?

– A escolha de atributos básicos é arbitrária e deve ser feita para evitar superespecificação

• Ligações e associações

– Ligações e associações são meios para se estabelecer relacionamentos entre objetos e classes

– Ligação: conexão física ou conceitual entre instâncias de objetos

• Ex.: Ana Maria estuda no CEFET

Page 56: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5656 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Associação: grupos de ligações com semântica e estrutura comuns• Ex.:Uma pessoa estuda em uma escola

– Uma ligação é uma instância de uma associação

– Associações são intrinsecamente bidirecionais mas podem ser lidas de formas diferentes

• Ex.: trabalha

– Associação um-para-um:

Paísnome

Cidadenome

Tem-capital

(País)Canadá

(Cidade)Ottawa

Tem-capital

(País)França

(Cidade)Paris

Tem-capital

(País)Senegal

(Cidade)Dakar

Tem-capital

Diagrama de classes

Diagrama de instâncias

Page 57: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5757 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Existem associações binárias, ternárias e de outras ordens

– As associações binárias devem ser as mais utilizadas

– Associação ternária:

Projeto Linguagem

(Projeto)Sistema de

contabilidade

(Linguagem)Cobol

(Projeto)Pograma CAD

(Linguagem)C

Diagrama de classes

Diagrama de instâncias

Pessoa

(Pessoa)Maria

Page 58: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5858 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Multiplicidade

– Especifica quantas instâncias de uma classe relacionam-se a uma única instância de uma classe asociada

– Pode ser uma, muitas, um conjunto de intervalos associados– Exemplos:

• 1• 1+• 3-5• 2,4,18•

Page 59: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

5959 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

Multiplicidade

Depois da pg 42

Page 60: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6060 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Atributos de ligação

– É a propriedade das ligações de uma associação

– O atributo de uma ligação m-m é uma propriedade apenas de uma ligação e não pode ser ligado a outros objetos

– As associações m-m são um desafio para este tipo de atributo que não pode ser atribuído a um dos lados

pg 45 3.10

Page 61: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6161 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– É possível juntar atributos de ligação de associações m-u e u-u na classe oposta ao lado um

– Há formas de se dar o atributo que são desaconselháveis de acordo com o problema

pg 46 3.11 ou 3.12

pg 45 3.12 ou 3.13

Page 62: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6262 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Associações como classes– Um quadro de um atributo de ligação é uma associação como

classe

– Cada ligação torna-se uma instância de classe

– Quando usar:• 1) quando as ligações podem participar de associações com

outros objetos• 2) quando as ligações estão sujeitas a operações

pg 45 3.14

Page 63: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6363 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

3.10

3.12

Page 64: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6464 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Nomes de papéis

– Um papel é uma extremidade de uma associação

– Uma associação binária tem dois papéis, cada um dos quais pode ser percorrido por um nome de papel

– Papéis fazem as passagens de um objeto para um conjunto de objetos

– O nome de um papel é um atributo derivado cujo valor é um conjunto de objetos relacionados

Page 65: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6565 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Quando usar e como usar?1) Nomes de papéis são necessários para associações entre

objetos de mesma classe2) Distinção entre duas associações entre o mesmo par de

classes3) Quando só há uma associação entre um par de classes

distintos, os nomes das classes são bons nomes de papéis4) Todos os nomes de papéis devem ser únicos na origem

pg 48 3.15

Page 66: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6666 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

pg 49 3.16

– Associações n-árias têm um papel para cada extremidade

– Nas de grau 3 os nomes de papéis não representam atributos derivados

Page 67: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6767 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Ordenação

– Para objetos do lado muitos

• Qualificação

– Uma associação qualificada inter-relaciona duas classes de objetos e um atributo especial que reduz a multiplicidade efetiva de uma associação

pg 50 3.17

Page 68: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6868 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Melhora a descrição sintática e semântica

– Qualificação ocorre em geral pela necessidade do ser humano de atribuir nomes

pg 50 3.18

pg 51 3.19

Page 69: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

6969 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Qualificação nem sempre reduz a multiplicidade de muitos para um

pg 52 3.20

Page 70: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

7070 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Agregação

– Relacionamento “parte de um todo” no qual os objetos que representam os componentes de alguma coisa são associados a um objeto

• Ex.: elementos de função que fazem “parte de um programa”

– Propriedades• Transitividade• Anti-simétrica

– Só usada se existir propriedades de níveis comum aos componentes que possam ser incluídas na estrutura como um todo

– Relação de classe estutural a componentes

Page 71: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

7171 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Um objeto componente pode depender do agregado

– Pode haver um número arbitário de níveis

pg 53 3.21

pg 48 3.22

Page 72: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

7272 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Generalização e herança

– Forma de mostrar similitude e difrença entre classes

– Relacionamento “É-UM”

– Generalização: relacionamento entre uma classe e uma ou mais versões refinadas dela

• Cada instância de uma subclasse herda as características de uma superclasse

• Uma instância de uma subclasse é uma instância de todas suas classes ancestrais

Page 73: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

7373 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Genealização e herança são transitivos através de um número arbitrário de níveis

– A notação para generalização é um triângulo interligando uma superclasse a suas subclasses

– Pode haver pontos suspensos na notação

– Discriminadores: atributos do tipo de enumeração que indica qual propriedade do objeto está sendo abstraída pela generalização

• Valor discriminador é “um-para-um” com as subclasses

pg 56 3.23

Page 74: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

7474 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Subclasses não devem ser criadas em excesso

– Utilidade

• Reuso

• Simplicidade conceitual

pg 57 3.24

Page 75: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

7575 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• CANCELAMENTO DE CARACTERÍSTICAS– Uma subclasse pode CANCELAR características de uma

superclasse pela definição de uma característica de mesmo nome

– Razões:• Especificar comportamento que depende da subclasse• Estreitar especificação de uma característica• Melhorar o desempenho

– Nunca cancelar assinatura ou forma de uso característico!– Cancelamento deve preservar:

• Tipo e número de atributos• Tipo de argumentos da operação• Tipo retornado da operação

– CUIDADOS!!!:• Não alterar aspecto semântido• Evitar erros de programação

Page 76: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

7676 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Agrupamentos

– Podem ser feitos agrupamentos de classes, associações e generalização através de uma construção lógica denominada MÓDULO

• Um modelo pode ter um ou mais módulos• Nomes de classes e associações são únicos em módulo• Mesma classe pode ser referenciada em diferente módulos

– Deve ter mais ligações entre módulosDeve ter mais ligações entre módulos

• A folha de papel pode ser usada como facilidade de notação para uso dos módulos

Page 77: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

7777 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– Um exemplo

pg 61

3.25

Page 78: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 6. Novas abordagens da análise estruturada e análise essencial

7878 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Dicas para a TMO

Prencher DO LIVRO!!!!!