Buscar

1 - Aula - Modelos de processos 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 35 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 35 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 35 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

Processos de Software
Professor: Alexandre Santos
Modelos de processos
Processo define 
Quem faz
Como faz
O quê fazer 
Quando fazer
Por quê faz
Modelo de Processo
Descrição simplificada do processo
Roteiro útil para o trabalho a ser realizado 
Modelos de processos
O que um modelo de processo defini?
Atividades de um desenvolvimento de Software
Produtos especificados para cada atividade
Papéis para os envolvidos 
Quais as vantagens?
Padronização.
Melhoria na comunicação.
Modelos de processos
Existem vários modelos de processo de software (ou paradigmas de engenharia de software).
Cada modelo de Software vai apresentar uma ordem e um fluxo de trabalho.
Modelo Cascata
Modelo mais antigo e o mais amplamente usado da engenharia de software, tornou-se conhecido na década de 70
Modelado em função do ciclo da engenharia convencional 
Requer uma abordagem sistemática, seqüencial ao desenvolvimento de software 
O resultado de uma fase se constitui na entrada da outra 
Modelo Cascata
Modelo Cascata
Envolve a licitação de requisitos do sistema, com uma pequena quantidade de projeto e análise de alto nível; 
Preocupa-se com aquilo que conhecemos como engenharia progressiva de produto de software; 
Iniciar com um modelo conceitual de alto nível para um sistema e prosseguir com o projeto, implementação e teste do modelo físico do sistema. 
1º Etapa: Exploração de Conceitos / Informação e Modelagem 
Etapa do projeto que apresenta O quê
Modelo Cascata
Processo de elicitação dos requisitos é intensificado e concentrado especificamente no software 
Deve-se compreender o domínio da informação, a função, desempenho e interfaces exigidos 
Os requisitos (para o sistema e para o software) são documentados e revistos com o cliente
2º Etapa: Análise de Requisitos de Software
Etapa do projeto que apresenta O quê
Modelo Cascata
Tradução dos requisitos do software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação inicie. 
3º Etapa: Projeto
Etapa do projeto que apresenta Como?
Modelo Cascata
Tradução das representações do projeto para uma linguagem “artificial” resultando em instruções executáveis pelo computador e implementado num ambiente de trabalho. 
4º Etapa: Implementação 
Etapa do projeto que apresenta Como?
Modelo Cascata
Concentra-se:
Nos aspectos lógicos internos do software, garantindo que todas as instruções tenham sido testadas
 
Nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados.
5º Etapa: Teste 
Etapa do projeto que apresenta Operação!
Modelo Cascata
Provavelmente o software deverá sofrer mudanças depois que for entregue ao cliente
Causas das mudanças: erros, adaptação do software para acomodar mudanças em seu ambiente externo e exigência do cliente para acréscimos funcionais e de desempenho 
6º e 7º Etapas: Liberação e Manutenção 
Etapa do projeto que apresenta Operação!
Problemas do modelo Cascata
Projetos reais raramente seguem o fluxo sequencial que o modelo propõe; 
Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projetos sempre existe uma incerteza natural; 
O cliente deve ter paciência. Uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento (na instalação); 
Difícil identificação de sistemas legados (não acomoda a engenharia reversa)
Problemas relacionados
Modelo Cascata
Embora o Modelo em Cascata tenha fragilidades, ele é significativamente melhor do que uma abordagem casual de desenvolvimento de software
O Modelo de processo em Cascata trouxe contribuições importantes para o processo de desenvolvimento de software: 
Imposição de disciplina, planejamento e gerenciamento
A implementação do produto deve ser postergada até que os objetivos tenham sido completamente entendidos;
O Paradigma de Prototipação
O objetivo é entender os requisitos do usuário e, assim, obter uma melhor definição dos requisitos do sistema. 
Possibilita que o desenvolvedor crie um modelo (protótipo)do software que deve ser construído 
Apropriado para quando o cliente não definiu detalhadamente os requisitos.
O Paradigma de Prototipação
O Paradigma de Prototipação
Desenvolvedor e cliente definem os objetivos gerais do software, identificam quais requisitos são conhecidos e as áreas que necessitam de definições adicionais.
OBTENÇÃO DOS REQUISITOS:
PROJETO RÁPIDO:
Representação dos aspectos do software que são visíveis ao usuário (abordagens de entrada e formatos de saída) 
O Paradigma de Prototipação
Implementação rápida do projeto
CONSTRUÇÃO DO PROTÓTIPO:
AVALIAÇÃO DO PROTÓTIPO:
Cliente e desenvolvedor avaliam o protótipo
REFINAMENTO DO PROTÓTIPO: cliente e 
Cliente e desenvolvedor refinam os requisitos do software a ser desenvolvido. 
O Paradigma de Prototipação
CONSTRUÇÃO PRODUTO
Identificados os requisitos, o protótipo deve ser descartado e a versão de produção deve ser construída considerando os critérios de qualidade.
Problemas com a Prototipação
Cliente não sabe que o software que ele vê não considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo 
 
