SlideShare uma empresa Scribd logo
A PREOCUPAÇÃO COM QUALIDADE DO SOFTWARE
Período Características
Anos 50 -Erros conhecidos, APÓS término do programa
Anos 70 -Análise/programação estruturada.
-Falta de consenso: teste ANTES do término
Anos 80 - Primeiras preocupações e PADRÕES com QUALIDADE
de software
Anos 90 -Primeiros processos de testes.
-Motivação: Bug do milênio.
Anos
2000
-Estruturação dos procedimentos de testes dentro do
processo de desenvolvimento.
-Surgem excelentes ferramentas de testes.
-QUALIDADE Total no processo de desenvolvimento e
produto de software
A CRISE DO SOFTWARE
Fatos reais - Projetos de Software
+ 30% dos projetos – CANCELADOS
+ 70% dos projetos – FALHAM as funcionalidades
Custos e Prazos EXTRAPOLAM a Previsão
Custos – em mais de 180%
Prazos – em mais de 200%
Custos do DESENVOLVIMENTO
80% - identificar e corrigir defeitos de programação
ASPECTOS RELEVANTES sobre SW e processo de desenvolver
• Software NÃO é tangível. Requer muita ABSTRAÇÃO para desenvolvê-lo.
• O processo de desenvolvimento é executado e gerenciado por pessoas,
sendo portanto SUBJETIVO.
•Discute-se idéias, necessidades e desejos dos usuários (também
pessoas).
• ABSTRAÇÃO E SUBJETIVIDADE conferem dificuldades ao processo de
desenvolvimento.
• O software em si é consequência direta da forma (processo) pelo qual foi
desenvolvido. PROCESSO MANUFATURADO
•Processo de desenvolvimento eficiente  Software eficiente.
Na medida em que os softwares crescem em tamanho e
complexidade, ABSTRAÇÃO e COMPLEXIDADE conferem cada
vez mais DIFICULDADES ao processo de desenvolvimento
Acúmulo
de trabalho
Abandono de
planos e
procedimentos
Sucesso depende muito do
esforço heróico das pessoas Pouca
repetibilidade
Produto funciona, mas
com defeitos; prazo e
custo maiores; e menos
funcionalidade
Clientes e
funcionários
insatisfeitos
Situação atual da maioria das empresas de SW
ONDE ESTÃO OS DEFEITOS ?
• A maior dificuldade esta na fase
INICIAL, de entendimento do sistema
- Requisitos – ALTO grau de
ABSTRAÇÃO + Comunicação com
pessoas
• A segunda maior abrangência está
na modelagem – ALTO Grau de
ABSTRAÇÃO + domínio das técnicas
• O erros de codificação em si,
representam um % pequeno,
mostrando que o foco do problema
não é da Implementação.
Processo de Desenvolvimento de SW
•Conjunto de atividades, métodos,
práticas e tecnologias que as pessoas
usam para desenvolver e manter
softwares
•O processo adequado garante que o
software será desenvolvido de maneira
organizada, disciplinada e previsível.
•O processo descreve formalmente e de
forma organizada as atividades que
devem ser seguidas para a obtenção
segura de um produto de software.
•A dificuldade está no gerenciamento do
processo (existem vários modelos), que
geralmente está dividido em fases.
Qualidade de Software
O que o cliente quer?
◦ Atendimento aos requisitos especificados
◦ Defeito zero
◦ Grande número de funções
◦ Alto desempenho
◦ Baixo custo
◦ Desenvolvimento rápido
◦ Facilidade de uso
◦ Eficiência nos serviços associados
◦ Inovação
Benefícios da Qualidade
Na visão do fornecedor (ex: equipe interna de TI ou fornecedor externo
– do mercado)
◦ Maior produtividade
◦ Maior precisão nas estimativas
◦ Redução de defeitos no produto
◦ Aumento da confiabilidade do produto
◦ Menos esforço de re-trabalho
◦ Menos horas extras de trabalho
◦ Redução do tempo para atender o mercado
◦ Redução de custo de desenvolvimento e manutenção
◦ Maior competitividade
◦ Maior índice de satisfação do cliente/usuário final
Vídeo: EmpresaFazSite - Problemas processo de
desenvolvimento de software
◦ https://www.youtube.com/watch?v=QPiR8jTMLdI
Exercícios:
11
1) O que você observa no vídeo sobre a “Empresa Faz sites”? Explique com suas
palavras.
2) Em sua opinião por que devemos nos preocupar com qualidade no processo?
3) Faça suas considerações como profissional que a empresa “Faz site” conseguir
alcance a implementação do sistema em projeto em questão com QUALIDADE no
processo de Desenvolvimento de Software?
4) Explique por que Qualidade é ter conformidade com os requisitos?
5) Dentre as fases do processo de desenvolvimento, qual a que concentra a
maior % de defeitos (problemas)? Explique porquê.
Processo e Desenvolvimento de Software
12
Vimos que…
Os processos de desenvolvimento são essenciais para o bom
andamento do projeto de software, assim como a compreensão do
sistema como um todo. Quanto mais aumenta a complexidade dos
sistemas, mais difícil se torna a sua visibilidade e a sua compreensão,
portanto sem um processo bem defino o projeto tem grande chance de
INSUCESSO!
Conceito:
O processo envolve atividades
necessárias para definir, desenvolver,
testar e manter um software
(PMI, 2004).
É um conjunto de atividades
relacionadas que levam a produção de
um produto de Software
(SOMMERVILLE, 2007).
Objetivos:
- Alinhar todas as atividades a executar no decorrer de todo o projeto,
e, assim, desenvolver tudo o que foi previsto no seu escopo.
- Planejamento: definir, em um cronograma, quando, como (quais os
recursos de hardware e software necessário) e quem irá realizar
determinada tarefa.
- Padronização: seguir as mesmas metodologias por todos os envolvido
no projeto para não haver dificuldades de entendimento.
- Controle: ter sempre meios de saber se o cronograma está sendo
cumprido e criar planos de contingência caso haja problemas no fluxo.
Atividades:
Análise - Investigar os requisitos dos usuários
Especificação – Definir claramente as características necessárias ao
sistema
Projeto/ Design - Criar (ou adptar) uma solução adequada
Implementação/ Codificação - Desenvolver a solução proposta
Teste - Garantir que a solução resolve o problema originalmente
levantado e que garantir que a solução funcione corretamente no seu
contexto (integração)
Manutenção - Modificar a solução de trabalho quando novos requisitos
forem identificados
Especificação e Análise
 Envolve a Engenharia de Requisitos
