Logo Passei Direto
Buscar

Slides de Aula III (1)

Apostila sobre Qualidade de Software (Unidade III) cobrindo engenharia de software, aplicação do ciclo PDCA com objetivos e atividades (Plan/Do/Check/Act), gerenciamento de configuração (identificação, controle, status, auditoria) e uma questão de múltipla escolha sobre métricas.

User badge image
Remy Victor

em

Ferramentas de estudo

Mês do Cliente Passei Direto

Quer receber 70% de desconto para assinar o PasseIA?

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

Prof. MSc. Claudio Furquim
UNIDADE III
Qualidade de Software
 A engenharia de software é uma área que se concentra no desenvolvimento de sistemas 
de software de alta qualidade. Nesse caso, a qualidade do software não se limita ao seu 
desempenho e funcionalidade, mas também em relação à confiabilidade, usabilidade, 
eficiência, manutenibilidade e portabilidade. A engenharia de software emprega uma 
abordagem sistemática, disciplinada e quantificável para alcançar esses objetivos
de qualidade.
Qualidade de Software – Engenharia de Software e Qualidade 
 Em engenharia de software, o gerenciamento da qualidade é fundamental para o 
desenvolvimento de produtos digitais que atendam às necessidades dos usuários e superem 
suas expectativas.
Qualidade de Software – Engenharia de Software e Qualidade 
 O ciclo PDCA é um 
processo contínuo; após a 
etapa "Agir", retorna-se à 
fase de "Planejar" para 
iniciar uma nova iteração 
do ciclo. Cada ciclo novo 
propicia a aprendizagem 
contínua, ajustando e 
aprimorando os processos 
no decorrer do tempo.
Qualidade de Software – Ciclo de melhoria contínua 
• Objetivo: 
Implementar o plano 
elaborado na fase 
de planejamento.
• Objetivo: Avaliar
os resultados da 
implementação para 
comparar com as 
metas estabelecidas.
• Objetivo: 
Estabelecer metas e 
identificar maneiras 
de alcançá-las.
• Objetivo: Tomar 
ações corretivas 
e/ou preventivas 
com base na etapa 
de verificação.
A P
DC
A aplicação do PDCA no desenvolvimento de software promove a melhoria contínua, bem 
como a eficiência e a eficácia nos processos de criação de software. Veja como o ciclo PDCA 
se aplica ao desenvolvimento de software:
Planejar (Plan):
 Objetivo: estabelecer metas e definir as atividades necessárias para atingir essas metas.
 Definição dos requisitos do projeto.
 Estabelecimento de metas de qualidade e prazos.
 Planejamento das atividades de desenvolvimento e teste.
Qualidade de Software – Ciclo de melhoria contínua 
A aplicação do PDCA no desenvolvimento de software promove a melhoria contínua, bem 
como a eficiência e a eficácia nos processos de criação de software. Veja como o ciclo PDCA 
se aplica ao desenvolvimento de software:
Executar (Do):
 Objetivo: implementar o plano elaborado na fase de planejamento.
 Codificação do software.
 Execução de testes unitários e de integração.
 Implementação de funcionalidades de acordo com o plano.
Qualidade de Software – Ciclo de melhoria contínua 
A aplicação do PDCA no desenvolvimento de software promove a melhoria contínua, bem 
como a eficiência e a eficácia nos processos de criação de software. Veja como o ciclo PDCA 
se aplica ao desenvolvimento de software:
Verificar (Check):
 Objetivo: avaliar os resultados da implementação para comparar com as
metas estabelecidas.
 Realização de testes de sistema e aceitação.
 Verificação da conformidade com os requisitos.
 Análise de métricas de qualidade e desempenho.
Qualidade de Software – Ciclo de melhoria contínua 
A aplicação do PDCA no desenvolvimento de software promove a melhoria contínua, bem 
como a eficiência e a eficácia nos processos de criação de software. Veja como o ciclo PDCA 
se aplica ao desenvolvimento de software:
Agir (Act):
 Objetivo: tomar ações corretivas e/ou preventivas com base na avaliação realizada na etapa 
de verificação.
 Correção de bugs identificados nos testes.
 Melhoria contínua de processos com base nos resultados.
 Atualização do plano de desenvolvimento
