Você está na página 1de 48

PUC Minas - Pós em Engenharia de Software - Módulo 2 1

Disciplina 1 - Concepção e Elaboração de Software II

Projeto de Sistemas: Introdução e Contextualização

Questão 1.1 - Analise as asserções I e II:


Asserção I - O Padrão MVC (modelo, visão, controle) divide as responsabilidades entre os seus
três componentes: modelo, visão, controle.
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.

Em relação às asserções I e II, é correto dizer: 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..

Questão 1.2 - No processo de desenvolvimento de software existem várias atividades ou fases


intermediárias como análise, projeto, implementação e verificação.
Qual das afirmativas abaixo é característica do projeto de um sistema de software?

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

O que é correto afirmar sobre os elementos do diagrama?

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

Questão 1.4 - Observe o diagrama de comunicação abaixo:

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.

Em relação às asserções I e II, pode-se dizer:


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.
PUC Minas - Pós em Engenharia de Software - Módulo 2 5

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 é 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:

Operação LocarCarro (ca:carro, cl:cliente, retorno:date).

Referência Cruzada: Caso de uso Locação.

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

Questão 2.4 - Observe o diagrama e o trecho de código a seguir:

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

Justificativa: A letra A está incorreta. O conceito descrito na letra A é de uma instanciação e


não de uma especialização. A afirmativa correta seria: Instanciação é o nome que se dá à
criação de objetos partindo de uma classe. Por exemplo, uma instanciação da classe professor
pode resultar na Prof. Maria Augusta.
A resposta correta é: (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..

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:

Considere as afirmações abaixo:

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.

Das afirmações acima,


Escolha uma:
a. apenas I é verdadeira.
b. apenas II é verdadeira.
c. apenas III é verdadeira.
d. apenas I e II são verdadeiras.
Comentários:
Justificativa: A primeira afirmativa é falsa pois a atividade Consertar Automóvel e atividade
Cobrar Franquia podem ser executadas em paralelo. A segunda afirmativa é verdadeira pois a
atividade Pagar Franquia e a atividade Consertar Automóvel podem ser executadas em
paralelo ou em sequência em qualquer ordem. A Terceira afirmativa é falsa pois o fluxo só
PUC Minas - Pós em Engenharia de Software - Módulo 2 8

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.

Questão 3.1 - No modelo “4+1” visões arquiteturais, na visão de implementação ou


componetes o objetivo é:
Escolha uma:
a. Indicar a distribuição dos componentes de software pelos dispositivos de hardware.
b. Indicar como o software será validado pelos usuários do sistema após sua implantação.
c. apresentar o gerenciamento da configuração e a montagem do sistema.
d. apresentar o padrão arquitetural utilizado na concepção do sistema.

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..

Questão 3.2 - O que é correto afirmar a respeito do diagrama UML abaixo:


PUC Minas - Pós em Engenharia de Software - Módulo 2 9

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.

Escolha a alternativa correta a respeito do diagrama.


Escolha uma:
a. O diagrama apresenta os componentes internos ao componente <<server>> :Catalog
e as dependências entre eles representada através das portas de comunicação.
b. O diagrama apresenta a implantação dos componentes em uma máquina servidora.
c. O diagrama mostra que o componente :SearchEngine depende do componente
:DataValidation.
d. O diagrama mostra a interface de comunicação <<call>> entre o componente
:CatalogMgr e o :DataCache.

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

componente :DataCache. A letra D está incorreta pois a interface <<Call>> intermedia os


componentes :CataloMgr e :DataValidation.
A resposta correta é: (a) O diagrama apresenta os componentes internos ao componente
<<server>> :Catalog e as dependências entre eles representada através das portas de
comunicação..

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.

Fonte: adaptado de Documentation WAP: disponível em


http://waf.codeplex.com/wikipage?title=Architecture%20-%20Get%20The%20Big%20Picture&referringTitle=Home

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..

Questão 3.6 - Considere a seguinte descrição extraída do site dos Correios


(www.correios.com.br).
“Aplicativo web para cálculo de prazos e preços de encomendas em lojas virtuais e sites.
O aplicativo de cálculo remoto de preços e prazos de encomendas dos Correios é destinado
aos clientes SEDEX, e-SEDEX e PAC que necessitam calcular o preço e o prazo de entrega de
uma encomenda em seus websites, de forma personalizada.
Os clientes que não possuem contrato de encomenda com os Correios podem usar esta
ferramenta, porém os preços apresentados serão os praticados no balcão da agência.”
Este aplicativo é um elemento que fará parte de uma aplicação maior. Qual o tipo deste
elemento dentro da arquitetura da aplicação onde ele será utilizado?
Escolha uma:
a. camada
b. controlador
c. repositório
d. webservice

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

Questão 4.1 - O resultado esperado 1 do processo de “Projeto e Construção do Produto” do


MPS.Br diz que: “Alternativas de solução e critérios de seleção são desenvolvidos para atender
aos requisitos definidos de produto e componentes de produto”. Com base neste resultado
esperado, é possível identificar os seguintes exemplos de alternativas candidatas a solução,
EXCETO:
Escolha uma:
a. Desenvolver ou comprar componentes específicos
b. Usar o framework MVC Spring ou Java Server Faces
c. Desenvolver para plataforma web ou plataforma móvel
d. Utilizar o cliclo de vida de entrega evolutiva ou o ciclo de vida espiral

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.

Questão 4.2 - Os modelos de maturidade MPS.Br e o CMMI são baseados em níveis de


maturidade conforme pode ser visto na fiugra abaixo. Em qual nivel do MPS.Br e do CMMI se
encontram os processos “Projeto e Construção do Produto” e “Technical Solution”
respectivamente?

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..

Questão 4.4 - O que é correto afirmar sobre o Framework Essence?


Escolha uma:
a. O framework Essence deve ser usado quando o projeto está em risco de não ser
entregue no tempo para tentar salvar a entrega do projeto no prazo correto.
b. O framework Essence pode ser usado para descrever apenas os métodos que foram
criados após a definição do framework.
c. O framework Essence é útil na definição dos processos sendo que as empresas que
possuem processos bem definidos não se beneficiam do framework
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

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.

Questão 6.1 - O projeto de sistemas de software deve se basear em princípios como a


modularização, abstração, e a ocultação de informações como forma de garantia da qualidade
do projeto. O que significa o princípio de ocultação de informações?
PUC Minas - Pós em Engenharia de Software - Módulo 2 15

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

Sobre esse diagrama é correto afirmar que:


Escolha uma:
a. o componente Web browser se comunica com o componente Adventure Catalog DB
através do protocolo http
b. o componente Consumer Website é consumidor dos serviços oferecidos pelo
componente OPC.
c. o pacote Adventure Builder provê cinco serviços externos
d. o pacote Adventure Builder comunica com outros componentes através do estilo pipe
e filtro

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

a. Verificação (VER) para se definir os requisitos não funcionais do software sendo


projetado.
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.
c. Desenvolvimento de Requisitos (DRE) para se definir listas de verificação da revisão
por pares.
d. Integração do Produto (ITP) para se definir a integração entre requisitos e regras de
negócio que tem impacto na arquitetura.

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..

12ª Questão (Valor: 6 pontos)


Considere a seguinte descrição extraída do site dos Correios (www.correios.com.br): “Aplicativo
web para cálculo de prazos e preços de encomendas em lojas virtuais e sites. O aplicativo de
cálculo remoto de preços e prazos de encomendas dos Correios é destinado aos clientes
SEDEX, e-SEDEX e PAC que necessitam calcular o preço e o prazo de entrega de uma
encomenda em seus websites, de forma personalizada. Os clientes que não possuem contrato
de encomenda com os Correios podem usar esta ferramenta, porém os preços apresentados
serão os praticados no balcão da agência.”
Este aplicativo é um elemento que fará parte de uma aplicação maior. Qual o tipo deste
elemento dentro de uma arquitetura da aplicação onde ele será utilizado?
a) camada.
b) pipe.
c) repositório.
d) webservice. *

