Professional Documents
Culture Documents
Tcnicas Tcnicas
CASE Automatizadas
Fim dcada de 80 Dcada de 80
Metodologias e Tcnicas
Estruturadas
Evoluo
Programao Estruturada
Enfocavam o programa em si
Preocupao com o cdigo do programa
Preocupao com a complexidade do programa
Metodologias e Tcnicas
Estruturadas
Evoluo
Projeto Estruturado
Introduzir organizao e disciplina ao projeto
Viso de alto nvel
Conceito de modularizao refinado
Mtricas para qualidade de software
Metodologias e Tcnicas
Estruturadas
Evoluo
Anlise Estruturada
Ateno voltada para a especificao do problema
Necessidades dos sistemas
Uso de Diagramas de Fluxo de Dados
Variedade de tcnicas estruturadas
Metodologias e Tcnicas
Estruturadas
Evoluo
Tcnicas Automatizadas
Surgiu a necessidade de automao no
desenvolvimento de sistemas
Uso apropriado do computador, durante as fases de
anlise e projeto
Tcnicas de verificao, sendo algumas
fundamentadas pela matemtica
Automatizao de cdigo
Metodologias e Tcnicas
Estruturadas
Evoluo
CASE
Engenharia da Informao (modelos de dados
estruturados e modelos da empresa e seus
processos)
Apoio a projeto com checagem de verificao
Especificaes a partir das quais o cdigo gerado
automaticamente
Metodologias e Tcnicas
Estruturadas
Caractersticas
Fcil Uso
Utilizadas com as linguagens de quarta gerao
e geradores de cdigo
Rigorosa
Orientadas para Banco de Dados
Ferramentas automatizadas
Metodologias e Tcnicas
Estruturadas
Princpios
Princpios da Tcnica Estruturada
Princpio da Abstrao - para resolver um
problema, separar os aspectos que esto ligados a
uma realidade particular, visando represent-lo em
forma simplificada e geral
Princpio da Formalidade - seguir uma abordagem
rigorosa e metdica para resolver um problema
Metodologias e Tcnicas
Estruturadas
Princpios
Princpios da Tcnica Estruturada
Princpio de Dividir-para-Conquistar - resolver um
problema difcil dividindo-o em um conjunto de
problemas menores e independentes que so mais
fceis de serem compreendidos e resolvidos
Princpio de Organizao Hierrquica - organizar
componentes de uma soluo em uma estrutura
hierrquica tipo rvore. Assim a estrutura pode ser
compreendida e construda por nvel, cada novo nvel
acrescentando mais detalhes
Ciclo de Vida do Software
um conjunto ordenado de atividades que
so realizadas para desenvolver um
software!
Atividades:
Obter a aprovao do projeto;
Montar a equipe do projeto;
Definir o software;
Construir o software e
Manter o software.
Ciclo de Vida do Software
relatrios
dados
procedimentos
restries
Software
Atividades
Problema Soluo
Ciclo de Vida do Software
Ciclo de Vida Clssico (Cascata)
Engenharia
de sistemas
Anlise de
requisitos
Projeto
Codificao
Testes
Manuteno
Ciclo de Vida do Software
Ciclo de Vida Clssico (Cascata)
Anlise e Engenharia de Sistemas: coleta de
requisitos.
Anlise de Requisitos: os requisitos so
documentados e revistos com o cliente, afim de
entender o programa a ser construdo.
Projeto: preocupa-se com a estrutura dos
dados, arquitetura do software, detalhes
procedimentais e caracterizao de interface. O
projeto documentado.
Ciclo de Vida do Software
Ciclo de Vida Clssico (Cascata)
Codificao: traduo do projeto em linguagem
de programao.
Testes: os programas gerados so executados
a procura de erros. Esse processo concentra-se
nos aspectos lgicos internos (instrues
corretas) e nos aspectos funcionais externos (se
o software est produzindo resultados corretos)
Ciclo de Vida do Software
Ciclo de Vida Clssico (Cascata)
Manuteno: a etapa que mais consome
tempo durante o ciclo. Ocorreram mudanas
porque foram encontrados erros, para se
adaptar a mudanas externas no ambiente ou
pela exigncia do cliente de acrscimos
funcionais ou de desempenho.
Ciclo de Vida do Software
Ciclo de Vida Clssico (Cascata)
Problemas:
Os resultados so demorados
Falta de interao durante o ciclo de vida
Dificuldade do recolhimento total de requisitos no
incio do ciclo
Os erros so detectados somente na fase de teste
Ciclo de Vida do Software
Prototipao
Incio
Obteno de
Fim requisitos e
refinamento
Construo Projeto
do Software
rpido
Refinamento Construo
do prottipo do prottipo
Avaliao
do Cliente
Ciclo de Vida do Software
Prototipao
Utilizado como forma de detectar
prematuramente as falhas e omisses nas fases
iniciais, especialmente durante o levantamento
de requisitos.
O Projeto rpido leva a construo de um
prottipo para o usurio onde sero visveis,
principalmente, as abordagens de entrada e os
formatos de sada.
Pode ser uma maneira de extrair os requisitos
de um software de um usurio que no tem
certeza da natureza do sistema a ser
construdo.
Ciclo de Vida do Software
Prototipao
Problemas:
O prottipo muitas vezes construdo sem controle
de qualidade
O cliente pensa que o prottipo j o sistema pronto!
Ciclo de Vida do Software
Espiral
Combina a natureza iterativa da Prototipagem com os
aspectos sistemticos do Ciclo de Vida Clssico;
Desenvolvimento do software a partir de verses
(verses iniciais no papel, verses finais como
prottipos).
Ciclo de Vida do Software
Espiral
Ciclo de Vida do Software
Espiral
Fases:
Comunicao com o cliente: tarefas
necessrias para estabelecer efetiva
comunicao entre o desenvolvedor e o
cliente:
Planejamento: tarefas necessrias para definir
recursos, prazos e outras informaes
relacionadas aos projeto;
Anlise de risco: tarefas necessrias para
avaliar os riscos, tanto tcnicos quanto
gerencias;
Ciclo de Vida do Software
Espiral
Fases:
Engenharia: tarefas necessrias para construir uma ou
mais representaes da aplicao;
Construo e liberao: tarefas necessrias para construir,
testar, instalar e fornecer apoio ao usurio (por exemplo,
documentao e treinamento);
Avaliao pelo cliente: tarefas necessrias para obter
realimentao do cliente, com base na avaliao das
representaes do software criadas durante o estgio de
engenharia e implementadas durante o estgio de
instalao.
Ciclo de Vida do Software
Espiral
Vantagens:
O modelo espiral pode ser adaptado ao longo da vida do
software e no somente durante o seu desenvolvimento;
Modelo real para software de grande porte devido a seu
aspecto incremental de refinamento e comunicao;
Ciclo de Vida do Software
Espiral
Desvantagens:
Exige alto grau de organizao no processo de evoluo do
software;
Igualmente ao Ciclo de Vida Clssico, se algum problema
ocorre no incio do desenvolvimento, certamente causar
problemas mais graves no final;
Ciclo de Vida do Software
Tcnicas de Quarta Gerao (4GT)
Coleta de
requisitos
Estratgia
de projeto
Implementao
em 4GL
Teste
Ciclo de Vida do Software
Tcnicas de Quarta Gerao (4GT)
Uso de ferramentas que permitam a
especificao do software em um elevado grau
de abstrao
Gerao automtica de cdigo
Ferramentas CASE
Paradigmas de Engenharia de Software
Modelos de Desenvolvimento:
Cascata;
Prototipao;
Espiral;
Tcnicas de Quarta Gerao.