Palestra Ferramenta CASE

59
1 Palestra: Palestra: Uso de Ferramentas Case – Uso de Ferramentas Case – Auxilio na Modelagem de Auxilio na Modelagem de Softwares e Dados Softwares e Dados Prof. Roberto Schaefer Maio/2010

Transcript of Palestra Ferramenta CASE

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

28Prof. Roberto Schaefer

Telas

29Prof. Roberto Schaefer

30Prof. Roberto Schaefer

31Prof. Roberto Schaefer

Ferramenta CASE

Alguns softwares

32Prof. Roberto Schaefer

Umbrello

33Prof. Roberto Schaefer

34Prof. Roberto Schaefer

35Prof. Roberto Schaefer

36Prof. Roberto Schaefer

MySQL Workbench

37Prof. Roberto Schaefer

38Prof. Roberto Schaefer

39Prof. Roberto Schaefer

40Prof. Roberto Schaefer

41Prof. Roberto Schaefer

42Prof. Roberto Schaefer

Jude

43Prof. Roberto Schaefer

44Prof. Roberto Schaefer

45Prof. Roberto Schaefer

46Prof. Roberto Schaefer

47Prof. Roberto Schaefer

48Prof. Roberto Schaefer

BR Modelo

49Prof. Roberto Schaefer

50Prof. Roberto Schaefer

51Prof. Roberto Schaefer

52Prof. Roberto Schaefer

DB Designer

53Prof. Roberto Schaefer

54Prof. Roberto Schaefer

55Prof. Roberto Schaefer

56Prof. Roberto Schaefer

57Prof. Roberto Schaefer

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”.

59Prof. Roberto Schaefer

Prof. Roberto [email protected] 61 9179-7519