Danielle Teixeira
Objetivo
Porque os projetos dão errado
Boas práticas
Etapas
Referências
.agenda {}
Substituir velhos hábitos de desenvolvimento Usar boas práticas no processo de desenvolvimento de software para melhoria da qualidade do código e aumentar da produtividade.
Objetivo
Projetos não falham. Pessoas falham.
Desastre: Irradiou doses letais de radiação em pacientes.
Causa: configuração incorreta de modo que o feixe de elétrons seria como um fogo de alta potência;
Consequências: 3 mortos e 3 seriamente feridos
Sergey Brin: cofundador do Google apresentou o produto ao mercado antes da hora certa.
Técnicas identificadas como as melhores para realizar uma determinada tarefa.
.etapas {}
Construir um software não é somente escrever código e vê-lo funcionar, é você saber que aquele código será manutenível e que outras pessoas vão alterá-lo.
.produtividade{}
.pomodoro{}
.pomodoro{}
.produtividade {}
.kanban{}
.metodologias Agil{}
.SCRUM {}
Iterativo
Incremental
.SCRUM {}
Sprints
Sprints Backlog
.SCRUM {}
Sprint backlog
.SCRUM {}
Product Owner
Scrum Master
.SCRUM {}
Scrum Team
.requisitos {}
.requisitos {}
.requisitos {}
RNF03 - Requisitos de portabilidade. o sistema deverá rodar em qualquer plataforma.
.requisitos {}
Consequências de Software sem Requisitos
.prototipacao {}
Processo que facilita o entendimento dos requisitos, apresenta conceitos e funcionalidades do software.
.prototipos Tipos{}
.prototipos Tipos {}
.prototipos Tipos {}
.ferramentas {}
.Arquitetura {}
Camadas de um projeto
.Arquitetura {}
Adote um Framework
.Arquitetura {}
Model View Controller
.modelagem {}
Normalização
Banco de Dados bem projetado
.modelagem {}
Evitar
Boa prática
.querys {}
Evitar
Boa prática
Com * o SGBD gasta muito tempo percorrendo todos os campos
SELECT * FROM tabelaX
SELECT COLUNA_A, COLUNA_B FROM tabelaX
.querys {}
UNION
O SGBD não consegue otimizar cláusulas de join ligadas por OR. Neste caso é mais eficiente ligar os conjuntos de resultados por UNION.
SELECT a FROM tab1, tab2
WHERE tab1.a = tab2.a
OR tab1.x = tab2.x
SELECT a FROM tab1, tab2
WHERE tab1.a = tab2.a
UNION SELECT A FROM tab1, tab2
WHERE tab1.x = tab2.x
OR
são eliminadas as linhas duplicadas
Evitar
Boa Prática
.padroes de Projetos {}
“Gang of Four”
.padroes de Projetos {}
Benefícios
.padroes de Projetos {}
.versionamento {}
Guarda as informações de quem alterou alguma funcionalidade.
Controle de versão
.versionar Projeto{}
Se alguém fizer algo de errado..
Já sabem quem é o culpado!
.versionar Projeto{}
Porque usar versionamento?
.testes {}
Teste unitários (unit)
Testes de integração(service)
Testes de aceitação (UI)
.testes {}
UI
Service
Unit
Testes Automatizados
Reduz significativamente o custo das empresas e re-trabalho dos desenvolvedores com manutenção.
Melhorar a performance, consistência e outros fatores importantes.
.testes {}
PhpUnit
dannyserena
dannyserena
danielleteixeira