18
Engenharia de Requisitos
19
Engenharia de Requisitos
20
Processo de descobrir, analisar, documentar
e verificar serviços requeridos para um
sistema e suas restrições operacionais.
O que é um requisito?
21
Engenharia de Requisitos
1. Estudo de viabilidade
2. Elicitação/Levantamento e análise de
requisitos
3. Especificação e documentação
4. Validação
22
Resultado:
DOCUMENTO DE REQUISITOS
4 atividades
( alto nível)
1) Estudo de Viabilidade
23
Avaliar sob o ponto de vista tecnológico e organizacional se o projeto
é VIÁVEL!
2) Elicitação de Requisitos
Elicitar: descobrir, tornar explícito, obter o máximo de informações para
o conhecimento em questão.
Dificuldades:
24
Visão de um projeto:
Exemplo da diferença de visão de cada profissional envolvido em um
projeto.
Definição de um problema
2) Análise de Requisitos
28
Atividades envolvidas nesta fase:
 Classificação:
 Resolução:
 Priorização:
 Confirmação:
3) Especificação e Documentação
29
É a produção do:
DOCUMENTO DE ESPECIFICAÇÃO DE REQUISITOS
 Requisitos funcionais
 Requisitos não funcioanais
 Requisitos do Usuário
 Requisitos de Sistema
4) Validação de Requisitos
Pretende-se demonstrar que o documento
produzido corresponde ao que o cliente pretende.
Deve ser especificados os CHECKLISTS:
30
4) Validação de Requisitos
o VALIDADE = se está entre as partes envolvidas
oCONSISTÊNCIA = se há conflito entre os requisitos requisitados
oCOMPREENSIBILIDADE = não está de forma equivoca
oCOMPLETUDE = se possui todas as funcionalidades pretendidas
oREALISMO = se é implementável (tecnologicamente e financeiramente)
oVERIFICABILIDADE = se está descrito de forma evitar discordância
oRASTREABILIDADE = origem dos requisitos
oCONFORMIDADE = obedece as normas de todos os documentos
31
Projeto
Projeto Arquitetural: onde é desenvolvido um modelo conceitual para
o sistema, composto de módulos mais ou menos independentes.
Projeto de Interface: onde cada módulo tem sua interface de
comunicação estudada e definida.
Projeto Detalhado: onde os módulos em si são definidos, e
possivelmente traduzidos para pseudocódigo.
32
Implementação
Escrever o código
Documentar o código
Depurar (debug) o código
Preparar o código para ser testado
Retornar informações ao projetista e/ou analistas
Enviar informações ao testador e/ou integrador
 Saída: código de trabalho (e a documentação associada) preparado
