SlideShare uma empresa Scribd logo
10
Mais lidos
17
Mais lidos
19
Mais lidos
Projeto e Desenvolvimento de Software
Projeto e Desenvolvimento de
Software
• Etapas do Projeto de Software
• Cadeia de processos aplicados no Desenvolvimento de Software
• Desenvolvimento de softwares é a atividade de criar programas de
computação, executada por um desenvolvedor ou grupo de
desenvolvedores;
• O software é um produto virtual, que consiste essencialmente em
um conjunto de códigos – instruções escritas em determinada
linguagem da computação;
• O time precisa saber conduzir um projeto, desde a concepção,
entendendo quais são as necessidades do cliente;
• Um trabalho que envolve ouvir, colher informações, fazer
protótipos, testar, ajustar, homologar, implantar e implementar;
Neste contexto entram as metodologias de desenvolvimento de
software, para dar ordem e objetivo ao modo como o trabalho será
conduzido e acompanhado:
• Definir a metodologia de gestão do projeto (preditivo ou ágeis);
• Definir o time de projeto;
• Desenvolvedores: aqueles que receberão os requisitos e construirão o
software;
• Analista de requisitos ou PO : levanta os requisitos com o cliente e cria a
comunicação com o mesmo ;
• Analista de testes: Garante a qualidade do software, testando e evidenciando
erros e melhorias;
• Gerente de Projeto: responsável por controlar o andamento do trabalho,
ajudando o time a realizar as entregas dentro dos prazos planejados
Projeto e Desenvolvimento de Software
1 - Reunião com o cliente:
• Entender a necessidade do cliente;
• Conhecer o objetivo do software e o publico que irá utilizar;
• Investimento que será feito ajudará no planejamento do tamanho
da equipe, tecnologia utilizada, serviços e ferramentas;
• Estimativas de prazos, funcionalidades e especificações gerais que
o cliente deseja ter no software;
2 - Especificações de requisitos:
• Especificar como será feito o software;
• Escolha das tecnologias que serão utilizadas, linguagem de
programação, arquitetura do software, etc;
• Definir processos de negócios, regras, condições, etc;
• Usar técnicas de levantamento de requisitos como estória de
usuários, UX ( Experiencia do usuário) e UI ( Interface do usuário) ;
3 - Desenvolvimento:
• Definir arquitetura de funcionamento do software;
• Definir frameworks, bibliotecas, componentes, etc;
• Definir ferramentas de versionamento de códigos;
• Alocar pessoas no projeto e definir papéis e responsabilidades;
• Definir gerente de projetos, desenvolvedores, testador, PO, etc;
4 – Reuniões de planejamento e feedbacks:
• Realizar reuniões de planejamento de tarefas;
• Realizar reuniões de acompanhamento de processos e feedbacks
de entregas;
• Reuniões com o cliente para alinhamentos;
• Objetivos das reuniões é seguir uma cadeia de processos tornando
o trabalho mais controlado e eficiente e facilitar a Comunicação;
5 – Cadeia de processos para desenvolvimento de software:
Serve como guia para o andamento do projeto, nas quais cada tarefa
dentro do projeto precisa passar por essas etapas para que esteja
pronto e finalizado para ser utilizado pelo usuário.
Backlog do
Projeto
Em
andamento
Teste Pronto Homologação Produção
5 – Cadeia de processos para desenvolvimento de software:
• Backlog do projeto – lista de tarefas para serem feitas, podem ser
categorizadas por módulos, funcionalidades, requisitos, estórias de
usuários, solicitações de mudanças, bugs, etc.
• Em andamento – lista de tarefas que estão sendo desenvolvidas
dentro do processo;
Backlog do
projeto
Em
andamento
Teste Pronto Homologação Produção
5 – Cadeia de processos para desenvolvimento de software:
• Teste – tem o objetivo de verificar as funcionalidades e o fluxo do
processo dentro das condições especificadas, pode ser feito de
forma automatizada ou manual. Deve-se encontrar erros no
comportamento da aplicação.
• Pronto – não basta está concluído, deve está funcional e com a
qualidade necessária, integração continua;
Backlog
Em
andamento
Teste Pronto Homologação Produção
5 – Cadeia de processos para desenvolvimento de software:
• Homologação – é o ambiente onde o software será testado e
verificado, por um grupo de usuários limitados que terá acesso
para avaliar o desempenho das funções se estão de acordo com as
necessidades e o que foi requerido pelo cliente.
• Produção – após passar pelos testes em homologação, o software
é colocado em ambiente de produção para os usuários finais do
produto;
Backlog
Em
andamento
Teste Pronto Homologação Produção
5 – Manutenções e atualizações:
• Esta é uma maneira de firmar a relação entre cliente e empresa
contratada com objetivo de manter seu produto funcionando de
maneira correta, é necessário realizar manutenções e atualizações
do software para prevenir bugs e também adicionar novas
funcionalidade de acordo com o desejo do cliente;
6 – Deploy:
• Planejar uma aplicação, desenvolvê-la e ver seu código
funcionando perfeitamente após o período de testes são algumas
das etapas que antecedem o famoso deploy (implantar);
• Extremamente necessário, pois sem ele nenhum site, software ou
aplicativo seria utilizado pelos seus usuários finais;
• Esta tarefa é extremamente comum dentro do escopo de trabalho
dos programadores, embora seja muito comumente associada
somente aos profissionais de infraestrutura, ou DevOps;
6 – Deploy:
• Quando um site é finalizado por um desenvolvedor e, após seus
testes, é finalmente hospedado e colocado no ar, ele passa pelo
processo de deploy;
• De mesmo modo, quando um sistema sofre alguma melhoria ou
alteração em seu código-fonte, implementar essa alteração ao
sistema que está no ar também é um tipo de deploy;
• O Deploy é feito no ambiente de dev, de homologação e produção;
6 – Deploy:
• Manual: Um exemplo clássico de deploy manual é o famoso FTP,
ou Protocolo de Transferência de Arquivo, um processo que
permite que arquivos possam ser transferidos entre dois ou mais
computadores através de uma rede de internet, mas precisa de
interferência humana para acontecer;
• Entre as maiores desvantagens do deploy manual está o tempo e
os recursos gastos com uma atividade que poderia ser feita mais
rapidamente, otimizando a produtividade da equipe;
6 – Deploy:
• Parcialmente automatizado: Atualizar um repositório GIT, por
exemplo, é fazer um deploy parcialmente automatizado, Ele recebe
essa classificação porque, apesar de alguns comandos humanos
serem necessitados, o push do branch master que ocorre através
de um pequeno hook e atualiza o servidor é totalmente
automática. Outra grande vantagem deste deploy é o controle de
versões do GIT;
6 – Deploy:
• Completamente automatizado: O deploy completamente automatizado é um
recurso de ponta em termos de tecnologia;
• Com ele é possível garantir mais segurança, qualidade e eficiência na hora de
fazer atualizações e melhorias em sites, aplicativos ou softwares de grande
utilização, como redes sociais e até mesmo serviços Google;
• Existem hoje, no mercado, diversas ferramentas voltadas à automatização
total do processo de deploy, entre as mais populares estão Jenkins, GitLab,
Azure Pipelines e Circle CI;
• Esta categoria de deploy, além de transmitir automaticamente as suas
atualizações para o servidor, também realiza aquilo que chamamos
de integração contínua; uma vez que é graças à integração contínua que erros
e bugs são mais facilmente encontrados na hora dos testes automáticos;

