Resumão Geral M2
Resumão Geral M2
Resumão Geral M2
Comentários:
Justificativa: A asserção 1 é verdadeira pois apresenta a definição do MVC A asserção 2
também é verdadeira pois explica como o MVC aplica o princípio da separação de interesses
justificando a motivação para o MVC. A asserção 2 é uma justificativa para a asserção 1.
A resposta correta é: (a) As asserções I e II são proposições verdadeiras, e a segunda é uma
justificativa correta da primeira..
Escolha uma:
a. Descreve uma única solução dentre o universo de soluções possíveis para o
problema.
b. Descreve o que o usuário espera obter como resultado do uso do sistema.
c. Não se ata a detalhes, expondo apenas uma visão global do sistema e de suas
interações.
d. Introduz os conceitos relevantes do domínio do problema sendo tratado.
Comentários:
Justificativa: As outras opções são características da análise do sistema.
A resposta correta é: (a) Descreve uma única solução dentre o universo de soluções possíveis
para o problema..
Questão 1.3 - Um dos casos de uso de um sistema de caixa registrador em uma loja é o
processamento das vendas que ocorrem. Essa função é executada sempre pelo caixa que
atende o cliente. O processo se dá conforme descrito no diagrama de sequência do sistema
abaixo:
PUC Minas - Pós em Engenharia de Software - Módulo 2 2
Escolha uma:
a. Existe uma moldura representando uma iteração.
b. As mensagens de retorno são representadas por linhas contínuas.
c. Os parâmetros das operações devem ser omitidos para não poluir o diagrama.
d. O sistema pode ser representado por seus objetos internos.
Comentários:
Justificativa: A moldura representa a repetição ou iteração das operações enviadas ao sistema.
A letra B está incorreta pois as mensagens de retorno são representadas com linhas
tracejadas. A letra C está incorreta pois os parâmetros fazem parte da assinatura da operação
e não devem ser omitidos. A omissão dos parâmetros torna o diagrama incompleto e pouco
relevante. A letra D está incorreta pois em um DSS o sistema é sempre visto como UMA caixa
preta e seus objetos internos não são representados.
A resposta correta é: (a) Existe uma moldura representando uma iteração..
PUC Minas - Pós em Engenharia de Software - Módulo 2 3
Com base no diagrama de comunicação, é correto afirmar que as classes terão as seguintes
operações:
Escolha uma:
a. A:{msg1()}, B:{msg2(), msg5()}, C:{msg3(),msg4()}, D:{msg6()}.
b. A:{msg2(), msg4()}, B:{msg3()}, C:{msg5(),msg6()}, D:{}.
c. A:{msg1()}, B:{msg2()}, C:{msg4()}, D:{}.
d. A:{msg2(), msg4()}, B:{msg5()}, C:{msg3()}, D:{msg6()}.
Comentários:
Justificativa: Uma mensagem enviada em um diagrama de interação (comunicação ou
sequência) indica uma operação correspondente na classe do objeto receptor da mensagem.
Portanto, a única alternativa que reflete este cenário corretamente é a letra A. A letra B reflete o
cenário errôneo de assumir que as operações devam estar no objeto chamador da mensagem.
A resposta correta é: (a) A:{msg1()}, B:{msg2(), msg5()}, C:{msg3(),msg4()}, D:{msg6()}..
Questão 1.5 - Observe as duas descrições abaixo que tratam do mesmo sistema:
Descrição 1: O sistema de cálculo de troco contém apenas uma função, que é a de mostrar
para o operador (caixa) qual o troco que deve ser retornado ao cliente, dados o valor da
compra e o valor pago pelo cliente.
Descrição 2: O sistema de cálculo de troco recebe duas entradas, o valor da compra em Reais,
com duas casas decimais, e o valor pago pelo cliente, também com duas casas decimais. A
saída do sistema deve conter o número de notas e moedas de cada denominação possível que
(a) totalizem em valor o troco devido ao cliente e (b) contenham o menor número possível de
notas e moedas.
O que se pode dizer a respeito do relacionamento entre as duas descrições?
PUC Minas - Pós em Engenharia de Software - Módulo 2 4
Escolha uma:
a. A descrição 2 é modularização da descrição 1.
b. A descrição 2 é abstração da descrição 1.
c. A descrição 2 é refinamento da descrição 1.
d. A descrição 2 oculta informações da descrição 1.
Comentários:
Justificativa: A opção (a) é incorreta pois esse não é o conceito de modularização.
A opção (b) é incorreta pois a descrição 1 é que é uma abstração de 2.
A opção (d) é incorreta pois esse não é o conceito de ocultação de informações.
A resposta correta é: (c) A descrição 2 é refinamento da descrição 1..
Projeto Comportamental
Questão 2.1 - Existem apenas algumas formas válidas de se descrever uma pós-condição de
um contrato de operação de sistema. Observe as sentenças abaixo:
I – Foi destruída uma instância de Filme.
II – Foi criada uma instância de Locação e associada ao Filme passado por parâmetro e ao
cliente corrente.
III – Foi impresso um comprovante.
IV – Os dados da Locação foram exibidos para o cliente no seu dispositivo móvel.
V – O atributo data de término da Locação foi alterado para o valor da data atual acrescida de
10 dias.
Das sentenças apresentadas acima, são aceitáveis como pós-condições de um contrato de
operação de sistema:
Escolha uma:
a. Apenas I, II e III.
b. Apenas III e IV.
c. Apenas I, II, III, IV.
d. Apenas I, II e V.
Comentários:
Justificativa: Na pós-condição de um contrato as únicas cláusulas aceitáveis são criação ou
remoção de instâncias, associações feitas ou desfeitas e modificação de atributo. Apenas as
afirmativas I, II e V são aceitáveis como parte de uma pós-condição de contrato.
A resposta correta é: (d) Apenas I, II e V..
Questão 2.2
Observe as asserções I e II:
Asserção I - A alta coesão das classes de um sistema torna o sistema difícil de ser mudado,
pois cada mudança afeta muitas outras partes do sistema.
Asserção II - Um sistema com alto acoplamento apresenta classes com muitas dependências
e baixa coesão.
Comentários:
Justificativa: A asserção 1 é falsa pois classes com alta coesão tendem a ter menos
dependências e portanto tornam o sistema menos rígido ou mais fácil de mudra. A asserção 2
é verdadeira. O alto acoplamento é inversamente proporcional à coesão. Portanto a Letra D é a
alternativa correta.
A resposta correta é: (d) A asserção I é uma proposição falsa, e a asserção II é uma
proposição verdadeira..
Questão 2.3 - A Localiza aluga carros para seus clientes. Ela mantém um cadastro dos seus
clientes e dos carros que possui. O sistema da Localiza gerencia a locadora, processando a
locação e devolução dos carros, efetuando as locações por cliente e controlando os carros
devolvidos. Veja abaixo a definição incompleta contrato da operação “locar carro” e o diagrama
de classes de domínio:
Pré-Condição: o cliente cl não possui pendências e está apto a alugar o carro ca.
Qual das alternativas abaixo apresenta uma pós-condição adequada para esse contrato?
Escolha uma:
a. Foi criada uma instância loc de locação. Loc foi associada ao carro ca e ao cliente cl.
b. O cliente devolveu o carro e suas pendências foram quitadas.
c. Foi removida a instância loc de locação com a devolução do carro.
d. A data de retorno da instância loc foi conferida para garantir que o cliente estava
ainda dentro do prazo.
Comentários:
Justificativa: A letra B, C e D apresentam pós condições relativas à operação de devolução do
carro e não são relativas à operação de locação do carro.
A resposta correta é: (a) Foi criada uma instância loc de locação. Loc foi associada ao carro ca
e ao cliente cl.
PUC Minas - Pós em Engenharia de Software - Módulo 2 6
class Player {
private Musica Lista [ ];
public tocarUmaMusica (m: Musica) {
m.tocar();
}
public tocarTodasAsMusicas () {
para i = 1 até número de músicas na Lista
Lista[i].tocar();
}
}
Que tipo de dependência/visibilidade pode-se concluir que existe de um objeto Player para o
objeto Lista?
Escolha uma:
a. Dependência por atributo.
b. Dependência local.
c. Dependência por parâmetro.
d. Dependência global.
Comentários:
Justificativa: Um objeto Player enxerga ou depende de um objeto Lista por atributo de acordo
com a definição do atributoprivate Musica Lista [ ]; na classe Player.
A resposta correta é: (a) Dependência por atributo..
Questão 2.5
Com base nos conceitos de especialização, instanciação, associação e agregação, é incorreto
afirmar:
Escolha uma:
a. Especialização é o nome que se dá à criação de objetos partindo de uma classe. Por
exemplo, uma especialização da classe professor pode resultar na Profa. Maria
Augusta.
b. A instanciação pode ser vista nos diagramas de sequência quando um objeto cria um
outro objeto.
c. Associação é o meio empregado para registrar o relacionamento entre instâncias de
classes. Por exemplo, é correto existir a ligação entre a Profa. Maria Augusta e a
disciplina Concepção e Elaboração de software, se exisitr uma associação entre a
classe professor e a classe disciplina apresentada em um diagrama de classes.
d. Agregação é uma associação especial envolvendo a relação todo-parte.
Comentários:
PUC Minas - Pós em Engenharia de Software - Módulo 2 7
Questão 2.6 - O diagrama de estados a seguir mostra o fluxo de tarefas com três papéis
diferentes: do segurado, da seguradora e da oficina:
I ) A atividade Consertar Automóvel precisa ser realizada antes da atividade Cobrar Franquia.
II ) A atividade Pagar Franquia e a atividade Consertar Automóvel podem ser executadas em
qualquer ordem mas ambas precisam estar concluídas para se dar continuidade ao fluxo de
tarefas.
III) Este fluxo de tarefas pode se iniciar pela atividade Acionar Seguro, ou Recolher Automóvel,
ou Avaliar Danos pois são as primeiras atividades de cada raia.
pode se iniciar com a execução da atividade Este fluxo de tarefas pode se iniciar pela atividade
Acionar Seguro. Portanto letra B é a alternativa correta.
A resposta correta é: (b) apenas II é verdadeira.
Comentários:
Justificativa: A letra A está incorreta pois descreve o objetivo da visão de implantação.
A letra B está incorreta pois um modelo arquitetural não está necessariamente relacionado à
validação do software após sua implantação. O modelo arquitetural pode ser utilizado para
validar a arquitetura ou o projeto bem antes da implantação do software. A letra C está correta.
A letra D está incorreta pois os padrões arquiteturais são usados na fase de elaboração do
sistema quando a arquitetura é definida.
A resposta correta é: (c) apresentar o gerenciamento da configuração e a montagem do
sistema..
Escolha uma:
a. O diagrama apresenta diversos componentes sendo que o componente “Controlador
de Submissões” depende do componente “Gerenciador de Submissões do Autor”.
b. O componente “SGBD” depende diretamente de oito componentes.
c. O componente “Gerenciador de login” implementa uma interface da qual o
componente “SGBD” depende.
d. No diagrama de componentes, a interface meia lua indica que o componente
implementa tal interface.
Comentários:
Justificativa: A letra A está correta. A letra B está incorreta pois o diagrama mostra que oito
componentes dependem do componente SGBD e não o contrário como foi apresentado. A letra
C está incorreta pois o “SGBD” é quem implementa uma interface da qual o componente
“Gerenciador de login” depende. A letra D está incorreta pois no diagrama de componentes a
interface pirulito é que indica que o componente implementa ou provês tal interface. A interface
meia lua indica que o componente depende da interface.
A resposta correta é: (a) O diagrama apresenta diversos componentes sendo que o
componente “Controlador de Submissões” depende do componente “Gerenciador de
Submissões do Autor”..
Questão 3.3
Observe o diagrama arquitetural abaixo.
Comentários:
Justificativa: A letra B está incorreta pois este diagrama não é de implantação, mas de
componentes. A letra C está incorreta pois o componente :SearchEngine depende do
PUC Minas - Pós em Engenharia de Software - Módulo 2 10
Questão 3.4 - O .net WPF (Windows Presentation Foundation) Application Framework dita a
arquitetura das aplicações construídas utilizando este framework. Uma das regras deste
framework diz que os elementos arquiteturais de mais baixo nivel são mais dependentes da
arquitetura física da máquina e apresentam serviços mais genéricos enquanto os elementos
mais alto nivel são mais específicos em relação à aplicação sendo produzida. Ou seja, as
responsabilidades semelhantes e relacionadas são agrupadas em cada um dos elementos.
Outra regra diz que apenas os elementos mais alto nivel podem chamar os elementos mais
baixo nivel. Isso ajuda a reduzir o acoplamento entre os elementos para aumentar o potencial
de reutilização dos elementos, a testabilidade, e a clareza do software.
A figura ilustra os elementos do .net WPF AP.
Partindo desta descrição qual o estilo arquitetural foi utilizado para modelar a arquitetura do
framework .net WPF AP?
Escolha uma:
a. computação nas nuvens
b. cliente/servidor
c. camadas
d. ponto a ponto
Comentários:
Justificativa: O framework .net WPF AP é implementado através da arquitetura de camadas.
Uma restrição apresentada na descrição do framework diz que não existem dependências das
PUC Minas - Pós em Engenharia de Software - Módulo 2 11
camadas de mais baixo nível para as camadas mais alto nível que estão relacionadas com a
aplicação.
A resposta correta é: (c) camadas.
Questão 3.5 - O padrão MVC é um dos padrões mais antigos e mais utilizados nos sistemas
interativos de software.
Asserção I - O padrão de arquitetura MVC divide a aplicação em três componentes: Model
(modelo), View (visão) e Controller(controlador).
PORQUE
Asserção II - O Padrão MVC emprega o princípio da separação de interesses que recomenda a
separação de um software em partes distintas, cada parte tratando de um interesse, de forma a
minimizar o impacto de propagação de mudanças.
Assinale a alternativa CORRETA em relação às asserções I e II.
Escolha uma:
a. As asserções I e II são proposições verdadeiras, e a segunda é uma justificativa
correta da primeira.
b. As asserções I e II são proposições verdadeiras, mas a segunda não é uma
justificativa correta da primeira.
c. A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa.
d. A asserção I é uma proposição falsa, e a asserção II é uma proposição verdadeira.
Comentários:
Justificativa: A asserção 1 é verdadeira pois apresenta a definição do MVC A asserção 2
também é verdadeira pois explica como o MVC aplica o princípio da separação de interesses
justificando a motivação para o MVC. A asserção 2 é uma justificativa para a asserção 1.
A resposta correta é: (a) As asserções I e II são proposições verdadeiras, e a segunda é uma
justificativa correta da primeira..
Comentários:
Justificativa: Web services são componentes que executam remotamente nos servidores do
provedor do serviço, no caso os correios. Os web services realizam alguma funcionalidade
específica neste caso fazem o cálculo do valor e prazo do frete de uma encomenda que será
enviada.
A resposta correta é: (d) webservice.
PUC Minas - Pós em Engenharia de Software - Módulo 2 12
Comentários:
Justificativa: A letra D trata da Definição do modelo de ciclo de vida do projeto e isso é um
resultado esperado do processo “Gerência de projetos” dentro do MPS.Br. Todas as outras
alternativas tratam de possibilidades e decisões relativas ao Projeto e Construção do Produto.
A resposta correta é: (d) Utilizar o cliclo de vida de entrega evolutiva ou o ciclo de vida espiral.
Escolha uma:
a. Nivel G e Nivel 2
b. Nivel F e Nível 2
c. Nivel E e Nivel 3
d. Nivel D e Nivel 3
PUC Minas - Pós em Engenharia de Software - Módulo 2 13
Comentários:
O PCP se encontra no nível D do MPS.Br e o Technical Solution no Nivel 3 do CMMI de acordo
com a definição dos modelos.
A resposta correta é: (d) Nivel D e Nivel 3.
Questão 4.3 - Observe alguns dos estados do alpha “sistema de software” do framework
SEMAT/Essence.
Considere que sua equipe está desenvolvendo um sistema de software utilizando o RUP. Você
e sua equipe avaliaram o estado do Alpha “sistema de software” do framework
SEMAT/Essence e identificaram que estão no estado “Arquitetura Selecionada”. Quais
artefatos abaixo precisam necessariamente já terem sido produzidos para garantir que o
sistema está realmente no estado Arquitetura Selecionada?
Escolha uma:
a. protótipo executável da arquitetura, relatório de execução de testes do protótipo
arquitetural exibindo conformidade com requisitos não funcionais e exercitando
configurações críticas de interface com outros sistemas, ata da reunião com as
assinaturas dos representantes dos stakeholders concordando que a arquitetura atende
as necessidades, ata da reunião de definição dos critérios para seleção da arquitetura
indicando os critérios estabelecidos.
b. ata da reunião de definição dos critérios para seleção da arquitetura indicando os
critérios estabelecidos, plano de aquisição de componentes, plano de reutilização de
componentes, plano de desenvolvimento de componentes, o ambiente de
desenvolvimento está preparado incluindo todas as plataformas e tecnologias que foram
selecionadas, lista de arquiteturas candidatas, documentação das justificativas de
tratamento dos riscos técnicos e motivação pela escolha de uma arquitetura com base
nos critérios estabelecidos.
c. plano de reutilização de componentes, relatório de execução de testes do protótipo
arquitetural exibindo conformidade com requisitos não funcionais e exercitando
configurações críticas de interface com outros sistemas, manual de usuário do sistema,
protótipo executável da arquitetura, o ambiente de desenvolvimento está preparado
incluindo todas as plataformas e tecnologias que foram selecionadas.
d. o ambiente de desenvolvimento está preparado incluindo todas as plataformas e
tecnologias que foram selecionadas, ata da reunião com as assinaturas dos
representantes dos stakeholders concordando que a arquitetura atende as
necessidades, plano de aquisição de componentes, plano de testes do protótipo
arquitetural explorando casos de testes dos cenários de qualidade, plano de reutilização
de componentes.
PUC Minas - Pós em Engenharia de Software - Módulo 2 14
Comentários:
Justificativa: Para garantir que o sistema está no estado “Arquitetura Selecionada” é necessário
indicarmos evidências de termos atingido todos os itens da lista de verificação deste estado.
Considerando os itens da lista de verificação do estado percebe-se que a letra B apresenta
evidências para todos os itens:
Selecionada uma arquitetura que trata dos principais riscos técnicos - lista de arquiteturas
candidatas, documentação das justificativas de tratamento dos riscos técnicos e motivação
pela escolha de uma arquitetura com base nos critérios estabelecidos
Acordados os critérios utilizados para selecionar a arquitetura - ata da reunião de definição dos
critérios para seleção da arquitetura indicando os critérios estabelecidos
Plataformas, tecnologias e linguagens estão selecionadas - o ambiente de desenvolvimento
está preparado incluindo todas as plataformas e tecnologias que foram selecionadas.
Decisões de compra, reutilização e construção estão tomadas - plano de aquisição de
componentes, plano de reutilização de componentes, plano de desenvolvimento de
componentes.
A resposta correta é: (b) ata da reunião de definição dos critérios para seleção da arquitetura
indicando os critérios estabelecidos, plano de aquisição de componentes, plano de reutilização
de componentes, plano de desenvolvimento de componentes, o ambiente de desenvolvimento
está preparado incluindo todas as plataformas e tecnologias que foram selecionadas, lista de
arquiteturas candidatas, documentação das justificativas de tratamento dos riscos técnicos e
motivação pela escolha de uma arquitetura com base nos critérios estabelecidos..
Comentários:
Justificativa: A letra A está incorreta pois o framework deve ser usado sempre para
acompanhar o progresso de um projeto e não apenas quando o prazo está mal dimensionado.
A letra B está incorreta pois todos os métodos podem ser descritos utilizando o SEMAT,
mesmos os mais antigos, tradicionais e anteriores ao Essence framework.
A letra C está incorreta poiso framework é útil no monitoramento do progresso do projeto e não
apenas na definição do processo.
A letra D apresenta a alternativa correta pois retrata todas os reais benefícios do framework
Essence.
A resposta correta é: (D) O framework Essence provê a estrutura e o mecanismo para
monitoramento do progresso do projeto, reflexão da equipe, gerenciamento de riscos e
direcionamento do projeto.
Escolha uma:
a. Uma premissa relacionada ao acesso dos usuários ao sistema, apenas quem possui
permissão pode acessar o sistema
b. Um princípio que permite ao projetista concentrar-se no sistema omitindo detalhes
que não são pertinentes ao nivel de abstração.
c. Uma restrição indicando que decisões de projeto ficam ocultas na implementação,
apenas o que outros módulos precisam conhecer se torna público na interface de
comunicação.
d. Uma pós-condição que expressa as informações que são atualizadas após o término
do caso de uso.
Comentários:
Justificativa: A letra A não apresenta um princípio de projeto, mas um requisito do sistema. A
letra B apresenta a definição do princípio de abstração. A letra D define o que são pós
condições de um caso de uso. A letra C apresenta a definição do princípio de ocultação de
informações.
A resposta correta é: (c) Uma restrição indicando que decisões de projeto ficam ocultas na
implementação, apenas o que outros módulos precisam conhecer se torna público na interface
de comunicação..
Questão 6.2 - Os princípios de projeto servem como critérios para avaliação da qualidade de
um projeto. De acordo com os princípios de projeto todas as características abaixo devem ser
evitadas em um projeto, EXCETO:
Escolha uma:
a. Rigidez: sistema é difícil de mudar porque cada mudança afeta muitas outras partes
do sistema.
b. Reusabilidade: o projeto possui estruturas que podem ser utilizadas em outro
contexto indicando o baixo grau de acoplamento das estruturas internas.
c. Viscosidade: fazer as coisas corretas no projeto é mais difícil do que fazer coisas
erradas.
d. Fragilidade: quando uma mudança é feita outras partes que conceitualmente não são
relacionadas com a mudança param de funcionar.
Comentários:
Justificativa: Todas as características foram definidas corretamente. A reusabilidade é uma
característica que queremos atingir com nossos projetos. Muitas vezes é necessário submeter
o projeto e seu código por refatorações para atingir o grau de reusabilidade necessário.
A resposta correta é: (b) Reusabilidade: o projeto possui estruturas que podem ser utilizadas
em outro contexto indicando o baixo grau de acoplamento das estruturas internas..
Questão 6.3 - Considere o diagrama de componentes da UML 2 que mostra a organização dos
componentes, suas dependências e suas interfaces de comunicação.
PUC Minas - Pós em Engenharia de Software - Módulo 2 16
Comentários:
Justificativa: A letra A está incorreta pois o componente Web browser se comunica através do
protocolo http com o componente Consumer Website e não com o componente Adventure
Catalog DB. A letra B está correta pois descreve uma relação de dependência que podemos
observar no diagrama. A letra C está incorreta pois o pacote Adventure Builderdepende de
cinco serviços externos e provê apenas um serviço através da interface WebService Broker. A
letra D está incorreta pois o o pacote Adventure Builder comunica com outros componentes
através do estilo de arquitetura orientada a serviços.
A resposta correta é: (b) o componente Consumer Website é consumidor dos serviços
oferecidos pelo componente OPC..
Questão 6.4 - No MPS.Br os diversos processos estão relacionados uns com os outros. Qual
das relações entre processos descrita abaixo está CORRETA? O processo de Projeto e
Construção do Produto (PCP) está relacionado ao processo de …
Escolha uma:
PUC Minas - Pós em Engenharia de Software - Módulo 2 17
Comentários:
Justificativa: A letra A está incorreta pois fala da definição dos requisitos não funcionais que
acontece no DRE (desenvolvimento de requisitos) e não no processo VER (Verificação). A letra
B está correta pois exprime a relação entre o PCP e o GDE. A letra C está incorreta pois fala
da definição de listas de verificação da revisão por pares no processo de DRE
(desenvolvimento de requisitos). Essas listas de verificação são definidas na elaboração do
processo de desenvolvimento de software e não no DRE. A integração do produto (ITP) em
relação ao PCP utilizará as interfaces projetadas de acordo com os requisitos desenvolvidos
para integrar os componentes de forma consistente, não trata de integração entre requisitos e
regras de negócio que tem impacto na arquitetura.
A resposta correta é: (b) Gerência de Decisões (GDE) para a tomada de decisões críticas
realizadas com base em critérios definidos avaliando-se alternativas..
Caso esta aplicação permita apenas instanciar objetos do tipo pagamento em dinheiro,
pagamento com cheque e pagamento com cartão, mas não objetos pagamento, podemos
afirmar que a classe pagamento é:
a) derivada.
b) estática.
c) pública.
d) abstrata. *
Considere que sua equipe está desenvolvendo um sistema de software utilizando o RUP.
Vocês acabaram de avaliar o estado do Alpha “sistema de software” do framework
SEMAT/Essence e identificaram que estão no estado “Demonstrável”. Quais artefatos abaixo
precisam necessariamente já terem sido produzidos para garantir que o sistema está realmente
no estado Demonstrável?
a) Protótipo executável da arquitetura, relatório de execução de testes do protótipo
arquitetural exibindo conformidade com requisitos não funcionais e exercitando
configurações críticas de interface com outros sistemas, ata da reunião com as
assinaturas dos representantes dos stakeholders concordando que a arquitetura atende
as necessidades, ata da reunião de definição dos critérios para seleção da arquitetura
indicando os critérios estabelecidos. *
b) Projeto arquitetural, ata da reunião de definição dos critérios para seleção da
arquitetura indicando os critérios estabelecidos, plano de aquisição de componentes,
PUC Minas - Pós em Engenharia de Software - Módulo 2 20
Qualidade é:
- estar em conformidade com os requisitos dos clientes;
- antecipar e satisfazer os desejos dos clientes;
- escrever tudo o que se deve fazer e fazer tudo o que foi escrito.
Para alguns autores sobre o assunto, o conceito de qualidade está sempre no equilíbrio entre os
seguintes fatores:
a) Qualidade intrínseca do produto ou serviço, que pode ser certificada pela conformidade a normas ou
avaliada pela presença ou ausência de critérios específicos;
b) Custo, que pode ser entendido como o preço justo, que o cliente esteja disposto a pagar;
c) Atendimento, significando a quantidade certa, no local certo e na hora certa.
De acordo com a norma brasileira que trata sobre o assunto NBR ISO 8402
“ ... a totalidade das características de uma entidade que lhe confere a capacidade de satisfazer às
necessidades explícitas e implícitas.”
Pensando em software
- explícito é tudo aquilo que o usuário consegue quantificar em relação ao software;
- implícito é tudo que somente os desenvolvedores conseguem quantificar.
PUC Minas - Pós em Engenharia de Software - Módulo 2 22
Software é um produto ?
Software é um produto intelectual, resultado de um trabalho.
1-) Planejamento
- elaborar o escopo preliminar do produto;
- elaborar estimativas de prazos, recursos, esforço, custos e tamanho do produto;
- definir o processo de desenvolvimento a ser adotado pelo projeto e a sua organização.
2-) Controle
- controle da alocação de recursos;
- verificação e validação de produtos intermediários;
- controle de mudanças no escopo;
- refinamento e replanejamento quando necessário;
- acompanhamento das tarefas e orçamento conforme cronograma.
3-) Monitoramento
- verificar o progresso do projeto;
- verificar e avaliar a qualidade dos produtos intermediários;
- verificar e avaliar a produtividade da equipe;
- avaliar o projeto em termos financeiros.
PUC Minas - Pós em Engenharia de Software - Módulo 2 23
O processo compreende:
• políticas de desenvolvimento;
• procedimentos para o desenvolvimento;
• diversas técnicas e padrões para a construção de produtos;
• padrões de apresentação de produtos intermediários;
Produto de software é o resultado da execução de um processo que contém uma série de atributos
derivados dos requisitos e especificações previstos no projeto.
Melhorias compreendem:
- introdução de novas features no software em função de novos requisitos dos negócios;
- introdução de novas features no software em função de mudança de tecnologia.
Ciclo de Desenvolvimento
- concepção;
- criação;
Ciclo Operacional
- evolução;
- decadência;
PUC Minas - Pós em Engenharia de Software - Módulo 2 24
Concepção
- objetivos; (nível de serviço / abrangência / qualidade / segurança / resultados desejados /
dados fontes)
- viabilidade; (tecnologia disponível / custo-benefício / análise da situação atual)
- necessidade; (oportunidade / recursos p-s-h)
- limitações;
Criação
- relatórios;
- telas;
- arquivos;
- programas;
- testes;
Evolução
- manutenções / alterações para que continue atendendo os objetivos;
- entendimento do sistema;
- entendimento da modificação;
- avaliação do impacto;
- realização da modificação;
- administrar / organizar / implementar;
Decadência
- difícil manutenção;
- atraso tecnológico;
- grande quantidade de alterações;
- reclamações de usuários;
- mudança na organização;
- solicitação de novo sistema;
Processos de Ciclo de Vida Norma ISO-12207 Agrupa as atividades que devem ser realizadas
durante o ciclo de vida em processos fundamentais, processos de apoio, processos organizacionais,
processos de reuso de software e processos de adaptação.
Processos primários: são necessários para que um software seja executado. Iniciam o ciclo de vida e
comandam outros processos.
- aquisição;
- fornecimento;
- desenvolvimento;
- operação;
- manutenção.
A Norma Internacional ISO/IEC 9126, define 6 características da qualidade para produtos de software:
- funcionalidade;
- confiabilidade;
- usabilidade;
- eficiência;
- manutenibilidade;
- portabilidade.
Usabilidade Refere-se ao esforço necessário ao uso e à homologação individual de tal uso por um
conjunto de usuários estabelecido ou subentendido. Propõe como subcaracterísticas: inteligibilidade,
apreensiblidade, atratividade, operatividade e conformidade.
Métricas são perguntas objetivas do objeto que se deseja medir, para serem respondidas em uma escala
definida de valores.
Peso é o valor relativo da importância que se atribui a uma característica, subcaracterística ou a uma
métrica.
Sistema quantitativo para medir a qualidade de um software, de acordo com a ISO-IEC 9126
Qualidade do Software = ∑ características
Característica = ∑ subcaracterísticas
Subcaracterística = ∑ métricas
PUC Minas - Pós em Engenharia de Software - Módulo 2 26
2. Especificar a avaliação:
2.1 – selecionar métricas;
2.2 – estabelecer níveis de pontuação para as métricas;
2.3 – estabelecer critérios para julgamento;.
3. Projetar a avaliação:
3.1 – produzir o plano de avaliação;
4. Executar a avaliação:
4.1 – obter as medidas;
4.2 – comparar com critérios;
4.3 – julgar os resultados.
Organizações Maduras:
- papéis e responsabilidades bem definidos;
- existe base histórica;
- é possível julgar a qualidade do produto;
- a qualidade dos produtos e processos é monitorada;
- o processo pode ser atualizado;
- existe comunicação entre o gerente e o seu grupo;
Organizações Imaturas:
- processo improvisado;
- não existe base histórica;
- não há maneira objetiva de julgar a qualidade do produto;
- qualidade e funcionalidade do produto sacrificadas;
- não há rigor no processo a ser seguido;
- resolução de crises imediatas.
Pode ser definido como sendo uma soma de "melhores práticas" para diagnóstico e avaliação de
maturidade do desenvolvimento de softwares em uma organização.
Descreve os estágios de maturidade por que passam as organizações, enquanto evoluem no seu ciclo
de desenvolvimento de software, através de avaliação contínua, identificação de problemas e ações
corretivas, dentro de uma estratégia de melhoria dos processos.
Nível 1: Inicial
No nível 1 de maturidade os processos são geralmente ad hoc e caóticos.
As organizações geralmente não dispõe de um processo de desenvolvimento estável.
PUC Minas - Pós em Engenharia de Software - Módulo 2 27
O sucesso nessas empresas, depende da competência e heroísmo dos seus funcionários e não
no uso de processos estáveis. Nesse nível, a organização produz produtos e serviços que em
geral funcionam, mas frequentemente excedem o orçamento e o prazo dos projetos.
Para esse nível, não existem (key process areas – KPAs) áreas-chaves de processos, que são os
processos ou melhores práticas previstas para o nível em foco.
Nível 2: Repetível
No nível 2 de maturidade, o desenvolvimento do software é repetido. Técnicas de gerenciamento
de projetos são estabelecidas para mapear custos, prazos e funcionalidades. Um mínimo de
disciplina nos processos é estabelecido para que se possa repetir sucessos anteriores em
projetos com escopo e aplicação similares. Ainda existe um risco significativo em se excederem
as estimativas de custos e o prazo de desenvolvimento.
Este nível apresenta as seguintes (KPAs)
Áreas-chave de processo:
- gerenciamento de requisitos;
- planejamento de projetos;
- acompanhamento e supervisão de projetos;
- gerenciamento de subcontratação;
- garantia de qualidade de software;
- gerenciamento de configuração.
Nível 3: Definido
No nível 3 de maturidade, processos são bem caracterizados e entendidos e são descritos
utilizando padrões, procedimentos, ferramentas e métodos.
Esses processos-padrão são usados para estabelecer uma consistência dentro da organização.
O gerenciamento da organização estabelece os objetivos dos processos baseado nesse
conjunto de padrões predefinidos e garante que esses objetivos sejam encaminhados de forma
apropriada.
KPAs desse nível:
- revisões;
- coordenação de intergrupos;
- engenharia de produto de software;
- gerenciamento de software integrado;
- programa de treinamento;
- definição do processo da organização;
- foco no processo da organização
Nível 4: Gerenciado
No nível 4, o desempenho do processo é controlado usando técnicas estatísticas e quantitativas
e é previsível quantitativamente.
No nível 3, os processos são somente previsíveis qualitativamente.
KPAs desse nível:
- gerenciamento quantitativo da qualidade do software;
- gerenciamento quantitativo do processo.
Nível 5: Otimizado
No nível de maturidade 5, o foco é o contínuo progresso do desempenho dos processos, com a
introdução de melhorias de inovação tecnológica e incremental. Objetivos de melhoria
quantitativa dos processos para a organização são estabelecidos, continuamente revisados,
refletindo as mudanças nos objetivos da organização e usando critérios de melhoria na gerência
de processos.
KPAs desse nível:
- gerenciamento da mudança no processo;
- gerenciamento da mudança tecnológica;
- prevenção de defeitos.
Questão 2 - Dadas as características abaixo, considere Verdadeiras (V) aquelas que indicam
presença de qualidade e Falsas (F), aquelas que não indicam presença de qualidade: I. Atender os
desejos do cliente.
II. Antecipar desejos do cliente.
III. Possuir o menor custo.
IV. Possuir o preço que o mercado esteja disposto a pagar.
A sequência correta é...
Escolha uma:
a. F F V V
b. V V F V
c. V V V V
d. F F F F
Questão 3- Em relação à qualidade de um software, podemos afirmar que ela guarda uma relação
direta com
Escolha uma:
a. os processos de negócio das organizações.
b. o projeto do software.
c. o processo de desenvolvimento.
d. todas as opções anteriores.
Questão 1 - Analise as afirmativas abaixo a respeito do ciclo de vida de um software, indicando qual
a opção correta:
I- conceber bem um software é uma fase extremamente importante para o ciclo de vida de um
sistema;
II- podemos dizer que o resultado de uma boa concepção, é um bom projeto de software;
III- podemos criar um sistema com equipe própria, ou terceirizando o desenvolvimento, ou até
mesmo, comprando um software pronto de “prateleira”;
IV- a fase de manutenção ou evolução de um sistema, guarda uma forte relação com a concepção
e com a criação do sistema;
Escolha uma:
a. V, V, F, F
b. V, V, V, V
c. V, V, F, V
d. F, V, F, V
PUC Minas - Pós em Engenharia de Software - Módulo 2 29
Questão 1 - Não são nomes de níveis de maturidade do CMM – Capability Maturity Model:
Escolha uma:
a. Inicial.
b. Previsto.
c. Definido.
d. Repetível.
e. Gerenciado.
Questão 2 - Em relação a Norma ISO-12207, que trata dos processos de apoio ao ciclo de vida,
não é um processo da classe dos processos de Apoio:
Escolha uma:
a. validação;
b. auditoria;
c. revisão conjunta;
d. aquisição;
e. resolução de problemas;
Questão 3 - Em relação ao CMM – Capability Maturity Model, não é uma (kpa) área chave de
processo em relação ao nível 2 – Repetível:
Escolha uma:
a. gerenciamento de requisitos;
b. gerenciamento de configuração;
c. planejamento de projetos;
d. gerenciamento da mudança no processo;
Atividade 01 – Respostas: 1 - c, 2 - b, 3 - d
Atividade 02 – Respostas: 1 - b, 2 - a, 3 - a
Atividade 03 – Respostas: 1 - c, 2 - a, 3 -c
Atividade 04 – Respostas: 1 - b, 2 - d, 3 - c
Substitutiva – Respostas: 1 - c, 2 - d, 2 - d
PUC Minas - Pós em Engenharia de Software - Módulo 2 31
I- Membros públicos são os campos e funções membro que são visíveis externamente à
classe.
II- Membros privados são visíveis apenas internamente à classe em que foram programados.
III- Elementos protegidos possuem visibilidade intermediária, normalmente
sendo acessíveis por todas as classes de uma hierarquia.
IV- Atributos públicos de uma classe mãe podem ser acessados por objetos instanciados de
uma classe filha da classe mãe.
Comentários:
Comentários:
Comentários:
PUC Minas - Pós em Engenharia de Software - Módulo 2 32
Clientes (campos nome, CPF, endereço e telefone) fazem pedidos (campos código pedido,
data pedido e data pagamento), selecionando produtos (campos nome e quantidade em
estoque), que se constituem em itens de pedido(campo quantidade). Produtos são
classificados em categorias (campo nome categoria). Os pedidos são pagos de 3 formas
distintas: cheque, dinheiro ou cartão de crédito.
Diagrama I
Diagrama II
PUC Minas - Pós em Engenharia de Software - Módulo 2 33
Comentários:
a. (Correta) A classe Ong está marcada com a tag {app-class} que completa a definição de
classes estendidas, ela é usada para indicar um aditivo na estrutura de um framework onde
classes especificas da aplicação podem ser ou já foram adicionadas.
Logo, a classe Ong do diagrama II é um hot spot, que não pertence a estrutura física do
framework.
b. (Correta) A tag {incomplete} representa o hot spot interfaces estendidas, indicando que
novas subclasses podem ser criadas na instancia do framework.
c. (Correta) O Diagrama UML-F representa o frozen spot (contem as tags da UML-F), já a
instância não possui as tags e representa o hot spot.
d. (Correta) As Classes Industria e Comercio são frozen spot, pois fazem parte da base do
sistema e são inalteráveis. Vale ressaltar que os elementos do frozen spot apenas serão
alteráveis se acompanhados da tag {variable}.
e. É uma interface ou um método estendido?
Comentários:
a.(Correto)
b.(Incorreto) A classe pedido é marcada pela tag {extensible} é indica que a interface pode ser
estendida pela adição de novos métodos e não classes. Para permitir a adição de novas
classes deverá ser utilizada a tag {incomplete}
c.(Inorreto) A marcação {variable} indica métodos variáveis, ou seja, a implantação do método
varia de acordo com a instanciação do framework.O erro da opção está no nome da classe que
é valorTotalSemImpostos e descrito pela opção como calcularTotalSemImposto.
d.(Incorreto) O método é uma extenção da classe.
e.(Incorreto) A classe Produto faz parte da estrutura básica do framework, logo é um frozen
spot não um hot spot.
PUC Minas - Pós em Engenharia de Software - Módulo 2 34
Comentários:
I- (Correto) A UML-F criou notação e mecanismos novos para estender a UML, podendo ser
utilizada para escrever hot spots. ???
II- (Errado) A tag Incomple representa o hot spot inferface estendida, mas indica que que novas
subclasses podem ser criadas, e não novos métodos.
III- (Correto)
IV- (Correto)
V- (correto)
Comentários:
A estrutura do Meta Object Facility (MOF) são caracterizados por 4 níveis:
M3 (Meta-metamodelo)- estabelece conceitos que comporão uma linguagem, como o
de classe, atributo, associação, dentre outros;
M2 (Metamodelo)- estabelece a linguagem em seus itens estruturais, como UML
(classes, associações, etc);
M1 (Modelo)- é o nível do modelo em si, como por exemplo, um modelo de um sistema
de vendas que contém classes, como a classe Produto.
M0 (Objeto)- constitui as instâncias de um modelo, como a instância da classe Produto
(objeto) “Computador”.
PUC Minas - Pós em Engenharia de Software - Módulo 2 35
Questão 3.2 - Um livro pode ser classificado nas categorias FICÇÃO, DRAMA e TERROR.
Qual classe do EMF melhor implementa essas 3 categorias?
Escolha uma:
a. EFactory
b. Uma classe mãe denominada Categorias e suas subclasses Ficcao, Drama e Terror .
c. EClass
d. EAnnotation
⇒ e. AbstractEnumerator
Comentários:
Agregações, relacionamento 1 para muitos são implementadas como listas (EList);
Enumerações, implementa relacionamento de categorização, (AbstractEnumerator);
Factories, criação de objetos, (EFactory);
A descrição da classe AbstractEnumerator é condizente com a classe necessária para
implemtação das 3 categorias.
Assinale a alternativa INCORRETA sobre o código desse diagrama gerado pelo EMF.
Escolha uma:
a. O relacionamento itemPedidos é implementado como uma lista do tipo Elist
b. A classe Pedido é declarada da seguinte forma no EMF:
Declara-se inicialmente a interface pedido:
public interface Pedido extends EObjetct
Em seguida, é declarada a implementação da classe pedido:
public class PedidoImpl extends EObjectImp implements Pedido
⇒ c. Uma instância da classe Pedido denominada pedido1 é criada da seguinte forma:
Pedido pedido1 = new Pedido();
d. O relacionamento produtos é implementado como uma referência (ponteiro) à classe
Produto dentro da classe ItemPedido e declarado assim:
Produto produtos;
e. A classe Industria é declarada da seguinte forma:
public Interface Industria extends Cliente
PUC Minas - Pós em Engenharia de Software - Módulo 2 36
Comentários:
Questão 4.2 - Seja uma biblioteca de algoritmos de data mining a ser utilizada em um
programa. Deseja-se preparar esse programa, de forma que uma mudança para outra
biblioteca, em um futuro, não o afete. Dentre os padrões de projeto apresentados abaixo, qual
seria o melhor a ser utilizado nessa situação?
Escolha uma:
a. Flyweight
b. Façade
c. Composite
⇒ d. Adapter
e. Proxy
Comentários:
Comentários:
PUC Minas - Pós em Engenharia de Software - Módulo 2 37
Questão 6.1 - Atributos final não funcionam como constantes e métodos final podem ser
redefinidos pelas classes estendidas, de modo que os métodos não poderão ser sobrepostos.
PORQUE
a palavra chave final serve para definir atributos ou métodos que não podem ser mais
modificados após sua primeira inicialização (no caso de atributos) ou sua primeira definição (no
caso de métodos)
Acerca dessas asserções, assinale a opção correta.
Escolha uma:
a. As duas asserções são proposições verdadeiras, e a segunda é uma justificativa
correta da primeira.
b. As duas asserções são proposições verdadeiras, e a segunda não é uma justificativa
correta da primeira.
c. A primeira asserção é uma proposição verdadeira, e a segunda é uma proposição
falsa.
⇒ d. A primeira asserção é uma proposição falsa, e a segunda é uma proposição
verdadeira.
e. As duas asserções são proposições falsas.
Comentários:
Questão 6.2 - Qual dos componentes abaixo NÃO é hot spot da UML-f?
Escolha uma:
a. Interfaces estendidas
⇒ b. Métodos enumerados
c. Classes estendidas
d. Métodos variáveis
e. Classes dinâmicas
Comentários:
Questão 6.3 - Para implementar uma estrutura todo-parte (agregação ou composição), qual
das classes abaixo do EMF seria a mais recomendada?
Escolha uma:
a. EFactory
⇒ b. EList
c. AbstractEnumerator
d. EClass
e. EAnnotation
Comentários:
Questão 6.4 - Mapas digitais detalhados normalmente são grandes, ocupando uma
quantidade considerável de memória. Entretanto, existem situações em que mapas detalhados
não são necessários, podendo-se trabalhar com uma versão mais simples. Nesse caso, todas
as operações envolvidas na manipulação de mapas detalhados devem ser aplicadas também a
mapas mais simples. Qual seria o padrão de projeto mais adequado a ser utilizado nessecaso?
Escolha uma:
⇒ a. Proxy
b. Prototype
c. Singleton
d. Adapter
e. Flyweight
Comentários:
PUC Minas - Pós em Engenharia de Software - Módulo 2 38
As 4 Funções Gerenciais
Planejamento: estabelecimento de linhas de ação que devem ser seguidas para
satisfazer aos objetivos organizacionais.
Organização: processo de juntar (combinar) os recursos produtivos - pessoal,
matérias-primas, equipamentos e capital.
Direção: processo de transformar planos em atividades concretas.
Controle: envolve a avaliação de desempenho dos empregados, de setores específicos
da empresa e dela própria como um bloco, e a consequente aplicação de medidas
corretivas, se necessário.
Fonte: Moreira (1994)
Informação:
Leia o texto a seguir, que apresenta um projeto hipotético. Em seguida, responda às questões
de 1.1 a 1.4.
Questão 1.1 - Qual das áreas de gerência de projetos apresentadas a seguir, baseadas no
guia PMBOK, pode ser considerada a origem dos problemas apresentados neste texto?
Escolha uma:
a. Integração.
b. Escopo.
c. Tempo.
d. Custo.
e. Comunicação.
Comentários:
Integração: cuida das interfaces entre todas as áreas e capacidades envolvidas, de modo a
garantir sucesso no projeto.
Escopo: preocupa-se com o atendimento aos requisitos do projeto, fazendo nem mais nem
menos que o necessário.
Tempo: estabelece os prazos de execução das tarefas e os controla.
Custo: estabelece os custos do projeto e os controla.
Comunicação: inclui as informações de projeto, que devem estar disponíveis a todos os
interessados no momento certo.
Além dos conceitos acima, temos mais 5 que juntos perfazem as 10 áreas de conhecimento do
PMBOK, quais sejam:
Qualidade: o objetivo desta área é que se obtenha a qualidade demandada pelo cliente e
desejada pela equipe.
Recursos Humanos: tem como princípio o bom gerenciamento das pessoas (RH), de modo a
se obter o menor custo e prazo.
Risco: a identificação e o correto tratamento dos riscos em projetos é fundamental para garantir
seu sucesso.
Aquisição: compõe a gerência de suprimentos e contratos de todos os insumos necessários,
acompanhando os processos de compras.
Stakeholders (partes interessadas): Área que cuida de gerenciar os envolvidos no projeto,
determinando-os e monirorando-os.
Questão 1.2 - Na situação apresentada no texto, o ciclo de vida deste projeto estaria em qual
dos grupos de processos a seguir?
Escolha uma:
a. Iniciação.
b. Planejamento.
c. Execução.
d. Finalização.
Comentários:
O ciclo de vida do projeto exposto no texto está no planejamento pelas informações obtidas no
seguinte trecho:
“Atualmente estão sendo detalhadas as atividades, para em seguida passar à execução
operacional. Nessa etapa inicial, alguns problemas foram detectados e deverão ser corrigidos.”
Para melhor entendimento trago uma pequena caracterização de cada um dos grupos de
processos apresentados:
Iniciação: é quando se define O QUE DEVE SER FEITO, ou seja, os objetivos e o escopo do
projeto. Não é, ainda, um detalhamento minucioso.
Planejamento: define COMO DEVERÁ SER FEITO. Cuida de elaborar cronogramas, alocar
recursos, detalhar custos, avaliar riscos, dentre outros aspectos.
PUC Minas - Pós em Engenharia de Software - Módulo 2 41
Questão 1.3 - O texto apresentado nesta questão descreve um projeto que possui as
características a seguir, exceto:
Escolha uma:
a. Planejamento individualizado e detalhado das atividades.
b. Um objetivo único e específico.
c. Prazos, custos, pessoas e riscos alocados a rotinas operacionais relevantes.
d. Qualidade do produto como um fator de sucesso.
Comentários:
Rotinas operacionais não é uma característica de um projeto logo a questão incorreta é a “C”.
Características de Projeto (Resumo):
Objetivo único e bem entendido;
Pessoas envolvidas;
Escopo bem definido;
Início e fim pré-determinado;
Tarefas bem definidas e sequenciadas;
Grupos de interesse envolvidos;
Recursos (materiais, software, hardware) limitados;
Planejamento individualizado;
Execução controlada;
Inovador (geralmente);
Prazo, custo e qualidade (Fatores críticos de Sucesso).
Questão 1.4 - Qual seria a melhor alternativa para minimizar os impactos de um possível
atraso neste projeto, sem aumentar significativamente os custos?
Escolha uma:
a. Contratar mão-de-obra adicional para atuar em todas as atividades do projeto, de
forma intensiva.
b. Utilizar melhor os recursos da organização executora, após resolver os problemas
apontados.
c. Desenvolver um replanejamento completo para este projeto, já que o planejamento
foi mal realizado.
d. Propor uma postura pró-ativa, adotando medidas preventivas para evitar a perda de
tempo.
Comentários:
PUC Minas - Pós em Engenharia de Software - Módulo 2 42
Questão 2.1 - Quanto à forma de aplicação, as métricas de tamanho de software podem ser
classificadas em dois grupos:
Escolha uma:
a. Diretas e indiretas.
b. Precisas e imprecisas.
c. Orientadas a função e orientadas a produto.
d. Subjetivas e objetivas.
Comentários
a- AS MÉTRICAS DIRETAS SÃO FACILMENTE APLICÁVEIS E ESTÃO DIRETAMENTE
RELACIONADAS AO PRODUTO, ENQUANTO AS INDIRETAS DEPENDEM DE UM MÉTODO
PARA DETERMINAÇÃO DO TAMANHO FUNCIONAL.
Comentários
Questão 2.3 - É correto afirmar que o valor do Fator de Ajuste (FA), utilizado no cálculo de
Pontos de Função:
Escolha uma:
a. Reflete, em valores associados a pesos, a dificuldade para desenvolver um sistema.
b. Varia numa faixa de valores de 0 a 5.
c. Ajusta os Pontos de Função para refletir os requisitos não funcionais e fatores
ambientais.
d. Não pode ser maior que 1 (um).
Comentários:
b e d:
A variação de 0 a 5 é referente a cada uma das 14 características representando:
0- nenhuma influência
1- Influência mínima
2- Influência moderada
3- Influência média
4- Influência significativa
5- Grande influência
Já o FA - Fator de Ajuste -vária de 0,65 a 1,35.
a: o Fator de Ajustes existe para corrigir a estimativa de FP, levando em consideração
requisitos não funcionais, os quais não são estimados na contagem de FP não ajustados.
Pela mesma justificativa de exclusão da A a resposta correta é a C.
PUC Minas - Pós em Engenharia de Software - Módulo 2 43
Questão 2.4 - Um aplicativo móvel possui um tamanho funcional de 100 FP. Então, pode-se
afirmar que:
Escolha uma:
a. Trata-se de um aplicativo de grande porte.
b. A produtividade obtida no projeto que desenvolveu o aplicativo não pode ser
determinada.
c. O número de linhas de código deste aplicativo pode ser estimado facilmente.
d. Existe uma relação entre o tamanho do produto, a produtividade e o esforço do
projeto.
Comentários:
CONFORME ABORDADO NA VIDEOAULA E NO MATERIAL FORNECIDO,
PRODUTIVIDADE, TAMANHO E ESFORÇO ESTÃO RELACIONADOS PELA FÓRMULA:
PRODUTIVIDADE = TAMANHO / ESFORÇO.
Questão 2.5 - Uma empresa de TI possui média histórica de produtividade de 10 FP/PM. Este
dado significa que:
Escolha uma:
a. Na média, cada desenvolvedor produz 10 FP por mês.
b. Todos os desenvolvedores juntos produzem 10 FP por mês.
c. Dez desenvolvedores produzem, em média, 10 FP.
d. Não importa quantos desenvolvedores a empresa possua, ela irá produzir 10 FP.
Comentários:
A resposta correta é a A, haja vista, que o significado da sigla PM é Pessoa Mês.
Questão 2.6 - Uma fábrica de software possui 20 desenvolvedores, que produzem em média 1
KLOC/PM. Sua capacidade anual de produção, neste contexto, é de:
Escolha uma:
a. 24 KLOC.
b. 200 KLOC.
c. 240 KLOC.
d. 120 KLOC.
Comentários:
20 DESENVOLVEDORES X 1 KLOC/PM X 12 MESES = 240 KLOC.
Questão 3.1 - Uma equipe de 10 desenvolvedores vem trabalhando num projeto de grande
importância e visibilidade, que é estratégico e urgente. No contexto desse projeto, como
deveria ser a política de geração de versões de executáveis (builds)? (Assinale a opção
correta.)
Escolha uma:
a. Gerar uma versão a cada fim de iteração, desde o início do projeto.
b. Gerar uma versão a cada fim de iteração, no fim do projeto.
c. Gerar uma versão nos pontos de controle definidos, mantendo um controle
centralizado e constante dos IC (integração contínua).
d. Gerar uma versão sempre que forem detectados bugs nos testes.
PUC Minas - Pós em Engenharia de Software - Módulo 2 44
Comentários:
Na C atenção pois “integração contínua”, não é o significado da sigla IC, mas sim o nome do
processo descrito na sentença da opção C.
Comentários:
Questão 3.3 - O MPS.Br nível “F” inclui sete REP visando ao sucesso da GC. Constitui um dos
resultados de GCO, no caso de um produto contratado junto a um fornecedor, na visão do
contratante do serviço:
Escolha uma:
a. Monitorar as configurações do produto, no ambiente de homologação do fornecedor.
b. Acompanhar a gestão do repositório.
c. Cobrar do fornecedor uma política clara e consistente de gestão do repositório do
projeto.
d. Manter os usuários informados sobre alterações de IC por eles utilizados.
Comentários:
Questão 3.4 - Considere que uma organização resolveu adotar um mecanismo de controle de
configuração integrado com um sistema de gestão de demandas (solicitações), em um novo
projeto que será iniciado no próximo mês. Nesse caso, pode-se afirmar que:
Escolha uma:
a. Uma boa ferramenta de GC será suficiente para resolver a questão da integração.
b. Um repositório adequado deverá ser criado e mantido pelo auditor de configuração.
c. Não será possível integrar essas aplicações, porque elas são incompatíveis.
d. Poderá haver problemas na geração de novas versões, caso se perca o controle da
geração de baselines.
Comentários:
PUC Minas - Pós em Engenharia de Software - Módulo 2 45
Comentários:
Os Trunk são as Baselines. e os Branch são as versões derivadas dos Trunk.
Questão 3.6 - A perda de alguns IC de um projeto, cuja GC está sendo feita seguindo as boas
práticas preconizadas nessa área pode estar relacionada a algumas situações EXCETO:
Escolha uma:
a. Baseline com problema na atualização.
b. Chekin e checkout simultâneos, gerando deadlock.
c. Repositório com problemas de segurança.
d. Falta de coordenação entre a equipe nas operações de chekin e checkout, caso o
controle seja manual.
Comentários:
Questão 4.1 - Analisando a área de riscos de um projeto que está iniciando é correto afirmar
que:
Escolha uma:
a. Os riscos tendem a diminuir, à medida que o projeto avança.
b. Os riscos tendem a aumentar, à medida que o projeto avança.
c. Os riscos independem do momento em que o projeto se encontra.
d. O risco global de um projeto é determinado pela somatória dos fatores de risco.
Comentários:
a) Num projeto qualquer os riscos devem diminuir à medida que o projeto avança. Esta é uma
tendência. Caso contrário, alguma coisa está errada.
Comentários:
a) Não é viável fazer uma análise diária dos riscos do projeto. As outras opções estão
corretas, conforme o processo “Planejamento de respostas aos riscos”, do PMBoK.
PUC Minas - Pós em Engenharia de Software - Módulo 2 46
Comentários:
b) Todo projeto deve estar alinhado estrategicamente. Esse é um dos principais fatores para se
definir a realização de um projeto.
Comentários:
resposta c.
letra a) não pode pq diagrama de classes que não faz parte da gerencia
letra b) caso de uso não faz parte da gerencia
letra d) ata de reunião não faz parte da gerencia
Questão 4.5 - A GPR3 estabelece que “o modelo e as fases do ciclo de vida do projeto são
definidos”. Esta afirmação indica que, numa organização em processo de avaliação MPS.Br:
Escolha uma:
a. Deve existir um ciclo de vida diferente para cada projeto de TI.
b. Deve existir um ciclo de vida geral para todos os projetos, de qualquer área.
c. Deve existir um ciclo de vida para projetos de TI baseado no modelo cascata.
d. Deve existir um modelo de ciclo de vida padrão a ser seguido nos projetos de TI.
Comentários:
Questão 4.6 - A GPR4 estabelece que “o esforço e o custo para a execução das tarefas e dos
produtos de trabalho são estimados com base em dados históricos ou referências técnicas”.
Esta afirmação indica que, numa organização, em processo de avaliação MPS.Br:
Escolha uma:
a. Deve-se utilizar a análise de pontos de função para métrica de produto.
b. Deve-se utilizar uma base histórica de produtividade e esforço de projetos.
c. Deve existir uma referência técnica para cada projeto, separadamente.
d. É obrigatório medir os tempos de realização de cada tarefa, independentemente do
projeto.
Comentários:
PUC Minas - Pós em Engenharia de Software - Módulo 2 47
Comentários:
Questão 6.2 - O guia PMBoK é uma literatura de referência que descreve o perfil e as
responsabilidades de um Gerente de Projeto (GP). Dentre as opções a seguir, assinale a única
que não caracteriza uma competência do GP.
Escolha uma:
a. Negociador: saber negociar contratos e prazos, realizando ações nesse sentido.
b. Comunicador: apresentar bons recursos de comunicação com a equipe e os
stakeholders.
c. Influente: ser capaz de exercer influências na organização e sobre as pessoas.
d. Dominador: ter domínio total sobre a equipe de trabalho.
Comentários:
Comentários:
Comentários:
PUC Minas - Pós em Engenharia de Software - Módulo 2 48
Questão 6.5 - Riscos em projetos devem ser identificados, qualificados e quantificados para
em seguida definir-se o tratamento a ser dado a eles. Nesse sentido, assinale a alternativa
incorreta:
Escolha uma:
a. Um risco baixo não compensa os gastos para seu enfrentamento.
b. Riscos que não podem ser enfrentados devem ser transferidos a terceiros.
c. Um exemplo de fator de risco em projetos de software pode ser a falta de apoio da
alta gerência.
d. Um projeto que apresenta risco global alto não deve ser realizado a não ser que
existam motivações fortes para isto, como por exemplo uma determinação do executivo
chefe.
Comentários:
Questão 6.6 - Um projeto de sucesso deve atingir suas metas de prazo, custo e qualidade,
além de outros fatores de sucesso que possam ter sido definidos para o projeto. Nesse
contexto, considerando as GPR do MPS.Br e o guia PMBoK, pode-se afirmar que:
Escolha uma:
a. As metas de um projeto devem ser definidas nos artefatos da área de escopo.
b. Prazo, custo e qualidade devem ser definidos pelos contratantes, visando à
viabilidade de atingir as metas do projeto.
c. Estudos de viabilidade devem definir as possibilidades de sucesso na realização do
projeto, fazendo parte do grupo de processos de planejamento.
d. A organização deve possuir uma metodologia para tratamento de riscos em projetos.
Comentários: