Sistemas CASE - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

Sistemas CASE

Description:

Sistemas CASE Sele o, Avalia o e Ado o de Ferramentas CASE – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 46
Provided by: Departa51
Category:
Tags: case | sistemas

less

Transcript and Presenter's Notes

Title: Sistemas CASE


1
Sistemas CASE
  • Seleção, Avaliação e Adoção de Ferramentas CASE

2
Enfoques
  • Empírico
  • Baseado na Engenharia de Software.

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

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.

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?

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?

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?

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?

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?

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?

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?

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?

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?

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.

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?

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?

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?

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?

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)?

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?

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.

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

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.

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)

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.

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.).

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.

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.

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).

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

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

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.

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

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.

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

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.

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

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.

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
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.
Write a Comment
User Comments (0)
About PowerShow.com