Ferramentas CASE ( Computer-Aided Software Engineering) by xqo30826

VIEWS: 577 PAGES: 20

									   Ferramentas CASE
(Computer-Aided Software Engineering)
Conteúdos a focar :
  • Arquitectura das ferramentas CASE

  • Caracterização

  • Categorias

  • Ciclo de vida do CASE

  • Vantagens / Desvantagens

  • Funcionalidades
Designação :

 Definimos CASE como um conjunto de técnicas e
 ferramentas informáticas que auxiliam o engenheiro
 de software no desenvolvimento de aplicações, com
 o objectivo de diminuir o respectivo esforço e
 complexidade, de melhorar o controle do projecto,
 de    aplicar   sistematicamente     um    processo
 uniformizado e de automatizar algumas actividades,
 nomeadamente a verificação da consistência e
 qualidade do produto final e a geração de artefactos.
    Evolução das Ferramentas de apoio ao
    desenvolvimento de software


                      Ferramentas de                          Ambientes Integrados
  Ferramentas de                           Ferramentas
                      Representação                             de Modelização
  Desenvolvimento                              RAD
                       de Diagramas                                 Visual

Editores de Texto   DFD’s              Geração de código      Integração
Compiladores        ER’s               Realização de Testes   Modelização O-O
Interpretadores     Esquemas de BD’s   Gestão de Projectos    Modelização negócio
Linkers             Documentação
Arquitectura das Ferramentas
CASE :
 A maioria das ferramentas CASE especializa-se
 sobretudo numa tarefa específica do processo de
 desenvolvimento de software. Algumas concentram-
 se na disponibilização de funcionalidades relevantes
 para a fase de concepção (por exemplo, elaboração
 de diversos diagramas), enquanto outras estão
 particularmente direccionadas para a fase de
 implementação (por exemplo, desenvolvimento
 visual, geração de código e apoio à realização de
 testes).
Arquitectura das Ferramentas
CASE (2) :
 A arquitectura típica das ferramentas CASE é constituída
 por um conjunto de aplicações/componentes, suportados
 por um repositório integrado, como se representa na
 seguinte figura:
                                            Modelização da
          Modelização de                    Base de Dados                   Desenvolvimento
            Software                                                         de Aplicações

         Modelização de
      Processos do Negócio                    Gestão do                            Testes
                                              Repositório

       Gestão de Projectos                                              Gestão de Configuração
                                                                             e Alterações
                                              Repositório
                                              Centralizado

 Arquitectura genérica das ferramentas CASE (retirado do livro “UML Metodologias e Ferramentas CASE”)
Caracterização das Ferramentas
CASE :
Os critérios utilizados para caracterizar as ferramentas
CASE são muito diversos. Os mais significativos
incluem :
  • A análise das funcionalidades disponíveis

  • O papel que representam para os gestores ou para
  elementos técnicos
  • A possibilidade de serem utilizados nas várias fases
  do processo de desenvolvimento de software
Categorias de Ferramentas CASE :

 • Upper CASE - aplicações que se especializaram
       na fase de concepção do software (ferramentas
       de análise e especificação e/ou modelação de
       requisitos).

 • Lower CASE - aplicações utilizadas na fase de
      implementação     (ferramentas   de desenho
      técnico, de edição e compilação de código e de
      testes).

 • I-CASES (integrated Cases) - simultaneamente
       Lower     e   Upper    CASE,     funcionando
       integradamente.
Categorias de Ferramentas CASE :
As Ferramentas CASE podem ainda ser agrupadas nas
seguintes categorias:
  • Modelação de processos de negócio

  • Modelação de análise e desenho do sistema
  • Desenho da base de dados

  • Programação de aplicações

  • Gestão de alterações no software

  • Testes

  • Orientadas para a Gestão de Projectos
             Ciclo de vida do CASE


Procura do Sistema   Adaptação do   Introdução do
      CASE           Sistema CASE   Sistema CASE




  Operação do        Evolução do    Sistema CASE
  Sistema CASE       Sistema CASE      obsoleto
Vantagens :
•    Uniformização do processo de desenvolvimento,
    das actividades realizadas, e dos artefactos
    produzidos.
•    Reutilização de vários artefactos ao longo do
    mesmo projecto, e entre projectos, promovendo o
    consequente aumento da produtividade.

•   Automatização de actividades, com particular
    destaque ao nível da geração de código e de
    documentação.
Vantagens (2) :
•    Diminuição do tempo de desenvolvimento,
    recorrendo à geração automática de diversos
    artefactos do projecto, ou à realização de outros
    previamente existentes.

•    Integração de artefactos produzidos em
    diferentes fases do ciclo de desenvolvimento de
    software, em que os outputs de uma ferramenta
    são utilizados como inputs de outra.

•    Demonstração da consistência entre os
    diversos modelos e possibilidade de verificar a
    correcção do software.

•   Qualidade do produto final superior.
Desvantagens :

•   Incompatibilidade de ferramentas

•    Elevado custo da ferramenta e do treino para a
    sua utilização

•   Elevada curva de aprendizagem

•   Limitações na flexibilidade da documentação
Funcionalidades das Ferramentas
CASE :
 A estratégia de introdução das ferramentas CASE
 numa organização pode ser diversa, nomeadamente:
   •    Suite : selecção de um conjunto integrado de
       ferramentas, todas do mesmo fornecedor.

   •    Best-of-breed : selecção das melhores ferramentas
       para cada funcionalidade, suportadas por um
       repositório integrado.

   •   Pontual : selecção de ferramentas para cobrir áreas
       pontuais.
  Fase de desenvolvimento             Ferramenta CASE
                               TurboCase (StructSoft, Inc.)
Análise                        EasyCase
                               DecDesign (DEC)

                               SPARCSIM (SUN), X-Windows,
Design
                               Motiff, HyperCard, SQL
Implementação                  Eiffel, C++

Integração e Teste             Code Visualization

                               desk-top publishing: pagemaker
                               (Aldus), e-mail, audit source code: diff
Ferramentas de suporte geral   (Unix), Sistemas de gestão de bases de
                               dados: RDB (DEC)
Efeito na Produtividade do
Programador

 • Complexidade dos programas

 • Tamanho dos programas

 • Comunicação entre os programadores

 • Limitações de tempo

 • Factores sociais
Avaliação das Ferramentas CASE

  Normalmente, a primeira recomendação sobre a
  selecção de ferramentas CASE seria a utilização de
  um conjunto limitado de ferramentas, de preferência
  apenas uma, que integrasse as diversas
  funcionalidades necessárias, de forma a rentabilizar o
  investimento e facilitar a integração. Contudo, podem
  existir razões que justifiquem que algumas
  organizações optem por estratégias diferentes.
Conclusão

 A utilização de ferramentas de modelação permite
 suportar todo o processo de forma mais sistemática,
 consistente, eficiente e controlável. De facto, parece-
 nos que, não sendo obrigatória a adopção de tais
 ferramentas, elas oferecem uma mais valia
 considerável, principalmente nas tarefas de análise e
 desenho.
Bibliografia

• SILVA, Alberto Manuel Rodrigues & VIDEIRA,
  Carlos Alberto Escaleira, “UML, Metodologias e
  Ferramentas CASE”, Edições Centro Atlântico,
  2001.
Trabalho realizado por :
            Manuel Baião nº 4182
            Jorge Guerreiro nº 4178

								
To top