Mais conteúdo relacionado

PDF
Modelos de Processo de Software Parte 3
PPS
Projeto de Software
PPT
Aula1 e aula2 - Analise e Projeto de Sistemas
PDF
Gerência de Projetos de Software - Aula1
PPTX
Aula - Metodologias Ágeis
PPTX
Arquitetura de Software EXPLICADA
PPTX
Extreme programming (xp) - Resumo
Modelos de Processo de Software Parte 3
Projeto de Software
Aula1 e aula2 - Analise e Projeto de Sistemas
Gerência de Projetos de Software - Aula1
Aula - Metodologias Ágeis
Arquitetura de Software EXPLICADA
Extreme programming (xp) - Resumo

Mais procurados (20)

PDF
Aula - Introdução a Engenharia de Software
PPTX
Processos de Desenvolvimento de Software - teoria e prática
PDF
Aula 1 - Introdução a Engenharia de Software
PDF
Banco de dados exercícios resolvidos
PDF
Aula 2 - Processos de Software
PDF
Fatores de Qualidade de MacCall e ISO/IEC 9126
PDF
Aula 6 - Design e Processo de Design de Interfaces de Usuário
PDF
Metodologia de Desenvolvimento de Softwares
PDF
Eletroeletrônica
PPT
Fundamentos de sistemas de informação
PDF
Metodologia Ágil
PDF
Gerenciamento do Escopo em Projetos
PPT
Uml diagrama de atividades
PPTX
Lógica de Programação - Algoritmos
PPTX
Modelo de Prototipação
PDF
Aula 3 - Algoritmos computacionais - parte 1
ODP
Aula01 - Logica de Programação
PPTX
Informática Básica - Aula 04 - Software
PPT
Prototipação de software
Aula - Introdução a Engenharia de Software
Processos de Desenvolvimento de Software - teoria e prática
Aula 1 - Introdução a Engenharia de Software
Banco de dados exercícios resolvidos
Aula 2 - Processos de Software
Fatores de Qualidade de MacCall e ISO/IEC 9126
Aula 6 - Design e Processo de Design de Interfaces de Usuário
Metodologia de Desenvolvimento de Softwares
Eletroeletrônica
Fundamentos de sistemas de informação
Metodologia Ágil
Gerenciamento do Escopo em Projetos
Uml diagrama de atividades
Lógica de Programação - Algoritmos
Modelo de Prototipação
Aula 3 - Algoritmos computacionais - parte 1
Aula01 - Logica de Programação
Informática Básica - Aula 04 - Software
Prototipação de software
Anúncio

Semelhante a Projeto e Desenvolvimento de Software (20)

PPTX
Desenvolvendo software com qualidade e agilidade
PPT
Engenharia de Software introdução
PPTX
Resumo capítulo 1 livro Engenharia de Software Moderna
PPTX
05 - processo de software - Engenharia de Software 1.pptx
PPTX
engenharia de softwareAbordagem Sistemática e Metodológica.pptx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Engenharia de Software - Unimep/Pronatec - Aula 4
PPT
Aula2 processos sw
PDF
ISO/IEC 12207
PDF
Leds zeppellin infraestrutura de apoio ao desenvolvimento
PPTX
1- Apresentacao Metodologia RCP
PPTX
1 apresentacao metodologia rcp
PDF
Processo de Software
PDF
Processo e Processo de Software
PDF
Gerenciamento de Projeto para Desenvolvimento de Sistema
PDF
Guia Educativo: Desenvolvimento de software
PDF
Metodologias de desenvolvimento - Waterfall vs Agile
ODP
Como desenvolver-software
PPTX
Aula 7 - Ciclo de vida do software.pptx
PDF
Simtecce 2011 Integracao Continua
 
Desenvolvendo software com qualidade e agilidade
Engenharia de Software introdução
Resumo capítulo 1 livro Engenharia de Software Moderna
05 - processo de software - Engenharia de Software 1.pptx
engenharia de softwareAbordagem Sistemática e Metodológica.pptx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Engenharia de Software - Unimep/Pronatec - Aula 4
Aula2 processos sw
ISO/IEC 12207
Leds zeppellin infraestrutura de apoio ao desenvolvimento
1- Apresentacao Metodologia RCP
1 apresentacao metodologia rcp
Processo de Software
Processo e Processo de Software
Gerenciamento de Projeto para Desenvolvimento de Sistema
Guia Educativo: Desenvolvimento de software
Metodologias de desenvolvimento - Waterfall vs Agile
Como desenvolver-software
Aula 7 - Ciclo de vida do software.pptx
Simtecce 2011 Integracao Continua
 
Anúncio

Mais de Aragon Vieira (20)

