Buscar

princípios de Engenharia de software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Engenharia de Software 
Paulo Cesar de Macedo 
Aula 1 
Paradigmas de Engenharia de 
Software 
l  A estratégia usada no desenvolvimento 
do software deve definir etapas que 
envolvem métodos, ferramentas e 
procedimentos. 
l  Uma estratégia de desenvolvimento é 
um modelo de processo ou paradigma 
de engenharia de software. 
 
 
Paradigmas de Engenharia de 
Software 
l  A escolha da estratégia deve considerar: 
–Natureza do projeto 
–Tipo da aplicação 
–Métodos e ferramentas que serão usados 
–Métodos de controle 
–Prazo de entrega 
–Produtos que serão entregues 
Paradigmas de Engenharia de 
Software 
l  Principais paradigmas: 
–Cascata. 
–Prototipação. 
–Espiral. 
Modelo Cascata 
Etapas do Modelo Cascata 
l  Requisitos 
– Coleta os requisitos do software. 
– Gera o documento de especificação do 
sistema que serve de base para o 
orçamento, cronograma, esforço, 
ferramentas a serem utilizadas, etc. 
Etapas do Modelo Cascata 
 
l  Análise 
– Compreensão clara e precisado domínio 
do problema e das funcionalidades do 
software. 
– Levantamento e revisão em conjunto 
com representantes do cliente, usuários 
chave se outros especialistas da área de 
aplicação. 
Etapas do Modelo Cascata 
l  Projeto 
–Concentra-se na definição das estruturas de dados, 
arquitetura do software, detalhes procedimentais e 
caracterização da interface. 
l  Codificação 
– Tradução do projeto para uma linguagem legível para a 
máquina. 
– Se o projeto for bem detalhado essa tarefa pode ser 
automatizada. 
Etapas do Modelo Cascata 
l  Teste 
–Inicia-se logo após a geração do código. 
–Visa garantir que uma entrada do programa 
produz o resultado esperado. 
l  Manutenção 
– Ocorre em função de: 
Ocorrência de erros 
Adaptações para acomodar mudanças externas 
Acréscimos funcionais 
Problemas de desempenho 
Vantagens do Modelo Cascata 
l  Padroniza os métodos para análise, 
projeto,codificação, testes e 
manutenção. 
l  Etapas semelhantes às etapas 
genéricas aplicáveis a todos os 
paradigmas. 
Desvantagens do Modelo 
Cascata 
l  Projetos reais raramente seguem o fluxo 
seqüencial que esse modelo propõe. 
l  Sempre ocorre alguma interação e/ou 
superposição. 
l  Dificilmente os clientes são capazes de 
relacionar todos os requisitos de uma só 
vez no início do projeto. 
Desvantagens do Modelo 
Cascata 
l  Maioria dos programas só estará 
disponível quando o cronograma já está 
bastante adiantado. 
l  Dificuldades para se introduzir 
alterações quando o processo está 
avançado. 
Prototipação 
Prototipação 
l  Criação de um modelo do software que 
será implementado. 
l  Facilita a definição dos objetivos do 
software. 
l  Retrata a interação entre o usuário e o 
software. 
Etapas da Prototipação 
l  Coleta e refinamento dos requisitos. 
– Definição dos objetivos globais. 
l  Projeto rápido. 
– Identificação interações entre usuário e 
software. 
– Concentra-se nas entradas e saídas do 
software. 
l  Construção do protótipo. 
Etapas da Prototipação 
l  Avaliação do protótipo pelo cliente. 
–Refinamento dos requisitos do software. 
l  Refinamento do protótipo. 
–Reflete o refinamento dos requisitos. 
–Capacita o desenvolvedor a compreender 
melhor os objetivos do software. 
l  Engenharia do produto. 
–O produto final é construído baseando-se no 
protótipo, que é descartado. 
Etapas da Prototipação 
l  O que incluir no protótipo? 
l  Não é economicamente viável 
implementar todo o sistema. 
l  Deve-se considerar qual o objetivo 
principal do protótipo. 
Vantagens da Prototipação 
l  Melhora a qualidade da especificação do 
software a ser desenvolvido, contribuindo para 
uma queda nos custos de desenvolvimento e 
manutenção. 
l  Antecipa o treinamento dos usuários. 
l  Partes do protótipo podem ser aproveitadas no 
desenvolvimento do sistema. 
 
