You are on page 1of 35

Tipos de Software

Softwares Bsicos (prximo ao Hardware);


Softwares de tempo real (percepo ao ambiente externo e resposta
entre 1 milissegundo e 1 minuto);
Softwares Comercial (Administrativos);
Software Cientfico e de Engenharia (Mecnica, astronomia
vulcanologia);
Software Embutido (memria de leitura);
Software de Computador Pessoal ;
Software de Inteligncia Artificial (especialistas, Baseado em
Conhecimento, redes neurais e redes bayseanas);

Todos so softwares com um objetivo em comum:


Atender a requisitos definidos pelo usurio;
Metodologias
Mtodo modelo ou paradigma

Metodologia - conjunto de passos a seguir


Exemplos:
Estruturadas
Orientada a Objetos
Metodologias
Vantagens:
Desenvolvimento mais rpido
Os desencontros entre requisitos e
especificao menor, por causa da
dependncia de um nvel para outro
Portabilidade, o projeto pode ser regenerado
para diferentes ambientes
Facilidade de manuteno
Metodologias e Tcnicas
Estruturadas
Objetivos
Construir programas de alta qualidade que
tenham comportamento previsvel
Construir programas que sejam facilmente
modificveis (manuteno)
Simplificar os programas e o seu processo de
desenvolvimento
Metodologias e Tcnicas
Estruturadas
Objetivos
Conseguir maior previsibilidade e controle no
processo de desenvolvimento
Acelerar o desenvolvimento de sistemas
Diminuir o custo do desenvolvimento de
sistemas
Metodologias e Tcnicas
Estruturadas
Evoluo
As tcnicas estruturadas evoluram da
Programao Estruturada para tcnicas que
incluem metodologias de anlise, projeto e
teste.
Uso de ferramentas CASE
Incio: fim da dcada de 60
Metodologias e Tcnicas
Estruturadas
Evoluo
Programao Projeto Anlise
Estruturada Estruturado Estruturada
Incio dcada de 70 Metade dcada de 70 Fim dcada de 70

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.

You might also like