Você está na página 1de 15

Revisão GPS

Lista 1
1) O que é um projeto? Justifique a sua resposta.
Um projeto é um esforço temporário para criar um produto, serviço ou resultado único. Ele é
temporário porque tem um prazo definido, e único porque é diferente de outros esforços
similares já realizados. O projeto é uma forma de organizar o trabalho em torno de objetivos
específicos e limitados, e com recursos específicos.

2) Diferentes razões foram apresentadas para estudar gerenciamento de projetos.


Explique três das razões apresentadas.
● Produtos entregues fora do prazo.
● Custo final do software “diferente” do custo planejado.
● Projetos concluídos que não atendem o escopo original.

3) O que é gerenciamento de projetos? Justifique a sua resposta.


Gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e
técnicas para planejar, executar e controlar as atividades do projeto, a fim de alcançar os
objetivos definidos. Ele inclui o planejamento e coordenação de recursos humanos,
materiais e financeiros, e o controle de prazos, custos e qualidade.

4) Durante o planejamento de projeto, diferentes fatores de influência devem ser


considerados. Entre os possíveis fatores estão: tempo, pessoas, tarefas, riscos,
custos e recursos. Explique cada um desses fatores, destacando a influência do
mesmo no projeto.
Tempo se refere ao prazo para a entrega do projeto, e influencia diretamente na
organização das atividades e na alocação de recursos.
Pessoas se referem à equipe envolvida no projeto, e influência na capacidade de executar
as tarefas necessárias.
Tarefas se referem às atividades necessárias para a conclusão do projeto, e influência na
organização das atividades e na alocação de recursos.
Riscos se referem às incertezas que podem afetar o projeto, e influencia na necessidade de
planos de contingência.
Custos se referem aos recursos financeiros necessários para a execução do projeto, e
influência na capacidade de executar as tarefas necessárias.
Recursos se refere aos recursos materiais necessários para a execução do projeto, e
influência na capacidade de executar as tarefas necessárias.

5) Quais são as principais responsabilidades de um gerente de projeto?


● Coordenar interações com clientes.
● Alocar recursos e definir prioridades.
● Estabelecer práticas para assegurar a qualidade do projeto.

6) Quais são as principais características esperadas de um gerente de projeto?


● Disciplina
○ Para seguir o que foi planejado
● Organização
○ Acompanhar as diferentes atividades relacionadas.
● Liderança
○ Inspirar as pessoas para seguirem os caminhos necessários para o projeto.
● Trabalho em grupo
○ Criar um ambiente de cooperação, visando o projeto.
● Gerenciar conflitos
○ Lidar com pessoas diferentes em um mesmo ambiente.
● Capacidade de priorizar
○ Selecionar quais requisitos devem ser considerados em determinado
momento.
● Persistência
○ Trabalhar continuamente para atender o prazo e o cronograma do projeto.

7) É importante que um gerenciamento efetivo de projeto se concentre nos seguintes


elementos: pessoas, produto, processo e projeto. Explique cada elemento,
considerando a sua importância para o desenvolvimento de software.
Pessoas se refere à equipe do projeto, e é importante porque a equipe é responsável pela
execução das atividades e pela entrega do produto final.
Produto se refere ao resultado do projeto, e é importante porque é o objetivo final do
projeto.
Processo se refere à sequência de atividades específicas para o desenvolvimento, de modo
a atender necessidades e/ou expectativas dos clientes, e é importante porque ajuda a
garantir a qualidade do produto final.
Projeto pode ser entendido como um artefato que possibilita administrar a complexidade
envolvida, e é importante porque ajuda a garantir a eficiência e eficácia na entrega do
produto final. Exemplos: Objetivos, custos, riscos, atividades e cronograma.

8) O que é o People-CMM? Quais foram as práticas do People-CMM apresentadas?