Desenvolvedor frequentemente faz uma implementação comprometida (utilizando o que está disponível) com o objetivo de produzir rapidamente um protótipo 
O Modelo RAD
RAD (Rapid Application Development) é um modelo sequencial linear que enfatiza um ciclo de desenvolvimento extremamente curto. 
O desenvolvimento rápido é obtido usando uma abordagem de construção baseada em componentes.
O Modelo RAD
Os requisitos devem ser bem entendidos e o alcance do projeto restrito 
O modelo RAD é usado principalmente para aplicações de sistema de informação 
 
Cada função principal pode ser direcionada para uma equipe RAD separada e então integrada para formar o todo
O Modelo RAD
O Modelo RAD
Exige recursos humanos suficientes para todas as equipes 
Exige que desenvolvedores e clientes estejam comprometidos com as atividades de “fogo rápido” a fim de terminar o projeto num prazo curto 
Desvantagens: 
Modelos Evolutivos de Processo
Existem situações em que a engenharia de software necessita de um modelo de processo que possa acomodar um produto que evolui com o tempo
Quando os requisitos de produto e de negócio mudam conforme o desenvolvimento prossegue
Quando uma data de entrega apertada (mercado) - impossível a conclusão de um produto completo 
Quando um conjunto de requisitos importantes é bem conhecido, porém os detalhes ainda devem ser definidos
Quando devemos utilizar?
Modelos Evolutivos de Processo
O Modelo Incremental 
O Modelo Espiral 
Exemplo de modelos evolutivos 
 O Modelo Incremental 
O Modelo Espiral 
 Como escolher o modelo
Pode-se selecionar o melhor modelo se seguir as respostas estão satisfeitos:
É o modelo adequado à tecnologia escolhida para implementar o software ?
É o modelo adequado aos requisitos dos clientes e as prioridades ?
É modelo adequado para o tamanho e a complexidade do software ?
É o modelo adequado para o tipo de projetos e engenharia que fazemos ?
É o modelo adequado para o desenvolvedores ?
Coleta de dados (Briefing)
Precisamos coletar informações sobre o comportamento de um sistema atual ou sobre os requisitos de um novo sistema
Precisamos verificar nossa própria compreensão, como analistas de sistemas, do comportamento de um sistema atual ou dos requisitos de um novo sistema.
Precisamos coletar informações sobre o(s) sistema(s) atual(is) para a execução do estudo de custo/benefício para o novo sistema. 
Dicas de coleta
Desenvolva um plano geral de entrevistas
Planeje a entrevista para fazer uso eficiente do tempo 
Utilize ferramentas automatizadas que sejam adequadas, mas não abuse
Use um estilo adequado de entrevistar
Métodos de coleta
Entrevista.
Questionário
Documentos e registros
Pesquisas
Grupos focais
RespondaO que é um Software?
O que é processo de software ou Software Development Life Cycle (SDLC - Ciclo de Vida de Desenvolvimento de Software )?
Quais são as fases mais em comum que temos nos modelos?
Qual modelo é o melhor?
O que é gerenciamento de projetos de software?
O que são requisitos de software?
O que é um modelo de software?
software é um pacote completo, que inclui programa de software, sua documentação e guia do usuário sobre como usar o software.
O que é um Software?
2. O que é processo de software ou Software Development Life Cycle (SDLC)?
Ciclo de Vida de Desenvolvimento de Software, ou processo de software é o desenvolvimento sistemático de software seguindo cada etapa do processo de desenvolvimento ou seja, requisito Recolha, análise de sistemas, Design, codificação, Testes, manutenção e documentação em ordem.
3. Quais são as fases mais em comum que temos nos modelos?
Obrigatoriedade Recolha, análise de sistemas e Design, codificação, teste e implementação. As fases depende do modelo que escolher para desenvolver o software.
4. Qual O SDLC modelo é o melhor?
O SDLC modelos são aprovados conforme os requisitos do processo de desenvolvimento. Ele pode muito software a software para garantir que modelo é adequado.
Gerenciamento de projetos de Software é um processo de gestão de todas as atividades, como tempo, custo e de gestão da qualidade envolvidos no desenvolvimento de software.
5. O que é gerenciamento de projetos de software?
6. O que são requisitos de software?
Requisitos de Software são descrição funcional do sistema de software proposto. Os requisitos mostra o sistema de destino, suas funcionalidades e recursos. Requisitos transmiti as expectativas dos usuários do sistema.
7. O que é um modelo de software?
É uma descrição simplificada de um processo de software, que é representada a partir de uma perspectiva específica.

Continue navegando