Ferramentas CASE - é um aplicativo que auxilia os profissionais envolvidos na tarefa de produzir sistemas, o tipo de ajuda depende exclusivamente da proposta do fabricante.
Por este motivo se dividem em 3 categorias:
# Lower Case – ferramentas de codificação (Front - end);
# Upper Case – ferramentas de análise, projeto e implementação.
# Integrated Case – união de Upper e Lower case.
Também podem ser classificadas de acordo com os serviços que oferecem, dentre as quais citam-se:
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.
COMO CONSTRUIR ?- utilizando as técnicas de desenvolvimento de software – afinal ela é um software.
- Cada ferramenta tem propósitos diferentes, fornece serviços diferentes, mas possuem algumas características em comum .
-Destacam –se 2 atividades, quando envolvidas no desenvolvimento de uma Ferramenta CASE: Levantamento de requisitos, projeto de arquitetura.
PRINCIPAIS VANTAGENS – Qualidade Final do produto, Maior Produtividade, Rapidez na tomada de decisão, Menos Programação, Redução de custos na manutenção,
Agilidade no debug.
PRINICIPAIS DESVANTAGENS – Incompatibilidade de ferramentas, custo alto por licença, Treinamento para utilização.
COMO ESCOLHER UMA FERRAMENTA CASE – Primeiramente deve saber para qual finalidade essa ferramenta será usada na empresa,
será para codificação ou ferramenta para analise. Se a ferramenta é aderente aos conceitos de analise estruturada ou orientação a objetos ou essencial.
ALGUNS MODELOS> Rational Rose – adquirida pela IBM./ JUDE (Java and UML Developers’ Environment) desenvolvida por Massimo zaniboni ./
RUP (processo unificado da rational) adquirida pela IBM./ VISIO PROJECT adquirida pela Microsoft.
CICLO DE VIDA - Normalmente um software tem um ciclo de vida curto, de no Maximo 5 anos quando não sofre implementações.
Não existe software pronto e acabado, pois ao longo de sua vida exigirá manutenção legal, correções e melhorias ou implementações.
Ciclo de vida serve para definir o inicio e o fim de um software.
FASES DO CICLO DE VIDA - Concepção (nascimento do sistema) / Construção (analise e programação) / Implantação (teste e disponibilização ao cliente)
/ Implementações (pequenos ajustes pós) / Maturidade (software sedimentado)/ Declínio (dificuldade de continuidade)/
Manutenção (tentativa de sobrevivência ) e Morte (descontinuidade).
FINALIDADE - Há três objetivos principais .
- definir as atividades a serem executadas em um projeto. /- Introduzir a coerência entre muitos projetos na mesma organização./
- Fornece pontos de checagem para controle de gerencia e pontos de checagem para a decisão “ir ou não ir”.
STAKEHOLDERS(PRINCIPAIS ENVOLVIDOS) –são indivíduos e organizações, envolvidos e interessados no projeto.
RATIONAL UNIFIED PROCESS – RUP – geralmente descrito apartir de 3 perspectivas:
- Perspectiva dinâmica, mostra as fases do modelo ao longo do tempo./-Perspectiva estática, mostra as atividades realizadas nos processos
./ - Perspectiva pratica, sugere as boas praticas a serem usadas durante o processo.
_______________________________________________________________________________________________________
Gerência de Projetos – o projeto consiste na aplicação de um conjunto de técnicas e princípios de modo a definir um sistema num nível de detalhe suficiente a sua realização
- é responsável pela produtividade, desenvolvimento e qualidade do software.
- métricas são utilizadas principalmente pela gerencia de projetos para garantir um trabalho mais confiável.
A má utilização das métricas pode causar erros nas perspectivas, conduzindo ate ao fracasso do projeto.
MEDIDAS E METRICAS – medir é fundamental em qualquer disciplina da engenharia. Métricas de software refere se a uma ampla variedade de medidas de software de computador.
- consiste em mensurar e criar parâmetros para obter informações sobre o andamento e desenvolvimento do software.
Para o gerenciamento – objetivo é medir a produtividade e qualidade
Medidas subjetivas –são baseadas em idéias individuais sobre o que deveria ser a métrica. O resultado será diferente com diferentes observadores.
Medidas objetivas – ou algorítmicas , são aquelas que podem ser calculadas precisamente de acordo com um algoritmo.seu valor não altera devido as alterações no tempo local ou observador.
Métricas de processo – também conhecidas como métricas para gestão – relacionadas ao processo em uso e usadas para: ajudar nas estimativas de esforço, determinar se o projeto encontra-se no prazo
Métricas de produto –também conhecidas como métricas de qualidade – medem a qualidade do produto.
Não se pode controlar o que não se pode medir. Porque medir um software? – indicar a qualidade do produto, avaliar a produtividade dos desenvolvedores, avaliar os benefícios de novos métodos e ferramentas de desenvolvimento, melhorar o processo de desenvolvimento.
Divisão das Métricas em categorias - métricas de produtividade – concentram-se na saída do processo de engenharia de software.
Métricas de Qualidade: oferece indicação da conformidade as exigências do cliente / métricas técnicas – concentram-se nas características do software e não no processo por meio qual o software foi desenvolvido.
#Orientadas a tamanho – compila medições diretas da saída e qualidade.
#Orientadas a Função – oferecem medidas indiretas / Orientadas as pessoas – compilam informações segundo a qual as pessoas desenvolvem software.
_____________________________________________________________________________________________________________________________________________________________________________________________
ANALISE DE REQUISITOS – os requisitos de um sistema são descrições dos serviços fornecidos pelo sistemas e as suas restrições operacionais.
Requisitos do Usuário – são declarações em uma linguagem natural com diagramas de quais serviços são esperados do sistema e as restrições sob as quais ele deve operar.
Requisitos do Sistema - definem detalhadamente as funções, os serviços e as restrições operacionais do sistema.
Requisitos Funcionais – são as declarações de serviços que o sistema deve fornecer, como o sistema deve reagir a entradas especificas e como o sistema deve comportar em determinadas situações.
Requisitos Não Funcionais – são as restrições sobre os serviços ou as funções oferecidas pelo sistema.