1 - lafayette b. melo – análise e projeto de sistemas para a internet – coinfo – cefet-pb 8....

49
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 8. Análise e projeto orientados a 8. Análise e projeto orientados a objetos e UML (casos de uso) objetos e UML (casos de uso) 8.1 A junção da análise orientada a objetos com a 8.1 A junção da análise orientada a objetos com a UML e com outros métodos UML e com outros métodos 8.2 Casos de uso 8.2 Casos de uso Objetivo: compreender os acréscimos dados a Objetivo: compreender os acréscimos dados a análise orientada a objetos e aplicar casos análise orientada a objetos e aplicar casos de uso de uso em UML em UML

Upload: internet

Post on 17-Apr-2015

113 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

8. Análise e projeto orientados a objetos e UML 8. Análise e projeto orientados a objetos e UML (casos de uso)(casos de uso)

8.1 A junção da análise orientada a objetos com a UML e com 8.1 A junção da análise orientada a objetos com a UML e com outros métodosoutros métodos8.2 Casos de uso8.2 Casos de uso

Objetivo: compreender os acréscimos dados a análise Objetivo: compreender os acréscimos dados a análise orientada a objetos e aplicar casos de usoorientada a objetos e aplicar casos de uso

em UMLem UML

Page 2: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• 8.1 A junção da análise orientada a objetos com a 8.1 A junção da análise orientada a objetos com a UML e com outros métodosUML e com outros métodos

• UML (unified modeling language) é uma linguagem para especificar, visualizar e construir os artefatos de sistemas de software

• É um padrão aceito para a indústria para a modelagem orientada a objetos

• Resultou de um esforço conjunto de três autores e da aceitação da OMG (object management group) – Grady Booch– Jim Rumbaugh– Ivar Jacobson– http://www.omg.org

• UML tem ao menos dez/treze notações/diagramas e é voltada para modelar e não para dizer como fazer uma análise ou projeto

Page 3: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

UML 1.XUML 1.X UML 2.0UML 2.0

Atividade Atividade

Caso de uso Caso de uso

Classe Classe

Objetos Objetos

Sequência Sequência

Colaboração Comunicação

Estado Estado

Pacotes

Componentes Componentes

Instalação Implantação

Interação – Visão geral

Timing

Composite structure diagram

Atualizações em UML estão em http://www.omg.org/tecnology/documents/formal/uml

Page 4: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• É importante compreender que a UML surgiu como uma linguagem que integrava a modelagem orientada a objetos com outras notações– UML também não é orientação a objetos em si

• Razões do que é hoje UML– I) Padronização e mudanças de metodologias e notações– II) Resposta aos velhos problemas do software

• I) Padronização e mudanças de metodologias e I) Padronização e mudanças de metodologias e notaçõesnotações

– De uma maneira geral, transposição do modelo em cascata para um processo unificado

Page 5: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Page 6: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

– De uma maneira mais específica, um conjunto de fatos históricos que resultaram na união dos “três amigos”

Page 7: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• PERGUNTA CRUCIAL:

• Como estabeleceremos nossa metodologia de desenvolvimento?– RUP?– XP?– ICONIX?– AM?– Remendos de outras metodologias, hibridismos, ecletismos?

– E as questões para a Web?– E as questões de hoje sobre software livre?– Há questões específicas, por exemplo, para o desenvolvimento

de produtos educacionais?

– Etc, etc e etc

Page 8: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Além da padronização e mudanças de metodologias e notações dos “três amigos” atender um apelo comercial, há razões para esta padronização que dizem respeito II)II) aos velhos problemas do softwareaos velhos problemas do software……

– 1) O software não apresenta a mesma constância que em outras áreas

– 2) A “burrice” do usuário X a “burrice” de não entender que os requisitos de software sofrem mudanças

Page 9: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Na concepção do software – o usuário pode ter certa uma necessidade, mas a forma de resolver ou atender a necessidade não tem um formato definido

– Na área civil, o engenheiro pode delimitar a medida e as Na área civil, o engenheiro pode delimitar a medida e as possibilidades de terreno em um formato definidopossibilidades de terreno em um formato definido