13ª Questão (Valor: 6 pontos)


No contexto das redes com arquiteturas ponto-a-ponto e cliente-servidor, considere:

I. Os serviços fornecidos são, em geral, serviços de persistência, de segurança, de geração de


relatórios ou de autenticação.
II. Qualquer processo ou nó do sistema pode ser cliente e servidor.
III. Um nó cliente não possui inteligência e atua apenas como interface ao sistema.
IV. A lógica do aplicativo ou de negócios é normalmente distribuída entre o nó cliente e o nó
servidor.
V. Apresenta resiliência à remoção de componentes.
PUC Minas - Pós em Engenharia de Software - Módulo 2 18

Convencionando-se PP para ponto-a-ponto, e CS para cliente-servidor, é correto afirmar que


os itens I, II, III, IV e V, referem-se, respectivamente, a:
a) CS, PP, PP, CS, PP.
b) PP, CS, PP, CS, PP.
c) CS, PP, CS, CS, PP. *
d) CS, PP, PP, PP, CS.

14ª Questão (Valor: 6 pontos)


A UML 2.0 divide os diagramas em duas categorias: estruturais e de comportamento. São
exemplos de diagramas estruturais e de comportamento, respectivamente, os diagramas de:
a) classes e estados. *
b) comunicação e sequência.
c) componentes e classes.
d) classes e componentes.

15ª Questão (Valor: 6 pontos)


O diagrama de classes UML 2.0 abaixo contém parte das classes de uma aplicação:

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. *

16ª Questão (Valor: 6 pontos)


Qual diagrama da UML é empregado para a modelagem dos aspectos físicos de um sistema,
mostrando a configuração dos nós de processamento em tempo de execução e os artefatos
existentes em cada nó?
a) Componentes.
b) Implantação. *
c) Pacotes.
d) Comunicação.
PUC Minas - Pós em Engenharia de Software - Módulo 2 19

17ª Questão (Valor: 6 pontos)


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.
Identifique a pós-condição do contrato da operação locar carro, de acordo com a descrição
inicial do contrato abaixo e o diagrama de classes de domínio para esta locadora:
Operação LocarCarro (ca:carro, cl:cliente, retorno:date)
Referência Cruzada: Caso de uso Locação
Pré Condição: o cliente cl não possui pendências e está apto a alugar o carro ca

Todas as alternativas abaixo são cláusulas da pós-condição do contrato da operação


LocarCarro, EXCETO:
a) Foi criada uma nova instância de Locação chamada Loc.
b) Loc foi associada ao carro ca.
c) Loc foi associada ao cliente cl.
d) O atributo Retorno de Loc foi modificado para conter a data corrente. *

18ª Questão (Valor: 6 pontos)


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ê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

manual de usuário do sistema, o ambiente de desenvolvimento está preparado incluindo


todas as plataformas e tecnologias que foram selecionadas.
c) Plano de reutilização de componentes, relatório de execução de testes indicando o
nível de qualidade do sistema, 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.

19ª Questão (Valor: 6 pontos)


O modelo MPS.Br é baseado em níveis de maturidade. Em cada um dos níveis de maturidade
existe um conjunto de processos que precisam estar implantados para que a empresa seja
certificada em um determinado nível. Observe as afirmativas abaixo:

I – No processo Projeto e Construção do Produto (PCP) as interfaces entre os componentes do


produto são projetadas com base em critérios predefinidos considerando os requisitos definidos
durante o processo Desenvolvimento de Requisitos (DRE)
PORQUE
II - O processo Integração do Produto (ITP) precisará das interfaces projetadas de acordo com
os requisitos desenvolvidos para integrar os componentes de forma consistente.

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.

Observe o diagrama a seguir. As questões 20 e 21 são relativas a este contexto.


PUC Minas - Pós em Engenharia de Software - Módulo 2 21

20ª Questão (Valor: 6 pontos)


Que tipo de visibilidade pode-se concluir que existe de um objeto ConcreteElement para um
objeto ConcreteVisitor?
a) Visibilidade por atributo.
b) Visibilidade local.
c) Visibilidade por parâmetro. *
d) Visibilidade global.

21ª Questão (Valor: 6 pontos)


Que tipo de visibilidade pode-se concluir que existe de um objeto Client para um objeto
Element?
a) Visibilidade por atributo. *
b) Visibilidade local.
c) Visibilidade por parâmetro.
d) Visibilidade global.

22ª Questão (Valor: 6 pontos)


O que significa o conceito de cobertura arquitetural durante a fase de elaboração do RUP?
a) Levantamento de todos os requisitos funcionais e não funcionais do software que tem
impacto na arquitetura.
b) Implementação de um protótipo arquitetural considerando os casos de uso críticos
capazes de exercitar todos os elementos de uma arquitetura. *
c) Mitigação de riscos relacionados ao projeto da arquitetura de software.
d) Refinamento das estimativas de prazo e custo do projeto com base no protótipo
executável da arquitetura de software.

Disciplina 2 – Qualidade de Software II

Unidade 01 - Introdução a Qualidade de Software

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.

Algumas considerações sobre o produto software:


- é um produto complexo, até mais do que o hardware que o executa;
- não tem produção em série e o seu custo está no projeto e no desenvolvimento;
- não se desgasta e nem se modifica com o uso;
- a engenharia de software ainda não está madura o suficiente para todos que produzem
software.

O que é a Engenharia de Software ?


É um termo usado para referir-se a modelos de ciclo de vida, metodologias de rotina, técnicas de
estimativa de custo, estruturas de documentação, ferramentas de gerenciamento de configuração,
técnicas de garantia de qualidade e outras técnicas de padronização da atividade de produção de
software.

O que é um produto de Software ?


Um conjunto completo de programas de computador, procedimentos e documentação correlata, assim
como dados designados para entrega a um usuário.

Como um software é construído ?


Seguindo os seguintes passos:
- projeto;
- processo;
- produto.

O projeto é um esforço no sentido de construir um produto, dentro de determinadas especificações, que


atenda às necessidades dos usuários para que executem processos operacionais e gerenciais de
negócios.
Projeto = ( objetivos + atividades + prazos + recursos envolvidos + riscos e incertezas )

O projeto se caracteriza por ser:


- um esforço finito, que no seu término pretende-se a entrega, geração ou finalização de
determinado produto;
- um esforço que pode ser subdividido em unidades de trabalho (fases, etapas, atividades) que
ocorrem um uma sequência predeterminada;
- o objetivo, a alocação de recursos e o progresso podem ser monitorados e avaliados.

A Gestão do projeto compreende:

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 é um conjunto de atividades (numa sequência predeterminada), métodos e práticas


utilizados na produção e evolução do software.

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;

O processo define a forma de como o projeto é executado e, consequentemente, gerenciado.


O processo de software comumente chamamos de metodologia de desenvolvimento.

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.

O produto sofre alterações caracterizadas como:


- manutenções corretivas;
- manutenções adaptativas;
- melhorias.

Manutenções corretivas compreendem:


- remoção de defeitos introduzidos pelo projeto;
- remoção de defeitos introduzidos por manutenções adaptativas;
- remoção de defeitos introduzidos por melhorias.

Manutenções adaptativas compreendem:


- alteração de determinadas funções do software visando adequá-lo a requisitos regulatórios ou
de legislação.

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.

Unidade 02 - Processos de Ciclo de Vida

Ciclo de Vida de software:

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;

Qualidade nos Processos de Software

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.

Processos de apoio: os processos de apoio auxiliam outro processo.


- documentação;
- gerência de configuração;
- gerência da qualidade;
- verificação;
- validação;
- revisão conjunta;
- auditoria;
- resolução de problemas;
- usabilidade;
- contrato;

Processos organizacionais: auxiliam a organização e gerência geral dos processos.


- gerência;
- infraestrutura;
- melhoria;
- recursos humanos;
PUC Minas - Pós em Engenharia de Software - Módulo 2 25

Processos de reuso de software: são os processos específicos no desenvolvimento de software.


- gestão de ativos;
- gestão de programas de recurso;
- engenharia de domínio;

Processos de adaptação: os processos são adaptáveis.


- projeto;
- organização;
- cultura;
- modelo de ciclo de vida, métodos, técnicas e linguagens.

Unidade 03 - Normas Aplicadas a Qualidade de Software

Norma ISO -IEC 9126 - Avaliação da Qualidade de Produto de Software

A Norma Internacional ISO/IEC 9126, define 6 características da qualidade para produtos de software:
- funcionalidade;
- confiabilidade;
- usabilidade;
- eficiência;
- manutenibilidade;
- portabilidade.

Funcionalidade  Refere-se à existência de um conjunto de funções que satisfaz às necessidades


estabelecidas e a suas propriedades específicas. Propõe como subcaracterísticas: adequação, acurácia,
interoperabilidade, conformidade e segurança.

Confiabilidade Refere-se à capacidade do software em manter seu nível de desempenho, sob


condições estabelecidas, por um determinado período de tempo. Propõe como subcaracterísticas :
maturidade, tolerância a falhas, recuperabilidade e conformidade.

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.

Eficiência  Refere-se ao relacionamento entre o nível de desempenho do software e a quantidade de


recursos utilizada, sob condições estabelecidas. Propõe como subcaracterísticas: comportamento em
relação ao tempo, comportamento em relação aos recursos e conformidade.

Manutenibilidade  Refere-se ao esforço necessário para fazer modificações específicas no software.


Propõe como subcaracterísticas: analisabilidade, modificabilidade, estabilidade, testabilidade e
conformidade.

Portabilidade  Refere-se à capacidade do software em ser transferido de um ambiente para outro.


Propõe como subcaracterísticas: adaptabilidade, coexistência, capacidade para ser instalado,
capacidade para substituir 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

Norma ISO-IEC 14598 - Processo de Avaliação de Software

1. Estabelecer requisitos de avaliação:


1.1 – estabelecer o propósito da avaliação;
1.2 – identificar o tipo de produto a ser avaliado;
1.3 – especificar o modelo de qualidade; (ISO/IEC-9126)

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.

Unidade 04 - Maturidade nos Processos de Software


Capability Maturity Model – CMM

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.

O modelo é definido por cinco níveis de maturidade:


1 - inicial;
2 - repetível;
3 - definido;
4 - gerenciado;
5 – otimizado.

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.

Outros modelos de apoio ao desenvolvimento e melhoria do processo de software


Personal Software Process - PSP;
Melhoria de Processos do Software Brasileiro - MPS-BR;
SPICE – ISO/15504;
CMMi (evolução do CMM);
Outros…
PUC Minas - Pós em Engenharia de Software - Módulo 2 28

Questão 1 - No contexto de qualidade de software, analise as afirmativas a seguir, indicando se são


falsas ou verdadeiras.
I. Projetos de qualidade entregam o produto, o serviço ou o resultado solicitado dentro do escopo,
no prazo e dentro do orçamento. Ocorrendo alguma alteração em um desses fatores, os demais
podem se alterar.
II. Qualidade pode ser entendida como um conjunto de características a serem satisfeitas em um
determinado grau, de modo que o produto de software atenda às necessidades explícitas e
implícitas de seus usuários.
III. Processos de negócio maduros e bem definidos a serem atendidos pelo software, são
fundamentais para gerar um bom projeto de software.
IV. Estimar cronograma e custo de um software na fase de elaboração do seu projeto, não é tarefa
trivial quando não se tem um processo de desenvolvimento bem definido.
A sequência correta é
Escolha uma:
a. V V F V
b. F F V V
c. V V V V
d. F F F F

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 2 - Analise se Falso ou Verdadeiro, indicando a opção correta.


