Contedos a focar : Arquitectura das ferramentas CASE
Caracterizao
Categorias
Ciclo de vida do CASE
Vantagens / Desvantagens
Funcionalidades
Designao : Definimos CASE como um conjunto de tcnicas e ferramentas informticas que auxiliam o engenheiro de software no desenvolvimento de aplicaes, com o objectivo de diminuir o respectivo esforo e complexidade, de melhorar o controle do projecto, de aplicar sistematicamente um processo uniformizado e de automatizar algumas actividades, nomeadamente a verificao da consistncia e qualidade do produto final e a gerao de artefactos. Evoluo das Ferramentas de apoio ao desenvolvimento de software Ferramentas de Desenvolvimento Ambientes Integrados de Modelizao Visual Ferramentas de Representao de Diagramas Ferramentas RAD Editores de Texto Compiladores Interpretadores Linkers DFDs ERs Esquemas de BDs Documentao Gerao de cdigo Realizao de Testes Gesto de Projectos Integrao Modelizao O-O Modelizao negcio Arquitectura das Ferramentas CASE : A maioria das ferramentas CASE especializa-se sobretudo numa tarefa especfica do processo de desenvolvimento de software. Algumas concentram- se na disponibilizao de funcionalidades relevantes para a fase de concepo (por exemplo, elaborao de diversos diagramas), enquanto outras esto particularmente direccionadas para a fase de implementao (por exemplo, desenvolvimento visual, gerao de cdigo e apoio realizao de testes). Arquitectura das Ferramentas CASE (2) : A arquitectura tpica das ferramentas CASE constituda por um conjunto de aplicaes/componentes, suportados por um repositrio integrado, como se representa na seguinte figura: Repositrio Centralizado Gesto do Repositrio Gesto de Projectos Modelizao de Processos do Negcio Modelizao de Software Modelizao da Base de Dados Desenvolvimento de Aplicaes Testes Gesto de Configurao e Alteraes Arquitectura genrica das ferramentas CASE (retirado do livro UML Metodologias e Ferramentas CASE) Caracterizao das Ferramentas CASE : Os critrios utilizados para caracterizar as ferramentas CASE so muito diversos. Os mais significativos incluem : A anlise das funcionalidades disponveis
O papel que representam para os gestores ou para elementos tcnicos
A possibilidade de serem utilizados nas vrias fases do processo de desenvolvimento de software Upper CASE - aplicaes que se especializaram na fase de concepo do software (ferramentas de anlise e especificao e/ou modelao de requisitos).
Lower CASE - aplicaes utilizadas na fase de implementao (ferramentas de desenho tcnico, de edio e compilao de cdigo e de testes).
I-CASES (integrated Cases) - simultaneamente Lower e Upper CASE, funcionando integradamente. Categorias de Ferramentas CASE : Modelao de processos de negcio
Modelao de anlise e desenho do sistema
Desenho da base de dados
Programao de aplicaes
Gesto de alteraes no software
Testes
Orientadas para a Gesto de Projectos Categorias de Ferramentas CASE : As Ferramentas CASE podem ainda ser agrupadas nas seguintes categorias: Ciclo de vida do CASE Procura do Sistema CASE Adaptao do Sistema CASE Introduo do Sistema CASE Operao do Sistema CASE Evoluo do Sistema CASE Sistema CASE obsoleto Vantagens : Uniformizao do processo de desenvolvimento, das actividades realizadas, e dos artefactos produzidos.
Reutilizao de vrios artefactos ao longo do mesmo projecto, e entre projectos, promovendo o consequente aumento da produtividade.
Automatizao de actividades, com particular destaque ao nvel da gerao de cdigo e de documentao.
Vantagens (2) : Diminuio do tempo de desenvolvimento, recorrendo gerao automtica de diversos artefactos do projecto, ou realizao de outros previamente existentes.
Integrao de artefactos produzidos em diferentes fases do ciclo de desenvolvimento de software, em que os outputs de uma ferramenta so utilizados como inputs de outra.
Demonstrao da consistncia entre os diversos modelos e possibilidade de verificar a correco do software.
Qualidade do produto final superior.
Desvantagens : Incompatibilidade de ferramentas
Elevado custo da ferramenta e do treino para a sua utilizao
Elevada curva de aprendizagem
Limitaes na flexibilidade da documentao
Funcionalidades das Ferramentas CASE : A estratgia de introduo das ferramentas CASE numa organizao pode ser diversa, nomeadamente: Suite : seleco de um conjunto integrado de ferramentas, todas do mesmo fornecedor.
Best-of-breed : seleco das melhores ferramentas para cada funcionalidade, suportadas por um repositrio integrado.
Pontual : seleco de ferramentas para cobrir reas pontuais.
Fase de desenvolvimento Ferramenta CASE Anlise TurboCase (StructSoft, Inc.) EasyCase DecDesign (DEC) Design SPARCSIM (SUN), X-Windows, Motiff, HyperCard, SQL Implementao Eiffel, C++ Integrao e Teste Code Visualization Ferramentas de suporte geral desk-top publishing: pagemaker (Aldus), e-mail, audit source code: diff (Unix), Sistemas de gesto de bases de dados: RDB (DEC) Efeito na Produtividade do Programador Complexidade dos programas
Tamanho dos programas
Comunicao entre os programadores
Limitaes de tempo
Factores sociais Avaliao das Ferramentas CASE Normalmente, a primeira recomendao sobre a seleco de ferramentas CASE seria a utilizao de um conjunto limitado de ferramentas, de preferncia apenas uma, que integrasse as diversas funcionalidades necessrias, de forma a rentabilizar o investimento e facilitar a integrao. Contudo, podem existir razes que justifiquem que algumas organizaes optem por estratgias diferentes. Concluso A utilizao de ferramentas de modelao permite suportar todo o processo de forma mais sistemtica, consistente, eficiente e controlvel. De facto, parece- nos que, no sendo obrigatria a adopo de tais ferramentas, elas oferecem uma mais valia considervel, principalmente nas tarefas de anlise e desenho. Bibliografia SILVA, Alberto Manuel Rodrigues & VIDEIRA, Carlos Alberto Escaleira, UML, Metodologias e Ferramentas CASE, Edies Centro Atlntico, 2001. Trabalho realizado por : Manuel Baio n 4182 Jorge Guerreiro n 4178