• Na aprovação da concepção – o usuário requer conhecimento específico sobre as modelagens e outras questões que lhe formos remeter, mesmo se for da área de informática, para amadurecer sua idéia inicial

– Na área civil, ele vê a planta sabendo o que é uma Na área civil, ele vê a planta sabendo o que é uma paredeparede

• No detalhamento das necessidades – após às funcionalidades escritas a própria equipe de desenvolvimento descobre suas inconsistências

– Na área civil, isso simplesmente não aconteceNa área civil, isso simplesmente não acontece

Page 10: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• No início da construção – a idéia de como atender a necessidade muda a partir de um formato

– Na área civil, geralmente os requisitos simplesmente não Na área civil, geralmente os requisitos simplesmente não mudam (já imaginou quebrar as paredes de um quarto mudam (já imaginou quebrar as paredes de um quarto porque se viu que uma cama de casal não cabia?)porque se viu que uma cama de casal não cabia?)

• Nos testes – problemas podem ocorrer pelo fato de o usuário não participar e até haver a demissão anterior de um elemento da equipe

– Na área civil, o usuário normalmente visita a obra Na área civil, o usuário normalmente visita a obra periodicamente e a demisão de um trabalhador não periodicamente e a demisão de um trabalhador não afeta que outro continue o mesmo trabalhoafeta que outro continue o mesmo trabalho

• Na entrega – normalmente, o usário diz “não era bem isso que eu queria” ou pede mais uma modificação

– O que representaria tal frase depois de uma casa O que representaria tal frase depois de uma casa entregue?entregue?

Page 11: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

– 3) Não há uma forma CORRETA de construir software, pois esta construção depende de vários fatores atuando em conjunto:

• Conhecimento do negócio a ser modelado• Conhecimento da tecnologia a ser utilizada• Capacidade de abstração do usuário• Capacidade de abstração do desenvolvedor• Dinheiro e outros recursos…

– 4) Relações MODELAGEM X REALIDADE

– 5) Intangibilidade

– 6) Condições de automatizar algo que já tem em pleno vigor (problema para os casos de uso, ver adiante!)

– 7) Má formação profissional em informática (ver o profissional dos casos de uso – o analista de negócios – adiante!)

Page 12: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• … Poratno, mudanças devem existir, são bem-vindas e a MODELAGEM DE SOFTWARE deve considerar isso principalmente ao se utilizar os casos de uso (adiante) !!!!!

Page 13: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• 8.2 Casos de uso8.2 Casos de uso

• O caso de uso é a mais importante construção de orientação a objetos, utilizando UML– Acompanha do início ao fim da conclusão– Acontece em todas as iterações

• Conceitos importantes:– Ator

• É uma pessoa, um sistema, uma entidade externa, um roteador

• Representa um determinado papel

Page 14: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

– Caso de uso• Macroatividade que encerra diversas tarefas ou atividades• Ex.: Pagamento de compras

» Atividades – mostrar e validar cartão, informar valor debitado, informar senha que permite o débito, validar senha, retorno da instituição financeira, resumo da operação

• Ex.: imprimir nota fiscal• O limite de um caso de uso é uma decisão pessoal

Page 15: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Quanto um caso de uso deve ser descrito?– Com bastantes detalhes– Com objetividade que não sacrifique a composição do detalhe– Aplicado a partir de abstrações

• Quem faz a extração dos casos de uso?– Um profisional habilitado em análise de negócios– Métodos usados

• Observação• Entrevista

– Perfil do profissional de casos de uso:• Boa capacidade de comunicação interpessoal

– # de extrovertidp# de extrovertidp– Com capacidade de ouvir # escutarCom capacidade de ouvir # escutar

• Capacidade de escrever o que ouviu• Bom relacionamento interpessoal• Cultura geral

Page 16: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Como extrair casos de uso?– Sugestão de estrutura de caso de uso

Nome referência: AB200501 – Nome do caso de usoVerbo no infinitivo (informar, comprar, pagar)

Breve descritivoInformar o que trata o caso de uso

Pré-condiçõesDescrição que informa o que é necessário para que este caso de uso se inicie

Atores envolvidos