conforme necessário.
Qualidade de Software – Ciclo de melhoria contínua 
Quando falamos em “realizar a análise de métricas de qualidade e desempenho”, a qual item 
estamos nos referindo?
a) Planejamento (Plan).
b) Execução (Do).
c) Verificação (Check).
d) Agir (Act).
e) Nenhuma das anteriores está correta.
Interatividade
Quando falamos em “realizar a análise de métricas de qualidade e desempenho”, a qual item 
estamos nos referindo?
a) Planejamento (Plan).
b) Execução (Do).
c) Verificação (Check).
d) Agir (Act).
e) Nenhuma das anteriores está correta.
Resposta
 O gerenciamento de configuração desempenha um papel crucial na gestão da qualidade do 
software ao estabelecer processos para a revisão e a aprovação das mudanças propostas 
antes que elas sejam implementadas.
 O processo de gerenciamento de configuração é uma metodologia estruturada que visa 
assegurar a integridade e a estabilidade do software durante seu ciclo de vida. Desse modo, 
ele abrange várias atividades críticas, como a identificação de configurações, o controle de 
mudanças, o registro e o relatório do estado das configurações, e a auditoria
da configuração.
Qualidade de Software – Gerenciamento da configuração
Identificação da
Configuração
Controle da
Configuração
Status da
Configuração
Auditoria de
Configuração
 Identificação da Configuração: é a primeira etapa do gerenciamento da configuração e é 
crucial para estabelecer uma base sólida para todo o processo.
 Nessa etapa, o analista deve documentar cada item de software e hardware que será 
utilizado no projeto do software.
Qualidade de Software – Gerenciamento da configuração
Identificação da
Configuração
Controle da
Configuração
Status da
Configuração
Auditoria de
Configuração
 Controle da Configuração: envolve a avaliação e aprovação de cada pedido de mudança, 
seja no software ou no hardware, para garantir que todas as alterações sejam controladas. 
Incluindo o versionamento do código-fonte.
Qualidade de Software – Gerenciamento da configuração
Identificação da
Configuração
Controle da
Configuração
Status da
Configuração
Auditoria de
Configuração
 Status da Configuração: monitora e registra o estado atual e suas mudanças dos itens de 
configurações (ICs) ao longo do tempo. Isso ajuda a manter um histórico preciso e atualizado 
das configurações.
Exemplo:
Qualidade de Software – Gerenciamento da configuração
Descrição do IC Versão Localização Responsável Observação
.Net Framework 4.5 Servidor Alpha Gerência de Infra Foi agendada uma 
atualização
Identificação da
Configuração
Controle da
Configuração
Status da
Configuração
Auditoria de
Configuração
 Ferramentas e práticas para auxiliar no gerenciamento de configuração. 
 Ferramentas de gerenciamento de mudanças de software.
Qualidade de Software – Gerenciamento da configuração
Fonte: 
https://enotas.com
.br/blog/wp-
content/uploads/2
021/02/GitHub.jpg
Fonte: 
https://www.visualsvn.com/ima
ges/opengraph-image.png
 Ferramentas e práticas para auxiliar no gerenciamento de configuração. 
 Ferramentas de deploy em ambiente.
Qualidade de Software – Gerenciamento da configuração
Fonte: 
https://www.phpro.be/u
ploads/media/sulu-
400x400/09/469-
jenkins%404x.png?v=1-
0?62b3251db82aa489a
7ee194a74cc6fb1
Fonte: https://logowik.com/content/uploads/images/bamboo3477.jpg
 Ferramentas e práticas para auxiliar no gerenciamento de configuração. 
 Ferramentas de fluxo de trabalho.
Qualidade de Software – Gerenciamento da configuração
Fonte: 
https://portalcliente.pixeon.com/im
ages/atlassian-jira-logo-large.png
Fonte: 
https://media.publit.io/file/q_80/tr
ello-logo-produtivamente.png
Qual a utilização da ferramenta GitHub?
a) Realizar a gestão do código-fonte.
b) Realizar o desenvolvimento do software.
c) Realizar o deploy do software em ambiente apropriado.
d) Realizar a checagem das configurações do hardware.
e) Realizar a comunicação do fluxo de trabalho.
Interatividade
Qual a utilização da ferramenta GitHub?
a) Realizar a gestão do código-fonte.
b) Realizar o desenvolvimento do software.
c) Realizar o deploy do software em ambiente apropriado.
d) Realizar a checagem das configurações do hardware.
e) Realizar a comunicação do fluxo de trabalho.
Resposta
 A construção e a manutenção da cultura da qualidade dentro das organizações transcende 
