Upload
lucas-amaral
View
597
Download
0
Embed Size (px)
Citation preview
Engenharia de Software
OBJETIVOS (DA AULA)
• Revisão de Engenharia de Software• Revisão de Qualidade de Software• Processos de Desenvolvimento de Software• Modelos de Processos
• Modelos Tradicionais• Modelos Ágeis
• Manifesto Ágil e o Scrum
Princípios da Engenharia de Software
Engenharia de SoftwareDisciplina da engenharia que se ocupa de todos os
aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, depois que ele entrou em operação (Sommerville, 2003)
Estudo e aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção de software.(ISSO/IEC/IEEE – SWEBOK 3.0)
Princípios da Engenharia de Software
E.S. possui 3 elementos fundamentais: MetodologiasFerramentasProcessos
Princípios da Engenharia de Software
Fonte: Wikipedia
Processos de Desenvolvimento de Software - PDSUm processo de desenvolvimento de software (PDS) é um
conjunto de atividades, disciplinas e papéis que prescreve práticas para se conceber, gerenciar, desenvolver, testar e implantar um software
Conjunto ordenado de atividades e resultados associados que tem como objetivo o desenvolvimento de um produto de software (Sommerville 2003)
Visam abranger atividades de:Especificação de SoftwareDesenvolvimento de SoftwareValidação de SoftwareEvolução de Software
Modelo Waterfall - Cascata
Modelo Waterfall - CascataAs atividades são executadas uma após as outrasExige alto domínio da aplicação a ser desenvolvidaErros de qualquer origem só são encontrados nas
fases finaisSistema é entregue no final do Projeto... E se estiver
tudo errado?
Modelo Iterativo incremental
Modelo Evolucionário - PrototipaçãoDesenvolvimento Exploratório
Desenvolver sistema a partir de um protótipoExplorar requisitos desconhecidosCliente próximo
Prototipação descartávelProtótipos a fim de compreender melhor o sistemaObjetivo de fazer experimentos
Não há um processo regularSistemas crescem desordenadamenteFerramentas e técnicas especiais
Outros ModelosEspiral
PDCACada camada é uma iteração
Orientado a ReusoBibliotecas,Componentes
FormalDefinições formais + Transformações
Modelos Ágeis
2001
Signatários do Manifesto
Princípios Ágeis Nossa maior prioridade é satisfazer o cliente, através da entrega
adiantada e contínua de software de valor. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento.
Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas.
Entregar software funcionando com freqüencia, na escala de semanas até meses, com preferência aos períodos mais curtos.
Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diáriamente, durante todo o curso do projeto.
Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
Princípios Ágeis O Método mais eficiente e eficaz de transmitir informações para, e por
dentro de um time de desenvolvimento, é através de uma conversa cara a cara.
Software funcional é a medida primária de progresso. Processos ágeis promovem um ambiente sustentável. Os
patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis.
Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo
Scrum
http://www.desenvolvimentoagil.com.br/scrum
ScrumÉ...
Framework de Gerência de Projetos Ágil Princípios e crenças Ágeis (Jim Highsmith - Signatário)
Processo de Desenvolvimento de Software atividades, disciplinas e papéis que prescreve práticas para se
conceber, gerenciar, desenvolver, testar e implantar um software (sem ser prescritivo)
Não é...A solução para seus problemasReceita do sucessoBala de Prata
Scrum - ProdutoTemasÉpicosFeatures ou Histórias de Usuários (User Stories)
Eu como ... Desejo ser capaz de ... A fim de que ...Backlog
Lista Features ou US
ProdutoSprint
Scrum - PapéisProduct Owner: Conhece o negócio, define históriasScrum Master: Lidera o time, protege de influências e
impedimentosTime de Desenvolvimento: Estima, Projeta, Desenvolve –
Auto gerenciável/Multidisciplinar
Scrum - Papéis
A Gerência de Projeto é muito complexa pra ser feita por uma pessoa
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki
Cerimônias e Time boxesSprint – Iteração de tempo fixo – 2 a 4 semanasSprint Planning - Planejamento - 1h/semanaDaily Scrum – Acompanhamento - 15 minSprint Review – Entrega da Sprint – 1h/semanaSprint Retrospective – Realinhamento – 1h/semana
Saiba mais...http://www.agilemanifesto.org/iso/ptbr/http://www.infoq.com/br/agile/http://pt.slideshare.net/flaviosteffens/cinco-motivos-
para-voc-no-adotar-metodologias-geis-rafael-prikladnicki-flvio-steffens-de-castro
http://www.desenvolvimentoagil.com.br/scrum/