Cenário principalDescrição do mundo perfeito, sem exceções (presente do indicativo e substantivos)

Cenário alternativo

Requisitos especiais

Dados

Observação

Analista de negócio:___________________________________

Entrevistado:________________________________________

Área:_______________________________________________

Data:___/___/___

Versão:

Page 17: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Como lidar com as mudanças de requisito nos casos de uso?

– Entender que requisito é uma condição ou capacidade que um software deve ter

– Entender que mudança de requisito não é mudança do negócio• Essas implicam não só novos modelos, mas novos

documentos, novos prazos e novos preços• Dependerá de uma avaliação coletiva e da comunicação

entre os stakeholders

• Quem e como é aprovado um caso de uso?– Em primeiro lugar, seu colega– Por qualquer meio– Nunca, caso de uso um a um

Page 18: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Modelar “o que é” ou “como será”?– Se o negócio existir e se desejar levar ele para a Internet,

retratar “como é”– Se o usuário disser que gostaria de modelar “diferente”,

modele “como será”– Enfim, pense como um analista de objetos

• Como acompanhar o progresso dos casos de uso?– Reuniões quinzenais ou mensais

• O que usar, além da forma escrita?– Gráficos, organogramas e uma notação padrão adiante

Page 19: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Notação gráfica para casos de uso

Page 20: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Exemplos

Page 21: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Page 22: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Page 23: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Page 24: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Page 25: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Page 26: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Page 27: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Page 28: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Page 29: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

9. Modelo conceitual (diagrama conceitual de 9. Modelo conceitual (diagrama conceitual de classes)classes)

9.1 Conceitos9.1 Conceitos9.2 Associações9.2 Associações9.3 Atributos9.3 Atributos

Objetivo: compreender e aplicar um modelo Objetivo: compreender e aplicar um modelo conceitual conceitual

Aluno Professor

ensina*1..*

Page 30: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Um modelo conceitual mostra os conceitos significativos PARA QUEM MODELA o sistema no domínio de uma determinada atividade

• É necessário que sejam identificados conceitos adequados a partir da investigação de um problema para que o projeto e a implementação sejam feitos também de forma mais adequada

• Uma série de esforços (dicas) devem ser despendidos pelo MODELADOR para a construção do modelo conceitual

• DICA 1: deve-se ter um esforço para pensar no modelo conceitual como uma representação de coisas do mundo real e nunca como componentes de software

Page 31: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• DICA 2: o modelo conceitual é sempre feito a partir dos casos de uso

• O modelo conceitual trata de conceitos, associações entre conceitos e atributos de conceitos

• Exemplo dos pontos de venda que pode partir de diversos pontos de vista de caso de uso

Page 32: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Página 102

Page 33: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• 9.1 Conceitos9.1 Conceitos

• Conceitos são idéias, coisas ou objetos– Mais especificamente

• Símbolos – palavras ou imagens representam conceitos• Intenções – definições de conceitos• Extensões – conjunto de exemplos aos quais o conceito se

aplica

• Por exemplo, “colocar material na página” é um evento cujo símbolo eu posso escolher “material”?

• DICA 3: a análise deve sempre ser orientada a objetos. Cuidado para não dividir por funções!!

Page 34: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Página 104

Page 35: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• DICA 4: Estratégias para se identificar conceitos a partir de um caso de uso– Principal: especificar muitos conceitos (SEM PENA!!!!!)– Enfoque 1 – Criar um modelo conceitual a partir de uma lista de

categorias de conceitos

Categoria de conceitoCategoria de conceito ExemplosExemplos

Objetos físicos ou tangíveis POST

Especificação de projeto ou descrição de objeto EspecificaçãodeProduto

Lugares Loja

Transações Venda, Pagamento

Linhas de itens de transações LinhadeItemdeVenda

Papéis Caixa

Contêineres Depósito, armário

Objetos dos contêineres Item

Outros sistemas SistemadeCartãodeCrédito

Page 36: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Categoria de conceitoCategoria de conceito ExemplosExemplos

Substantivos abstratos Fome

Organizações DepartamentodeVendas

Eventos Venda, Roubo, Reunião

