C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos...
Transcript of C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos...
![Page 2: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/2.jpg)
PUC-Rio
C C
E Conteúdo
Software
Qualidade de Software
Engenharia de Software
Processos de Software
2/50
![Page 3: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/3.jpg)
PUC-Rio
C C
E Definição
Software
Produtos projetados e construídos pelos Engenheiros de Software.
Engenharia de Software
Estudo e aplicação de procedimentos sistemáticos, disciplinados e quantificáveis ao desenvolvimento, operação e manutenção de software (IEEE).
3/50
![Page 4: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/4.jpg)
PUC-Rio
C C
E Enga. S/W - Motivação
Maior dependência com relação a software e menos espaço para improvisações. Desenvolver software precisa ser algo organizado, controlado,
previsível...
Há uma relação direta entre a qualidade e
confiabilidade de um produto e a qualidade e confiabilidade do seu processo de produção... ... Há uma chance bem maior de que uma boa solução surja em um
ambiente organizado.
4/50
![Page 5: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/5.jpg)
PUC-Rio
C C
E Desenvolvendo Software...
...Idealmente através de processos bem comportados, envolvendo:
Etapas do processo,
Níveis de qualidade,
Custos e
Prazos
Definidos
a priori.
5/50
![Page 6: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/6.jpg)
PUC-Rio
C C
E Processo de Software
B C
D E
A F
Processo
Pessoas com habilidades,
treinamento e motivação
Ferramentas e equipamentos
adequados
Procedimentos e métodos definindo o relacionamento entre as tarefas
Envolve:
6/50
![Page 7: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/7.jpg)
PUC-Rio
C C
E Processo de Software
Possui uma série de tarefas definidas.
Tarefas são organizadas de formas diferentes, de acordo com o modelo de processo adotado.
Tarefas demandam marcos para verificação, documentação e garantia da qualidade do que produzem.
7/50
![Page 8: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/8.jpg)
PUC-Rio
C C
E Qualidade em Software
Ficar em conformidade com: Requisitos funcionais e de desempenho explicitamente
estabelecidos (são as bases para a medição da qualidade);
Padrões de desenvolvimento explicitamente documentados (definem um conjunto de critérios que guiam o processo de desenvolvimento);
Critérios de usabilidade e confiabilidade...
8/50
![Page 9: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/9.jpg)
PUC-Rio
C C
E
Diversos Modelos
ISO (IEC e 9000)
SPICE
(S/W) CMM
...
Qualidade em Software
9/50
![Page 10: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/10.jpg)
PUC-Rio
C C
E Qualidade em Software
No SW-CMM:
A maturidade é medida em níveis;
Os níveis de maturidade estabelecem o estágio atual e as etapas necessárias para melhoria dos processos de software.
Os níveis são patamares bem definidos conduzem a processos mais maduros de software;
Cada patamar compreende um conjunto de objetivos e comprometimentos (KPAs – Key Process Areas) que devem ser satisfeitos.
10/50
![Page 11: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/11.jpg)
PUC-Rio
C C
E Qualidade em Software
Organização imatura: o processo de software
é improvisado. Mesmo que o processo seja
especificado, ele não é seguido. São
organizações reacionárias.
Organização madura: possui capacidade
organizada para gerenciar o desenvolvimento
e manutenção de software.
1
5
11/50
![Page 12: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/12.jpg)
PUC-Rio
C C
E Qualidade em Software
2 Repetível
1 Inicial
3 Definido
4 Gerenciado
5 Em Otimização
Processo Disciplinado
Processo Padronizado e Consistente
Processo Previsível
Processos em Melhoria Contínua
12/50
![Page 13: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/13.jpg)
PUC-Rio
C C
E Qualidade em Software
Níveis:
1 - Inicial Processo ad-hoc, ocasional e até caótico. Poucos ou
nenhum processo está definido. Sucesso depende do esforço individual.
2 - Repetível Os processos básicos de gerência estão estabelecidos
para acompanhamento de custo, prazos e funcionalidade. Existe a capacidade de repetir processos bem sucedidos em projetos anteriores.
13/50
![Page 14: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/14.jpg)
PUC-Rio
C C
E Qualidade em Software
Níveis (cont.): 3 - Definido
O processo de software para as atividades de gerência e engenharia estão documentados, padronizados e integrados no processo de desenvolvimento de software da organização.
Todos os projetos usam uma versão documentada e aprovada do processo da organização para desenvolvimento e manutenção. Inclui o nível 2.
14/50
![Page 15: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/15.jpg)
PUC-Rio
C C
E Qualidade em Software
Níveis (cont.):
4 - Gerenciado Medições detalhadas do processo e do produto são
coletadas. Ambos são quantitativamente compreendidos e controlados através de métricas minuciosas. Inclui o nível 3.
5 - Em Otimização (ou Otimizante) Um processo contínuo de melhoria baseado nos resultados
quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido. Inclui o nível 4.
15/50
![Page 16: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/16.jpg)
PUC-Rio
C C
E Qualidade em Software
Exemplo:
KPAs para nível 2:
Gerência dos Requisitos
Planejamento do Projeto de Desenvolvimento
Controle do Projeto de Desenvolvimento
Gerência da Aquisição de Software
Garantia da Qualidade
Gerência de Configuração
16/50
![Page 17: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/17.jpg)
PUC-Rio
C C
E Ciclo de vida do Software
Fases Genéricas () Definição: o que fazer para atender às
necessidades dos clientes e usuários;
Desenvolvimento: como fazer;
Manutenção: modificar corrigir,
adaptar,
evoluir,
prevenir.
17/50
![Page 18: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/18.jpg)
PUC-Rio
C C
E Modelos de Processos
Cascata (Clássico)
Prototipação
Espiral
Processo Unificado
18/50
![Page 19: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/19.jpg)
PUC-Rio
C C
E Cascata
Modelo linear e sequencial
Pode usar feedback ou não
19/50
![Page 20: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/20.jpg)
PUC-Rio
C C
E Cascata - Fases
Levantamento
Análise
Projeto
Implementação
Implantação
feedback
20/50
![Page 21: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/21.jpg)
PUC-Rio
C C
E Cascata - Características
Possui, em geral, um ciclo longo de desenvolvimento
Aplicável no desenvolvimento de sistemas pouco susceptíveis a mudanças de requisitos e em organizações estáveis
Serve como base para outros modelos de processo
21/50
![Page 22: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/22.jpg)
PUC-Rio
C C
E Prototipação
Construção de protótipos baseado nas informações do cliente
Adequado para quando o “negócio” não é bem conhecido ou o cliente não sabe exatamente do que precisa
Idealmente serve p/ identificar requisitos
Protótipo = “1o. Sistema” (alguns autores recomendam que o joguemos fora)
22/50
![Page 23: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/23.jpg)
PUC-Rio
C C
E Prototipação
Levantamento Implementação
Avaliação
Projeto Rápido
23/50
![Page 24: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/24.jpg)
PUC-Rio
C C
E Prototipação - Problemas
O usuário não entende que o software desenvolvido sacrifica a qualidade para obter velocidade no
desenvolvimento e
não pode ser considerado como um produto que possa entrar em produção.
O desenvolvedor muitas vezes toma decisões ineficientes de projeto, para facilitar o desenvolvimento, e acaba se acostumando com tais decisões, esquecendo o motivo que o levou a tomá-las.
24/50
![Page 25: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/25.jpg)
PUC-Rio
C C
E Modelo Espiral
Inicialmente publicado por Barry Boehm(*)
Reduz sensivelmente o risco de insucesso de um projeto
Permite uma maior interação com o cliente
Adequado à maioria dos tipos de projetos/sistemas
(*)”A Spiral Model for Software Development and Enhancement”, 1988
25/50
![Page 26: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/26.jpg)
PUC-Rio
C C
E Espiral - Principais Características
Incremental, evolutivo, iterativo
Espiral é dividida em uma série de regiões
Cada região contempla uma série de tarefas que são adaptadas às características do projeto a ser conduzido
Um ciclo da espiral pode produzir, tanto uma especificação, como versões do software
Pode ser adaptado para toda a vida do software
26/50
![Page 27: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/27.jpg)
PUC-Rio
C C
E Espiral
Planejamento
Avaliação Implementação
Levantamento
inicial de
requisitos
Análise
de Risco
Planejamento
Análise
Teste
Avaliação feita
pelo Cliente
Projeto
Modelagem
27/50
![Page 28: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/28.jpg)
PUC-Rio
C C
E Vantagens do Espiral
Adaptabilidade a mudanças de requisitos (cuidado com a convergência para uma solução final, no T e $ definidos)
Redução dos riscos
Acúmulo gradativo de experiência
Permite a homogeneização da equipe
28/50
![Page 29: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/29.jpg)
PUC-Rio
C C
E Espiral - Problemas
Dificuldade para convencer o cliente de que o processo evolucionário pode ser controlável
Depende da capacidade de análise de riscos
Ainda não foi tanto utilizado
29/50
![Page 30: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/30.jpg)
PUC-Rio
C C
E Processo Unificado1 - Características
Orientado a caso de uso Os casos de uso são utilizados como o principal recurso p/ o
estabelecimento do comportamento desejado do sistema e p/ sua verificação e validação
Centrado na Arquitetura Os módulos e a organização concebida p/ o novo sistema
tem o papel importante no projeto
Iterativo Gerenciamento de sequências de versões executáveis
Divisão do trabalho em mini-projetos que se agregam ao longo do tempo
(1) Fonte: “The Unified Software Development Process”, Jacobson, Booch & Rumbaugh, Addison-Wesley.
30/50
![Page 31: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/31.jpg)
PUC-Rio
C C
E Processo Unificado - Características
Incremental
Cada nova versão incorpora os aprimoramentos incrementais em relação às anteriores.
Cada mini-projeto incrementa o produto.
31/50
![Page 32: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/32.jpg)
PUC-Rio
C C
E Processo Unificado - Ciclo
Um ciclo possui 4 fases: concepção, elaboração, construção e transição
Cada fase pode ser realizada por meio de várias iterações
Ao final de cada iteração, temos uma versão executável, interna ou
externa, que cresce de modo incremental
32/50
Iteração
#1
Iteração
#2 .... . . . . . . . . .
Iteração
# n-1
Iteração
# n . . .
Versões
Concepção Elaboração Construção Transição
Tempo
![Page 33: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/33.jpg)
PUC-Rio
C C
E Concepção - Síntese
O que o sistema deve fazer?
Qual poderia ser a sua arquitetura?
Qual o prazo e custo do desenvolvimento?
33/50
![Page 34: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/34.jpg)
PUC-Rio
C C
E Elaboração - Síntese
Análise do domínio do sistema
Especificação da maioria dos requisitos
Estabelecimento da arquitetura através de uma visão macro do sistema
Detalhamento do plano do projeto
Eliminação de riscos (pelo menos os de mais alto grau)
Análise de resultados
Construção de todos os modelos que não foram contemplados na Concepção
34/50
![Page 35: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/35.jpg)
PUC-Rio
C C
E Construção - Síntese
Requisitos restantes
Descrição dos critérios de aceitação
Desenvolvimento iterativo e incremental do produto completo
Testes
Avaliação para entrada em produção
35/50
![Page 36: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/36.jpg)
PUC-Rio
C C
E Transição - Síntese
Distribuição/implantação do software
Software entendido como uma versão beta
Ajustes e correções (quase sempre)
Avaliação do produto (software e processo)
Permite a aquisição de experiência
Indica a possibilidade de outro ciclo
36/50
![Page 37: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/37.jpg)
PUC-Rio
C C
E Desenvolvimento Ágil
Contexto típico de desenvolvimento de S/W:
Negócio não é bem conhecido e/ou é dinâmico (necessidade constante de manutenção evolutiva e adaptativa);
Documentação externa permanece desatualizada em boa parte do ciclo de desenvolvimento;
As manutenções são feitas com base no código (ninguém consulta/atualiza a documentação externa);
Necessidade de disponibilidade rápida de código;
Se há processo, ele é rígido e burocratizado.
37/50
![Page 38: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/38.jpg)
PUC-Rio
C C
E Desenvolvimento Ágil
Classicamente se assume que Usuários especificam exatamente o que querem;
Desenvolvedores entregam o que os usuários especificaram, no prazo e custo acertados.
Mas o que comumente acontece é Usuários não sabem o que querem;
Desenvolvedores não entregam o que prometeram;
A entrega do software no prazo e custos estabelecidos não é conseguida.
Desenvolvimento de software é arriscado e difícil de ser gerenciado.
38/50
![Page 39: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/39.jpg)
PUC-Rio
C C
E Desenvolvimento Ágil
Necessita-se de novas metodologias que, dentre outras coisas:
Tratem adequadamente requisitos vagos e “mutantes”;
Produzam software de qualidade;
Diminuam os encargos da equipe com documentação;
Mantenham as expectativas dos usuários atendidas e em níveis realizáveis;
Mantenham os projetos gerenciáveis;
Tenham base científica.
39/50
![Page 40: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/40.jpg)
PUC-Rio
C C
E Desenvolvimento Ágil
Manifesto Ágil (*):
• Assinado por 17 desenvolvedores (Kent Beck et al) em Utah – EUA - em fevereiro de 2001.
• Descreve a essência de um conjunto de abordagens para desenvolvimento de software criadas ao longo da última década.
(*)http://agilemanifesto.org
40/50
![Page 41: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/41.jpg)
PUC-Rio
C C
E Desenvolvimento Ágil
Manifesto Ágil – Assunções: Indivíduos e interações são mais importantes que
processos e ferramentas;
Software funcionando é mais importante que documentação completa e detalhada;
Colaboração com o cliente é mais importante que (re)negociação de contratos;
Adaptação a mudanças é mais importante que seguir o plano inicial (mudanças são inevitáveis. É importante saber lidar com elas).
41/50
![Page 42: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/42.jpg)
PUC-Rio
C C
E XP
XP = Extreme Programming;
Metodologia de desenvolvimento de software sendo aperfeiçoada nos últimos anos(*);
As práticas adotadas são “as melhores práticas de engenharia de software levadas a níveis extremos”;
Originou-se das experiências de Kent Beck, Ward Cunningham e Ron Jeffries (também signatários do Manifesto Ágil) no projeto C3 (Chrysler, com Smalltalk e GemStone), 1996-1999.
(*) Correspondendo às edições 1 e 2 do livro “Extreme Programming Explained: Embrace Change”
42/50
![Page 43: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/43.jpg)
PUC-Rio
C C
E XP
O custo das modificações
Premissa clássica: Em processos tradicionais, os requisitos devem ser conhecidos a priori, já que as mudanças de requisitos têm um impacto no custo cada vez maior quanto mais tarde as mesmas ocorrerem.
43/50
Cu
sto
de
mu
dan
ças
requisitos desenho testes análise implementação produção
![Page 44: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/44.jpg)
PUC-Rio
C C
E XP
O objetivo principal da XP é diminuir os custos de mudanças usando-se tecnologias e práticas apropriadas.
Cu
sto
de
mu
dan
ças
tempo
44/50
![Page 45: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/45.jpg)
PUC-Rio
C C
E XP
E quais são essas tecnologias e práticas? Objetos são a tecnologia chave
Encapsulamento provê manutenibilidade;
Modificações de comportamento, sem alteração de código existente, podem ser (mais facilmente) implementadas através de mudanças nas trocas de mensagens entre os objetos.
Projeto simples, sem elementos extras (antecipação de necessidades, flexibilidades não solicitadas, etc.);
Testes automatizados aplicados logo após as implementações das modificações;
Experiência prática da equipe é valorizada, provendo autoconfiança da equipe e capacidade de definição do esforço com precisão.
45/50
![Page 46: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/46.jpg)
PUC-Rio
C C
E XP
Nesse contexto, as atitudes dos desenvolvedores ágeis são:
Implementam agora somente o que precisam agora;
Tomam as grandes decisões o mais tarde possível (quem sabe não será preciso tomá-las, de fato?);
Não implementam flexibilidade desnecessária num dado momento (não antecipam necessidades – quem sabe se serão mesmo necessárias?).
46/50
![Page 47: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/47.jpg)
PUC-Rio
C C
E XP
XP se baseia, de forma objetiva, em 24 práticas. Alguns destaques. Todos juntos: trabalhar em um ambiente grande, para
toda a equipe se ver (War Room). Transparência da informação: manter as informações
correntes do projeto em local de fácil visualização (e.g. um mural).
Trabalho energizado: manter ritmo de trabalho
sustentável. Ter vida fora do trabalho ().
Programação em pares: duas pessoas programando juntas, num processo de interação constante.
User Stories: planejar e controlar o desenvolvimento através de “pedaços” de funcionalidades do negócio, tais como vistas pelos usuários.
47/50
![Page 48: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/48.jpg)
PUC-Rio
C C
E
XP
O dia-a-dia de um programador XP
Fonte: http://www.xp123.com/xplor/xp0006/index.shtml 48/50
![Page 49: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/49.jpg)
PUC-Rio
C C
E
Modelos e Modelagem Breve Discussão com a Turma
O que é um modelo? Por que modelar? Como se constroem modelos de sistemas?
49/50
![Page 50: C Tópico 1 - Fundamentação C E · Critérios de usabilidade e confiabilidade ... quantitativos de outros projetos e em testes de novas idéias e tecnologias está estabelecido.](https://reader033.fdocumentos.com/reader033/viewer/2022042400/5f0f22e67e708231d442ab14/html5/thumbnails/50.jpg)
PUC-Rio
C C
E Lembrete
Próxima aula:
UML – Diagramas de Casos de Uso
50/50