1 / 45

Sistemas CASE

Sistemas CASE. Seleção, Avaliação e Adoção de Ferramentas CASE. Enfoques. Empírico; Baseado na Engenharia de Software. DI-UFPE. DI-UFPE. Enfoque Empírico. Na maioria das organizações, o processo de aquisição de ferramentas CASE (quando são adotadas) tem sido o seguinte:

dominy
Télécharger la présentation

Sistemas CASE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas CASE Seleção, Avaliação e Adoção de Ferramentas CASE DI-UFPE

  2. Enfoques • Empírico; • Baseado na Engenharia de Software. DI-UFPE DI-UFPE DI-UFPE

  3. Enfoque Empírico • Na maioria das organizações, o processo de aquisição de ferramentas CASE (quando são adotadas) tem sido o seguinte: • Experimenta-se uma falha no software; • Houve-se “falar” que o uso de ferramentas CASE pode evitar tais problemas; • Compra-se uma ferramenta anunciada; • Tenta-se descobrir que processos se encaixam no escopo da ferramenta; DI-UFPE DI-UFPE DI-UFPE

  4. Enfoque Empírico • Assume-se que todos os problemas foram resolvidos; • Se os problemas persistem, culpa-se os membros do staff por não saberem usar a ferramenta propriamente; • Contrata-se um consultor que não consegue os resultados esperados; • Desilude-se com a ferramenta adquirida; • “Engaveta-se” a ferramenta. DI-UFPE DI-UFPE DI-UFPE

  5. Conhecimento e Tomada de Decisão Seleção Julgamento Estratégia de implantação Institucionalização Um Enfoque da Engenharia de Software • O SEI (Software Engineering Institute) propôs um enfoque para seleção e adoção de ferramentas baseado nas seguintes etapas: DI-UFPE

  6. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Nesta fase procura-se conhecer melhor o perfil da organização, para avaliar a aplicabilidade ou não de ferramentas CASE como parte da solução para os problemas organizacionais; • Tal fase pode ser dividida nas seguintes sub-fases: • Avaliação de pessoal; • Avaliação da tecnologia usada na organização; • Avaliação do processo organizacional; • Avaliação dos projetos da organização; • Avaliação da política organizacional; • Avaliação de necessidades adicionais. DI-UFPE

  7. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Avaliação de pessoal: • Como os empregados irão reagir à introdução de uma nova tecnologia? • Existe algum registro de mudanças que foram tentadas (sucessos e falhas)? • Existem lideranças capazes de influenciar o pessoal técnico no que concerne à adoção ou não de novas tecnologias? • Qual a habilidade do pessoal para aprender novas técnicas? • Qual a habilidade técnica do pessoal de suporte? DI-UFPE

  8. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Avaliação de pessoal (cont.): • Quais as tarefas assinaladas ao pessoal técnico? • Qual a habilidade do pessoal de staff para gerenciar as inovações e mudanças? • Quão estável é o pessoal de staff? Existem constantes mudanças de decisão e/ou de chefia? DI-UFPE

  9. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Avaliação da tecnologia usada na organização: • Quais as plataformas de hardware/software existentes atualmente na organização? • Os recursos existentes são satisfatórios? • Qual o grau de integração do software utilizado? • Quais as linguagens de programação utilizadas? • A organização utiliza recursos de rede? • Em média, qual a percentagem de desenvolvimento, reuso e manutenção de sistemas? • A plataforma de desenvolvimento difere da plataforma de uso? DI-UFPE

  10. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Avaliação do processo organizacional: • Quão bem definido é o processo de desenvolvimento de software na organização? • O processo de desenvolvimento ou parte dele é passível de automação? • Qual o modelo de ciclo de vida adotado pela organização? • Quais os métodos de desenvolvimento adotados pela organização (SADT, SA/SD, JSD, OMT, etc.)? • Quão experiente é o pessoal com os métodos adotados? • Algum destes métodos foi adaptado para ser aplicado à organização? • Os métodos utilizados são satisfatórios? DI-UFPE

  11. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Avaliação do processo organizacional (cont.): • A adoção de um novo processo e/ou método de desenvolvimento seria adequado à organização? • Existe algum padrão de documentação adotado (ou a ser adotado) pela organização? • Existe algum programa (padrão) de qualidade de software adotado (ou a ser adotado) pela organização? • A organização coleta alguma métrica de produtividade? Como e para quê ela é utilizada? DI-UFPE

  12. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Avaliação dos projetos da organização: • Quais os domínios de atuação atendidos negócios da organização? • Quais os tamanhos dos projetos e durações normais? • Qual o grau em que produtos similares são produzidos? • Por quais fases da produção a organização é responsável? • Qual a complexidade do processo de produção em cada fase? • Quão experiente e decisivo deve ser o gerenciamento de dos projetos? DI-UFPE

  13. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Avaliação da política organizacional: • Como a produtividade e a qualidade dos produtos da organização se comparam com a de seus concorrentes? • Quais as metas de produtividade e qualidade a serem atingidas? • A gerência está satisfeita com a situação atual? • Qual o compromisso da gerência em termos de investimento em dinheiro, pessoal e projetos? • Existe algum suporte organizacional para encorajar a adoção de novas ferramentas e tecnologias? Vontade de arriscar, invovar e mudar? • Como as falhas têm sido gerenciadas? DI-UFPE

  14. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Avaliação da política organizacional (cont.): • Existem pressões da gerência para a adoção de ferramentas CASE? • Em que grau a gerência considera que o uso de ferramentas CASE será estratégico como fator diferencial de competitividade? • Como o uso de uma ferramenta CASE poderá afetar os custos, cronograma e a qualidade dos projetos? • Qual o período esperado para se obter retorno em termos de custo-benefício? • Qual é o balanço do retorno dos investimentos passados? • As expectativas da gerência são factíveis? DI-UFPE

  15. Um Enfoque da Engenharia de Software: conhecimento e tomada de decisão • Avaliação de necessidades adicionais: • Quais as partes do ciclo de vida que estão funcionando melhor/pior? • Quais as partes do ciclo de vida do software que podem ser melhoradas com o uso de ferramentas CASE? • Quais as necessidades adicionais de documentação? • Os mecanismos de comunicação inter-pessoal estão funcionando adequadamente? • Que facilidades adicionais melhorariam a comunicação? DI-UFPE

  16. Um Enfoque da Engenharia de Software: seleção • Nesta fase faz-se uma análise rigorosa sobre qual ferramenta será adotada. Caso contrário corre-se o risco de adquirir uma ferramenta que não será usada; • A seleção pode ser dividida nas seguintes sub-fases: • Avaliação da tecnologia disponível para adoção: • Análise das ferramentas disponíveis; • Análise do fornecedor da ferramenta; • Análise das experiências de outros usuários. • Avaliação da aplicabilidade da tecnologia. DI-UFPE

  17. Um Enfoque da Engenharia de Software: seleção • Avaliação da tecnologia disponível para adoção: • Análise das ferramentas disponíveis: • É viável desenvolver uma ferramenta CASE própria? • Que ferramentas existem no mercado que podem servir a organização? • Alguma das ferramentas existentes é customizável ou suporta diretamente o processo de desenvolvimento adotado pela organização? • Qual o hardware/software necessário para a implantação da ferramenta? • Quão difícil será a inserção da ferramenta no ambiente organizacional? DI-UFPE

  18. Um Enfoque da Engenharia de Software: seleção • Avaliação da tecnologia disponível para adoção: • Análise das ferramentas disponíveis (cont.): • Quão compatível é a ferramenta em relação a outras ferramentas e métodos? A ferramenta é passível de integração com outras ferramentas usadas na organização? • Versões de teste estão disponíveis? Se sim, devem ser solicitadas; • A ferramenta funciona bem em um ambiente multi-usuário? • Qual a performance da ferramenta em relação a uma grande carga de uso e acessos simultâneos? • A ferramenta funciona bem tanto para projetos de pequeno como de grande porte? A ferramenta proporciona meios para decomposição de projetos em sub-projetos? DI-UFPE

  19. Um Enfoque da Engenharia de Software: seleção • Avaliação da tecnologia disponível para adoção: • Análise das ferramentas disponíveis (cont.): • Qual o grau de maturidade da ferramenta a ser utilizada? • A ferramenta tem capacidade de funcionar em condições adversas (robustez)? • Os mecanismos de disponibilização de atualizações da ferramenta são satisfatórios para a organização? • A interface da ferramenta é de fácil uso? • O pessoal técnico é conhecedor das metodologias suportadas pela ferramenta? Será preciso oferecer treinamento especializado para eles? • Qual o tempo necessário para o pessoal técnico se adaptar à ferramenta? DI-UFPE

  20. Um Enfoque da Engenharia de Software: seleção • Avaliação da tecnologia disponível para adoção: • Análise das ferramentas disponíveis (cont.): • A ferramenta a ser adotada está de acordo com algum programa de qualidade adotado (ou a ser adotado) pela organização? • A ferramenta a ser adotada tem que oferecer todas as facilidades desejadas? • Qual o custo (financeiro e de tempo) para aquisição, implantação, treinamento e manutenção da ferramenta, incluindo também os custos de hardware, software e pessoal? • Estes custos ameaçam a aquisição da ferramenta? DI-UFPE

  21. Um Enfoque da Engenharia de Software: seleção • Avaliação da tecnologia disponível para adoção: • Análise do fornecedor da ferramenta: • A quanto tempo o fornecedor está no mercado de ferramentas CASE? • A produção de ferramentas CASE é a linha principal de negócios do fornecedor? • Qual o balanço quantitativo de vendas do fornecedor no período de um ano? • Existe algum sentimento sobre a estabilidade do fornecedor no mercado, por pelo menos um período de 5 anos (prazo estimado para uma ferramenta cair em desuso)? DI-UFPE

  22. Um Enfoque da Engenharia de Software: seleção • Avaliação da tecnologia disponível para adoção: • Análise do fornecedor da ferramenta (cont.): • A qualidade do suporte oferecido pelo fornecedor é boa? • Meio de comunicação; • Tempo para atendimento; • Localização geográfica. • O fornecedor oferece treinamento? • O fornecedor irá customizar a ferramenta e/ou treinamento às necessidades da organização? • Qual a reputação do fornecedor no mercado de ferramentas CASE? DI-UFPE

  23. Um Enfoque da Engenharia de Software: seleção • Avaliação da tecnologia disponível para adoção: • Análise das experiências de outros usuários: • Existe algum grupo de discussão sobre a ferramenta na Internet? Se sim, qual tem sido a avaliação dos usuários? • Existe algum comentário crítico sobre a ferramenta na mídia (publicações especializadas, anais de congresso, etc.)? • A organização tem conhecimento da experiência de outros usuários? • Qualidade e nível de suporte; • Problemas com a ferramenta; • Dicas e exemplos de uso, etc. DI-UFPE

  24. Um Enfoque da Engenharia de Software: seleção • Avaliação da aplicabilidade da tecnologia: • Nesta sub-fase é tomada a decisão, com base nas questões levantadas anteriormente, se a ferramenta selecionada adequa-se às necessidades da organização; • Os pontos fortes e fracos da ferramenta são “pesados” e comparados; DI-UFPE

  25. Um Enfoque da Engenharia de Software: seleção • Avaliação da aplicabilidade da tecnologia (cont.) • Esta avaliação baseia-se principalmente em: • Compatibilidade da ferramenta com as capacidades do pessoal técnico; • A tecnologia de software e hardware usada pela ferramenta; • O grau de suporte aos processo e métodos adotados pela organização; • A capacidade de integração oferecida pela ferramenta; • A performance da ferramenta e o suporte oferecido ao trabalho cooperativo; • A qualidade da documentação e do suporte oferecido; • Compatibilidade entre a ferramenta e as necessidades adicionais da organização. DI-UFPE

  26. Um Enfoque da Engenharia de Software: julgamento • Nesta fase a ferramenta escolhida deve ser experimentada em um projeto-piloto; • Critérios de avaliação (sucessos e insucessos) devem ser definidos antes de se começar a usar a ferramenta; • O projeto-piloto deve ser representativo em relação aos projetos que efetivamente vão usar a ferramenta; • Idealmente o experimento deveria ser feito antes da aquisição da ferramenta, em uma versão de teste, mas nem sempre isto é possível (tal facilidade pode não ser oferecida pelo fornecedor); DI-UFPE

  27. Um Enfoque da Engenharia de Software: julgamento • Os principais objetivos a serem alcançados nesta fase são: • Desenvolvimento de especialistas que podem disseminar o uso da ferramenta na organização; • Documentação sobre as experiências de uso da ferramenta; • Direcionamento da ferramenta, dos métodos e dos processos organizacionais, para um uso mais efetivo da ferramenta; • Desenvolvimento de padrões e guias sobre o uso da ferramenta; • Identificação de necessidades de treinamento. DI-UFPE

  28. Um Enfoque da Engenharia de Software: julgamento • Os principais objetivos a serem alcançados nesta fase são (cont.): • Estabelecimento de um ambiente “seguro onde os indivíduos podem aprender mais sobre a ferramenta sem pressões excessivas; • Desenvolvimento de expectativas realísticas para a implantação da ferramenta em toda a organização (ex: cronograma de implantação); • Desenvolvimento de uma estratégia organizacional para a implantação da ferramenta (ex: definição de prioridades, política de migração, etc.). DI-UFPE

  29. Um Enfoque da Engenharia de Software: estratégia de implantação • Nesta fase define-se a estratégia de implantação da ferramenta na organização de modo que o impacto organizacional seja o menor possível; • Em adição ao cronograma de implantação, a estratégia de implantação deve levar em conta os seguintes pontos: • Mudança de cultura na organização; • Treinamento; • Estabelecimento de padrões; • Avaliação da efetividade da ferramenta. DI-UFPE

  30. Um Enfoque da Engenharia de Software: estratégia de implantação • Mudança de cultura na organização: • Identificar as pessoas-chave e seus papéis na implantação; • Assegurar que as pessoas-chave tenham uma visão comum do porque, o que e como será implantado; • Identificar as pessoas mais sucetíveis às mudanças e incentivá-las; • Identificar as maiores barreiras para a implantação da ferramenta, baseando-se em experiências anteriores; • Tentar minimizar as barreiras para a implantação; • Planejar a estratégia da gerência para convencer e comunicar o pessoal sobre a adoção da ferramenta; • Monitorar e se preciso corrigir a estratégia de implantação. DI-UFPE

  31. Um Enfoque da Engenharia de Software: estratégia de implantação • Treinamento - a definição da estratégia de treinamento depende de: • Complexidade dos produtos desenvolvidos pela organização; • Qualidade dos cursos disponíveis; • O orçamento disponível para o treinamento; • O tempo que a gerência disponibilizará para o treinamento; • A formação e o interesse do pessoal que utilizará a ferramenta; • A existência e disponibilização de pessoal habilitado a servir como multiplicador de conhecimento. Este pessoal poderá ser treinado e então treinar o restante da equipe (solução satisfatória e mais econômica). DI-UFPE

  32. Um Enfoque da Engenharia de Software: estratégia de implantação • Estabelecimento de padrões - para o sucesso da ferramenta é essencial que certos padrões sejam estabelecidos: • Padrões para usar a ferramenta; • Convenções de nomes para as entidades manipuladas pela ferramenta; • Padrões para backup e compartilhamento da base de dados da ferramenta; • Padrões de segurança; DI-UFPE

  33. Um Enfoque da Engenharia de Software: estratégia de implantação • Estabelecimento de padrões (cont.): • Padrões de relatórios para cada etapa do ciclo de vida do software; • Padrões para documentação do software; • Padrões para a análise de produtividade e qualidade do trabalho; • Padrões e técnicas para a interface com outras ferramentas; DI-UFPE

  34. Um Enfoque da Engenharia de Software: estratégia de implantação • Avaliação da efetividade da ferramenta: • Nesta etapa define-se a estratégia para medir os ganhos de produtividade e/ou qualidade obtidos com a implantação da ferramenta em relação à sistemática anterior. DI-UFPE

  35. Um Enfoque da Engenharia de Software: institucionalização • Nesta fase o uso da ferramenta é adotado como norma institucional; • Os seguintes mecanismos podem auxiliar à institucionalização da ferramenta: • Suporte para treinamento continuado quando do lançamento de novos releases e da incorporação de novo pessoal técnico; DI-UFPE

  36. Um Enfoque da Engenharia de Software: institucionalização • Mecanismos para a institucionalização da ferramenta (cont.): • Desenvolvimento e implementação de políticas para update da ferramenta (ex: definição de procedimentos e responsabilidades de instalação); • Desenvolvimento de mecanismos para compartilhamento de experiências (ex: grupos de discussão, relatórios internos, bibliotecas de reuso, publicações em congressos, etc.); • Bom relacionamento com o fornecedor; • Desenvolvimento de mecanismos para incentivar o uso da ferramenta (reconhecimento público dos bons funcionários, recompensas por produtividade, etc.); • Avaliação continua da qualidade e da produtividade. DI-UFPE

  37. Conclusões • A crise de software está longe de ser resolvida por completo; • O uso de ferramentas e ambientes no processo de desenvolvimento de software contribui para amenizar esta crise; • O CASE está para a Engenharia de Software assim como o CAD/CAM (Computer Aided Design/ Computer Aided Manufacture) está para as outras engenharias; DI-UFPE DI-UFPE DI-UFPE

  38. Conclusões • No entanto o CAD/CAM implementa práticas de engenharia que foram experimentadas e provadas ao longo dos últimos 100 anos; • O CASE, por sua vez, apresenta um conjunto de ferramentas semi-automatizadas e automatizadas que implementam uma cultura de engenharia que é novidade para muitas organizações; • Existe uma grande quantidade de ambientes especializados, os quais são geralmente fechados; • A maioria dos ambientes existentes está longe de ser de propósito geral; DI-UFPE

  39. Conclusões • Os ambientes CASE emergentes apresentam as seguintes características, entre outras: • Uso de interfaces gráficas padrão; • Repositório compartilhado (se tornando comum); • Estão caminhando rumo a modelos comuns; • Arquitetura cliente-servidor; • Pequeno suporte à integração por processo; • Interação dinâmica entre as ferramentas; • Troca de mensagens entre as ferramentas. DI-UFPE

  40. Conclusões • Ambientes genéricos baseados em PTIs permitem que todo o ciclo de vida seja suportado. Porém não existe um conjunto completo de ferramentas que suporte isto na prática; • Um dos grandes problemas no uso de CASE é a integração de ferramentas; • Apesar de ser mais disciplinado, o processo de seleção de ferramentas CASE adotado pela Engenharia de software ainda não é preciso. Depende das necessidades da organização; DI-UFPE DI-UFPE DI-UFPE

  41. Conclusões • Estima-se que mais da metade de todas as ferramentas CASE adquiridas caem no desuso muito rapidamente. Isto implica em prejuízos econômicos (hardware, software, treinamento e da própria ferramenta) e decréscimo de produtividade; • O sucesso de uma ferramenta CASE depende não só da ferramenta, mas também do processo de adoção da mesma na organização; DI-UFPE DI-UFPE DI-UFPE

  42. Conclusões • As estratégias de seleção e adoção de ferramentas apresentadas não garantem o sucesso da ferramenta a ser adotada, porém diminuem consideravelmente a probabilidade de insucesso; • De forma análoga aos custos de correção de erros de software, quanto mais tarde se descobre que a ferramenta é inadequada para a organização, maior será a perda econômica e de tempo; DI-UFPE

  43. Conclusão • Um pré-requisito para a implantação de uma ferramenta/ambiente CASE em uma organização é que o processo de desenvolvimento de software tem que estar bem definido. Uma ferramenta/ambiente CASE suporta o processo, mas não é um substituto para os procedimentos de desenvolvimento. DI-UFPE

  44. Perspectivas Futuras • No futuro, espera-se que exista um padrão ao qual todos os ambientes deverão obedecer, o que permitirá uma melhor integração de ferramentas; • Os ambientes e ferramentas deverão ser mais customizáveis, de modo a que possam se adaptar às necessidades dos usuários; • Do ponto de vista do usuário final, as ferramentas deverão oferecer a possibilidade de produzir aplicações de maneira rápida (ex: geração automática de código, facilidades para localização de componentes reutilizáveis); DI-UFPE DI-UFPE

  45. Perspectivas Futuras • As arquiteturas deverão ser do tipo cliente-servidor; • As ferramentas poderão estar distribuídas; • Os ambientes deverão ser extensíveis e baseados em componentes; • A integração por processo deverá ser mais comum; • Os sistemas incentivarão cada vez mais o desenvolvimento cooperativo de software, possivelmente desenvolvimento distribuído. DI-UFPE

More Related