Explique sucintamente cada prática.
O People-CMM (Capability Maturity Model) é um um modelo exclusivo para gerenciar os
recursos humanos desenvolvido pelo Software Engineering Institute (SEI). Ele fornece uma
estrutura para melhorar as práticas de gerenciamento de pessoas em uma organização.

Formação de equipe: O People-CMM enfatiza a importância de formar equipes de trabalho


eficazes e de alto desempenho. Algumas práticas relacionadas à formação de equipe
incluem:
Planejamento de equipe: Definir os requisitos de competências necessárias para o projeto e
planejar a formação de equipes com base nessas competências.

Seleção de equipe: Selecionar membros da equipe com base em suas habilidades,


experiência e competências necessárias para o projeto.

Integração de equipe: Integrar os membros da equipe em um ambiente de trabalho


colaborativo, promovendo a comunicação aberta e a cooperação entre os membros da
equipe.

Comunicação: A comunicação eficaz é fundamental para o sucesso de qualquer projeto.


Algumas práticas relacionadas à comunicação incluem:
Planejamento de comunicação: Definir um plano de comunicação que estabeleça os canais
de comunicação, as responsabilidades dos membros da equipe em relação à comunicação
e as informações que precisam ser compartilhadas.

Comunicação regular: Estabelecer práticas de comunicação regular entre os membros da


equipe, com o objetivo de manter todos informados sobre o status do projeto, identificar
problemas e tomar decisões.

Comunicação clara e aberta: Promover uma cultura de comunicação clara e aberta, em que
os membros da equipe se sintam encorajados a expressar suas opiniões, compartilhar
informações e resolver problemas de forma colaborativa.

Treinamento: O treinamento é uma prática importante para o desenvolvimento das


competências dos membros da equipe. Algumas práticas relacionadas ao treinamento
incluem:
Identificação de necessidades de treinamento: Identificar as necessidades de treinamento
dos membros da equipe com base nas competências necessárias para o projeto e nos gaps
de habilidades identificados.

Planejamento de treinamento: Elaborar um plano de treinamento que defina os objetivos de


treinamento, as atividades de treinamento a serem realizadas e os recursos necessários.

Execução de treinamento: Implementar as atividades de treinamento definidas no plano de


treinamento, monitorando o progresso e avaliando a eficácia do treinamento.

9) O processo de software é igual ao gerenciamento? Justifique a sua resposta.


Não, o processo de software é uma parte do gerenciamento de projeto de software. O
processo de software é a sequência de atividades necessárias para desenvolver um
produto de software, enquanto o gerenciamento de projeto de software é a aplicação de
conhecimentos, habilidades, ferramentas e técnicas para planejar, executar e controlar as
atividades do projeto, a fim de alcançar os objetivos definidos. O gerenciamento de projeto
de software inclui o planejamento e coordenação de recursos humanos, materiais e
financeiros, e o controle de prazos, custos e qualidade, além da sequência de atividades
para desenvolver o produto de software.

10)Ter um projeto definido é sinônimo de sucesso? Justifique a sua resposta.


Não necessariamente. Ter um projeto definido é uma etapa importante, mas existem outros
fatores que influenciam o sucesso do projeto, como a eficácia da equipe, a gestão de riscos,
a qualidade do produto final, entre outros. O sucesso do projeto depende de vários fatores,
e a definição do projeto é apenas o primeiro passo. O gerenciamento efetivo do projeto ao
longo de todo o ciclo de vida é essencial para o sucesso.

Lista 3
1) O que é um recurso humano? Justifique a sua resposta.
Recursos Humanos é a expressão utilizada para classificar todos os profissionais de uma
empresa.
2) Por que o gerenciamento de recursos humanos é uma tarefa primordial para o
sucesso de um projeto?
Os recursos humanos são uma das principais fontes de risco em um projeto. A gestão
eficaz dos recursos humanos pode ajudar a garantir que o projeto seja concluído dentro do
prazo, do orçamento e dos requisitos estabelecidos.