para ser testado
33
Teste e Integração
 Precisa checar se a implementação corresponde ao projeto (e esta
funciona)
Precisa checar se a implementação atende aos requisitos (e esta
funciona corretamente)
Deve testar os módulos individuais e o sistema por completo
Então testa a interação com o(s) ambiente/softwares/dados/etc.
existente(s)
 Saída: código devidamente testado, funcionando corretamente
34
Manutenção
Os requisitos dos usuários mudam com o tempo. Mesmo teste
exaustivos podem não descobrir todos os problemas antes da entrega
do software. Portanto, o software deve também mudar no decorrer do
tempo. Mudanças nos requisitos podem culminar em implementações
e testes extras, ou trabalho adicional de projeto, ou até mesmo de
análise.
Nesta fase, o software em geral entra em um ciclo iterativo que
abrange todas as fases anteriores
35
ATIVIDADE COMPARTILHADA:
Acesse
https://padlet.com/profcrisfidelix1/981lkc4wm7ttxx3n
36
Texto: Qualidade de Software: Uma
questão de eficiência.
Você sabia que, a grande maioria das
empresas de software no Brasil gasta 70%
do tempo de desenvolvimento corrigindo
erros, ao invés de inovar e desenvolver
novas soluções?
https://1drv.ms/b/s!AlYeF3KfJshJxBBq1n1gOz9aUY2X
Exercícios:
1) Qual a importância de registrar e documentar todos os requisitos de software levantados pelo
Desenvolvedor?
2) Qual a importância do Desenvolvedor fazer uma análise de todos os Requisitos de software
levantados antes de iniciar o desenvolvimento do software?
3) Qual a importância de um Software ser testado referente à questão de eficiência e qualidade de
Software?
4) Quando há falta de alguma documentação de Software, quais são as dificuldades encontradas?
5) Qual a importância de existir a chamada Fase de Projeto para o desenvolvimento de um software?
6) Qual a importância de existir uma Equipe de testes para o desenvolvimento de um software?
7) Qual é o Erro mais grave e geralmente na maioria dos Projetos de Software cometido durante o
Desenvolvimento de Software se tratando do prazo de Entrega?
Modelo de Desenvolvimento de Software
39
Modelo de Desenvolvimento de Software:
Há um bom tempo, vem se tentando encontrar um
processo ou metodologia previsível e repetível que melhore
a produtividade e qualidade. Vários modelos foram
idealizados com o intuito de “organizar” o processo,
podendo assim redundar em mais eficiência e menor custo
para o mesmo.
Modelos de Desenvolvimento de Software:
 Cascata
 Espiral
Interativo e Incremental
Prototipação
 Modelos Ágeis: Scrum e XP
 Processo Unificado: RUP
Referência para leitura
SOMMERVILLE, Ian. Engenharia de Software, 8 ed. São Paulo: Pearson
Addison-Wesley, 2007.
42

Mais conteúdo relacionado

Mais procurados

Introdução a engenharia de software aula 02
Introdução a engenharia de software   aula 02Introdução a engenharia de software   aula 02
Introdução a engenharia de software aula 02
Franklin Matos Correia
 
Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento
Paulo Ricardo Dalmagro Vinck
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
Franklin Matos Correia
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de Software
Eduardo Santos
 
DSDM
DSDMDSDM
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
diha36
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
Camilo de Melo
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
Nécio de Lima Veras
 
Processo de Análise e Desenvolvimento de Software (PDS)
Processo de Análise e Desenvolvimento de Software (PDS)Processo de Análise e Desenvolvimento de Software (PDS)
Processo de Análise e Desenvolvimento de Software (PDS)
Maicon Amarante
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
Rudson Kiyoshi Souza Carvalho
 
Crystal Clear
Crystal ClearCrystal Clear
Crystal Clear
Elaine Cecília Gatto
 
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
Janynne Gomes
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
CursoSENAC
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De Software
Robson Silva Espig
 
Teste de software
Teste de softwareTeste de software
Teste de software
Nécio de Lima Veras
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
Elaine Cecília Gatto
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
Rogerio P C do Nascimento
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3
Elaine Cecília Gatto
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
Nécio de Lima Veras
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
Elaine Cecília Gatto
 

Mais procurados (20)

Introdução a engenharia de software aula 02
Introdução a engenharia de software   aula 02Introdução a engenharia de software   aula 02
Introdução a engenharia de software aula 02
 
Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de Software
 
DSDM
DSDMDSDM
DSDM
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Processo de Análise e Desenvolvimento de Software (PDS)
Processo de Análise e Desenvolvimento de Software (PDS)Processo de Análise e Desenvolvimento de Software (PDS)
Processo de Análise e Desenvolvimento de Software (PDS)
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Crystal Clear
Crystal ClearCrystal Clear
Crystal Clear
 
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De Software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
 

Semelhante a Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix

Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixAula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1
Erivelton Silva Rocha
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
Joeldson Costa Damasceno
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de software
Felipe Bugov
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
Kamilla Queiroz Xavier
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptx
Roberto Nunes
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de software
Felipe Oliveira
 
152191 11993
152191 11993152191 11993
152191 11993
Junior Abs
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
Mauricio Cesar Santos da Purificação
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
Leonardo Molinari
 
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
a29398
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
Os Fantasmas !
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
rzauza
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
Computação Depressão
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
Felipe Bugov
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
Elaine Cecília Gatto
 
aula7 software ciclo de vida analise req
aula7 software ciclo de vida analise reqaula7 software ciclo de vida analise req
aula7 software ciclo de vida analise req
patriciaalipiosilva
 
Aula 7 - Ciclo de vida do software.pptx
Aula 7 - Ciclo de vida do software.pptxAula 7 - Ciclo de vida do software.pptx
Aula 7 - Ciclo de vida do software.pptx
AlexandreLisboadaSil
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
Wagner Zaparoli
 
Processo e Processo de Software
Processo e Processo de SoftwareProcesso e Processo de Software
Processo e Processo de Software
Elaine Cecília Gatto
 

Semelhante a Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix (20)

Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixAula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de software
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptx
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de software
 
152191 11993
152191 11993152191 11993
152191 11993
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
 
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
aula7 software ciclo de vida analise req
aula7 software ciclo de vida analise reqaula7 software ciclo de vida analise req
aula7 software ciclo de vida analise req
 
Aula 7 - Ciclo de vida do software.pptx
Aula 7 - Ciclo de vida do software.pptxAula 7 - Ciclo de vida do software.pptx
Aula 7 - Ciclo de vida do software.pptx
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Processo e Processo de Software
Processo e Processo de SoftwareProcesso e Processo de Software
Processo e Processo de Software
 

Mais de Cris Fidelix

Alguns combinados C#
Alguns combinados C#Alguns combinados C#
Alguns combinados C#
Cris Fidelix
 
Estudo de caso 1 - Prática de BD - Prof. Cristiane Fidelix
Estudo de caso 1 - Prática de BD - Prof. Cristiane FidelixEstudo de caso 1 - Prática de BD - Prof. Cristiane Fidelix
Estudo de caso 1 - Prática de BD - Prof. Cristiane Fidelix
Cris Fidelix
 
Tecnologia e Sistemas de Informação ERP,CRM,SCM e E-business
Tecnologia e Sistemas de Informação  ERP,CRM,SCM e E-businessTecnologia e Sistemas de Informação  ERP,CRM,SCM e E-business
Tecnologia e Sistemas de Informação ERP,CRM,SCM e E-business
Cris Fidelix
 
Componentes dos Sistemas de Informação - Proª Cristiane fidelix
Componentes dos Sistemas de Informação - Proª Cristiane fidelixComponentes dos Sistemas de Informação - Proª Cristiane fidelix
Componentes dos Sistemas de Informação - Proª Cristiane fidelix
Cris Fidelix
 
Tipos de Sistema de Informação - Prof.ª Cristiane Fidelix
Tipos de Sistema de Informação - Prof.ª Cristiane FidelixTipos de Sistema de Informação - Prof.ª Cristiane Fidelix
Tipos de Sistema de Informação - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Fundamentos em Tecnologia da Informação - Prof.ª Cristiane Fidelix
Fundamentos em Tecnologia da Informação - Prof.ª Cristiane FidelixFundamentos em Tecnologia da Informação - Prof.ª Cristiane Fidelix
Fundamentos em Tecnologia da Informação - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Componentes dos Sistemas de Informação
Componentes dos Sistemas de InformaçãoComponentes dos Sistemas de Informação
Componentes dos Sistemas de Informação
Cris Fidelix
 
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixApresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Carreiras TI - Gestão da Tecnologia da Informação
Carreiras TI -  Gestão da Tecnologia da InformaçãoCarreiras TI -  Gestão da Tecnologia da Informação
Carreiras TI - Gestão da Tecnologia da Informação
Cris Fidelix
 
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixApresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Cases 3 - Java - Prof.ª Cristiane Fidelix
Cases 3 - Java - Prof.ª Cristiane FidelixCases 3 - Java - Prof.ª Cristiane Fidelix
Cases 3 - Java - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Cases 2 - Aula de Java - Prof.ª Cristiane Fidelix
Cases 2 - Aula de Java - Prof.ª Cristiane FidelixCases 2 - Aula de Java - Prof.ª Cristiane Fidelix
Cases 2 - Aula de Java - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Aula 2 - Java Prof.ª Cristiane Fidelix
Aula 2 - Java  Prof.ª Cristiane FidelixAula 2 - Java  Prof.ª Cristiane Fidelix
Aula 2 - Java Prof.ª Cristiane Fidelix
Cris Fidelix
 
Cases 1 - Java -Prof.ª Cristiane Fidelix
Cases 1 - Java -Prof.ª Cristiane FidelixCases 1 - Java -Prof.ª Cristiane Fidelix
Cases 1 - Java -Prof.ª Cristiane Fidelix
Cris Fidelix
 
Aula 3 - Java Prof.ª Cristiane Fidelix
Aula 3 -  Java Prof.ª Cristiane FidelixAula 3 -  Java Prof.ª Cristiane Fidelix
Aula 3 - Java Prof.ª Cristiane Fidelix
Cris Fidelix
 
Aula 2 - Java Prof.ª Cristiane Fidelix
Aula 2 - Java  Prof.ª Cristiane FidelixAula 2 - Java  Prof.ª Cristiane Fidelix
Aula 2 - Java Prof.ª Cristiane Fidelix
Cris Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane Fidelix
Cris Fidelix
 
8 - Join - Prof.ª Cristiane Fidelix
8 - Join - Prof.ª Cristiane Fidelix8 - Join - Prof.ª Cristiane Fidelix
8 - Join - Prof.ª Cristiane Fidelix
Cris Fidelix
 
3 - Modelos de Processo de Software - Prof.ª Cristiane Fidelix
3 - Modelos de  Processo de Software - Prof.ª Cristiane Fidelix3 - Modelos de  Processo de Software - Prof.ª Cristiane Fidelix
3 - Modelos de Processo de Software - Prof.ª Cristiane Fidelix
Cris Fidelix
 
2 - Organizações e normas ISO - Prof.ª Cristiane Fidelix
2 - Organizações e normas ISO - Prof.ª Cristiane Fidelix2 - Organizações e normas ISO - Prof.ª Cristiane Fidelix
2 - Organizações e normas ISO - Prof.ª Cristiane Fidelix
Cris Fidelix
 

Mais de Cris Fidelix (20)

Alguns combinados C#
Alguns combinados C#Alguns combinados C#
Alguns combinados C#
 
Estudo de caso 1 - Prática de BD - Prof. Cristiane Fidelix
Estudo de caso 1 - Prática de BD - Prof. Cristiane FidelixEstudo de caso 1 - Prática de BD - Prof. Cristiane Fidelix
Estudo de caso 1 - Prática de BD - Prof. Cristiane Fidelix
 
Tecnologia e Sistemas de Informação ERP,CRM,SCM e E-business
Tecnologia e Sistemas de Informação  ERP,CRM,SCM e E-businessTecnologia e Sistemas de Informação  ERP,CRM,SCM e E-business
Tecnologia e Sistemas de Informação ERP,CRM,SCM e E-business
 
Componentes dos Sistemas de Informação - Proª Cristiane fidelix
Componentes dos Sistemas de Informação - Proª Cristiane fidelixComponentes dos Sistemas de Informação - Proª Cristiane fidelix
Componentes dos Sistemas de Informação - Proª Cristiane fidelix
 
Tipos de Sistema de Informação - Prof.ª Cristiane Fidelix
Tipos de Sistema de Informação - Prof.ª Cristiane FidelixTipos de Sistema de Informação - Prof.ª Cristiane Fidelix
Tipos de Sistema de Informação - Prof.ª Cristiane Fidelix
 
Fundamentos em Tecnologia da Informação - Prof.ª Cristiane Fidelix
Fundamentos em Tecnologia da Informação - Prof.ª Cristiane FidelixFundamentos em Tecnologia da Informação - Prof.ª Cristiane Fidelix
Fundamentos em Tecnologia da Informação - Prof.ª Cristiane Fidelix
 
Componentes dos Sistemas de Informação
Componentes dos Sistemas de InformaçãoComponentes dos Sistemas de Informação
Componentes dos Sistemas de Informação
 
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixApresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
 
Carreiras TI - Gestão da Tecnologia da Informação
Carreiras TI -  Gestão da Tecnologia da InformaçãoCarreiras TI -  Gestão da Tecnologia da Informação
Carreiras TI - Gestão da Tecnologia da Informação
 
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane FidelixApresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
Apresentação de Tecnologia da Informação - Prof.ª Cristiane Fidelix
 
Cases 3 - Java - Prof.ª Cristiane Fidelix
Cases 3 - Java - Prof.ª Cristiane FidelixCases 3 - Java - Prof.ª Cristiane Fidelix
Cases 3 - Java - Prof.ª Cristiane Fidelix
 
Cases 2 - Aula de Java - Prof.ª Cristiane Fidelix
Cases 2 - Aula de Java - Prof.ª Cristiane FidelixCases 2 - Aula de Java - Prof.ª Cristiane Fidelix
Cases 2 - Aula de Java - Prof.ª Cristiane Fidelix
 
Aula 2 - Java Prof.ª Cristiane Fidelix
Aula 2 - Java  Prof.ª Cristiane FidelixAula 2 - Java  Prof.ª Cristiane Fidelix
Aula 2 - Java Prof.ª Cristiane Fidelix
 
Cases 1 - Java -Prof.ª Cristiane Fidelix
Cases 1 - Java -Prof.ª Cristiane FidelixCases 1 - Java -Prof.ª Cristiane Fidelix
Cases 1 - Java -Prof.ª Cristiane Fidelix
 
Aula 3 - Java Prof.ª Cristiane Fidelix
Aula 3 -  Java Prof.ª Cristiane FidelixAula 3 -  Java Prof.ª Cristiane Fidelix
Aula 3 - Java Prof.ª Cristiane Fidelix
 
Aula 2 - Java Prof.ª Cristiane Fidelix
Aula 2 - Java  Prof.ª Cristiane FidelixAula 2 - Java  Prof.ª Cristiane Fidelix
Aula 2 - Java Prof.ª Cristiane Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane Fidelix
 
8 - Join - Prof.ª Cristiane Fidelix
8 - Join - Prof.ª Cristiane Fidelix8 - Join - Prof.ª Cristiane Fidelix
8 - Join - Prof.ª Cristiane Fidelix
 
3 - Modelos de Processo de Software - Prof.ª Cristiane Fidelix
3 - Modelos de  Processo de Software - Prof.ª Cristiane Fidelix3 - Modelos de  Processo de Software - Prof.ª Cristiane Fidelix
3 - Modelos de Processo de Software - Prof.ª Cristiane Fidelix
 
