Você está na página 1de 5

Universidade Federal de Ouro Preto – UFOP

Instituto de Ciências Exatas e Aplicadas – ICEA


Departamento de Computação e Sistemas – DECSI
Disciplina: Gerência de Configuração e Engenharia de Software – CSI 487
Professor: Bruno Hott (brhott@gmail.com)

Aluno(a): ______________________________________________

Lista de Exercícios 02: Revisão


1. Explique por que a intangibilidade dos sistemas de software gera problemas especiais para
gerenciamento de projetos de software.
2. Explique por que manter todos os membros de um grupo informados sobre progressos e decisões
técnicas de um projeto pode melhorar a coesão do grupo.
3. Escreva um estudo de caso para ilustrar a importância da comunicação em uma equipe de projeto.
Suponha que alguns membros de equipe trabalhem remotamente e que não seja possível reunir toda a
equipe a curto prazo.
4. Seu gerente solicitou que você entregue o software dentro do cronograma, o qual, você sabe, só poderá
ser cumprido caso você peça a sua equipe de projeto que trabalhe horas extras não remuneradas. Todos
os membros da equipe tem crianças pequenas. Discuta se você deve aceitar essa demanda de seu gerente
ou se você deve convencer sua equipe a dar seu tempo para a organização, em vez de ficar com suas
famílias. Quais fatores podem ser significativos em sua decisão?
5. Como programador, você tem a possibilidade de ser promovido para a posição de gerente de projetos,
mas você sente que pode contribuir mais eficazmente como técnico ao invés de assumindo um papel
gerencial. Discuta se você deve aceitar a promoção.
6. Explique por que o processo de planejamento de projeto é iterativo e por que um plano deve ser
continuamente revisto durante um projeto de software.
7. As estimativas de custos são inerentemente arriscadas, independentemente da técnica da estimativa
usada. Sugira quatro maneiras de reduzir o risco em uma estimativa de custo.
8. A tabela 1 define um número tarefas, suas durações e suas dependências. Desenhe um gráfico de barras
mostrando o cronograma de projeto.

Tarefa Duração Dependências


T1 10
T2 15 T1
T3 10 T1, T2
T4 20
T5 10
T6 15 T3, T4
T7 20 T3
T8 35 T7
T9 15 T6
T10 5 T5, T9
T11 10 T9
Tabela 1 Cronograma

1
9. A tabela 1 mostra as durações de tarefas para as atividades de projeto de software. Suponha que ocorra
um retrocesso grave, imprevisto e em vez de levar dez dias, a tarefa T5 leva 40 dias. Elabore novos
gráficos de barras, mostrando como o projeto pode ser reorganizado.
10. Alguns projetos muito grandes de software envolvem escrever milhões de linhas de código. Explique por
que os modelos de estimativa de esforço, como o COCOMO, podem não funcionar bem quando
aplicados a sistemas muito grandes.
11. Cite pelo menos seis objetivos em se utilizar métricas de software.
12. Discorra sobre as seguintes métricas estáticas de produto de software:
a) Fan-in/Fan-out
b) Comprimento de código
c) Complexidade ciclomática
d) Comprimento de identificadores
e) Profundidade de aninhamento condicional
f) Índice Fog
13. Em uma empresa X, resolveu-se comparar a produtividade de engenheiros em termos de linha de código.
Cite alguns problemas que podem surgir dessa abordagem.
14. Quantos data elements (DETs) estão presentes na seguinte tela? Se a tela atualizar um único internal
logical file (ILF), quantos pontos de função ela representa?

15. Quantos data elements (DETs) estão presentes no relatório a seguir?

2
16. Quantos data elements (DETs) estão presentes no seguinte relatório?

17. Quantos data elements (DETs) estão presentes no seguinte relatório?