3) O que é o plano de gerenciamento de recursos humanos? Justifique a sua


resposta.
O plano de gerenciamento de recursos humanos é um documento que define como os
recursos humanos serão gerenciados durante todo o ciclo de vida do projeto. Ele
estabelece as políticas, os procedimentos e as práticas que serão usados para identificar,
adquirir, desenvolver, gerenciar e controlar os recursos humanos do projeto.

4) Qual é o propósito do organograma hierárquico e da matriz de responsabilidades?


Justifique a sua resposta.
Organograma hierárquico: Utilizado para apresentar posições e relações na empresa.
● Apresenta as áreas funcionais existentes.
● Descreve a hierarquia existente na empresa e/ou no projeto.

Matriz de responsabilidades: Utilizada para representar o projeto, sob diferentes


pontos de vista.
Exemplos
● Responsabilidades
○ Trabalhos que os membros da equipe deverão realizar.
● Competências
○ Avaliação de habilidades e/ou capacidades, necessárias para concluir as
atividades de projeto.
5) Quais são as diferenças entre o gerente funcional e o gerente de projetos, no
modelo matricial?
Gerente Funcional
● Define como o trabalho vai ser feito.
● Define onde a tarefa será executada.
● Indica quem realizará o trabalho.
● Garante que as entradas de uma tarefa sejam integradas corretamente.
Gerente de Projeto
● Define o que vai ser feito.
● Define prazos.
● Define orçamento.
● Controla a execução do projeto.
Lista 4
1) Para estimar os custos de um projeto de software, é importante entender
determinados conceitos. Entre tais conceitos estão recursos e custos. O que
representa um recurso? E o que representa um custo?
Recursos
● "Tudo aquilo" que é utilizado durante o projeto
Custos
● Gastos e/ou despesas a ser considerado ao decorrer do projeto

2) Quais foram os tipos de recurso estudados? Explique cada um.


● Humano: pessoas envolvidas no projeto
● Físico
○ Consumível
■ Consumo acontece de maneira mais rápida
■ Exemplos: materiais de escritório, passagens, combustível,
outros...
○ Não-consumível
■ Consumo prolongado podendo inclusive considerar um ou mais
projetos
■ Exemplos: aquisição de hardwares e softwares

3) Quais foram os tipos de custo estudados? Apresente uma definição para cada tipo.
● Direto: são os custos que podem ser diretamente atribuídos a uma atividade
específica do projeto.
○ Software
■ Exemplos: remuneração dos profissionais, licenças de software,
hardware, entre outros.
● Indireto: são os custos que não podem ser diretamente atribuídos a uma atividade
específica do projeto, mas ainda são necessários para a realização do projeto.
○ Empresa
■ Exemplos: água, luz, internet, outros...

4) Estimativa de custos é o mesmo que definir preços? Justifique a sua resposta com
base no material disponibilizado.
A estimativa de custos é o processo de determinar uma previsão aproximada dos custos
totais do projeto com base em informações disponíveis e técnicas de estimativa. Por outro
lado, definir preços é o processo de determinar o valor a ser cobrado pelo produto ou
serviço final do projeto, levando em consideração os custos estimados, além de outros
fatores, como margem de lucro, estratégias de mercado e concorrência.

5) Para estabelecer estimativas confiáveis, ações específicas podem ser


consideradas. Quais foram as ações discutidas em sala de aula? Explique cada ação.
● Considerar de informações de projetos anteriores
○ Desenvolvimento pela própria empresa
● Resultados divulgados por (outras) empresas
○ Resultados genéricos
○ Estudos de caso
6) Fatores de projeto podem ser utilizados em isolado ou em conjunto com outras
informações. Quando tais fatores são utilizados em isolado?
Os fatores de projeto podem ser utilizados isoladamente quando são independentes de
outras informações e não precisam ser combinados ou ajustados com outros fatores. Por
exemplo, se um fator de projeto, como a taxa de câmbio, é uma informação única e não
afeta ou é afetado por outros fatores do projeto, pode ser utilizado isoladamente para
estimar os custos associados a essa variável específica.