São características comuns da fase de uso de um sistema:
I) manutenções corretivas e/ou adaptativas;
II) análise de muitos novos requisitos para o sistema;
III) pequenas melhorias, como por exemplo na sua usabilidade;
IV) com o atraso tecnológico do sistema, o mesmo pode apresentar indicadores de decadência;
Escolha uma:
a. V, F, V, V
b. V, V, F, V
c. F, F, V, V
d. F, F, F, V

Questão 3 - Indique se Falso ou Verdadeiro, marcando a opção correta.


Em relação a Norma ISO-12207, podemos afirmar que:
I) aquisição, desenvolvimento e operação de software, são alguns dos processos primários;
II) processos de apoio são utilizados em todo o ciclo de vida do software, tanto no
desenvolvimento, quanto nas manutenções da fase operacional;
III) verificação, validação, revisão conjunta são processos de apoio de extrema importância para um
bom desenvolvimento de software;
IV) os processos organizacionais estão diretamente ligados ao código do sistema;
Escolha uma:
a. V, V, V, F
b. F, F, V, F
c. F, F, F, V
d. V, V, F, F

Questão 1 - O modelo de qualidade ISO-9126 possui seis características a serem observadas em um


software, que são:
Escolha uma:
a. adaptabilidade, funcionalidade, segurança, maturidade, conformidade, acurácia.
b. manutenibilidade, portabilidade, maturidade, conformidade, segurança, eficiência.
c. funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade, portabilidade.
d. funcionalidade, usabilidade, segurança, tempo, conformidade, manutenibilidade.
e. confiabilidade, segurança, tempo, adequação, conformidade, maturidade.

Questão 2 - As subcaracterísticas da característica “funcionalidade”, de acordo com a ISO-9126,


são:
Escolha uma:
a. adequação, acurácia, interoperabilidade, conformidade e segurança.
b. adaptabilidade, maturidade, capacidade para ser instalado, tempo, recursos.
c. tempo, analisabilidade, modificabilidade, maturidade, conformidade.
d. recursos, adequação, maturidade, recuperabilidade, tempo.

Questão 3 - A norma ISO-14598 tem como objetivo principal:


Escolha uma:
a. o projeto do software.
b. a avaliação do projeto.
c. o processo de avaliação do software.
d. a avaliação da infraestrutura de TI.
PUC Minas - Pós em Engenharia de Software - Módulo 2 30

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 - Não são áreas-chaves de processos (kpa´s) do nível 3 do modelo CMM:


Escolha uma:
a. Programa de treinamento.
b. Foco no processo da organização.
c. Gerenciamento de software integrado.
d. Gerenciamento quantitativo do processo.

Questão 3 - Não são áreas-chaves de processos (kpa´s) do nível 5 do modelo CMM:


Escolha uma:
a. Gerenciamento de mudança no processo.
b. Prevenção de defeitos.
c. Gerenciamento de requisitos.
d. Gerenciamento da mudança tecnológica.

Questão 1 - Em relação a Norma ISO-9126, não é uma subcaracterística da característica


Funcionalidade:
Escolha uma:
a. adequação;
b. interoperabilidade;
c. inteligibilidade;
d. segurança;
e. acurácia;

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

Disciplina 3 - Construção e Implantação de Software I

Questão 1.1 - Considere as seguintes afirmativas:

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.

Podemos afirmar que são CORRETAS as afirmativas


Escolha uma:
a. II e IV
b. III e IV
c. I, II e III
⇒ d. I, II, III e IV.

Comentários:

Questão 1.2 - Assinale a afirmativa INCORRETA:


Escolha uma:
a. Se a classe derivada não especificar o construtor da classe base que deseja chamar,
será executada a chamada ao construtor padrão da classe base (se houver).
b. Os construtores não são chamados automaticamente. Uma classe derivada deverá
escolher qual construtor da superclasse deseja chamar.
c. A palavra “chave super” está disponível para todos os métodos não estáticos de uma
classe estendida.
⇒ d. Métodos protegidos estáticos não podem ser acessados em qualquer classe
estendida.
e. (essa opção só aparece no gabarito) A subclasse poderá chamar diretamente o
construtor da superclasse utilizando-se a cláusula super(). A assinatura do método
super() deve ser a mesma assinatura do construtor que se deseja chamar.

Comentários:

Questão 1.3 - Assinale a afirmativa CORRETA:


Escolha uma:
a. No polimorfismo ad hoc, um objeto diferente do esperado é passado em uma
expressão ou como parâmetro.
b. No processo de sobrecarga, é possível se declarar métodos com mesmo nome e
assinatura idênticas.
⇒ c. A sobrecarga permite definir funções com o mesmo nome em um mesmo
escopo, porém, com assinaturas diferentes.
d. Uma das formas de se alcançar o polimorfismo finito é através da herança de
classes.
e. (essa opção só aparece no gabarito) Se uma classe é definida como final, ela não
poderá ser estendida por outra classe e todos os métodos não serão afetados.

