Processos Gerenciais Aula 02 1dps 2014.2 Processos Gerencias.
Aula 2 - Processos de Software
-
Upload
rudson-kiyoshi-souza-carvalho -
Category
Software
-
view
39 -
download
2
Transcript of Aula 2 - Processos de Software
![Page 1: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/1.jpg)
Engenharia de Softwares e Gerência de Projetos
Prof. Rudson Kiyoshi Souza Carvalho Anhanguera - 2015
Engenharia de Software - Parte 2
![Page 2: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/2.jpg)
Engenharia de Softwares e Gerência de Projetos.
![Page 3: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/3.jpg)
Processos de Software
![Page 4: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/4.jpg)
O que é um processo de Software?
![Page 5: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/5.jpg)
• Um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software. Essas atividades podem envolver o desenvolvimento de software a partir do zero em uma linguagem padrão de programação como C# ou Java.
Processo de Software
![Page 6: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/6.jpg)
Modelos de Processos de Software
• O modelo de um processo de software é uma representação simplificada de um processo de software, e existem vários modelos de processo de software (ou paradigmas de engenharia de software)
Obs. cada uma representa uma tentativa de colocar ordem em uma atividade inerentemente caótica
![Page 7: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/7.jpg)
![Page 8: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/8.jpg)
Modelos de Processos de Software
![Page 9: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/9.jpg)
![Page 10: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/10.jpg)
Modelo em Cascata (Waterfall)
![Page 11: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/11.jpg)
Modelo em Cascata• Popularizado na década de 1970;
• Características:
• Composto por uma sequência de atividades;
• Uma atividade começa a executar quando a outra termina;
• Resultado de uma etapa é utilizado na etapa seguinte;
• Guiado por documentos;
• Ciclo de vida mais antigo e mais utilizado.
![Page 12: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/12.jpg)
Modelo em Cascata• Análise e definição de requisitos
• Objetivos, funções e restrições são definidos, com á ajuda de clientes e usuários, e servem como uma especificação do sistema, indicando o que deve ser implementado.
• Design de sistemas e software
• Envolve a descrição do sistema e do software em termos de unidades abstratas e de suas relações, indicando como o software deve ser implementado.
• Implementação e testes de unidade
• As unidades do software devem ser codificadas e testadas individualmente.
• Integração e testes de sistema
• As unidades são integradas e testadas
• Entrega, operação e manutenção
• O sistema é instalado e colocando em operação. A manutenção envolve a correção de erros e evolução do sistema para atender a novos requisitos.
Engenharia de Software © 2008 Jair C Leite
![Page 13: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/13.jpg)
Problemas Comuns no Modelo em 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).
![Page 14: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/14.jpg)
Desenvolvimento Incremental
![Page 15: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/15.jpg)
Desenvolvimento Incremental
• O desenvolvimento incremental é baseado na ideia de desenvolver uma implementação inicial, expô-la aos comentários dos usuários e continuar por meio da criação de várias versões até que um sistema adequado seja desenvolvido.
![Page 16: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/16.jpg)
Desenvolvimento Incremental
![Page 17: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/17.jpg)
Problemas Comuns no Desenvolvimento Incremental• Do ponto de vista de gerenciamento, a abordagem
incremental tem dois problemas:
• O processo não é visível. Os gerentes precisam de entregas regulares para mensurar o progresso.
• A estrutura do sistema necessita de diversas refatorações para acomodar as mudanças, e esta tarefa consome tempo e dinheiro.
![Page 18: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/18.jpg)
Engenharia de Software Orientada a Reuso
• Códigos, componentes ou sistemas completos que possuem semelhanças com a implementação desejada são identificados, modificados/adaptados para serem incorporados ao projeto.
![Page 19: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/19.jpg)
Engenharia de Software Orientada a Reúso
![Page 20: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/20.jpg)
Atividades do Processo
• Processos reais de software são intercalados com sequências de atividades técnicas, de colaboração e de gerenciamento, com o intuito de especificar, projetar, implementar e testar um sistema de software.
![Page 21: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/21.jpg)
Especificação do Software
• É o processo de compreensão e definição dos serviços requisitados do sistema e identificação de restrições relativas à operação e ao desenvolvimento do sistema.
![Page 22: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/22.jpg)
Especificação de Software
![Page 23: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/23.jpg)
![Page 24: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/24.jpg)
Projeto e Implementação• É o processo de conversão de uma especificação do sistema
em um sistema executável. Sempre envolve processo de projeto e programação de software, mas, se for usada um abordagem incremental para o desenvolvimento, também pode envolver o refinamento da especificação do software.
• Definição da arquitetura
• Projeto de Interfaces e Componentes
• Modelo de Dados
• Codificação
![Page 25: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/25.jpg)
Validação de Software• Tem a intenção de mostrar que um software se
adequa à suas especificações ao mesmo tempo que satisfaz as especificações do cliente.
• Testes de desenvolvimento
• Testes de sistema (integrado)
• Teste de aceitação
![Page 26: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/26.jpg)
Evolução do Software• Com o decorrer do tempo o software pode mudar,
e o mesmo deverá ser flexível para acomodar futuras mudanças.
![Page 27: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/27.jpg)
Prototipação
• O objetivo é entender os requisitos do usuário e, obter uma melhor definição dos requisitos do sistema.
• Podendo ajudar a validar requisitos e estudar soluções especificas para apoiar o projeto de interface do usuário.
![Page 28: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/28.jpg)
Prototipação
![Page 29: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/29.jpg)
Entrega Incremental• É uma abordagem para desenvolvimento de
software na qual alguns dos incrementos desenvolvidos são entregues ao cliente e implementados para uso em um ambiente operacional.
![Page 30: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/30.jpg)
Estudo de Caso Faz Site
• Atividade individual.
• Para o estudo de caso Faz Site, crie um processo de software que na concepção de vocês garantiriam a entrega do projeto em questão com sucesso.
![Page 31: Aula 2 - Processos de Software](https://reader034.fdocuments.net/reader034/viewer/2022051414/55ad73eb1a28ab842c8b4887/html5/thumbnails/31.jpg)