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
Mucho más que documentos.
Descubra todo lo que Scribd tiene para ofrecer, incluyendo libros y audiolibros de importantes editoriales.
Cancele en cualquier momento.