Comentários:
PUC Minas - Pós em Engenharia de Software - Módulo 2 32

Informações para questões 2.1 e 2.2 - Seja a descrição de um sistema de vendas:

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.

Os seguintes diagramas de classes foram gerados para esse sistema:

Diagrama I

Diagrama II
PUC Minas - Pós em Engenharia de Software - Módulo 2 33

Questão 2.1 - Assinale a afirmativa INCORRETA:


Escolha uma:
a. A classe Ong no diagrama II é uma classe que não pertence ao framework.
b. A classe Cliente no diagrama II é uma interface estendida e novas subclasses da
mesma podem ser criadas na instância do framework.
c. O diagrama II é um diagrama de classes em UML-F para o sistema de vendas. O
diagrama I representa uma instância do framework representado pelo diagrama II.
d. As classes Industria e Comercio no diagrama II são frozen spots e por conseguinte
não podem ser modificadas.
⇒ e. A classe pedido mostrada no diagrama II é uma interface estendida e a ela
podem ser adicionados novos métodos.

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?

Questão 2.2 - Assinale a afirmativa CORRETA:


Escolha uma:
⇒ a. No diagrama II, a Classe FormadePagamento é um estereótipo do tipo
Enumeration em que seus atributos são valores que podem ser assumidos pelo
atributo tipoPagamento na classe Pedido
b. Em uma instância do framework , à classe Pedido podem ser acrescentadas novas
subclasses.
c. Os métodos calcularValorTotal e calcularTotalSemImposto não podem ter suas
implementações modificadas na instância do Framework.
d. No diagrama I, o método totalImpostos é variable
e. A classe Produto é um hot spot.

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

Questão 2.3 - Sejam as seguintes afirmações:


I-A UML-f criou notações e mecanismos novos para estender a UML e oferecer recursos para
representação de frameworks.
II-A tag Incomplete representa o hot spot interfaces estendidas. Indica que novos métodos
podem ser criados nas instâncias do framework.
III- A tag appl-class é usada para indicar um aditivo na estrutura de um framework onde
classes específicas da aplicação podem ser ou já foram adicionadas.
IV- Os tag values são meios para proporcionar a criação de novas propriedades em elementos
da UML.
V- As restrições são mecanismos para especificar uma nova semântica de algum elemento da
UML
Podemos afirmar que estão CORRETAS as afirmações:
Escolha uma:
a. III e V
b. I, III e V
c. II E IV
⇒ d. III, IV e V
e. V

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)

Questão 3.1 - Sejam as seguintes estruturas de modelagem:


1- No diagrama entidade-relacionamento de um sistema para vendas online, existe uma
associação um-para-muitos entre as classes CLIENTE e PEDIDO
2- O conceito de relacionamento um-para-muitos em um diagrama entidade-relacionamento
3-O registro correspondente ao PEDIDO 3433 do CLIENTE João da Silva
4-O conceito genérico de associação.
Escolha dentre as opções abaixo a que exibe a correspondência correta entre as estruturas de
modelagem e os níveis do MOF.
Escolha uma:
a. 1-M0 2-M2 3-M1 4-M3
b. 1-M1 2-M3 3-M0 4-M2
c. 1-M2 2-M1 3-M0 4-M3
⇒ d. 1-M1 2-M2 3-M0 4-M3
e. 1-M1 2-M2 3-M3 4-M0

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

1- “No diagrama entidade-relacionamento de um sistema para vendas online, existe uma


associação um-para-muitos entre as classes CLIENTE e PEDIDO” (M1)
2- “O conceito de relacionamento um-para-muitos em um diagrama entidade-relacionamento”
(M2)
3- “O registro correspondente ao PEDIDO 3433 do CLIENTE João da Silva” (M0)
4- “O conceito genérico de associação.” (M3)

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.

Questão 3.3 - Seja o seguinte diagrama de classes de um sistema de vendas hipotético:

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

public class IndustriaImpl extends EObjectImp implements


Industria
Comentários:
a-Correto. EList implementa uma listagem, utilizada para agregação (relacionamento um para
muitos), um pedido contem um ou muitos item pedidos.
b- Correto. Todas as classes geradas estendem EObject.
c- Errado. EMF utiliza o padrão Factory Method para criação de objetos.
d- Correto. ???
e- Correto. ???

Questão 4.1 - Seja uma lista encadeada de programas a serem executados em um


processador. Quando o processador está pronto para execução, uma mensagem é enviada ao
programa que será executado. Qual padrão de projeto dentre os abaixo apresentados melhor
implementa essa situação?
Escolha uma:
a. Abstract Factory
b. Singleton
⇒ c. Chain of responsibility
d. Factory method
e. Composite

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:

Questão 4.3 - Quando um programa acessa o gerenciador de impressões, deseja-se impedir