Desvantagens da Prototipação 
 
l  O custo na maioria dos casos é 
considerado muito alto. 
l  O cliente tende a confundir o protótipo 
com uma versão do sistema. 
Modelo Espiral 
l  Aproveita as melhores características do 
modelo cascata e da prototipação. 
l  Acrescentando um novo elemento: a 
análise de riscos. 
 
Modelo Espiral 
Modelo Espiral 
l  decisão de continuar ou não direção de 
um sistema concluído 
l  avaliação do cliente 
l  engenharia 
l  análise dos riscos 
l  planejamento 
Etapas do Modelo Espiral 
l  Planejamento. 
– Definição dos objetivos, alternativas e 
restrições. 
l  Análise dos Riscos. 
– Análise de alternativas e identificação 
dos riscos sob o ponto de vista técnico e 
de gerência. 
 
Etapas do Modelo Espiral 
l  Engenharia. 
– Desenvolvimento do produto. 
l  Avaliação do Cliente. 
– Avaliação dos resultados da engenharia. 
Vantagens do Modelo Espiral 
l  Modelo evolutivo possibilita uma maior 
integração entre as fases e facilita a 
depuração e a manutenção do sistema. 
l  Permite que o projetista e cliente possa 
entender e reagir aos riscos em cada 
etapa evolutiva. 
Desvantagens do Modelo Espiral 
l  Avaliação dos riscos exige muita 
experiência. 
l  O modelo é relativamente novo e não 
tem sido amplamente utilizado. 
Fases Genéricas do Processo de 
Desenvolvimento 
l  Fases Genéricas: 
– Definição, desenvolvimento e 
manutenção. 
– Independem do paradigma adotado. 
– Independem da área de aplicação, 
tamanho e complexidade do projeto. 
A Fase de Definição 
l  Concentra-se no “quê”. 
– Que informações devem ser processadas? 
– Que funções devem ser desempenhadas? 
– Quais são as exigências fundamentais do 
software? 
– Quais são as restrições do projeto? 
Etapas da Fase de Definição 
l  Análise do Sistema: 
– Define o papel que o software deverá 
desempenhar. 
l  Planejamento do Projeto de Software: 
– Analisa os riscos, aloca os recursos, estima os 
custos e define as tarefas que serão 
realizadas. 
l  Análise de Requisitos 
– Define detalhadamente o domínio da 
informação e a função do software. 
A Fase de Desenvolvimento 
l  Concentra-se no “como”. 
– Como projetar as estruturas de dados e a 
arquitetura do software? 
– Como implementar os detalhes 
procedimentais? 
– Como traduzir o projeto para uma linguagem 
de programação? 
– Como realizar os testes? 
Etapas da Fase de 
Desenvolvimento 
Projeto de Software: 
– Traduz os requisitos do software em um 
conjunto de representações que 
descrevem o software. 
Etapas da Fase de 
Desenvolvimento 
 
l  Codificação: 
– Converte as representações do projeto 
em uma linguagem artificial executada 
pelo computador. 
l  Realização de Testes de Software: 
– Procura por defeitos de função, lógica e 
implementação do software. 
 
A Fase de Manutenção 
l  Concentra-se nas mudanças sofridas pelo software. 
l  Tipos de Mudanças: 
– Correção 
Corrige defeitos encontrados pelo cliente (manutenção 
corretiva). 
– Adaptação 
Acomoda mudanças ocorridas no ambiente do software 
(manutenção adaptativa). 
– Melhoramento Funcional 
Estende o software para além de suas exigências funcionais 
originais (manutenção perfectiva). 
REFERÊNCIAS 
l  PRESSMAN, Roger S. - Engenharia de 
Software - Uma Abordagem Profissional 
- 7º Edição 
l  SOMMERVILLE , Ian - Engenharia de 
Software

Outros materiais