7) Quais são as etapas de gerenciamento de custos? Explique cada etapa.


1. Estimativa do tamanho do projeto: é o processo de estimar o tamanho do projeto
de software, que pode ser medido em linhas de código, pontos de função ou outras
métricas relevantes. Essa estimativa é baseada nas características e requisitos do
projeto e é um dos primeiros passos para estimar os custos associados ao projeto.
2. Conversão do tamanho para homem/hora: é o processo de converter o tamanho
estimado do projeto em horas de trabalho necessárias para completar o projeto. Isso
envolve a definição de uma taxa de produtividade ou eficiência da equipe de
desenvolvimento, que pode variar com base na experiência e habilidades da equipe,
e a aplicação dessa taxa ao tamanho estimado do projeto.
3. Elaboração do cronograma do projeto: é o processo de desenvolver um
cronograma detalhado que define a sequência de atividades, suas durações,
dependências e marcos temporais ao longo do projeto. O cronograma é uma
ferramenta importante para estimar os custos do projeto, uma vez que permite
identificar as atividades que consomem mais recursos e tempo, e pode ajudar a
alocar recursos de forma eficaz.
4. Cálculo do orçamento para o projeto: é o processo de estimar os custos totais do
projeto com base nas informações disponíveis, como as estimativas de tamanho do
projeto, as horas de trabalho necessárias, os custos diretos e indiretos. O orçamento
do projeto é uma parte importante do plano de gerenciamento de custos e é usado
para acompanhar e controlar os gastos do projeto ao longo do tempo.

Lista 7
1) No gerenciamento de projetos de software, é importante realizar o planejamento
em dois níveis. Quais são esses níveis?
Nível de Projeto: É o planejamento geral do projeto, que envolve a definição dos objetivos,
escopo, cronograma, recursos, orçamento e estratégias de gerenciamento do projeto como
um todo. É realizado na fase inicial do projeto e é usado para estabelecer uma visão geral
do projeto e sua direção.

Nível de Iteração: É o planejamento detalhado de cada iteração do projeto. Uma iteração é


um ciclo de desenvolvimento de software que envolve a entrega de incrementos de
funcionalidades ao longo do tempo, geralmente em um prazo fixo. O planejamento de
iteração envolve a definição das atividades, tarefas, recursos, prazos e metas específicas
para cada iteração, com base no plano de projeto de alto nível.

2) Antes de iniciar o planejamento de projeto, é importante registrar determinadas


decisões gerenciais. Na disciplina, três registros de decisão foram estudados. Quais?
Explique cada registro, considerando a sua respectiva finalidade.
Seleção de projetos
● OBS: um projeto de software precisa lidar com diferentes "variáveis", tais como
recursos, custos, prazos, orçamentos e outros
● Necessidade de avaliar se determinado projeto é viável considerando as diferentes
variáveis
● apresentadas.
● Ao final da avaliação o projeto pode ou não ser selecionado para execução

Termo de abertura
● É um documento que oficializa o projeto
● Diferentes informações devem constar nesse documento
○ Exemplos: objetivos, requisições, obrigações (empresa e cliente)

Definição de escopo
● Documento que define o que deve ser feito no projeto, em termos de funcionalidades
● Além das funcionalidades, outros itens, podem ser considerados
○ Documentação
○ Treinamento

3) No planejamento de projeto, deve-se considerar no mínimo quatro atividades