PDF
DMAIC - Ferramentas para projetos Six Sigma - Lean
PDF
Modelo de User Stories - Ágil
PDF
Modelo de Sprint Backlog
PDF
Como fazer a gestão do Time de Desenvolvimento
PDF
Gerenciamento de Portfólio de Projetos
PDF
Modelo - Termo de abertura de projeto
PDF
Modelo de Roadmap de Produto
PDF
Modelo de backlog de sprint - Scrum
PDF
Gráfico de produtividade Time de desenvolvimento - modelo
PPTX
Modelo Roadmap de produto - template
PDF
EAP - Estrutura analítica de projetos
PDF
Toc aplicada a gestão de projetos
PDF
Colocando o Scrum em prática
PDF
Visão do Produto no Scrum
PDF
PMO - Project Management Office
PDF
Gestão de Projetos Hibrida
PDF
Framework Scrum
PDF
Framework PMO
PDF
Fluxograma processo - desenvolvimento de software
PDF
Escalabilidade do Scrum
DMAIC - Ferramentas para projetos Six Sigma - Lean
Modelo de User Stories - Ágil
Modelo de Sprint Backlog
Como fazer a gestão do Time de Desenvolvimento
Gerenciamento de Portfólio de Projetos
Modelo - Termo de abertura de projeto
Modelo de Roadmap de Produto
Modelo de backlog de sprint - Scrum
Gráfico de produtividade Time de desenvolvimento - modelo
Modelo Roadmap de produto - template
EAP - Estrutura analítica de projetos
Toc aplicada a gestão de projetos
Colocando o Scrum em prática
Visão do Produto no Scrum
PMO - Project Management Office
Gestão de Projetos Hibrida
Framework Scrum
Framework PMO
Fluxograma processo - desenvolvimento de software
Escalabilidade do Scrum

Último (11)

PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Jira Software projetos completos com scrum
PPTX
Utilizando code blockes por andre backes
PPTX
Eng. Software - pontos essenciais para o início
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Manejo integrado de pragas na cultura do algodão
Viasol Energia Solar -Soluções para geração e economia de energia
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Conceitos básicos de Redes Neurais Artificiais
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Tipos de servidor em redes de computador.pptx
Jira Software projetos completos com scrum
Utilizando code blockes por andre backes
Eng. Software - pontos essenciais para o início

Projeto e Desenvolvimento de Software

  • 2. Projeto e Desenvolvimento de Software • Etapas do Projeto de Software • Cadeia de processos aplicados no Desenvolvimento de Software
  • 3. • Desenvolvimento de softwares é a atividade de criar programas de computação, executada por um desenvolvedor ou grupo de desenvolvedores; • O software é um produto virtual, que consiste essencialmente em um conjunto de códigos – instruções escritas em determinada linguagem da computação; • O time precisa saber conduzir um projeto, desde a concepção, entendendo quais são as necessidades do cliente; • Um trabalho que envolve ouvir, colher informações, fazer protótipos, testar, ajustar, homologar, implantar e implementar;
  • 4. Neste contexto entram as metodologias de desenvolvimento de software, para dar ordem e objetivo ao modo como o trabalho será conduzido e acompanhado: • Definir a metodologia de gestão do projeto (preditivo ou ágeis); • Definir o time de projeto; • Desenvolvedores: aqueles que receberão os requisitos e construirão o software; • Analista de requisitos ou PO : levanta os requisitos com o cliente e cria a comunicação com o mesmo ; • Analista de testes: Garante a qualidade do software, testando e evidenciando erros e melhorias; • Gerente de Projeto: responsável por controlar o andamento do trabalho, ajudando o time a realizar as entregas dentro dos prazos planejados
  • 6. 1 - Reunião com o cliente: • Entender a necessidade do cliente; • Conhecer o objetivo do software e o publico que irá utilizar; • Investimento que será feito ajudará no planejamento do tamanho da equipe, tecnologia utilizada, serviços e ferramentas; • Estimativas de prazos, funcionalidades e especificações gerais que o cliente deseja ter no software;
  • 7. 2 - Especificações de requisitos: • Especificar como será feito o software; • Escolha das tecnologias que serão utilizadas, linguagem de programação, arquitetura do software, etc; • Definir processos de negócios, regras, condições, etc; • Usar técnicas de levantamento de requisitos como estória de usuários, UX ( Experiencia do usuário) e UI ( Interface do usuário) ;
  • 8. 3 - Desenvolvimento: • Definir arquitetura de funcionamento do software; • Definir frameworks, bibliotecas, componentes, etc; • Definir ferramentas de versionamento de códigos; • Alocar pessoas no projeto e definir papéis e responsabilidades; • Definir gerente de projetos, desenvolvedores, testador, PO, etc;
  • 9. 4 – Reuniões de planejamento e feedbacks: • Realizar reuniões de planejamento de tarefas; • Realizar reuniões de acompanhamento de processos e feedbacks de entregas; • Reuniões com o cliente para alinhamentos; • Objetivos das reuniões é seguir uma cadeia de processos tornando o trabalho mais controlado e eficiente e facilitar a Comunicação;
  • 10. 5 – Cadeia de processos para desenvolvimento de software: Serve como guia para o andamento do projeto, nas quais cada tarefa dentro do projeto precisa passar por essas etapas para que esteja pronto e finalizado para ser utilizado pelo usuário. Backlog do Projeto Em andamento Teste Pronto Homologação Produção
  • 11. 5 – Cadeia de processos para desenvolvimento de software: • Backlog do projeto – lista de tarefas para serem feitas, podem ser categorizadas por módulos, funcionalidades, requisitos, estórias de usuários, solicitações de mudanças, bugs, etc. • Em andamento – lista de tarefas que estão sendo desenvolvidas dentro do processo; Backlog do projeto Em andamento Teste Pronto Homologação Produção
  • 12. 5 – Cadeia de processos para desenvolvimento de software: • Teste – tem o objetivo de verificar as funcionalidades e o fluxo do processo dentro das condições especificadas, pode ser feito de forma automatizada ou manual. Deve-se encontrar erros no comportamento da aplicação. • Pronto – não basta está concluído, deve está funcional e com a qualidade necessária, integração continua; Backlog Em andamento Teste Pronto Homologação Produção
  • 13. 5 – Cadeia de processos para desenvolvimento de software: • Homologação – é o ambiente onde o software será testado e verificado, por um grupo de usuários limitados que terá acesso para avaliar o desempenho das funções se estão de acordo com as necessidades e o que foi requerido pelo cliente. • Produção – após passar pelos testes em homologação, o software é colocado em ambiente de produção para os usuários finais do produto; Backlog Em andamento Teste Pronto Homologação Produção
  • 14. 5 – Manutenções e atualizações: • Esta é uma maneira de firmar a relação entre cliente e empresa contratada com objetivo de manter seu produto funcionando de maneira correta, é necessário realizar manutenções e atualizações do software para prevenir bugs e também adicionar novas funcionalidade de acordo com o desejo do cliente;
  • 15. 6 – Deploy: • Planejar uma aplicação, desenvolvê-la e ver seu código funcionando perfeitamente após o período de testes são algumas das etapas que antecedem o famoso deploy (implantar); • Extremamente necessário, pois sem ele nenhum site, software ou aplicativo seria utilizado pelos seus usuários finais; • Esta tarefa é extremamente comum dentro do escopo de trabalho dos programadores, embora seja muito comumente associada somente aos profissionais de infraestrutura, ou DevOps;
  • 16. 6 – Deploy: • Quando um site é finalizado por um desenvolvedor e, após seus testes, é finalmente hospedado e colocado no ar, ele passa pelo processo de deploy; • De mesmo modo, quando um sistema sofre alguma melhoria ou alteração em seu código-fonte, implementar essa alteração ao sistema que está no ar também é um tipo de deploy; • O Deploy é feito no ambiente de dev, de homologação e produção;
  • 17. 6 – Deploy: • Manual: Um exemplo clássico de deploy manual é o famoso FTP, ou Protocolo de Transferência de Arquivo, um processo que permite que arquivos possam ser transferidos entre dois ou mais computadores através de uma rede de internet, mas precisa de interferência humana para acontecer; • Entre as maiores desvantagens do deploy manual está o tempo e os recursos gastos com uma atividade que poderia ser feita mais rapidamente, otimizando a produtividade da equipe;
  • 18. 6 – Deploy: • Parcialmente automatizado: Atualizar um repositório GIT, por exemplo, é fazer um deploy parcialmente automatizado, Ele recebe essa classificação porque, apesar de alguns comandos humanos serem necessitados, o push do branch master que ocorre através de um pequeno hook e atualiza o servidor é totalmente automática. Outra grande vantagem deste deploy é o controle de versões do GIT;
  • 19. 6 – Deploy: • Completamente automatizado: O deploy completamente automatizado é um recurso de ponta em termos de tecnologia; • Com ele é possível garantir mais segurança, qualidade e eficiência na hora de fazer atualizações e melhorias em sites, aplicativos ou softwares de grande utilização, como redes sociais e até mesmo serviços Google; • Existem hoje, no mercado, diversas ferramentas voltadas à automatização total do processo de deploy, entre as mais populares estão Jenkins, GitLab, Azure Pipelines e Circle CI; • Esta categoria de deploy, além de transmitir automaticamente as suas atualizações para o servidor, também realiza aquilo que chamamos de integração contínua; uma vez que é graças à integração contínua que erros e bugs são mais facilmente encontrados na hora dos testes automáticos;