Análise Orientada a Objetos Professor: Virgílio Fries Müller www.vfm.com.br vfmnet@gmail.com
Início do Processamento de Dados Pensava-se que construir sistemas era igual a construir programas. Com isso, perdia-se muito tempo e dinheiro. Fazia-se um diagnóstico do problema, muito rápido e sem detalhes. O desenvolvimento era feito em 3 etapas: Breve entrevista Longa programação Longa manutenção
Início do Processamento de Dados O que o cliente queria O que foi especificado O resultado do projeto Insatisfação do cliente Crítica aos analistas de sistemas
Surgimento de Metodologias Método Estruturado Método Orientado a Objetos I n p ut A to r O u tp u t U s e C a s e
Dificuldades no Processo de Extração de Requisitos Falta de conhecimento do usuário das suas reais necessidades e do que o produto de software pode lhe oferecer. Falta de conhecimento do desenvolvedor sobre domínio do problema. Domínio do processo de extração de requisitos pelos desenvolvedores de software.
Dificuldades no Processo de Extração de Requisitos Comunicação inadequada entre desenvolvedores e usuários. Dificuldade de o usuário tomar decisões. Problemas de comportamento. Questões técnicas.
Participantes na Extração de Requisitos os desenvolvedores (analistas, projetistas, programadores, administradores de banco de dados). e usuários (funcionários e diretores de uma empresa) relacionados ao sistema em questão.
Técnicas para a Extração e Análise de Requisitos Entrevistas; Brainstorming; JAD; Prototipagem.
Entrevista As entrevistas acontecem através de uma série de encontros com os usuários. A entrevista consta de quatro fases: Identificação dos candidatos para entrevista; Preparação para uma entrevista; Condução da entrevista; Finalização da entrevista.
Erros durante a Condução da Entrevista Erros de observação: podem ver coisas diferentes; Erros de memória: o usuário pode confiar demais na memória; Erros de interpretação:interpretando palavras de maneira diferente; Erros de foco:o entrevistador pensa amplo, e o entrevistado pensa de restrito (ou vice-versa). Ambigüidades:várias interpretações que causam incerteza. Conflitos:entrevistador e entrevistado podem ter opiniões conflitantes; Opinião dita como um fato:o entrevistado pode assumir fatos como verdadeiros, mas que, na verdade, são sós as suas opiniões.
Brainstorming Brainstormingé uma técnica básica para geração de idéias. Ela consiste em uma ou várias reuniões que permitem que as pessoas sugiram e explorem idéias sem que sejam criticadas ou julgadas.
Brainstorming É um método excepcional, mundialmente utilizado para resolver diversos problemas dos complexos aos simples. O mais interessante é sua capacidade de adaptação e resultados eficientes utilizando de poucos recursos como tempo, material e podendo ser feito por,até mesmo, uma só pessoa, basta soltar a sua criatividade Confira com mais detalhes O BRAINSTORMING(passo a passo)
Brainstorming 1. Defina o problema. Emoldure(por escrito) em um local onde todos possam ver. 2. Reúna um Grupo. Utilize de preferência a reunião no formato de um círculo em que todos possam se ver, explique o problema e então as regras do brainstorming a serem seguidas. 3. Sigam as Regras(importante!) CRÍTICAS SÃO REJEITADAS! Não há discussão sobre nenhuma ideia apresentada, qualquer uma será aceita.
Brainstorming Não zombe das bobagens que os outros dizem. Podem representar uma oportunidade para você. (Winston Churchill) CRIATIVIDADE É ESSENCIAL! Por mais louca que seja a ideia, fale ou a encoraje. A verdadeira dificuldade não está em aceitar ideias novas, mas escapar das antigas. (John Maynard Keynes) QUANTIDADE IMPORTA! Solte o máximo de ideias que vier na sua cabeça. Quantidade gera qualidade. A melhor maneira de se ter uma boa ideia é ter varias boas ideias. (Linus Pauling) Se quiser ter uma boa ideia, tenha uma porção de ideias. (Thomas Edison) COMBINAÇÃO E APERFEIÇOAMENTO SÃO NECESSÁRIOS! Utilize das ideias apresentadas pelos colegas, mude, melhore e crie a sua. As melhores ideias são propriedades de todos. (Seneca)
Brainstorming 4. Geração de Ideias a) Estabeleça o tempo máximo de duração da sessão de geração de ideias; c) Anote as ideias exatamente como foram faladas. Não as interprete; b) Todas as ideias apresentadas serão ouvidas por todos; d) Apenas uma ideia é apresentada por vez, deixe o processo organizado.
Brainstorming 5. Conclusão do Processo a) Esclareça o significado de todas as ideias; b) Descarte as ideias não úteis; c) Agrupe as ideias em categorias; d) Elimine duplicatas de ideias; e) Transforme as similares em uma única ideia; f) Enfim, selecione as melhores ideias/soluçõ
JAD (Joint Application Design) É uma técnica para promover cooperação, entendimento e trabalho em grupo entre usuários e desenvolvedores. Consta de quatro princípios básicos: Dinâmica de grupo, com a utilização de sessões de grupo facilitadas para aumentar a capacidade dos indivíduos; Uso de técnicas visuais, para aumentar a comunicação e o entendimento; Manutenção do processo, de forma organizada e racional; Utilização de documentação-padrão, que é preenchida e assinada por todos os participantes de uma sessão.
JAD (Joint Application Design) SAIBA MAIS JAD é uma sigla formada pelas iniciais das palavras JOINT APPLICATION DESIGN, e representa uma METODOLOGIA, cujo objetivo principal é o de Acelerar e Consolidar o Desenvolvimento de Aplicações. Essa Metodologia, desenvolvida por volta de 1982 pela IBM? Canadá, tinha como objetivo maior acelerar o Desenvolvimento de Aplicações em Computador. Posteriormente, verificou-se que ela trazia consigo uma série de outros benefícios, como, por exemplo, a redução da necessidade de manutenção nos aplicativos desenvolvidos com o seu auxílio, redução de custos, maior satisfação dos usuários, pois as aplicaçõesatendiam ao que eles realmente desejavam, maior entrosamento entre a área de Sistemas de Informações e os Departamentos Usuários, menor necessidade de modificações durante o processo de desenvolvimento, nivelamento das expectativas de ambas as partes e muitos outros. Com o passar do tempo, a Metodologia JAD foi se firmando de tal maneira entre as empresas e instituições, que qualquer Reunião de Planejamento passou a ter o nome de JAD (fosse uma reunião para Planejamento Estratégico, uma Reunião para Lançamento de um Novo Produto, e assim por diante). Entretanto, no Brasil, continuamos a chamar de JAD a sua Aplicação na área de Desenvolvimento de Sistemas de Informações (Aplicações na área da Tecnologia da Informação). A Metodologia JAD foi trazida e adaptada para o Brasil no ano de 1984, pela própria IBM, e, desta época em diante tem sido cada vez mais disseminada, sendo, hoje, inclusive, item da ementa de Cursos de Formação em Informática. Alguns usam o JAD rotineiramente para projetar suas Aplicações. Alguns fazem pequenas modificações na Metodologia, de forma atransformá-la em uma Técnica Particular, enfatizando ou não partes do processo. A repetida utilização dessa Metodologia é que poderá levar a empresa ou instituição, com o passar do tempo, à criação de sua Técnica Particular e à formação de seus próprios Condutores. Assim, podemos dizer, em linhas gerais, que seu grande e principal objetivo é:
JAD (Joint Application Design) SAIBA MAIS Mais informações: http://www.pedrofcarvalho.com.br/pdf/topicos_jad.pdf
JAD (Joint Application Design) SAIBA MAIS O Planejamento para o Desenvolvimento de uma Aplicação em menor tempo, com maior qualidade, e com a conseqüentediminuição dos custos, não só de desenvolvimento, mas também de manutenção futura.importante notar que essa mesma Metodologia pode ser usada também para a Manutenção de Aplicações Existentes e ainda para a Avaliação de Uso de Pacotes de Software a serem adquiridos no mercado. Trata-se, em resumo, de um trabalho de Grupo, sem a interferência do Condutor da Sessão, sendo que a sua tarefa é motivar as discussões,resumir idéias, clarear pontos em dúvida, anotar as decisões, fazer os desenhos apropriados, controlar o tempo, impedir que alguém venha a assumir a total liderança dos trabalhos, trazer todos para o mesmo ponto que estiver em discussão, etc. Duração e Etapas O JAD completo se divide em 3 (três) etapas principais, podendo existir uma quarta etapa, a saber: Reunião Inicial -com a duração aproximada de 3 (três) horas, onde são estabelecidos os objetivos maiores do JAD, onde é definida a Aplicação a ser trabalhada e é realizada a criação do Cronograma de Trabalho. Nesta etapa prepara-se o seqüenciamento do trabalho a ser desenvolvido. Reunião de Revisão -com a duração máxima de 1 (hum) dia, normalmente com 3 (três) horas de duração. Nesta Reunião o planejamento do trabalho é revisto, as tarefas para cada um são avaliadas e os problemas detectados são colocados em tela para resolução, de forma a se chegar à terceira etapa dentro dos prazos estabelecidos inicialmente. Sessão de Design -é quando a Aplicação é efetivamente trabalhada. Durante um tempo máximo de 2,5 (dois e meio) dias, realiza-se uma Reunião entre os Profissionais da Área de Informática, os Profissionais do Setor Responsável pela Aplicação, o Condutor do JAD e o Documentador. Representantes de outras áreas muito provavelmente serão convidados a participar, além de Consultores Externos, se necessário. Reunião de Encerramento -a critério dos Usuários, poderá haver, na tarde do terceiro dia de trabalhos, a quarta etapa, que é uma Reunião de Encerramento, onde os resultados de todo o trabalho serão apresentados aos Níveis Administrativos Superiores.
Prototipagem Em algumas situações, os usuários podem entender e expressar melhor as suas necessidades através da comparação com um produto de software que sirva de referência. Através do exame do protótipo, os usuários podem descobrir quais são as suas reais necessidades. Pode ser muito útil para superar dificuldades de comunicação e de articulação de necessidades pelo usuário.
O Papel do Analista (Dicas) 1. Avalie a solicitação 2. Avalie a abrangência do serviço 3. Identifique os usuários 4. Avalie o risco 5. Defina a filosofia de desenvolvimento do plano de trabalho 6. Faça uma primeira versão e mostre ao usuário 7. Faça uma primeira apreciação pelo usuário 8. Faça uma lista de atrasos no projeto 9. Faça uma segunda versão 10. Refaça o plano de trabalho se preciso 11. Negocie novamente com o gerente 12. Marque o início do projeto 13. Agende as reuniões de progresso 14. Monte a pasta do projeto 15. Mande uma cópia para a área de produção (se houver) 16. Exija os relatórios de monitoração 17. Use ou crie uma metodologia 18. Analise uma data imposta 19. Cobre sempre do seu gerente prioridades
O Papel do Analista (Mandamentos) 1. Seja aceito profissionalmente 2. Tente entender o que o usuário quer dizer 3. Escute! 4. Atualize-se 5. Simplifique conceitos complexos 6. Não se esconda em jargão da informática; fale a linguagem da empresa 6. Utilize os princípios básicos da qualidade 7. Conheça a área de Negócio 8. Sugira soluções inovadorasaliadas ao custo/benefícios 9. Especialize-se em sistemas de informação
O Papel do Analista Um analista de sistemas deve ser uma combinação entre um jornalista, um auditor, um consultor, um padre, um psicólogo e um bom diplomata.
TRABALHO - Estudo de Caso Dividam-se em 04 grupos e cada grupo irá representar uma técnica de extração de requisitos: Entrevistas: dividam-se em duplas e um aluno entrevista o outro sobre seu trabalho profissional. Brainstorming: elejam um aluno como cliente, eleja um aluno para ser o presidente da mesa e iniciem o processo; JAD: elejam um aluno como cliente, eleja um aluno para ser o presidente da mesa e inicie o processo; Prototipagem: elejam um aluno como cliente, em seguida os demais alunos devem preparar telas na folha de caderno que simulem o sistema solicitado e iniciem o processo de extração. Através da documentação do Levantamento de Requisitos efetuado, apresentando os seguintes capítulos: 1. A empresa 2. Descrição do Sistema Atual 3. Desejos do Usuário Funções do Produto 4. Problemas Existentes