palestra ferramenta case
Post on 02-Jan-2016
13 Views
Preview:
TRANSCRIPT
1
Palestra:Palestra:
Uso de Ferramentas Case – Uso de Ferramentas Case – Auxilio na Modelagem de Auxilio na Modelagem de
Softwares e DadosSoftwares e Dados
Prof. Roberto Schaefer Maio/2010
2Prof. Roberto Schaefer
» Algumas perguntas frequentes:✗ O que é uma ferramenta CASE?✗ Para que ela serve?✗ Onde usá-la?✗ Quando usá-la?✗ Por que usá-la?✗ Qual a melhor delas?
Prof. Roberto Schaefer
3Prof. Roberto Schaefer
» A sigla CASE: “Computer-Aided Software Engineering” => “Engenharia de Software Auxiliada por Computador”.
» Ferramenta CASE é um aplicativo que auxilia os profissionais envolvidos na tarefa de produzir sistemas.
» Ferramenta CASE se divide em 3 categorias:✗ 1. Lower CASE - ferramentas de codificação (front-end);✗ 2. Upper CASE - ferramentas de análise, projeto e
implementação;✗ 3. Integrated CASE - união de Upper e Lower CASE.
4Prof. Roberto Schaefer
» Ferramenta CASE serve para automatizar atividades de gestão de projetos e dos produtos elaborados no processo de desenvolvimento de software.
» Ferramenta CASE é muito boa para documentação, qualidade de apresentação, gestão de configuração, construção de protótipo e suporte a análise e modelagem;✗ Modelagem de dados✗ Modelagem de engenharia de software
» Ferramenta CASE oferece recursos que podem minimizar o tempo de desenvolvimento de um projeto, mantendo o alto nível de qualidade.
5Prof. Roberto Schaefer
» Ferramentas CASE podem ser:✗ Horizontais: oferecem serviços utilizados
durante todo o processo de software✗ Verticais: utilizadas em fases específicas do
processo de software
6Prof. Roberto Schaefer
» Ferramentas CASE podem ser classificadas de acordo com os serviços que oferecem:✗ Documentação✗ Planejamento e gerenciamento de projetos✗ Especificações formais✗ Comunicação✗ Análise e projeto de software✗ Projeto e desenvolvimento de interfaces✗ Programação✗ Gerenciamento de Configuração✗ Controle de Qualidade
7Prof. Roberto Schaefer
» Resumindo:✗ Ferramenta CASE é um software que:
• auxilia no aumento da produtividade, na melhora da qualidade, na diminuição dos custos, no gerenciamento do projeto.
• é de grande facilidade no seu uso e de manutenção.
• se apresenta como uma boa solução em desenvolvimento de software.
8Prof. Roberto Schaefer
✗ Ferramentas CASE automatiza uma grande variedade de tarefas: • Geração de documentação,
• Testes,
• Engenharia Reversa,
• Geração de código,
• Geração de Relatórios
• Etc.... ✗ Ferramenta CASE, por esses motivos, também
são conhecidas como “Ferramentas de Produtividade”.
9Prof. Roberto Schaefer
Gestão
» Algumas empresas não se sentem confortáveis em utilizar uma Ferramenta CASE, devido o possível grande impacto que ela pode gerar, pois, por serem um conjunto integrado de ferramentas que podem atuar em todas as fases de desenvolvimento de software, tem um impacto profundo, exigindo novas metodologias.
10Prof. Roberto Schaefer
» Existe um outro lado, o das vantagens em se utilizar uma Ferramenta CASE:✗ que é o aumento da produtividade, melhor
qualidade, diminuição dos custos, melhor gerenciamento e a grande facilidade de manutenção.
» As empresas estão se estruturando para entender como funcionam os processos e decisões para aquisição de produtos e serviços.
11Prof. Roberto Schaefer
» Para as empresas que adotam uma Ferramenta CASE, os principais objetivos são os resultados que podem ser mensuráveis até com certa facilidade, mas com muita disciplina.✗ Para tanto, é necessário um eficiente estudo
de viabilidade para implementação de uma Ferramenta CASE.
12Prof. Roberto Schaefer
Como escolher
1) Definir qual será o uso da ferramenta em sua empresa? Ferramenta para codificação, para análise, para modelagem?
2) A ferramenta deve ser aderente aos conceitos de trabalho na sua empresa – análise estruturada ou orientação a objetos.
3) É importante que a ferramenta venha evoluindo com o tempo (upgrade de novas versões).
13Prof. Roberto Schaefer
4) É preciso identificar se a equipe esta preparada tecnicamente para trabalhar com a ferramenta.
5) A metodologia de desenvolvimento (MDS) em minha empresa esta devidamente amadurecida para trabalhar com essa tecnologia?
6) A ferramenta deve ser desenvolvida sob uma arquitetura inteligente (customizável).
7) A ferramenta deve ter um módulo de auxílio (help) simples e de fácil acesso.
14Prof. Roberto Schaefer
8) O ideal é que a ferramenta tenha integração com outros aplicativos de desenvolvimento.
9) Ela deve ter embutida verificação de consistência através de regras específicas.
10) Geração de relatório para acompanhamento dos trabalhos é muito importante.
15Prof. Roberto Schaefer
11) Deve-se fazer análise do mercado.
12) Análise de documentação de ferramentas similares existentes.
13) Testes sobre as ferramentas similares existentes
14) Elaboração e aplicação de questionários (na forma de ciclo de questões) que deverão ser respondidos pelos desenvolvedores e pessoal de marketing
16Prof. Roberto Schaefer
» A seguir apresentamos pesquisa comparativa de produtos disponíveis no mercado para auxilio na definição da ferramenta a ser definida pela empresa:
17Prof. Roberto Schaefer
» Algumas preocupações:✗ A captura dos requisitos do sistema junto ao
usuário é um pouco diferenciada porque:• Os usuários de ferramentas CASE não são tão
bem definidos quanto os usuários de um aplicação comum => São desenvolvedores
• Membros de equipes de marketing também auxiliam no processo
• Trata-se de um produto dirigido a “mercado”
18Prof. Roberto Schaefer
» Outros aspectos importantes a serem analisados:✗ As atividades do ciclo de vida que a ferramenta vai abranger;✗ O repositório de dados que será utilizado;✗ O estilo de interface que será adotado;✗ Os serviços disponíveis em outras ferramentas que serão
reutilizados;✗ Quais as ferramentas existentes no mercado com as quais esta
ferramenta deveria cooperar;✗ Quais mecanismos de comunicação com outras ferramentas,
serão utilizados;✗ Quais filtros de dados serão utilizados✗ Para quais plataformas a ferramenta será desenvolvida.
19Prof. Roberto Schaefer
Critérios
EficiênciaConfiabilidade Manutenabilidade Portabilidade Geral
Funcionalidade
Ambiente deOperação
Ambiente deProjetos
Ambiente deHW/SW
AmbienteTecnológico
FunçõesVerticais
Modelagem
Implementação
Teste
Funções Horizontais
Documentação
Gerenciamentode configuração
Gerenciamentode projetos
Usabilidade
20Prof. Roberto Schaefer
Arquitetura
» Ferramenta CASE deve ser flexível, com arquitetura modular para facilitar sua configuração para diferentes propósitos.
» A arquitetura deve ser baseada em:✗ Componentes: que representam os
subsistemas principais e objetos da ferramenta;
✗ Mecanismos de interação (tecnologia de integração): que representam a forma como os componentes interagem, trocam informações e afetam uns aos outros;
Dicionário de dados
...
Fontes
FerramentasFiltro
Ferramentas comDicionário de dados
Ferramentas comBanco de dados
Dados derivados
Fontes
Banco de dados
Arquivos Arquivos
Testes de codificação
Engenharia reversa
Qualquer ferramentaque interprete a basede dados
Principal diferença entre elas: a abertura para o compartilhamento de dados com outras ferramentas. A melhor forma é a da terceira arquitetura
Exemplos de Arquitetura
22Prof. Roberto Schaefer
Apresentação (similaridades de estilo e interface)
Dados
Controle
Operações comuns
Guias de estilo de funcionalidade
Sistema dearquivos
Dicionário dedados
Banco dedados
Controle deprocessos
Mensagens
Chamada deprocedimentos
Modelo de Integração
23Prof. Roberto Schaefer
» Composição básica de uma ferramenta CASE:
Interface com o usuário.
Interface de comunicação.
Interface com o SGBD.
Usuário
Outras ferramentas
24Prof. Roberto Schaefer
Produtos:
» Alguns produtos no mercado:✗ IBM Rational Rose✗ Microgold With Class
2000✗ Altova UModel✗ Object Domain✗ Enterprise Architect…✗ System Architect✗ Enterprise Architect✗ Microsoft VISIO✗ Leap SE✗ DTM Data Modeller
✗ Power Designer✗ DB Designer✗ MySQL Workbench✗ BR Modelo✗ Embarcadero Data
Architect✗ ER Win✗ Jude✗ Umbrello✗ ArgoUML✗ VisualParadigm for UML✗ SDE✗ Creately✗ MyUML
25Prof. Roberto Schaefer
✗ Fast Case✗ Voodoo✗ xFig✗ kUML✗ UML Sculptor✗ UML Object Modeller
for Linux✗ Thorn✗ DIA✗ Poseidon✗ Oracle Data Modeler
✗ Violet UML✗ JUML✗ Frame UML✗ Pacestar UML
Diagrammer✗ Astade✗ UML Sculptor
26Prof. Roberto Schaefer
Sites
» ArgoUML - http://argouml.tigris.org
» Poseidon - http://www.gentleware.com/
» DIA - http://www.lysator.liu.se/~alla/dia/dia.html
» kUML - http://www.informatik.fh-hamburg.de/~kuml/
» xFig - http://epb1.lbl.gov/xfig/
» Voodoo - http://voodoo.sourceforge.net/
» UML Sculptor - http://umlsculptor.sourceforge.net/
» UML Object Modeller for Linux - http://uml.sourceforge.net/
» Fast Case - http://www.nce.ufrj.br/fastcase/Home.html
» Thorn - http://sourceforge.net/projects/thorn/
» Sybase - http://www.sybase.com.br/products/modelingdevelopment/powerdesigner
» MySQL Workbench - http://www.mysql.com/downloads/workbench/
27Prof. Roberto Schaefer
» DB Designer - http://www.fabforce.net/dbdesigner4/
» Rational Rose – http://www.ibm.com/developerworks/br/downloads/r/rrrt/
» Embarcadero Data Architect – http://www.embarcadero.com/products/er-studio-data-architect
» BR Modelo – http://www.sis4.com/brmodelo/
» Novo Jude – https://members.change-vision.com/members/files/astah_community
» ER Win – http://www.ca.com/us/products/product.aspx?id=260
58Prof. Roberto Schaefer
Conclusão
» As Ferramentas CASE são software que muito auxiliam no desenvolvimento dos projetos de TI, gerando produtos bem documentados e com qualidade, além de aumentar a produtividade da equipe.
» Podemos afirmar que são “Ferramentas de Produtividade”.
top related