Processo VendendoumProduto

Regras e estratégias PolíticadeReembolsos

Catálogos CatálogodeProdutos

Registros Recibo, DiáriodeCaixa

Serviços LinhadeCrédito

Manuais, livros ManualdoEmpregado

– Enfoque 2 – Criar um modelo conceitual a partir da identificação de substantivos

• CUIDADO: não trabalhar mecanicamente!

Page 37: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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 na sequência de eventos do caso de uso Comprar Itens

Açao do AtorAçao do Ator Resposta do SistemaResposta do Sistema

1. Este caso de uso começa quando um Cliente chega a um ponto de pagamento com POST, com vários itens que deseja comprar

2. O caixa registra o Código Universal de Produto (UPC) de cada item

3. Determina o preço do item e acrescenta informação sobre o item à transação de vendas em andamento

Se houver mais de um exemplar do item, o Caixa também pode entrar a quantidade

A descrição e o preço do item corrente são apresentados

Page 38: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• DICA 5: objetos-relatórios, incluir ou não?– No caso do ponto de venda

• I) recibo é relatório de venda e mostrar relatório em um modelo conceitual não é útil porque toda a informação é derivada de outras fontes

• II) recibo tem um papel importante: dá direito ao portador de retornar itens comprados pelo mesmo

• De uma maneira geral, deve-se usar a “regra do cartógrafo”!

Page 39: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• ERROS COMUNS:

– 1) representar algo como atributo quando deve ser um conceito

• Dica: se você pensa em um conceito X como um número ou um texto no mundo real, provavelmente é um conceito e não um atributo

– 2) ignorar conceitos de especificação• Dica: no mundo real, uma especificação é algo que não é

necessariamente intrinseco a um objeto, já que, se assim fosse, se os objetos acabassem, as epecificações acabariam também

Page 40: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• 9.2 Associações9.2 Associações

• Associações são relacionamentos entre conceitos com algum significado para o domínio de conhecimento

• Exemplo do ponto-de-venda

Página 118

Page 41: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• DICA 6: as associaçõe devem ser encontradas a partir de uma lista de categorias de associações comuns

Categoria Categoria ExemploExemplo

A é uma parte física de B Gaveta-POST

A é uma parte lógica de B LinhadeItemVenda-Venda

A está fisicamente em / sobre B POST-Loja

A está logicamente em / sobre B Descriçãodeitem-Catálogo

A é descrição de B DescriçãodeItem-Catálogo

A é linha de item de transação/relatório B LinhadeItemVenda-Venda

A é conhecido/logado/registrado por B Venda-POST

A é membro de B Caixa-Loja

A usa/gerencia B Caixa-POST

A é subunidade de B Departamento-Loja

A se comunica com B Cliente-Caixa

A relacionado com transação B Cliente-Pagamento

A é transação relacionada com transação B Pagamento-Venda

A é vizinho/de lado de B POST-POST

A é possuído por B POST-Loja

Page 42: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• DICA 7: nunca se dedicar mais a associações do que a conceitos

• DICA 8: focalizar as associações que são necessárias de ser conhecidas

• DICA 9: evitar associações redundantes e deriváveis

• Papéis: cada extremo de uma associação com:– Nome– Multiplicidade– Navegabilidade

Page 43: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Página 120 e 121

Page 44: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

Página 122

Page 45: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Exemplo do modelo conceitual para ponto de vendas

Página 125

Page 46: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• 9.3 Atributos9.3 Atributos

• Valores de dados lógicos de um objeto

• DICA 10: colocar atributos para os quais os requisitos indicam que as informações devem ser memorizadas

• Exemplo para ponto de venda

Página 129

Page 47: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• DICA 11: como diferenciar atributos de associações– Deixar os atributos simples

Página 130

Page 48: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

– Identificados como aqueles para os quais uma entidade única não faz sentido

– Em nehuma hipótese definir atributo como chave estrangeira

• DICA 12: pensar o modelo conceitual principalmente como uma ferramenta de comunicação

Page 49: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 8. Análise e projeto orientados a objetos e UML (casos de uso)

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

• Exemplo completo para o ponto de vendas

Página 138