2 - Organizações e normas ISO - Prof.ª Cristiane Fidelix
2 - Organizações e normas ISO - Prof.ª Cristiane Fidelix2 - Organizações e normas ISO - Prof.ª Cristiane Fidelix
2 - Organizações e normas ISO - Prof.ª Cristiane Fidelix
 

Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix

  • 1.
  • 2. A PREOCUPAÇÃO COM QUALIDADE DO SOFTWARE Período Características Anos 50 -Erros conhecidos, APÓS término do programa Anos 70 -Análise/programação estruturada. -Falta de consenso: teste ANTES do término Anos 80 - Primeiras preocupações e PADRÕES com QUALIDADE de software Anos 90 -Primeiros processos de testes. -Motivação: Bug do milênio. Anos 2000 -Estruturação dos procedimentos de testes dentro do processo de desenvolvimento. -Surgem excelentes ferramentas de testes. -QUALIDADE Total no processo de desenvolvimento e produto de software
  • 3. A CRISE DO SOFTWARE Fatos reais - Projetos de Software + 30% dos projetos – CANCELADOS + 70% dos projetos – FALHAM as funcionalidades Custos e Prazos EXTRAPOLAM a Previsão Custos – em mais de 180% Prazos – em mais de 200% Custos do DESENVOLVIMENTO 80% - identificar e corrigir defeitos de programação
  • 4. ASPECTOS RELEVANTES sobre SW e processo de desenvolver • Software NÃO é tangível. Requer muita ABSTRAÇÃO para desenvolvê-lo. • O processo de desenvolvimento é executado e gerenciado por pessoas, sendo portanto SUBJETIVO. •Discute-se idéias, necessidades e desejos dos usuários (também pessoas). • ABSTRAÇÃO E SUBJETIVIDADE conferem dificuldades ao processo de desenvolvimento. • O software em si é consequência direta da forma (processo) pelo qual foi desenvolvido. PROCESSO MANUFATURADO •Processo de desenvolvimento eficiente  Software eficiente. Na medida em que os softwares crescem em tamanho e complexidade, ABSTRAÇÃO e COMPLEXIDADE conferem cada vez mais DIFICULDADES ao processo de desenvolvimento
  • 5. Acúmulo de trabalho Abandono de planos e procedimentos Sucesso depende muito do esforço heróico das pessoas Pouca repetibilidade Produto funciona, mas com defeitos; prazo e custo maiores; e menos funcionalidade Clientes e funcionários insatisfeitos Situação atual da maioria das empresas de SW
  • 6. ONDE ESTÃO OS DEFEITOS ? • A maior dificuldade esta na fase INICIAL, de entendimento do sistema - Requisitos – ALTO grau de ABSTRAÇÃO + Comunicação com pessoas • A segunda maior abrangência está na modelagem – ALTO Grau de ABSTRAÇÃO + domínio das técnicas • O erros de codificação em si, representam um % pequeno, mostrando que o foco do problema não é da Implementação.
  • 7. Processo de Desenvolvimento de SW •Conjunto de atividades, métodos, práticas e tecnologias que as pessoas usam para desenvolver e manter softwares •O processo adequado garante que o software será desenvolvido de maneira organizada, disciplinada e previsível. •O processo descreve formalmente e de forma organizada as atividades que devem ser seguidas para a obtenção segura de um produto de software. •A dificuldade está no gerenciamento do processo (existem vários modelos), que geralmente está dividido em fases.
  • 8. Qualidade de Software O que o cliente quer? ◦ Atendimento aos requisitos especificados ◦ Defeito zero ◦ Grande número de funções ◦ Alto desempenho ◦ Baixo custo ◦ Desenvolvimento rápido ◦ Facilidade de uso ◦ Eficiência nos serviços associados ◦ Inovação
  • 9. Benefícios da Qualidade Na visão do fornecedor (ex: equipe interna de TI ou fornecedor externo – do mercado) ◦ Maior produtividade ◦ Maior precisão nas estimativas ◦ Redução de defeitos no produto ◦ Aumento da confiabilidade do produto ◦ Menos esforço de re-trabalho ◦ Menos horas extras de trabalho ◦ Redução do tempo para atender o mercado ◦ Redução de custo de desenvolvimento e manutenção ◦ Maior competitividade ◦ Maior índice de satisfação do cliente/usuário final
  • 10. Vídeo: EmpresaFazSite - Problemas processo de desenvolvimento de software ◦ https://www.youtube.com/watch?v=QPiR8jTMLdI
  • 11. Exercícios: 11 1) O que você observa no vídeo sobre a “Empresa Faz sites”? Explique com suas palavras. 2) Em sua opinião por que devemos nos preocupar com qualidade no processo? 3) Faça suas considerações como profissional que a empresa “Faz site” conseguir alcance a implementação do sistema em projeto em questão com QUALIDADE no processo de Desenvolvimento de Software? 4) Explique por que Qualidade é ter conformidade com os requisitos? 5) Dentre as fases do processo de desenvolvimento, qual a que concentra a maior % de defeitos (problemas)? Explique porquê.
  • 12. Processo e Desenvolvimento de Software 12
  • 13. Vimos que… Os processos de desenvolvimento são essenciais para o bom andamento do projeto de software, assim como a compreensão do sistema como um todo. Quanto mais aumenta a complexidade dos sistemas, mais difícil se torna a sua visibilidade e a sua compreensão, portanto sem um processo bem defino o projeto tem grande chance de INSUCESSO!
  • 14. Conceito: O processo envolve atividades necessárias para definir, desenvolver, testar e manter um software (PMI, 2004).
  • 15. É um conjunto de atividades relacionadas que levam a produção de um produto de Software (SOMMERVILLE, 2007).
  • 16. Objetivos: - Alinhar todas as atividades a executar no decorrer de todo o projeto, e, assim, desenvolver tudo o que foi previsto no seu escopo. - Planejamento: definir, em um cronograma, quando, como (quais os recursos de hardware e software necessário) e quem irá realizar determinada tarefa. - Padronização: seguir as mesmas metodologias por todos os envolvido no projeto para não haver dificuldades de entendimento. - Controle: ter sempre meios de saber se o cronograma está sendo cumprido e criar planos de contingência caso haja problemas no fluxo.
  • 17. Atividades: Análise - Investigar os requisitos dos usuários Especificação – Definir claramente as características necessárias ao sistema Projeto/ Design - Criar (ou adptar) uma solução adequada Implementação/ Codificação - Desenvolver a solução proposta Teste - Garantir que a solução resolve o problema originalmente levantado e que garantir que a solução funcione corretamente no seu contexto (integração) Manutenção - Modificar a solução de trabalho quando novos requisitos forem identificados
  • 18. Especificação e Análise  Envolve a Engenharia de Requisitos 18
  • 20. Engenharia de Requisitos 20 Processo de descobrir, analisar, documentar e verificar serviços requeridos para um sistema e suas restrições operacionais.
  • 21. O que é um requisito? 21
  • 22. Engenharia de Requisitos 1. Estudo de viabilidade 2. Elicitação/Levantamento e análise de requisitos 3. Especificação e documentação 4. Validação 22 Resultado: DOCUMENTO DE REQUISITOS 4 atividades ( alto nível)
  • 23. 1) Estudo de Viabilidade 23 Avaliar sob o ponto de vista tecnológico e organizacional se o projeto é VIÁVEL!
  • 24. 2) Elicitação de Requisitos Elicitar: descobrir, tornar explícito, obter o máximo de informações para o conhecimento em questão. Dificuldades: 24
  • 25. Visão de um projeto: Exemplo da diferença de visão de cada profissional envolvido em um projeto.
  • 26.
  • 27. Definição de um problema
  • 28. 2) Análise de Requisitos 28 Atividades envolvidas nesta fase:  Classificação:  Resolução:  Priorização:  Confirmação:
  • 29. 3) Especificação e Documentação 29 É a produção do: DOCUMENTO DE ESPECIFICAÇÃO DE REQUISITOS  Requisitos funcionais  Requisitos não funcioanais  Requisitos do Usuário  Requisitos de Sistema
  • 30. 4) Validação de Requisitos Pretende-se demonstrar que o documento produzido corresponde ao que o cliente pretende. Deve ser especificados os CHECKLISTS: 30
  • 31. 4) Validação de Requisitos o VALIDADE = se está entre as partes envolvidas oCONSISTÊNCIA = se há conflito entre os requisitos requisitados oCOMPREENSIBILIDADE = não está de forma equivoca oCOMPLETUDE = se possui todas as funcionalidades pretendidas oREALISMO = se é implementável (tecnologicamente e financeiramente) oVERIFICABILIDADE = se está descrito de forma evitar discordância oRASTREABILIDADE = origem dos requisitos oCONFORMIDADE = obedece as normas de todos os documentos 31
  • 32. Projeto Projeto Arquitetural: onde é desenvolvido um modelo conceitual para o sistema, composto de módulos mais ou menos independentes. Projeto de Interface: onde cada módulo tem sua interface de comunicação estudada e definida. Projeto Detalhado: onde os módulos em si são definidos, e possivelmente traduzidos para pseudocódigo. 32
  • 33. Implementação Escrever o código Documentar o código Depurar (debug) o código Preparar o código para ser testado Retornar informações ao projetista e/ou analistas Enviar informações ao testador e/ou integrador  Saída: código de trabalho (e a documentação associada) preparado para ser testado 33
  • 34. Teste e Integração  Precisa checar se a implementação corresponde ao projeto (e esta funciona) Precisa checar se a implementação atende aos requisitos (e esta funciona corretamente) Deve testar os módulos individuais e o sistema por completo Então testa a interação com o(s) ambiente/softwares/dados/etc. existente(s)  Saída: código devidamente testado, funcionando corretamente 34
  • 35. Manutenção Os requisitos dos usuários mudam com o tempo. Mesmo teste exaustivos podem não descobrir todos os problemas antes da entrega do software. Portanto, o software deve também mudar no decorrer do tempo. Mudanças nos requisitos podem culminar em implementações e testes extras, ou trabalho adicional de projeto, ou até mesmo de análise. Nesta fase, o software em geral entra em um ciclo iterativo que abrange todas as fases anteriores 35
  • 37. Texto: Qualidade de Software: Uma questão de eficiência. Você sabia que, a grande maioria das empresas de software no Brasil gasta 70% do tempo de desenvolvimento corrigindo erros, ao invés de inovar e desenvolver novas soluções? https://1drv.ms/b/s!AlYeF3KfJshJxBBq1n1gOz9aUY2X
  • 38. Exercícios: 1) Qual a importância de registrar e documentar todos os requisitos de software levantados pelo Desenvolvedor? 2) Qual a importância do Desenvolvedor fazer uma análise de todos os Requisitos de software levantados antes de iniciar o desenvolvimento do software? 3) Qual a importância de um Software ser testado referente à questão de eficiência e qualidade de Software? 4) Quando há falta de alguma documentação de Software, quais são as dificuldades encontradas? 5) Qual a importância de existir a chamada Fase de Projeto para o desenvolvimento de um software? 6) Qual a importância de existir uma Equipe de testes para o desenvolvimento de um software? 7) Qual é o Erro mais grave e geralmente na maioria dos Projetos de Software cometido durante o Desenvolvimento de Software se tratando do prazo de Entrega?
  • 39. Modelo de Desenvolvimento de Software 39
  • 40. Modelo de Desenvolvimento de Software: Há um bom tempo, vem se tentando encontrar um processo ou metodologia previsível e repetível que melhore a produtividade e qualidade. Vários modelos foram idealizados com o intuito de “organizar” o processo, podendo assim redundar em mais eficiência e menor custo para o mesmo.
  • 41. Modelos de Desenvolvimento de Software:  Cascata  Espiral Interativo e Incremental Prototipação  Modelos Ágeis: Scrum e XP  Processo Unificado: RUP
  • 42. Referência para leitura SOMMERVILLE, Ian. Engenharia de Software, 8 ed. São Paulo: Pearson Addison-Wesley, 2007. 42