Buscar

SEGURANÇA DE APLICAÇÕES aula 3 exercicio

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Segurança de aplicações
Aula 3: As Funções do Processo de Gestão
1- Uma das medidas de complexidade de um programa é a Complexidade Ciclomática. Considere o seguinte trecho de programa em pseudo-código:
 
 
x<- 10;
Se(x > 100)Então
Escreva("Maior que 100")
Senão
Escreva("Menor que 100");
Se(x divisível 10)Então
Escreva("x é divisível por 10")
Senão
Escreva("x não é divisível por 10")
	
 Selecione a opção correta sobre o valor da sua Complexidade Ciclomática:
a) 2
b) 3
c) 4
d) 5
e) 6
Gabarito
Infelizmente, você errou!
letra c. O primeiro comando “x <- 10” é realizado de qualquer modo. Em seguida, o programa tem dois caminhos possíveis a partir do comando “Se(x > 100)Então”. Mais adiante, o programa tem mais dois possíveis caminhos a partir do comando “Se(x divisível 10)Então”. Portanto, o total de caminhos possíveis é a contagem de todos os caminhos no fluxo de execução.
2. Existem algumas técnicas para calcular a complexidade de um programa. Cada uma leva em consideração alguns itens que dão a dimensão do sistema. Quanto à relação entre itens distintos no código e número de linhas, qual a métrica de complexidade mais adequada para ser selecionada:
a) Complexidade ciclomática.
b) Métricas de Halstead.
c) Índice de manutenção.
d) Métricas de projeto orientadas a objetos.
e) Complexidade logarítmica.
Gabarito
Parabéns! Você acertou!
Letra b. A ideia dessa métrica é que mais elementos distintos no programa aumentam a chance de existirem relações difíceis de serem detectadas,tornando, portanto, o código mais complexo.
3. Medir complexidade do código é uma atividade importante, pois dá visibilidade sobre possíveis problemas, aumentando a chance de tratá-los adequadamente. Selecione a opção que não pode ser caracterizada como um benefício do processo de medição da complexidade:
a) Código com qualidade.
b) Minimização dos custos de manutenção.
c) Aumento da produtividade dos desenvolvedores.
d) Aumento da robustez do software.
e) Redução do tempo de entrega do projeto.
Gabarito
Infelizmente, você errou!
letra e. A atividade de medir a complexidade do código deve ser feita continuamente e, portanto, precisa fazer parte do planejamento.Sua intenção não é reduzir o tempo de entrega do projeto, mas, sim, aumentar as chances de que o mesmo seja entregue no prazo planejado.
4. O desenvolvimento de um software envolve diversas etapas e, ao longo das execuções de cada uma, muitas situações não previstas no início do projeto precisam ser gerenciadas para cumprir os prazos e atender às demandas pré-estabelecidas. Selecione abaixo a opção que se encaixa como uma dívida técnica:
a) Um módulo de consulta não retorna o resultado esperado.
b) Um módulo que gera relatórios está muito lento.
c) Devido a uma incompatibilidade de tecnologias, não foi possível entregar uma funcionalidade.
d) O projeto foi interrompido por limitações do orçamento.
e) Em um dado trecho do projeto foi inserida uma tecnologia que não fazia parte do planejamento do desenvolvimento.
Gabarito
Infelizmente, você errou!
Letra b. A dívida técnica faz parte de um processo consciente de desenvolvimento do software. No caso da lentidão do módulo que gera relatórios, uma vez que o problema tenha sido detectado, implementar uma solução comprometeria o tempo de entrega. Além disso, seu funcionamento não prejudicaria a funcionalidade, então a melhoria do código poderia ser feita depois da entrega, em outra etapa.
5. A escolha da linguagem de programação é fundamental para o desenvolvimento do software. Selecione a opção correta sobre esse processo:
a) Pode ocorrer em qualquer etapa do desenvolvimento, pois é esperado que as equipes sejam dinâmicas e se adaptem às condições impostas.
b) Deve ocorrer no início do projeto, para que as equipes possam se organizar sobre o processo de desenvolvimento.
c) Deve basear-se exclusivamente em critérios técnicos.
d) Deve basear-se exclusivamente em critérios comerciais.
e) Curva de aprendizado da equipe que vai utilizar a ferramenta.
Gabarito
Infelizmente, você errou!
Letra b. A decisão de escolher a linguagem de programação tem forte impacto em todas as etapas do projeto e no planejamento das equipes envolvidas. Portanto, é fundamental que ocorra logo no início do projeto, na fase de planejamento.
6. Existem algumas características desejáveis em uma linguagem de programação. Entre elas, a Ortogonalidade. Selecione a opção correta sobre ela:
a) Quanto mais ortogonal for a linguagem de programação, menos exceções às regras.
b) Na linguagem de programação Java, a soma de duas variáveis do tipo inteiro e duas variáveis do tipo byte devem ser tratadas de forma distinta.
c) c. Em algumas linguagens de programação, não são permitidos retornos de vetores para as funções.
d) Em algumas linguagens de programação, é possível escrever comandos iterativos de diversas formas.
e) É mais difícil cometer erros, pois são mais fáceis de serem detectados.
Gabarito
Infelizmente, você errou!
Letra a. A ortogonalidade evita que situações semelhantes sejam tratadas de formas distintas. Isso ajuda o desenvolvedor a se concentrar na solução do sistema e reduz o tempo necessário para aprender as regras sintáticas da linguagem de programação.
7. Muitos itens devem ser levados em consideração na escolha de uma linguagem de programação. Selecione a opção que não corresponde a um desses itens:
a) Suporte do fornecedor.
b) Tipo de contrato de licença.
c) Modernidade da linguagem.
d) Treinamentos disponíveis.
e) Experiência do time de desenvolvimento.
Gabarito
Parabéns! Você acertou!
Letra c. A escolha da linguagem de programação deve levar em consideração requisitos técnicos, comerciais e disposição de recursos que viabilizem a sua aplicação. A “modernidade da linguagem” por si só não satisfaz a nenhum desses critérios.
8. Muitas linguagens de programação são usadas mais adequadamente para determinadas aplicações. Selecione a opção incorreta que relaciona categoria e linguagem de programação:
a) Aplicações Web: JavaScript, PHP, TypeScript.
b) Aplicações móveis: Java, Object-C.
c) Análise e aprendizado de máquina: Java, C++.
d) Matemática e computação científica: Matlab, Julia, R, C++.
e) Big Data: Python, R, Scala, Clojure.
Infelizmente, você errou!
Letra c. As linguagens Java e C++ são de propósito geral e, apesar de poderem ser usadas para análise e aprendizado de máquina, não são adequadas para esta finalidade. As linguagens mais usadas para esse propósito são Python e R.

Continue navegando