as metodologias e ferramentas específicas, focando então nas pessoasque são os 
verdadeiros agentes da qualidade. Iniciativas como treinamentos regulares, workshops sobre 
melhores práticas e reconhecimento dos colaboradores que contribuem significativamente 
para o avanço da qualidade são fundamentais. Empresas como o Google têm liderado pelo 
exemplo, criando ambientes onde a inovação é incentivada, mas sem perder o foco na 
excelência do produto final.
Qualidade de Software – Cultura da Qualidade 
Manutenção Corretiva
 A manutenção corretiva é essencialmente reativa, focada na correção de defeitos 
identificados no software após sua implantação. Esse tipo de manutenção é crucial para a 
estabilidade e a confiabilidade do sistema, pois possibilita que falhas inesperadas sejam 
prontamente resolvidas. Assim, uma abordagem eficaz para a manutenção corretiva abarca 
várias etapas, a começar pela coleta e análise detalhada dos relatórios de erro fornecidos 
pelos usuários ou sistemas de monitoramento automatizados.
Qualidade de Software – Manutenção e Evolução do Software
Manutenção Corretiva
Qualidade de Software – Manutenção e Evolução do Software
Tipos de 
Manutenção 
Corretiva
Imediata
Agendada
Manutenção Adaptativa
 A manutenção adaptativa lida com as alterações necessárias para fazer o software operar 
eficientemente em um ambiente modificado ou atualizado. A partir disso, é possível encontrar 
atualizações no sistema operacional, mudanças nas políticas externas ou evoluções 
tecnológicas que exijam ajustes no software para manter sua funcionalidade e desempenho.
Qualidade de Software – Manutenção e Evolução do Software
Manutenção Adaptativa
Qualidade de Software – Manutenção e Evolução do Software
M
a
n
u
te
n
ç
ã
o
 a
d
a
p
ta
ti
v
a Novas regras de 
negócio
Compatibilidade 
de ambiente
Integração com 
novos sistemas
Melhoria do 
desempenho
Manutenção Preventiva
 A manutenção preventiva ajuda a evitar problemas futuros de software aperfeiçoando o 
código e a estrutura do sistema antes que eles ocorram. Esta abordagem proativa de 
manutenção pode reduzir significativamente os custos no longo prazo, pois evita os custosos 
reparos de emergência e evita interrupções imprevistas.
Qualidade de Software – Manutenção e Evolução do Software
Manutenção Adaptativa
Qualidade de Software – Manutenção e Evolução do Software
M
a
n
u
te
n
ç
ã
o
 a
d
a
p
ta
ti
v
a Novas regras de 
negócio
Compatibilidade 
de ambiente
Integração com 
novos sistemas
Melhoria do 
desempenho
Quando dizemos que estamos realizando uma manutenção para evitar problemas futuros, 
estamos querendo realizar qual tipo de manutenção?
a) Evolutiva.
b) Preventiva.
c) Corretiva.
d) Adaptativa.
e) Nenhuma das anteriores está correta.
Interatividade
Quando dizemos que estamos realizando uma manutenção para evitar problemas futuros, 
estamos querendo realizar qual tipo de manutenção?
a) Evolutiva.
b) Preventiva.
c) Corretiva.
d) Adaptativa.
e) Nenhuma das anteriores está correta.
Resposta
 Outra boa prática que vem revolucionando a indústria de construção de software e, por 
consequência, alterando a forma como gerenciamos a qualidade de nossos softwares são as 
metodologias ágeis.
Qualidade de Software – Gestão ágil de projetos de desenvolvimento
de software
Fonte: https://fixeconsulting.com/wp-content/uploads/2019/02/Como-aplicar-agile-no-seu-dia-a-dia.jpg
 Iremos abordar os dois métodos mais utilizados no mercado atualmente:
Qualidade de Software – Gestão ágil de projetos de desenvolvimento
de software
Product Owner Scrum Master
Sprint Planning
Product Backlog Sprint Backlog
Team Sprint
Daily Scrum Meeting
Product Increment
Fonte: 
https://storage.
googleapis.co
m/medium-
feed.appspot.c
om/images%2
F9353691196
%2F37c57ce8
64337-Como-
escolher-
Scrum-versus-
Kanban.jpg
Fonte: Adaptado de: 
https://miro.com/api/v1/boards/uXjVMR7GF64%3
D/resources/3458764514751560612/files/created
O primeiro deles é o Kanban
 A principal vantagem do Kanban é proporcionar uma visão clara do fluxo de trabalho atual, 
com a possibilidade de identificar gargalos e priorizar tarefas com maior eficiência. Ao 
contrário do Scrum, não há sprints; o trabalho flui continuamente de acordo com o 
andamento da equipe. Isso torna o Kanban particularmente adequado para ambientes onde 
os requisitos mudam frequentemente, ou para projetos com demandas imprevisíveis.
Qualidade de Software – Gestão ágil de projetos de desenvolvimento
de software
Fonte: 
https://storage.googleapi
s.com/medium-
feed.appspot.com/image
s%2F9353691196%2F37
c57ce864337-Como-
escolher-Scrum-versus-
Kanban.jpg
O segundo é o Scrum
 O Scrum é uma das metodologias ágeis mais populares no desenvolvimento de software, 
caracterizada por sua estrutura iterativa e incremental. A base do Scrum é o sprint, um 
período fixo (geralmente de duas a quatro semanas) durante o qual uma equipe trabalha 
para completar um conjunto específico de funcionalidades.
Qualidade de Software – Gestão ágil de projetos de desenvolvimento
de software
Manifesto Ágil
Indivíduos
e interações
mais que
processos e
ferramentas
Responder
a mudanças
mais que
seguir um
plano
Software em
funcionamento
mais que
documentação
abrangente
Colaboração
com o cliente
mais que
negociação
de contratos
1 2
34
Fonte: Adaptado de: 
https://www.itepconsultoria.com/wp-
content/uploads/2021/07/1_T2OGm
Pz1uzTgIbk4AoamNg.png
 Abaixo temos um diagrama do framework Scrum, seus papéis e processos. Vamos falar um 
pouco sobre eles.
Qualidade de Software – Gestão ágil de projetos de desenvolvimento
de software
Product Owner Scrum Master
Sprint Planning
Product Backlog Sprint Backlog
Team Sprint
Daily Scrum Meeting
Product Increment
Fonte: Adaptado de: 
https://miro.com/api/v1/boards/uXjVMR7GF64%3
D/resources/3458764514751560612/files/created
Mas quando usar o Kanban ou o Scrum?
 Scrum: ideal para projetos com requisitos que podem mudar rapidamente e onde é 
importante ter entregas regulares e incrementais.
 Kanban: ideal para equipes que precisam de flexibilidade e um fluxo contínuo de trabalho, 
como em operações de manutenção e suporte.
 Ambas as metodologias podem ser
combinadas em uma abordagem chamada
de Scrumban, que aproveita a estrutura
do Scrum e a flexibilidade do Kanban.
Qualidade de Software – Gestão ágil de projetos de desenvolvimento
de software
Fonte: https://fixeconsulting.com/wp-content/uploads/2019/02/Como-aplicar-agile-no-seu-dia-a-dia.jpg
Quando precisamos utilizar um fluxo contínuo de trabalhos, estamos falando de
qual metodologia?
a) Scrumban.
b) Scrum.
c) CMMI.
d) Kanban.
e) Nenhuma das anteriores está correta.
Interatividade
Quando precisamos utilizar um fluxo contínuo de trabalhos, estamos falando de
qual metodologia?
a) Scrumban.
b) Scrum.
c) CMMI.
d) Kanban.
e) Nenhuma das anteriores está correta.
Resposta
 BARTIÉ, Alexandre. Garantia da qualidade de software: adquirindo maturidade 
organizacional. Rio de Janeiro: Elsevier, 2002.
 DEMING, W. Edwards. Saia da crise. São Paulo: Editora Marques Saraiva, 1990.
 ENGHOLM, Hélio Jr. Engenharia de software na prática. São Paulo: Novatec, 2010.
 PROJECT MANAGEMENT INSTITUTE. Um guia do conhecimento em gerenciamento de 
projetos (Guia PMBOK®). 5. ed. [S.l.]: Project Management Institute, 2013.
Referências
ATÉ A PRÓXIMA!

Mais conteúdos dessa disciplina