que sejam abertas múltiplas instâncias desse gerenciador. Dentre os padrões de projeto abaixo
apresentados, qual melhor resolveria esse problema?
Escolha uma:
a. Adapter
b. Prototype
c. Factory method
d. Proxy
⇒ e. Singleton

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

Disciplina 4 - Gerência do Desenvolvimento de Software

Unidade 01 - Princípios da Gerência de Projetos


Porque os projetos falham? Pela concretização dos riscos de projetos, dentre os quais
podemos incluir:
Pessoas falham; Falra de Planejamento adequado; Pressão excessiva (prazo e custo); Falta
suporte ao gerente de projetos; Equipe despreparada; Problemas de comunicação, etc.

Projeto: Um esforço temporário empreendido para criar um produto, serviço ou resultado


exclusivo. (PMBOK, 2012)

Gerência de Projetos: “Aplicação de conhecimentos, habilidades e técnicas para projetar


atividades que visem atingir os requisitos de projeto”. (PMBOK, 2012) Área de conhecimento
que utiliza boas práticas e um acervo de tecnologias, informações, métodos e técnicas,
visando à melhoria contínua no desempenho dos projetos desenvolvidos nas
organizações.

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)

Alguns Artefatos da Gerência de Projetos:


– Project Charter: Termo de Abertura de Projeto (TAP).
– Cronograma físico: início, desenvolvimento e fim de cada tarefa e do projeto.
– Cronograma financeiro: recursos necessários e sua distribuição ao longo do ciclo de
vida do projeto.
– Análise de riscos de projeto.
– Estudo de viabilidade de projeto.
– Análise custo – benefício.
– Plano de Projeto: documento contendo todos os dados gerenciais relevantes.

Deve-se negociar tudo isto com os envolvidos no projeto, especialmente clientes


e futuros usuários.
PUC Minas - Pós em Engenharia de Software - Módulo 2 39

Unidade 02 - Métricas e Estimativas de Projetos

Unidade 03 - Gerência de Configuração

Unidade 04 - Gestão do Desenvolvimento de Software

Comentários para as questões:

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.

O Sistema de Informações Municipais (SIMUN) da Secretaria da Fazenda da prefeitura de um


município do interior do estado foi planejado para proporcionar acesso direto dos cidadãos, via
web, às bases de dados fazendárias. O aplicativo permitirá a um cidadão ou empresa emitir
certidões e documentos municipais, tirar “nada consta”, quitar tributos como IPTU e outros,
através de um browser. Deste modo, facilitará o acesso à informação e aprimorará os
processos de arrecadação.
O projeto está sendo executado segundo o modelo iterativo-incremental (RUP), em quatro
fases: Concepção, Elaboração, Construção, Transição. O projeto foi iniciado numa reunião de
abertura (kick-off) com os principais stakeholders na qual ficaram definidos os papeis, o
cronograma e o orçamento inicial.
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.
Um problema enfrentado pela equipe de analistas encarregados do planejamento detalhado
das atividades é definir corretamente os requisitos que fazem parte do escopo do produto, pois
eles mudam ao longo do tempo e não há uma visão integrada por parte dos usuários. Por
exemplo, para um determinado usuário um Imóvel é visto segundo a visão geográfica, de um
lugar físico, enquanto outro usuário vê o mesmo Imóvel no conceito legal e um terceiro na
visão fiscal. Assim, conceitos diferentes dificultam o entendimento integrado e as
comunicações nesse projeto.
Ao mesmo tempo, essa prefeitura municipal tem passado por dificuldades financeiras, devido a
perdas de arrecadação nos últimos anos. Sendo este projeto desenvolvido por uma empresa
contratada, seu cronograma deverá sofrer algum impacto devido às restrições de recursos
existentes.
Segundo informou o gerente do projeto, numa reunião realizada com a presença dos principais
stakeholders, dificilmente será possível cumprir o cronograma físico ou garantir o desempenho
financeiro estabelecido no Termo de Abertura do Projeto (TAP) – também chamado Project
Charter, sem antes atacar os problemas existentes.

Baseado no texto apresentado e nos conhecimentos apresentados na disciplina escolha uma


única resposta, em cada questão:
PUC Minas - Pós em Engenharia de Software - Módulo 2 40

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

Possui o maior número de processos, dentre os 5 grupos.


Execução: a fase responsável POR EXECUTAR O PROJETO (atividade operacional). Nesta
etapa o produto/serviço se materializa, ganhando forma e atendendo (ou não) às expectativas
dos envolvidos.
Esta é a fase que, por padrão, consome a maior parte dos recursos do projeto.
Monitoramento e Controle: ocorre em paralelo com outras etapas. Cuida de GARANTIR O
PROJETO QUANTO À QUALIDADE, PRAZO E ORÇAMENTO PREVISTOS.
São tomadas ações corretivas pelo gerente de projetos, caso haja desvios.
Finalização: também chamada encerramento. Realiza o encerramento dos trabalhos, com o
ACEITE DO CLIENTE em relação ao produto final do projeto.
Também ocorrem a desmobilização da equipe e as avaliações finais – do projeto, da equipe),
sendo registradas as lições aprendidas.

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.

