Está en la página 1de 4

Ferramentas CASE

Prof.ª Juliana Keiko Yamaguchi (DIN/UEM) fevereiro 2014

Material baseado a partir dos originais de Prof.ª Elisa Huzita (DIN/UEM) Profª Itana Gimenes (DIN/UEM) Profª Sarajane Peres (USP)

Escrever

Introdução

programas

X

profissional de software

Escrever programas

Desenvolvimento

Um administrador de empresa pode escrever programas em planilhas eletrônicas para facilitar seu trabalho;

Um engenheiro pode escrever programas para processar seus dados experimentais;

Um cientista pode escrever um programa como hobby

Desenvolvimento profissional de software

Há um propósito específico de negócio, em que o software é desenvolvido como um produto.

Ferramentas CASE

O que são?

Utilização

de

ferramentas

de

apoio

ao

desenvolvimento de software

CASE = Computer Aided Software Engeneering Engenharia de Software Auxiliada por Computador

Objetivos

Apresentar os conceitos básicos sobre a utilização de ferramentas computacionais no processo de desenvolvimento de software

O que são ferramentas CASE?

Para que servem?

Por que usá-las?

Quando usá-las?

Introdução

Engenharia de Software

Tem por objetivo apoiar o desenvolvimento profissional de software

Apresenta ao desenvolvedor:

Técnicas de especificação, projeto, validação evolução de programas;

e

Técnicas

de

gerenciamento

de

projetos

de

software;

Sistematização das atividades de desenvolvimento

modelos de processos de software (cascata, iterativo e incremental, espiral, prototipação, RUP, XP, Scrum, etc.)

Ferramentas CASE

Para que servem?

Oferecem um conjunto de serviços, fortemente relacionados, para apoiar uma ou mais atividades do processo de desenvolvimento de software

Serviços: ação efetuada pelo computador que é de interesse do desenvolvedor:

Simples edições de texto

Gerenciamento de configurações

Teste de software

Verificações formais

Ferramentas CASE

Para que servem?

Apoiam gerentes e programadores em atividades associadas ao processo de software.

Possibilitam automatização das atividades de gerenciamento e de outros trabalhos que comumente são realizados manualmente.

Apoiam trabalhos de: análise, projeto, codificação e teste.

Podem ser integradas em um ambiente sofisticado – Ambiente de desenvolvimento

Ferramentas CASE

Especificação, Documentação e Projeto

Exemplos

Astah (antigo Jude) – Modelagem utilizando UML

Gliffy – Modelagem utilizando UML (Online)

DIA – UML e fluxogramas

Visual Paradigm – Modelagem utilizando UML

Case Studio – Modelagem de dados (DER, DFD)

ERWin – Modelagem de dados (DER)

Características gerais de uma IDE

facilidades

especialmente desenhadas para a linguagem;

Um compilador (e um interpretador, no caso de Java e outras linguagens interpretadas) ;

Um editor gráfico, com facilidades para criação e edição da interface gráfica do programa a ser desenvolvido;

Um

editor

de

texto

com

Ferramentas CASE

Quando usar?

Embora

processos de

software, existem atividades comum a todos os processos (SOMMERVILLE, 2011)

Especificação: definição das funcionalidades e restrições em suas operações

Projeto e implementação: construção do software de acordo com a especificação

Validação: para assegurar que o produto corresponde às necessidades do usuário

Evolução: amadurecimento do produto para novas necessidades do usuário

existam

diferentes

Ferramentas CASE

Implementação e Testes

Ambiente

de

desenvolvimento

integrado

IDE

(Integrated Development Environment)

Eclipse

Netbeans

Visual Studio .NET

Eric Python IDE

Lazarus

J-Unit, C-Unit (teste)

CVS, Subversion, Git (controle de versão)

Características gerais de uma IDE

Gerador de código direcionado mais à geração de templates de código que são rotineiramente utilizados;

Um debugger para monitorar o funcionamento do seu programa, facilitando a detecção e remoção dos erros.

Perceba que não estamos falando em erros de sintaxe, mas erros na própria lógica do programa, que fazem seu programa gerar resultados indesejados ou travar (apesar de ele compilar), e que geralmente são difíceis de se encontrar simplesmente analisando o código.

Ferramentas CASE

Classificação

Por que classificar?

A classificação ajuda a compreender os diferentes tipos de ferramentas CASE e seus papéis no suporte às atividades do processo de software.

Ferramentas CASE

Classificação

As ferramentas CASE podem ser:

Upper-case ou back-end: especialistas na fase de concepção do software (análise, especificação e modelagem de requisitos)

Lower-case ou front-end: especialistas na fase de implementação (ferramentas de desenho técnico, de edição e compilação de código e testes)

I-case: também referenciadas como Integrated CASE, são destinadas a apoiar todo o ciclo de vida do software, desde os requisitos do sistema até o controle final da qualidade do produto gerado

Ferramentas CASE x Frameworks

Framework pode ser definido como um conjunto de classes (códigos) organizadas através de uma arquitetura de software que possui uma metodologia de funcionamento.

Aborda um determinado domínio de problema (por exemplo: persistência de dados, criação de interfaces gráficas, modelo MVC, criação de relatórios, etc.)

Deve ser reutilizável

Deve ser fácil de usar (bem documentado)

Deve ser eficiente

Ferramentas CASE

Classificação

As ferramentas CASE podem ser:

Horizontais: oferecem serviços utilizados durante todo o processo de software

Verticais:

do

utilizadas

em

fases

específicas

processo de software

Ferramentas CASE

Classificação

Também podem ser classificadas de acordo com os serviços que oferecem, dentre as quais, citam- se:

Documentação e captura de requisitos

Planejamento e gerenciamento de projetos

Especificações formais

Análise e projeto de software

Projeto e desenvolvimento de interfaces gráficas

Programação

Gerenciamento de Configuração

Controle de Qualidade

Ferramentas CASE x Frameworks

Ferramentas CASE são úteis para apoiar todo o ciclo de processo de desenvolvimento e planejamento de um software ou ao menos uma parte

Frameworks são úteis para reaproveitar códigos ou arquitetura de software que trazem uma solução genérica para uma situação conhecida na fase de codificação do produto.

Considerações finais

Ferramentas CASE são softwares que auxiliam no desenvolvimento de projetos de sistemas de software.

Automatiza processos

Elicitação de requisitos

Documentação

Projeto

Apoia a produtividade

Implementação e testes

Referências / Bibliografia

http://www.cin.ufpe.br/~phmb/ip/MaterialDeEnsino/IntroducaoAoEclipse/IntroducaoAoEclipse.htm

http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=120