A Engenharia de software assistido por computador (CASE) é a implementação de ferramentas e métodos facilitados por computador no desenvolvimento de software. CASE é utilizado para garantir um software de alta qualidade e livre de defeitos. CASE assegura uma abordagem disciplinada e de controle e ajuda designers, desenvolvedores, testadores, gerentes e outros a ver os marcos do projeto durante o desenvolvimento.
CASE também pode ajudar como armazém para documentos relacionados a projetos, como planos de negócios, requisitos e especificações de design. Uma das principais vantagens da utilização do CASE é a entrega do produto final, que tem mais probabilidades de satisfazer os requisitos do mundo real, uma vez que garante que os clientes continuem a fazer parte do processo.
CASE ilustra um amplo conjunto de ferramentas de economia de mão-de-obra que são utilizadas no desenvolvimento de software. Ele gera uma estrutura para organizar projetos e para ser útil no aumento da produtividade. Havia mais interesse no conceito de ferramentas CASE anos atrás, mas menos hoje, pois as ferramentas se transformaram em diferentes funções, muitas vezes em reação às necessidades dos desenvolvedores de software. O conceito de CASE também recebeu uma forte dose de críticas após o seu lançamento.
CASE Tools:
A ideia essencial das ferramentas CASE é que os programas incorporados podem ajudar a analisar os sistemas em desenvolvimento, a fim de melhorar a qualidade e proporcionar melhores resultados. Ao longo dos anos 1990, a ferramenta CASE tornou-se parte do léxico do software, e grandes empresas como a IBM estavam usando este tipo de ferramentas para ajudar a criar software.
Várias ferramentas são incorporadas no CASE e são chamadas ferramentas CASE, que são usadas para suportar diferentes estágios e marcos em um ciclo de vida de desenvolvimento de software.
Tipos de Ferramentas CASE:
- Ferramentas de Diagramação:
Ajuda nas representações diagramáticas e gráficas dos dados e processos do sistema. Representa elementos do sistema, fluxo de controle e fluxo de dados entre diferentes componentes de software e estrutura do sistema de forma pictórica.
Para exemplo, a ferramenta Flow Chart Maker para fazer fluxogramas de última geração. - Geradores de Relatórios e Display de Computador:
Ajuda a compreender os requisitos de dados e as relações envolvidas. - Ferramentas de Análise:
Foca em especificações inconsistentes e incorretas envolvidas no diagrama e no fluxo de dados. Ajuda na coleta de requisitos, na verificação automática de qualquer irregularidade, imprecisão nos diagramas, redundâncias de dados ou omissões errôneas.
Por exemplo,- (i) Accept 360, Accompa, CaseComplete for requirement analysis.
- (ii) Visible Analyst para análise total.
- Repositório Central:
Provê o ponto único de armazenamento para diagramas de dados, relatórios e documentos relacionados ao gerenciamento de projetos. - Geradores de Documentação:
Ajuda na geração de documentação técnica e de usuário, de acordo com os padrões. Ele cria documentos para usuários técnicos e usuários finais.
Por exemplo, Doxygen, DrExplain, Adobe RoboHelp para documentação. - Geradores de código:
Ajuda na geração automática de código, incluindo definições, com a ajuda dos desenhos, documentos e diagramas.
Vantagens da abordagem CASE:
- Como se dá ênfase especial ao redesenho, bem como aos testes, o custo de manutenção de um produto ao longo da sua vida útil esperada é consideravelmente reduzido.
- A qualidade geral do produto é melhorada à medida que uma abordagem organizada é realizada durante o processo de desenvolvimento.
- As chances de atender aos requisitos do mundo real são mais prováveis e fáceis com uma abordagem de engenharia de software assistida por computador.
- CASE fornece indirectamente a uma organização uma vantagem competitiva, ajudando a assegurar o desenvolvimento de produtos de alta qualidade.
Desvantagens da abordagem CASE:
- Custo: Usar a ferramenta CASE é muito caro. A maioria das empresas envolvidas no desenvolvimento de software em pequena escala não investem em ferramentas CASE porque pensam que o benefício do CASE se justifica apenas no desenvolvimento de grandes sistemas.
- Curva de Aprendizagem: Na maioria dos casos, a produtividade dos programadores pode cair na fase inicial de implementação, porque o usuário precisa de tempo para aprender a tecnologia. Muitos consultores oferecem treinamento e serviços on-site que podem ser importantes para acelerar a curva de aprendizado e para o desenvolvimento e uso das ferramentas CASE.
- Tool Mix: É importante construir um mix de ferramentas de seleção apropriado para impulsionar a vantagem de custo A integração CASE e a integração de dados em todas as plataformas é extremamente importante.