Questão 2.2 - Aplicando-se a métrica de Análise de Pontos de Função, é possível estimar


quantos dias 1 (um) desenvolvedor demora para criar uma aplicação estimada em 10 Function
Points (FP), considerando uma produtividade média de 1 FP por dia. A resposta correta é:
Escolha uma:
a. Menos de 10 dias.
b. Aproximadamente 10 dias.
c. Exatamente 10 dias.
d. No mínimo 10 dias.

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.

Questão 3.2 - O papel de um Gestor de Configuração inclui as atividades a seguir, EXCETO:


Escolha uma:
a. Fazer auditoria nos IC.
b. Fazer a gestão do repositório.
c. Ser responsável pela segurança do repositório.
d. Manter os usuários informados sobre as políticas de GC do projeto

Comentários:

Papéis, Artefatos e Atividades de GC


Gerente ou Gestor de Configuração de Software: responde pelas configurações, aprovando e
gerenciando as atividades da Gerência de Configuração de Software, coordena a equipe de
Gerência de Configuração de Software, cuida da integração de sistemas.
Auditor de Configuração de Software: responsável pela realização das auditorias de
configuração nos projetos, conferindo se estão sendo obedecidas as regras de segurança, etc.
Equipe de projeto: são os usuários da gerência de configuração de software, produzindo os
itens de configuração que são gerenciados.
Bibliotecário: responsável pelos acessos à biblioteca de configurações (repositório). Tem
um papel importante para a segurança.
Comitê de Controle de Mudança (CCM): responsável pelas decisões de modificação.

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

Questão 3.5 - Trunk e Branch são, respectivamente:


Escolha uma:
a. Baseline e suas derivações.
b. Baseline e suas variações.
c. Um repositório e seus IC.
d. Papeis na GC.

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.

Questão 4.2 - O papel de um Gerente de Projetos, visando ao gerenciamento de riscos, deve


incluir as ações a seguir, EXCETO:
Escolha uma:
a. Fazer uma revisão diária da análise dos riscos do projeto.
b. Tomar medidas mitigadoras em relação a riscos médios e altos do projeto.
c. Ignorar os riscos baixos do projeto.
d. Terceirizar atividades envolvendo riscos que não sejam passíveis de serem
enfrentados pela equipe.

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

Questão 4.3 - O planejamento de um projeto deve contemplar, obrigatoriamente:


Escolha uma:
a. Geração de uma extensa documentação técnica e gerencial.
b. Alinhamento das metas do projeto com a estratégia organizacional.
c. Previsão das aquisições de insumos para o projeto e para a organização.
d. Revisões de metas a cada final de fase.

Comentários:
b) Todo projeto deve estar alinhado estrategicamente. Esse é um dos principais fatores para se
definir a realização de um projeto.

Questão 4.4 - São exemplos de técnicas e ferramentas utilizadas na gerência de projetos,


respectivamente:
Escolha uma:
a. Gráficos, planilhas, diagrama de classes, MS-Project, DotProject, Openproj.
b. Gráficos, planilhas, casos de uso, MS-Project, DotProject, Openproj.
c. Brainstorming, gráfico de Gantt, diagrama de rede, MS-Project, DotProject, Openproj.
d. Brainstorming, diagrama SWOT, ata de reunião, MS-Project, DotProject, Openproj.

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

Questão 6.1 - Considerando as diferenças entre projeto e operação, assinale a resposta


correta.
Escolha uma:
a. Um projeto pode ser caracterizado por ter início e fim bem definidos e por ser
repetitivo.
b. Um exemplo de projeto pode ser a realização de manutenção corretiva de software.
c. Operações de rotina não apresentam escopo bem definido, dificultando seu
planejamento.
d. Operações são caracterizadas pela necessidade de se enfrentar novos desafios.

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:

Questão 6.3 - Sobre as métricas de tamanho de software é correto afirmar que:


Escolha uma:
a. Não existem métricas confiáveis para uso em estimativas.
b. Métricas diretas são facilmente aplicáveis.
c. Métricas diretas se baseiam na medição da funcionalidade a ser entregue.
d. Métricas nunca podem ser aplicadas na hora necessária, ou seja, no início do projeto.

Comentários:

Questão 6.4 - No contexto da gerência de configuração a relação entre baseline, itens de


configuração e versão pode ser estabelecida como:
Escolha uma:
a. Uma baseline deve corresponder a uma única versão.
b. Uma versão pode ser gerada apenas com itens de configuração, sem uma baseline.
c. Baseline é um conjunto de configurações, e não tem relação com versão.
d. Itens de configuração relacionados a uma versão não podem ser reaproveitados para
compor o baseline de outra versão.

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:

Você também pode gostar