principais: estimativa do esforço total para realizar o projeto, cálculo do tempo linear
e do tamanho médio da equipe, estimativa de duração e esforço das fases do projeto
e estimativa da duração e do número de iterações do projeto. Explique de maneira
detalhada cada atividade principal.
1. Estimativa de esforço total
a. Uso de uma ou mais técnicas de estimativa de esforço, tais como APF e PH
2. Cálculo do tempo linear de projeto e tamanho do esforço da equipe
a. Considera os resultados de estimativa de esforço, obtidos na atividade
anterior
3. Estimativa de duração e esforço (fases)
a. Influência de processo de desenvolvimento de software
b. Processo:
i. F1 - Requisitos
ii. F2 - Análise
iii. F3 - Implementação
iv. F4 - Implantação
4. Estimativa de duração das iteração com a definição de nº de iteração

4) No planejamento de iteração, é necessário a identificação dos responsáveis pelas


tarefas e/ou atividades, a identificação dos recursos e dos custos, a identificação de
dependências e outras atividades. Quais são essas outras atividades?
NAO SEI

5) O que é um caminho crítico? Sua resposta deve considerar os materiais


apresentados e discutidos em sala de aula.
O caminho crítico consiste no mais longo caminho, entre o início e o fim do projeto ou
iteração.
6) O que é uma rede PERT? Sua resposta deve considerar os materiais apresentados
e discutidos em sala de aula.
A rede PERT (Program Evaluation and Review Technique) é uma técnica utilizada no
gerenciamento de projetos para estimar e programar as atividades de um projeto de forma
probabilística, levando em consideração a incerteza associada à duração de cada atividade.

7) O que é um diagrama de Gantt? Sua resposta deve considerar os materiais


apresentados e discutidos em sala de aula.
O diagrama de Gantt fornece uma visão geral do cronograma do projeto, permitindo
identificar as atividades, suas durações, suas sobreposições e o sequenciamento das
atividades.

Lista 8
1) A Crise do Software influenciou no desenvolvimento de práticas de qualidade para
o contexto de software. Explique algumas das razões que motivaram o
desenvolvimento das práticas.
A Crise do Software, década de 70, evidenciou as dificuldades do desenvolvimento de
software, para lidar com o rápido crescimento da demanda. Essa situação evidenciou a
importância da qualidade para o contexto de software.
a) A necessidade de lidar com a complexidade crescente do software, que resultou em
dificuldades na compreensão e manutenção do código, levando a erros e baixa qualidade
do software.
b) A demanda por software confiável e seguro, especialmente em setores críticos como
saúde, aviação, finanças, entre outros, onde falhas de software podem ter consequências
graves.
c) A busca por eficiência e eficácia no desenvolvimento de software, visando reduzir custos,
prazos e esforços desnecessários, e garantir a entrega de software de alta qualidade aos
clientes.
d) A necessidade de melhorar a satisfação do cliente, fornecendo software que atenda às
suas expectativas em termos de qualidade, funcionalidades e desempenho.

2) Elabore uma definição pessoal para Qualidade de Software, considerando as


definições que foram apresentadas em aula.
Conjunto de ações a serem realizadas (atividades técnicas) para atender as necessidades
e/ou expectativas (resultado) do cliente/usuário.

3) A Qualidade de Software pode ser subjetiva? Justifique a sua resposta.


Sim, a qualidade de software pode ser estruturada em termos de visões. Cada visão pode
contemplar um conjunto de critérios, importantes para um grupo, na avaliação da qualidade
de software.
● Usuário
○ Facilidade de uso e confiabilidade
● Desenvolvedor
○ Taxa de defeitos e facilidade de manutenção
● Organização
○ Cumprimento de prazo e previsão de custo
4) A Qualidade de Software busca a qualidade em termos de processo e produto.
Quais são os objetivos principais associados com a qualidade do processo? E com a
qualidade do produto?
● Processo: identificar atividades que possam ser realizadas de modo a contribuir
com a qualidade -> existência de padrões (avaliação; melhoria).
● Produto: verificação do software (produto).

5) A Qualidade de Software pode ser estruturada em termos de visões. O que é uma