18. Responda:
a) Se um EO tem 4 FTRs e 15 DETs, como ele é classificado? E se forem 5 DETs com 4 FTRs? Ou
ainda 45 DETs com 4 FTRs?
b) É possível ter um EO que não faz referência a nenhum ILF? Por quê?
c) Se um EQ faz referência a um arquivo e possui 25 DETs, como ele é classificado? E se forem 5
DETs? Ou ainda 45 DETs?
d) É possível ter um EQ que não faz referência a nenhum ILF? Por quê?
e) Um ILF possui 1 RET e 25 DETs, como ele é classificado? E se forem 5 DETs? Ou ainda 45 DETs?
f) Todo ILF deve possuir pelo menos um EI atrelado a ele? Por quê?
g) Todo ILF deveria possuir pelo menos um EO ou EQ atrelado a ele? Por quê?
19. Observe as tabelas a seguir. O usuário requer informação detalhada sobre clientes e representantes de
vendas.
a) Quantos ILFs?
b) Quantos DETs? Existe mais do que um RET?
c) As tabelas podem ser combinadas para formar um único ILF?

3
20. Explique as diferenças entre os três tipos de projetos COCOMO'81: Orgânico, Semidestacado e
Embutido.
21. Foi determinado que um projeto X se enquadra na característica do modo Semidestacado e que ele terá
3200 DSI. Calcule:
a) Esforço c) Produtividade
b) Prazo d) Tamanho da equipe
22. Considere o projeto anterior como introduzido numa área de missão crítica, de forma que a
confiabilidade exigida é alta (RELY HIGH = 1.15). Calcule:
a) Esforço c) Produtividade
b) Prazo d) Tamanho da equipe
23. Estime, utilizando COCOMO II, quanto esforço e tempo de desenvolvimento um projeto médio com 100
KSLOC consumirá. Para um projeto médio, todos os multiplicadores de esforço são iguais a 1.0. E será
definido como 1.15 para refletir um projeto grande qualquer.
24. Descreva os Scale Factors presentes no modelo COCOMO II:
a) Precedentedness d) Team Cohesion
b) Flexibility e) Process Maturity
c) Design/Risk
25. Projeto A é um software com 32,000 DSI. Está numa área de missão crítica (RELY = 1.26, TIME = 1.29,
CPLX = 1.34). Por outro lado, o time de programadores possuem experiência com a linguagem de
programação (LTEX = 0.91) e alta capacidade de programação (PCAP = 0.88). Além da equipe ser
altamente coesa (TEAM = 1.10). Utilizando COCOMO II, calcule:
a) Esforço c) Produtividade
b) Prazo d) Tamanho da equipe

4
26. Descreva os quatro pontos do manifesto ágil mostrando qual a importância de cada um deles em um
projeto de desenvolvimento ágil. Dê exemplos.
• “Indivíduos e interações são mais importantes que processos e ferramentas.”
• “Softwares que já funcionam é mais importante que documentação abrangente.”
• “Colaboração do cliente é mais importante que negociação contratual.”
• “Resposta a mudanças é mais importante que seguir um plano.”
27. Explique as seguintes práticas do Extreme Programming (XP):
a) Planejamento incremental f) Programação em pares
b) Pequenos releases g) Propriedade coletiva
c) Projetos simples h) Integração contínua
d) Desenvolvimento test-first i) Ritmo sustentável
e) Refatoração j) Cliente no local
28. Descreva como são realizados os testes em XP e qual é o seu papel dentro da metodologia.
29. Explique por que, para as empresas, a entrega rápida e implantação de novos sistemas frequentemente é
mais importante do que a funcionalidade detalhada desses sistemas.
30. Você é um gerente de software em uma empresa que desenvolve softwares críticos de controles para
aeronaves. Você é responsável pelo desenvolvimento de um sistema de apoio ao projeto de software que
dá suporte para a tradução de requisitos de software em uma especificação formal de software. Comente
sobre as vantagens e desvantagens das estratégias de desenvolvimento a seguir:
a) Coletar dos engenheiros de software e stakeholders externos (como a autoridade regulatória de
certificação) os requisitos para um sistema desse tipo e desenvolver o sistema usando uma
abordagem dirigida a planos.
b) Desenvolver um protótipo usando uma linguagem de script, como Ruby ou Python, avaliar esse
protótipo com os engenheiros de software e outros stakeholders e, em seguida, revisar os requisitos
do sistema. Desenvolver novamente o sistema final, usando Java.
c) Desenvolver o sistema em Java, usando uma abordagem ágil com um usuário envolvido na equipe
de desenvolvimento.

Você também pode gostar