A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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)

Apresentações semelhantes


Apresentação em tema: "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)"— Transcrição da apresentação:

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

2 2 - 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 UML e com outros métodos8.1 A junção da análise orientada a objetos com a UML 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.orghttp://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

3 3 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB UML 1.X UML 2.0 Atividade Caso de uso Classe Objetos Sequência ColaboraçãoComunicação Estado Pacotes Componentes InstalaçãoImplantaçã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

4 4 - 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 notaçõesI) Padronização e mudanças de metodologias e notações –De uma maneira geral, transposição do modelo em cascata para um processo unificado

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

6 6 - 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

7 7 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB PERGUNTA CRUCIAL: Como estabeleceremos nossa metodologia de desenvolvimento? –RUP?RUP –XP?XP –ICONIX?ICONIX –AM?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

8 8 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB II) aos velhos problemas do software…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) aos 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

9 9 - 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 possibilidades 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 parede 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 acontece

10 10 - 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 mudam (já imaginou quebrar as paredes de um quarto 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 periodicamente e a demisão de um trabalhador não afeta 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 entregue?

11 11 - 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!)

12 12 - 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) !!!!!

13 13 - 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

14 14 - 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

15 15 - 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 –Com capacidade de ouvir # escutar Capacidade de escrever o que ouviu Bom relacionamento interpessoal Cultura geral

16 16 - 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 uso Verbo no infinitivo (informar, comprar, pagar) Breve descritivo Informar o que trata o caso de uso Pré-condições Descrição que informa o que é necessário para que este caso de uso se inicie Atores envolvidos Cenário principal Descriçã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:

17 17 - 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

18 18 - 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

19 19 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Notação gráfica para casos de uso

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

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

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

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

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

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

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

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

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

29 29 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 9. Modelo conceitual (diagrama conceitual de classes) 9.1 Conceitos 9.2 Associações 9.3 Atributos Objetivo: compreender e aplicar um modelo conceitual AlunoProfessor ensina *1..*

30 30 - 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

31 31 - 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

32 32 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Página 102

33 33 - 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!!

34 34 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Página 104

35 35 - 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 conceito Exemplos Objetos físicos ou tangíveisPOST Especificação de projeto ou descrição de objetoEspecificaçãodeProduto LugaresLoja TransaçõesVenda, Pagamento Linhas de itens de transaçõesLinhadeItemdeVenda PapéisCaixa ContêineresDepósito, armário Objetos dos contêineresItem Outros sistemasSistemadeCartãodeCrédito

36 36 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Categoria de conceito Exemplos Substantivos abstratosFome OrganizaçõesDepartamentodeVendas EventosVenda, Roubo, Reunião ProcessoVendendoumProduto Regras e estratégiasPolíticadeReembolsos CatálogosCatálogodeProdutos RegistrosRecibo, DiáriodeCaixa ServiçosLinhadeCrédito Manuais, livrosManualdoEmpregado –Enfoque 2 – Criar um modelo conceitual a partir da identificação de substantivos CUIDADO: não trabalhar mecanicamente!

37 37 - 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 Ator Resposta 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

38 38 - 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!

39 39 - 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

40 40 - 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

41 41 - 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 CategoriaExemplo A é uma parte física de BGaveta-POST A é uma parte lógica de BLinhadeItemVenda-Venda A está fisicamente em / sobre BPOST-Loja A está logicamente em / sobre BDescriçãodeitem-Catálogo A é descrição de BDescriçãodeItem-Catálogo A é linha de item de transação/relatório BLinhadeItemVenda-Venda A é conhecido/logado/registrado por BVenda-POST A é membro de BCaixa-Loja A usa/gerencia BCaixa-POST A é subunidade de BDepartamento-Loja A se comunica com BCliente-Caixa A relacionado com transação BCliente-Pagamento A é transação relacionada com transação BPagamento-Venda A é vizinho/de lado de BPOST-POST A é possuído por BPOST-Loja

42 42 - 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

43 43 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB Página 120 e 121

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

45 45 - 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

46 46 - 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

47 47 - 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

48 48 - 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

49 49 - 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


Carregar ppt "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)"

Apresentações semelhantes


Anúncios Google