visão?
Visões são as formas que diferentes pessoas entendem quais são pontos importantes na
qualidade de software.

6) Apresente e descreva possíveis visões associadas com o software.


● Usuário
○ Facilidade de uso e confiabilidade
● Desenvolvedor
○ Taxa de defeitos e facilidade de manutenção
● Organização
○ Cumprimento de prazo e previsão de custo

7) Ao alcançar a qualidade, diferentes benefícios podem ser observados. Selecione e


explique três dos benefícios citados.
● Maior precisão nas estimativas
● Redução de problemas no software
● Maior produtividade
● Aumento de confiabilidade

Lista 9
1) Entre as informações que podem constar em um plano de qualidade, estão:
introdução ao produto, planejamento do produto, metas de qualidade e
gerenciamento de riscos. Qual o propósito de cada uma dessas informações, no nível
de qualidade?
Introdução ao produto: Essa informação fornece uma visão geral do produto, destacando
sua finalidade, escopo, características e requisitos, estabelecendo uma base clara para o
planejamento da qualidade.
*Slide: Características do produto e expectativas de qualidade.

Planejamento do produto: Essa informação detalha as estratégias, métodos, recursos e


responsabilidades para alcançar os objetivos de qualidade estabelecidos. Ela define como a
qualidade será planejada, monitorada e controlada ao longo do ciclo de vida do produto.
*Slide: Cronograma do que deve ser entregue e os objetivos do projeto.

Metas de qualidade: Essa informação estabelece os objetivos e critérios de qualidade que


o produto deve atingir. Ela define os padrões de desempenho esperados e serve como base
para avaliar se o produto está atendendo aos requisitos de qualidade estabelecidos.
*Slide: Definição dos atributos de qualidade, de padrões e procedimentos a serem seguidos.
Gerenciamento de riscos: Essa informação identifica e avalia os riscos que podem afetar
a qualidade do produto e estabelece estratégias para mitigá-los. Ela visa antecipar e
prevenir possíveis problemas de qualidade, minimizando os impactos negativos no produto
e no processo de desenvolvimento.
*Slide: Quais são os riscos e quais são as ações para combatê-los.

2) Outras informações podem constar em um plano de qualidade? Se sim,quais?


Justifique sua resposta.
● Ações p/ gerenciamento de qualidade
● Ações p/ controle de qualidade
● Descrição do software (produto)
● Planejamento de produto
● Restrições
○ Qualidade
○ Projeto

3) Durante as aulas, discussões foram realizadas sobre o custo da qualidade.


Considerando tais discussões, responda: na sua avaliação, o que sai mais caro, o
custo da qualidade ou o custo da falta de qualidade? Apresente argumentos para
justificar sua avaliação.
Não lembro
GPT: Na minha avaliação, o custo da falta de qualidade é mais caro do que o custo da
qualidade. Isso se deve ao fato de que a falta de qualidade pode resultar em diversos
problemas, como retrabalho, correção de defeitos, perda de clientes, impacto negativo na
reputação da empresa, atrasos no cronograma, entre outros. Além disso, a falta de
qualidade pode levar a custos ocultos, como perda de oportunidades de negócio e
diminuição da competitividade. Por outro lado, investir em práticas de qualidade desde o
início do projeto pode ajudar a prevenir defeitos, otimizar o processo de desenvolvimento,
melhorar a satisfação do cliente e reduzir os custos associados à correção de defeitos e
retrabalho.

4) No contexto de qualidade de software, os custos de prevenção, avaliação e falhas


foram estudados. Explique cada tipo de custo.
Prevenção: Consiste em considerar custos relacionados com
● Atividades de gerenciamento
○ Planejamento e coordenação das ações de garantia e de controle de
qualidade.
● Atividades técnicas
○ Desenvolvimento de modelos completos de requisitos de projeto.

Avaliação: Consiste em considerar custos relacionados com


