Estimativas de projetos - Técnicas analógicas e especializadas
1. 1 – PROVA DE 2013
Estimativa análoga
Ser aplicado tanto para estimativa de tempo quanto para de custos, e
baseia-se em opiniões especializadas e informações históricas. O nível de
precisão dessa estimativa depende da semelhança do projeto ou das
atividades com o histórico disponível.
A estimativa análoga baseia-se em pacotes de trabalho/atividades similares de
projetos anteriores para estimar a duração dos pacotes de trabalho e/ou
atividades do seu projeto atual.
A estimativa de custos análoga geralmente custa menos que outras técnicas,
mas também em geral é menos precisa. Ela é mais confiável quando os
projetos anteriores são verdadeiramente, e não apenas aparentemente,
semelhantes e as pessoas ou grupos que preparam as estimativas possuem a
especialização necessária.
É usado quando existem poucas informações disponível para a estimativa do
projeto. Usa como informações para estimar como escopo, custo, orçamento e
duração ou medidas de escalas como tamanho e peso de um projeto anterior
que seja semelhante da atual. Os valores brutos do projeto anterior são
ajustados para um valor sabendo de algumas diferenças conhecidas.
É um tipo de estimativa mais barata e rápida de que outros tipos de
estimativas, e é menos precisa. Só podem ser utilizados para projetos de um
mesmo segmento ou projetos semelhantes que já foram realizados
anteriormente, e tendo a necessidade de uma ajuda de pessoas especializadas
que já participaram de outros projetos.
Vantagens: usada na fase inicial do projeto; mais rápido para ser informado so
cliente; útil para medir o interesse do cliente no projeto; utilizada quando falta
informação detalhada;
Desvantagens: baseados em experiências anteriores; ser realizado por um
especialista; possuir grande risco ao estimar o custo do projeto; menos
precisão; conhecida como estimativa TOP-DOWN.
Opnião especialzada
Considero esta a primeira técnica, pois é realizada por UM especialista. É um
“cara” que se baseia na sua experiência profissional para estimar quanto tempo
vai levar e/ou quanto custará um pacote de trabalho.
_ João, quanto tempo leva para fazer uma parede?
_ 2 dias com revestimento e massa corrida.
2. Observe que o especialista tomará PREMISSAS para embasar seu cenário de
estimativa. No mundo real é imprescindível que ele documente isso, já para a
prova é irrelevante.
__
Os custos são influenciados por muitas variáveis como taxa de mão de obra,
custos de materiais, inflação, fatores de riscos entre outras. A opinião de uma
pessoa que já passou por um projeto parecido fornece informações que
auxiliam na estimativa do projeto. Pode também ser usada para determinar
quais métodos devem ser combinados e como reconciliar as diferenças entre
eles.
_
https://projetoseti.com.br/opiniao-especializada-entradas-ferramentas-e-
tecnicas-e-sadias-no-guia-pmbok/
Opinião fornecida com base em especialização em uma área de aplicação,
área de conhecimento, disciplina, setor, conforme adequado para a atividade
que está sendo realizada. Essa especialização pode ser oferecida por qualquer
grupo ou pessoa com formação, conhecimento, habilidade, experiência ou
treinamento especializado e está disponível a partir de diversas fontes,
inclusive: outras unidades dentro da organização executora, consultores, partes
interessadas, inclusive clientes, associações profissionais e técnicas, e setores
__
Estimativa de três pontos
A estimativa três pontos é utilizada quando se diversos valores de estimativas ,
tendo uma medida ponderada de três pontos.
Ao invés de se ter uma única estimativa de duração ou custo, são gerados três
valores de estimativas para cada atividade: Mais provável, Otimista e
Pessimista.
A média ponderada é obtida através do uso da formula PERT:
Média PERT : (O + 4MP + P) / 6
___________-
É uma técnica probabilística de duração das atividades baseadas em
ponderação de três pontos. Conhecida também como PERT (Técnica de
revisão e avaliação de programa). Para chegar em uma estimativa mais
aproximada são usadas três estimativas: Mais provável (cm): é o esforço total
mais realista para a realização das tarefas e quaisquer outros gastos previstos.
Otimista (co): é o esforço baseado no melhor cenário para a atividade;
Pessimista (cp): é o esforço baseado no pior cenário para a atividade. A
3. estimativa PERT utiliza as três estimativas acima e aplica a uma média
ponderada que é representada na fórmula abaixo:
Ce = (co +4cm + cp) /6
Com custo baseado em uma equação, a estimativa pode fornecer um resultado
cm uma maior precisão.
A estimativa de 3 pontos considera 3 opiniões: Otimista, Pessimista e Mais Provável. Logo,
precisa de várias pessoas ou de uma pessoa considerando 3 cenários (o PMBOK não
define). Nesta técnica se utiliza a fórmula de PERT, que é:
PERT=( P+O+4MP ) / 6 —- Considere MP como “Mais provável”.
A partir desses valores é possível calcular o DESVIO PADRÃO de todo o caminho crítico
do projet,o e com isso determinar a probabilidade do projeto terminar numa determinada
data.
Para mais detalhes consulte o post: Usando o PERT para algo realmente útil
___-
Estimativa bottom-up
8. Where – (onde)
Com where é possivel restringir os dados (tuplas) que serão listados,
ou seja, efetuar uma condição para que o mesmo apareça na
listagem
Operadores lógicos
= igual a
> maior que
>= maior que ou igual a
< menor que
<= menor que ou igual a
Usamos WHERE para filtrar dados em um comando SQL. Essa cláusula deve ser
seguida por uma expressão lógica.
9. Order by
A cláusula Order By muda a ordem de apresentação do resultado da
pesquisa e possibilita colocar também em ordem ascendente ou
descendente.
__
para organizar os dados quando a pesquisa é retornada.
não traz na ordem alfabetia,na forma crescente ou decrescente.
__
Distinct (distinto)
elimina duplicidades, não mostrando portanto
dados duplicados como resultado de uma pesquisa.
Select distinct cli_cidade from clientes;
__
Count
Este comando conta as linhas de uma tabela
__
Link das provas anteriores da marinha quadro técnico
https://www.marinha.mil.br/sspm/?q=qt/qt_princ&qt-qt=2
3 – questão
SEMÁFARO
É UMA estrutura de dados que consiste em um número inteiro e em uma fila
que armazena descritores de tarefas.
A estrutura de dados é uma fila, funcionando em regime de FIFO.
Deadlock(É a situação em que um processo aguarda por um recurso que
nunca estará disponível) ocorre quando um processo altera o valor do
semáforo e entre na região crítica, mas ocorre uma falha na saída da região.
MONITORES
https://pt.slideshare.net/WilliamsGomesdaSilva/apresentao-semforos-
monitores-troca-de-mensagens-deadlock?next_slideshow=1
10. É um conjunto de procedimentos, variáveis e estruturas de dados, todas
agrupadas em um módulo especial. Somente um processo pode estar ativo
dentro do monitor em um instante.
É uma coleção de rotinas, variáveis e estruturas de dados, tudo isso em um
tipo especial de módulo ou pacote (Tanembaum)
Tem um objetivo impor uma boa estruturação para programas concorrentes
São mecanismos de sincronização de alto nível
São considerados estruturados em função de serem implementados pelo
compilador.
É definido por um nome, variáveis locais, procedimentos e um código de
inicialização
Sua características mais importante é a implementação automática da exclusão
mútua.
Somente um processo pode estar ativo em um monitor ao mesmo tempo
INSTRUÇÃO TEST AND SET LOCK.
http://wiki.icmc.usp.br/images/3/32/Aula06_1.pdf
Esta solução é implementada com uso de hardware.
Muitos computadores possuem uma instrução especial, chamada TSL, que lê o
conteúdo de uma palavra de memória e armazena um valor diferente de zero
naquela posição.
Em sistemas multiprocessados: esta instrução trava o barramento de memória,
proibindo outras CPUs de acessar a memória até ela terminar.
MUTEXES
São mecanismos utilizados para implementar exclusão mútua em threads.
Um algoritmo de exclusão mútua serve para garantir que regiões críticas de
código não seja executadas simultaneamente, protegendo estruturas de dados
compartilhadas de modificações simultâneas.
BUSY WAITING
https://pt.wikipedia.org/wiki/Espera_ativa
(espera ativa)
É uma técnica em que um processo verifica uma condição repetidamente até
que ela seja verdadeiramente, como esperar o pressionamento da tecla de um
teclado ou a espera da liberação de recursos em exclusão mútua. Também
11. pode ser usada para gerar atrasos na execução do sistema por um período
determinado de tempo. Ela pode ser uma estratégia válida em certas
circunstâncias, mas no geral é considerada um anti-padrão e deve ser evitada,
já que o tempo de CPU gasto poderia ser usado noutra tarefa.
4 – linguagem UML (v) (F)
Os criadores da UML veem os diagramas da linguagem como algo secundário,
sendo o metamodelo, a essência da linguagem. (verdadeiro)
https://books.google.com.br/books?id=xxoXcuh0oS0C&pg=PA29&lpg=PA29&d
q=Criadores+da+UML+veem+o+diagrama&source=bl&ots=ut0N5DqPay&sig=5
Zz1eCSX4wLuWTdPOoxTCVjIdGQ&hl=pt-
BR&sa=X&ved=0ahUKEwj6uLGUwYbbAhVGf5AKHQMxC9AQ6AEINzAA#v=o
nepage&q=Criadores%20da%20UML%20veem%20o%20diagrama&f=false
Os compiladores de modelos são baseados em arquétipos reutilizáveis. Um
arquétipo descreve como pegar um modelo UML e transformá-lo para uma
plataforma de programação em particular. (Verdadeiro)
UML Essencial (livro)
Basicamente, a MDA é uma estratégia padrão para usar a UML como
linguagem de programação. Diferentemente da UML, o padrão MDA não é
controlado pela OMG (object Management Group) (falsa)
- Basicamente, a MDA é uma estratégia padrão para usar a UML como
linguagem de programação; o padrão é controlado pela OMG, assim como é a
UML.
https://books.google.com.br/books?id=xxoXcuh0oS0C&pg=PA27&dq=para+usa
r+a+UML+como+linguagem+de+programa%C3%A7%C3%A3o&hl=pt-
BR&sa=X&ved=0ahUKEwj17fjIw4bbAhXCjZAKHeZiBfwQ6AEIKDAA#v=onepag
e&q=para%20usar%20a%20UML%20como%20linguagem%20de%20program
a%C3%A7%C3%A3o&f=false
O PIM (Platform Independent Model) é um modelo da UML independente de
qualquer tecnologia específica. (verdadeiro)
Letra : C
______
5 – Analise a tabela a seguir – FUNDAMENTOS DE BANCO DE DADOS
Primeira forma normal
https://imasters.com.br/artigo/7020/banco-de-dados/modelagem-de-dados-final-
normalizacao/
12. 1 Forma Normal: Verificação de Tabelas
Aninhadas.
Para uma tabela estar na primeira forma normal ela não deve conter
tabelas aninhadas. Um jeito fácil de verificar esta norma é fazer uma
leitura dos campos das tabelas fazendo a pergunta: Este campo
depende de qual?.
Vamos exemplificar, com a tabela Venda. Este é o esquema relacional
da tabela:
Venda(Codvenda, Cliente, Endereco, Cep, Cidade, Estado, Telefone,
Produto, Quantidade, Valorunitario, Valorfinal).
O raciocínio é o seguinte: A tabela Venda, deve armazenar
informações da venda. Pois bem, verificando o campo Cliente,
sabemos que ele depende de CodVenda, afinal para cada Venda há
um cliente. Vendo o campo Endereço, podemos concluir que ele não
depende de Codvenda, e sim de Cliente, pois é uma informação
referente particularmente ao cliente. Não existe um endereço de venda,
existe sim um endereço do cliente para qual se fez a venda. Nisso
podemos ver uma tabela aninhada. Os campos entre colchetes, são
referentes ao cliente e não á venda.
Venda (Codvenda, [Cliente, Endereço, Cep, Cidade, Estado, Telefone,
Produto, Quantidade, Valorunitario, Valorfinal).
A solução é extrair estes campos para uma nova tabela, adicionar uma
chave-primária à nova tabela e relaciona-la com a tabela Venda
criando uma chave-estrangeira.
Ficaria desta forma:
Cliente (Codcliente, Nome, Endereço, Cep, Cidade, Estado, Telefone).
Venda (Codvenda, Codcliente, Produto, Quantidade, Valorunitario,
Valorfinal).
Agora aplicamos novamente á primeira forma normal as 2 tabelas
geradas. Uma situação comum em tabelas de cadastro é o caso
Cidade-Estado. Analisando friamente pela forma normal, o Estado na
tabela Cliente, depende de Cidade. No entanto Cidade, também
depende de Estado, pois no caso de a cidade ser Curitiba o estado
sempre deverá ser Paraná, porém se o Estado for Paraná, a cidade
também poderá ser Londrina. Isso é o que chamamos de Dependência
13. funcional: é onde aparentemente, uma informação depende da outra.
No caso Cidade-Estado a solução é simples:
Extraímos Cidade e Estado, de Cliente e geramos uma nova tabela.
Em seguida, o mesmo processo feito anteriormente: adicionar uma
chave-primária à nova tabela e relaciona-la criando uma chave-
estrangeira na antiga tabela.
Cidade (Codcidade, Nome, Estado).
Cliente (Codcliente, Codcidade, Nome, Endereço, Cep, Telefone).
Venda (Codvenda, Codcliente, Codcidade, Produto, Quantidade,
Valorunitario, Valorfinal).
Seguindo com o exemplo, a tabela Cliente encontra-se na 1 forma
normal, pois não há mais tabelas aninhadas. Verificando Venda,
podemos enxergar mais uma tabela aninhada. Os campos entre
colchetes são referente á mesma coisa: Produto de Venda
Venda (Codvenda, Codcliente, Codcidade, [Produto Quantidade,
[Valorunitario, Valorfinal).
Na maioria das situações, produtos têm um valor previamente
especificado. O Valorunitário depende de Produto. Já a Quantidade
(campo entre Produto e Valorunitario) não depende do produto e sim
da Venda.
Cidade (Codcidade, Nome, Estado).
Cliente (Codcliente, Codcidade, Nome, Endereço, Cep, Telefone).
Produto (Codproduto, Nome, Valorunitario).
Venda (Codvenda, Codcliente, Codcidade, Codproduto, Quantidade,
Valorfinal).
Passando a tabela Venda pela primeira forma normal, obtivemos 3
tabelas. Vamos á próxima forma
2-FORMA NORMAL
2 Forma Normal: Verificação de Dependências
Parciais
Para uma tabela estar na segunda formal, além de estar na primeira
forma ela não deve conter dependências parciais. Um jeito de verificar
esta norma é refazer a leitura dos campos fazendo a pergunta: Este
campo depende de toda a chave? Se não, temos uma dependência
parcial..
14. Vimos antes o caso Cidade-Estado que gerava uma dependência
funcional. É preciso entender este conceito para que você entenda o
que é Dependência Parcial.
Após a normalização da tabela Venda, acabamos com uma chave
composta de 4 campos:
Venda (Codvenda, Codcliente, Codcidade, Codproduto, Quantidade,
Valorfinal).
A questão agora é verificar se cada campo não-chave depende destas
4 chaves. O raciocínio seria assim:
1. O primeiro campo não-chave é Quantidade.
2. Quantidade depende de Codvenda, pois para cada venda há uma
quantidade específica de itens.
3. Quantidade depende de Codvenda e Codcliente, pois para um cliente
podem ser feitas várias vendas, com quantidades diferentes.
4. Quantidade não depende de Cidade. Quem depende de Cidade é
Cliente. Aqui está uma dependência parcial.
5. Quantidade depende de Codproduto, pois para cada produto da Venda
á uma quantidade certa.
Quantidade depende de 3 campos, dos 4 que compõe a chave de
Venda. Quem sobrou nessa história foi Codcidade. A tabela Cidade já
está ligada com Cliente, que já está ligado com Venda. A chave
Codcidade em Venda é redundante, portanto podemos eliminá-la.
Venda (Codvenda, Codcliente, Codproduto, Quantidade, Valorfinal).
O próximo campo não-chave é Valorfinal. Verificando Valorfinal, da
mesma forma que Quantidade, ele depende de toda a chave de Venda.
Portanto vamos á próxima norma.
3-FORMA NORMAL
3 Forma Normal: Verificação de Dependências
Transitivas
Para uma tabela estar na segunda formal, além de estar na segunda
forma ela não deve conter dependências transitivas. Um jeito de
15. verificar esta norma é refazer a leitura dos campos fazendo a pergunta:
Este campo depende de outro que não seja a chave? Se Sim, temos
uma dependência transitiva..
No exemplo de Venda, temos um caso de dependência transitiva:
Na tabela Venda, temos Valorfinal. Este campo é o resultado do valor
unitário do produto multiplicado pela quantidade, isto é, para um valor
final existir ele DEPENDE de valor unitário e quantidade. O
Valorunitário está na tabela Produto, relacionada à Venda e
Quantidade está na própria Venda. Valorfinal depende destes 2
campos e eles não são campos-chave, o que nos leva a pensar: Se
temos valor unitário e quantidade, porque teremos valor final? O valor
final nada mais é que o resultado de um cálculo de dados que já está
estão no banco, o que o torna um campo redundante.
Quando for necessário ao sistema obter o valor final, basta selecionar o
valor unitário e multiplicar pela quantidade. Não há porque guardar o
valor final em outro campo. Aqui a solução é eliminar o campo
Valorfinal.
Cidade (Codcidade, Nome, Estado).
Cliente (Codcliente, Codcidade, Nome, Endereco, Cep, Telefone).
Produto (Codproduto, Nome, Valorunitario).
Venda (Codvenda, Codcliente, Codproduto, Quantidade).
Em tese, agora temos todas as tabelas normalizadas. Ainda restou o
caso do campo Estado na tabela Cidade, mas eu deixarei para uma
outra ocasião, pois o objetivo aqui é mostrar conceitualmente o
processo de normalização do banco de dados.
É muito comum, no processo de normalização enxergamos todas as
formas normais ao mesmo tempo. Enquanto separamos as tabelas
aninhadas, já conseguimos ver as dependências transitivas e logo mais
encontramos uma dependência parcial, tudo assim, ao mesmo tempo.
Isso é normal. Só tome cuidado, para não deixar nada passar batido.
16. 4- FORMA NORMAL
Uma tabela está na 4FN, se e somente se, estiver na 3FN e não existirem
dependências multivaloradas.
https://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%A3o_de_dados#Quarta_
Forma_Normal
Forma normal de boyce-Codd
Uma tabela está na BCNF se e somente se estiver na 3FN e todo atributo não chave
depender funcionalmente diretamente da chave primária, ou seja, não há
dependências entre atributos não chave. Porem nem toda tabela que está na 3FN é
uma tabela BCNF.
6- Processos melhorados continuamente, como o entendimento dos objetivos
de negócios e através de inovações, caracterizam benefícios do Capability
Maturity Model Integration for Services (CMMI-SVC) para qual nível de
maturidade?
Letra c) Otimizado
7 – Arvore binária
17. Arvore binária em pré-ordem
Letra d)
8 – Linguagem java
Estrutura de controle aplicável à linguagem JAVA
R. d
Int c = 1;
C = 0;
c- -
+ + c
- =
https://ideone.com/Fwn03g
9 – Polimorfismo e herança – paradigma de Orientação a Objetos.
18.
19.
20.
21.
22.
23.
24. Herança: Compartilhamento de atributos e
operações entre classes baseado num
relacionamento de hierarquia.
Polimorfismo: Uma mesma operação pode se
comportar de diferentes formas.
10 –
Gerência de Projetos
EAP –
Estratégia para lidar com riscos negativos ou ameaças aos objetivos do projeto.
11 - c
12 – Atualização perdida:
https://pt.slideshare.net/JulianoPadilha1/trnsaes-e-controle-de-concorrencia
13 .
https://www.passeidireto.com/arquivo/25058353/6---transacoes-e-controle-de-
concorrencia
14: https://pt.slideshare.net/DanielPaulodeAssis/transmisso-serial-e-paralela
Transmissão paralela os bits são transmitidos simultaneamente do
Transmissor para o receptor. Taxa de transferência de dados
25. (“throughput”) é alta.
Aplicações: A utilização da comunicação em paralelo se limita a
Aplicações que demandem altas taxas de transferência
CD-ROM, DVD ou mesmo impressoras
Transmissão Serial:
Os bits são transmitidos um a um em sequência, existe um único
Caminho entre transmissor e receptor.
Taxa de transferência de dados (“throughput”) é baixa.
Indicada apenas para periféricos mais lentos
Teclado, mouse.
https://pt.slideshare.net/DanielPaulodeAssis/transmisso-serial-e-paralela
http://www.bosontreinamentos.com.br/hardware/metodos-de-transmissao-de-
dados-hardware/
letra a
15 – Ciclo da Governança de TI é composta por quais etapas:
http://www.ifc-camboriu.edu.br/~frozza/2015.2/BSI12/GovTI-Aula003-
MecanismosImplementacao.pdf
ALinhamento estratégico e compliance
Decisão, compromisso, priorização e alocação de recursos
Estrutura, processos, operação e gestão
GEstão do valor e do desempenho.
Letra d
16
https://books.google.com.br/books?id=5HleAwAAQBAJ&pg=PA524&lpg=PA52
4&dq=compliance+-
+Modelo+de+refer%C3%AAncia+de+governan%C3%A7a+SOA&source=bl&ot
s=nbJDWVgSy1&sig=VWV4TmKebWrxj0KERH2SqEq-as8&hl=pt-
BR&sa=X&ved=0ahUKEwjgmImroInbAhWBgJAKHcjsAH8Q6AEILzAA#v=onep
age&q=compliance%20-
%20Modelo%20de%20refer%C3%AAncia%20de%20governan%C3%A7a%20
SOA&f=false
letra b
17 – letra d
27. 25 ) RAID
Letra d
26 – estratégia de teste de software
http://www2.dc.ufscar.br/~rosangela/ES/Testes.pdf
Verificação questiona se a maneira que se desenvolve o SW está correta.
Geralmente está relacionada com o projeto de SW.
A validação questiona se o SW que estamos construindo está correto.
Relacionada com os produtos do mesmo.
Letra a
https://books.google.com.br/books?id=rtBvl_L-
1mcC&pg=PT290&dq=Pressman+-+teste&hl=pt-
BR&sa=X&ved=0ahUKEwjswbfdsIvbAhVJhJAKHSO2CtsQ6AEIJzAA#v=on
epage&q=revalida%C3%A7%C3%A3o&f=false
27 ITIL
http://www.santoangelo.uri.br/~pbetencourt/GTI/ITIL-V3.pdf
letra a
28 –
https://pt.slideshare.net/TallesNascimentoRodrigues/sistemas-operacionais-
escalonamento-de-processos
33 – comando de leitura em hexadecimal
http://www.di.ubi.pt/~pprata/sdtf/Tk_codigosErros_Manuela.pdf