● Revisões técnicas
● Coleta de dados e aplicação de métricas
● Realização de testes e depuração

Falhas: Consiste em considerar custos relacionados com problemas e correções.

● Exemplos
○ Problemas que aconteceram antes ou após a entrega.
○ Correções que foram realizadas, antes ou depois das entregas.

5) Por que os “custos aumentam à medida que saem da prevenção e avançam para a
detecção externa”?
Porque com o decorrer do projeto as correções de falhas tendem a ficar cada vez mais
caras, uma vez que um único problema pode afetar outras partes do produto ou até mesmo
o usuário final.

6) A qualidade do software não se estabelece do “nada”. A obtenção da qualidade é


resultado de diferentes atividades. De maneira sucinta, quais são essas atividades?
nao sei

Lista 11
1) Os processos da ISO/IEC 12207 podem ser agrupados em processos fundamentais,
de apoio, organizacionais e de adaptação. Explique cada grupo de processo.
● Foco: definição de processos que podem ser considerados durante o ciclo de vida
do software
● Categorias de processos
○ Fundamentais
■ Desenvolvimento/manutenção
○ De apoio
■ Auxiliar no desenvolvimento
○ Organizacionais
■ Melhorar o fluxo de trabalho na empresa
○ De adaptações

2) A ISO/IEC 15504 está estruturada em duas dimensões, de processos e capacidade.


Explique cada dimensão.
● Processos
○ Existência de categorias de processos
○ Categoria de processos
■ Relação cliente/fornecedor
■ Interação
■ Processo de engenharia
■ Desenvolvimento
■ Processo de suporte
■ Auxilio
■ Processo de gerencia
■ Gerenciamento
■ Processos de organização
■ Mudanças nas empresas de desenvolvimento
● Capacidade
○ Busca-se avaliar a capacidade de um ou mais processos empregados
○ Conjunto de processos ---------- avaliados ----------> Capacidade -> Nível de
capacidade

3) A norma ISO/IEC 15504 apresenta seis níveis de capacidade: incompleto, realizado,
gerenciado, estabelecido, previsível e otimizado. Apresente uma explicação sucinta
de cada nível de capacidade.
● Nível 0: Incompleto
○ Falha
● Nível 1: Realizado
○ Entradas / saídas conhecidas
● Nível 2: Gerenciado
○ Prazos são respeitados
● Nível 3: Estabelecido
○ Padronizado
● Nível 4: Previsível
○ Medições (medidas/métricas)
● Nível 5: Otimizado
○ Melhoria contínua (mudanças)

Lista 12
1) O que é uma medida? Justifique a sua resposta e apresente um exemplo.
Uma medida representa a indicação quantitativa da extensão, quantidade, capacidade ou
tamanho de um atributo do artefato.
Exemplo: Número de defeitos descobertos em um componente de software.

2) O que é uma medição? Justifique a sua resposta e apresente um exemplo.


A medição representa o ato e/ou ação de determinar uma medida ou coletar dados.
Exemplo: Verificar o número de defeitos em um componente de software.

3) O que é uma métrica? Justifique a sua resposta e apresente um exemplo.


Uma métrica representa uma medida quantitativa do grau de um artefato, considerando um
determinado atributo. Uma métrica relaciona uma ou mais medidas, por meio de uma
determinada operação.
Exemplo: Número médio de defeitos encontrados por verificação.

4) O que é um indicador? Justifique a sua resposta e apresente um exemplo.


Um indicador representa uma combinação de métricas, que podem ser utilizadas para
realizar a avaliação de um artefato. Cada métrica que compõe o indicador pode apresentar
o resultado de avaliação do artefato por uma perspectiva diferente.
Exemplo: Nível de retrabalho a ser realizado

5) Elabore e apresente um exemplo que considere os seguintes elementos: medida,


medição, métrica e indicador. O exemplo deve estar relacionado com o
desenvolvimento de software.
Exemplo relacionado com o desenvolvimento de software:
Medida: Tempo de execução de um teste automatizado em segundos.
Medição: Utilização de uma ferramenta de teste automatizado para medir o tempo de
execução de um teste específico em segundos.
Métrica: Média do tempo de execução de todos os testes automatizados em segundos,
calculada com base nas medições coletadas.
Indicador: Gráfico de linhas que mostra a evolução do tempo de execução dos testes
automatizados ao longo do tempo, com a média estabelecida como meta. Esse indicador
permite acompanhar o desempenho dos testes em relação à meta e identificar variações ou
tendências.

6) As métricas de software podem ser classificadas em métricas de controle e


previsão. Qual a finalidade ou propósito de cada tipo?
● Controle
○ Processo (atividades)
○ Uma métrica de controle considera atividades e/ou artefatos específicos de
gerenciamento.
○ Exemplos:
■ Esforço médio gasto para reparar os defeitos de um artefato.
■ Tempo médio gasto para realizar o planejamento de um projeto.
● Previsão
○ Produto (resultado)
○ Uma métrica de previsão considera características específicas de um
artefato.
○ Exemplos:
■ Complexidade de uma classe.
■ Coesão de um componente.

7) A adoção de métricas de software apresenta dificuldades e/ou desafios. Explique


dois dos possíveis desafios. Apresente uma ou mais justificativas para a existência
dos mesmos. Observação: pode-se considerar outras dificuldades e/ou desafios além
daqueles apresentados e discutidos em sala de aula.
1. Inexistência de um padrão para a medição de software: A falta de um padrão
estabelecido para a medição de software pode dificultar a adoção consistente de
métricas em diferentes projetos ou organizações. A ausência de diretrizes claras e
padronizadas pode levar à inconsistência nos métodos de medição e dificultar a
comparação e interpretação dos resultados.
2. Ausência de processos bem definidos: A falta de processos bem definidos para a
coleta, análise e uso de métricas de software pode dificultar sua adoção eficaz. A
ausência de procedimentos e diretrizes claras para a implementação e execução do
processo de medição pode resultar em ineficiência e falta de consistência nos
resultados obtidos.

Lista 13
1) O que é um software confiável? Apresente um exemplo para justificar a sua
resposta.
O software deve funcionar corretamente. O software não deve apresentar erros de
especificação, projeto ou implementação. Exemplos:
● O software deve estar disponível quando necessário.
● O software não deve divulgar informações indevidamente.

2) Quais foram as propriedades de confiança apresentadas? Explique cada


propriedade.
● Disponibilidade
○ Uso quando necessário
● Confiabilidade
○ Resultado preciso (esperado)
● Segurança
○ Capacidade de causar danos
■ Pessoas
■ Ambientais
● Proteção
○ Capacidade de impedir ações indevidas externas

3) Todas as propriedades de confiança de software sempre são aplicáveis


simultaneamente? Justifique com um exemplo.
Nem todas as propriedades de confiança de software são sempre aplicáveis
simultaneamente, pois podem haver casos em que uma propriedade é mais relevante do
que outra, dependendo do contexto e dos requisitos do software em questão.
Exemplo: sistema regular de bomba de insulina
● Descrição: sistema que coleta de informações do paciente por meio de um sensor e
controla uma bomba, que fornece uma dose de insulina, para simular o
funcionamento do pâncreas
○ Propriedades
■ Disponibilidade
■ Confiança
■ Segurança
■ Proteção

4) Todas as propriedades estão relacionadas? Justifique a sua resposta com um


exemplo.
Embora as propriedades de confiança de software estejam relacionadas, nem todas são
diretamente dependentes uma da outra. Por exemplo, um software pode ser seguro e ter
uma boa integridade dos dados, mas ainda assim não estar disponível devido a falhas de
hardware ou de rede.

Você também pode gostar