• Nenhum resultado encontrado

Se a vida não ficar mais fácil, trate de ficar mais forte.

No documento Professor Pedro Henrique Chagas Freitas (páginas 48-69)

JB Carvalho

Lembre-se:

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 49 Lista das Questões Comentadas na Aula

1. (Cespe – 2016 – TCE (PR) – Analista de Controle – Tecnologia da Informação) Assinale a opção correta, a respeito de engenharia de software.

a) A engenharia de software está relacionada aos diversos aspectos de produção de software e inclui as atividades de especificação, desenvolvimento, validação e evolução de software.

b) A engenharia de software refere-se ao estudo das teorias e fundamentos da computação, ficando o desenvolvimento de software a cargo da ciência da computação.

c) No modelo iterativo de desenvolvimento de software, as atividades são dispostas em estágios sequenciais.

d) Um processo de software é composto por quatro atividades fundamentais: iniciação, desenvolvimento, entrega e encerramento.

e) O conceito de software se restringe ao desenvolvimento do código em determinada linguagem e seu armazenamento em arquivos.

Comentários:

A alternativa (a) esta correta porque apresenta de forma abrangente os aspectos da engenharia de software, relacionando as atividades de especificação, desenvolvimento, validação e evolução de software.

A alternativa (b) inverte os conceitos de engenharia de software e ciência da computação, tendo em vista que a ciência da computação é quem busca teorias e fundamentos fomentados na computação.

Na alternativa (c) temos uma definição utilizada para designar o modelo cascata, que veremos ainda nesta aula.

A alternativa (d) apresenta a entrega como atividade fundamental. Todavia apesar do processo de software ter uma entrega, essa etapa é apresentada pelos autores como a validação, tendo em vista que o software entregue precisa ser validado conforme analise anterior de negócio e requisitos.

A alternativa (e) esta errada porque restringe o conceito de software ao desenvolvimento de código. Se por exemplo, este código não é compilado, validado ou até mesmo se não atende uma demanda de negócio não é por si só

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 50

um software, perceba que a simples escrita de um código não faz deste um software.

Gabarito: Letra A

2. (FCC - 2012 - TRT - 6ª Região (PE) - Técnico Judiciário - Tecnologia da Informação) Considere: é uma disciplina que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, depois que ele entrou em operação. Seu principal objetivo é fornecer uma estrutura metodológica para a construção de software com alta qualidade. A definição refere-se:

a) ao ciclo de vida do software.

b) à programação orientada a objetos. c) À análise de sistemas.

d) À engenharia de requisitos. e) à engenharia de software. Comentários:

Agora que você já sabe o que é a engenharia de software não tem porque errar uma questão dessas. Tudo certo então? Estamos tratando aqui da Engenharia de Software.

Gabarito: Letra E

3. (CESPE – 2016 - TRE – PI – Técnico Judiciário – Tecnologia da Informação - b) Com base nos princípios da engenharia de software ao término de cada atividade do processo de engenharia de software, não é obrigatória a geração de insumos.

Comentários:

Não é obrigatória a geração de insumos? Note que na engenharia de software sempre após o término de uma atividade ou de uma etapa serão

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 51

gerados insumos, afinal de contas a razão de qualquer etapa é fomentar a próxima etapa dentro do processo de desenvolvimento de software.

Gabarito: Errado

4. (CESPE - 2013 - TRT - 10ª REGIÃO (DF e TO) - Analista Judiciário - Tecnologia da Informação)A engenharia de software engloba processos, métodos e ferramentas. Um de seus focos é a produção de software de alta qualidade a custos adequados.

Comentários:

Engenharia de Software engloba processos? Sim. Métodos? Sim. Ferramentas? Sim. Lembra:

O foco esta na produção de software de qualidade? Sim. Gastando muito ou pouco? Pouco é melhor não é.

Gabarito: Correto

5. (FCC - 2011 - INFRAERO - Analista de Sistemas - Gestão de TI)Em relação à Engenharia de Software, é INCORRETO afirmar:

a) O design de software, ao descrever os diversos aspectos que estarão presentes no sistema quando construído, permite que se faça a avaliação prévia para garantir que ele alcance os objetivos propostos pelos interessados.

b) A representação de um design de software mais simples para representar apenas as suas características essenciais busca atender ao princípio da abstração.

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 52

c) Iniciar a entrevista para obtenção dos requisitos de software com perguntas mais genéricas e finalizar com perguntas mais específicas sobre o sistema é o que caracteriza a técnica de entrevista estruturada em funil. d) No contexto de levantamento de requisitos, funcionalidade é um dos aspectos que deve ser levado em conta na abordagem dos requisitos funcionais.

e) A representação é a linguagem do design, cujo único propósito é descrever um sistema de software que seja possível construir.

Comentários:

Vamos para a última alternativa ver se encontramos alguma coisa diferente do que apresentemos, mas antes queria evidenciar o seguinte: Na literatura de Engenharia de Software, o termo “design de software” é o mesmo utilizado para se referir a “projeto de software”, existem exceções, mas basicamente, lembre-se que ao utilizar design o avaliador normalmente esta de referindo a projeto.

A letra (e) vai dizer o seguinte: A representação é a linguagem do design (projeto),cujo único propósito é descrever um sistema de software que seja possível construir. Entenda que este é um dos propósitos e não o único

propósito, dizer que é o único propósito é limitar muito a atividade de projeto

de software, as demais alternativas estão corretas e alinhadas com o que aprendemos.

Gabarito: Letra E

6. (CESPE – 2016 - TRE – PI – Técnico Judiciário – Tecnologia da Informação - c) Os modelos de processo de desenvolvimento de software, que podem ser classificados em modelo cascata e modelo de engenharia de software orientada a reuso, sãoexcludentes entre si,

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 53

razão por que se deve escolher a melhor abordagem para um projeto de software.

Comentários:

O modelo cascata e o modelo orientado a reuso não são excludentes entre

si, podemos utilizar um processo de desenvolvimento de software utilizando

componentes existentes com foco no reuso e optar por utilizar esses componentes seguindo o cascata.

Gabarito: Errado

7. (CESPE – 2010 TRE/BA – Área: Tecnologia da Informação) A engenharia de software está relacionada com todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até sua manutenção, depois que este entrar em operação. A engenharia de sistemas diz respeito aos aspectos do desenvolvimento e da evolução de sistemas complexos, nos quais o software desempenha um papel importante.

Comentários:

Para responder essa questão é só pensarmos da seguinte forma:

Engenharia de Sistemas

Note que o texto da questão apresenta a engenharia de software como um item dentro da engenharia de sistemas, na engenharia de software estamos interessados em tudo sobre o ciclo de vida do software, talvez você esteja pensando: Mas professor a questão não diz: desde os estágios iniciais de

especificação do sistema até sua manutenção, depois que este entrar em operação.

Engenharia de Software

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 54

Às vezes precisamos ter sensibilidade para o que o avaliador quer dizer e não nos prender ao rigor dos conceitos, nessa questão o avaliador (CESPE) considerou correto o entendimento de citar a especificação do sistema dentro dos estágios iniciais, acredito que seria melhor dizer “especificação do software”, todavia entendeu a banca que a questão estava correta.

Atenção: Muito cuidado com o feeling (percepção) da banca, sempre procure

compreender qual entendimento o avaliador deseja passar.

Gabarito: Correto

8. (FGV - 2010 - BADESC - Analista de Sistemas - Desenvolvimento de Sistemas)De acordo com Pressman, a engenharia de software é baseada em camadas, com foco na qualidade. Essas camadas são:

a) métodos, processo e teste.

b) ferramentas, métodos e processo.

c) métodos, construção, teste e implantação.

d) planejamento, modelagem, construção, validação e implantação. e) comunicação, planejamento, modelagem, construção e implantação. Comentários:

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 55 9. (CESPE – 2016 - TRT 8 Região – Técnico Judiciário – Tecnologia

da Informação - b) A respeito dos processos e métodos em engenharia de software: Na engenharia de software, o processo define uma metodologia, ao passo que os métodos determinam os procedimentos técnicos.

Comentários:

Perfeito. Pergunto um processo define uma metodologia? Sim. Porque metodologia é uma forma ou maneira dos métodos ou processos atingirem um resultado. Métodos determinam os procedimentos técnicos? Sim. Porque através dos métodos eu consigo criar etapas para realização de tarefas dentro de uma metodologia.

Gabarito: Correto

10. (FCC – 2009 - AFR/SP - Analista de Sistemas)A engenharia de software está inserida no contexto:

a) das engenharias de sistemas, de processo e de produto. b) da engenharia de sistemas, apenas.

c) das engenharias de processo e de produto, apenas. d) das engenharias de sistemas e de processo, apenas. e) das engenharias de sistemas e de produto, apenas. Comentários:

A engenharia de software é uma consequência do que conhecemos por engenharia de sistemas, lembra. Mas nosso autor Pressman também diz que a engenharia de sistemas pode de dividir em duas formas: Engenharia de

Processos de Negócio e Engenharia de Produto.

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 56 11. (CESPE - 2012 - MEC - Gerente de Projetos) A engenharia de

software, disciplina relacionada aos aspectos da produção de software, abrange somente os processos técnicos do desenvolvimento de software.

Comentários:

Somente os aspectos técnicos do desenvolvimento de software? E onde ficam as atividades relacionadas a analise do negócio ou ao gerenciamento de projetos.

Gabarito: Errado

12. (CESPE – 2013 – ANTT – Analista: Especialista em Tecnologia da Informação) Produtos de software podem ser construídos utilizando- se diferentes modelos de processos, pois alguns modelos são mais adequados que outros para determinados tipos de aplicação.

Comentários:

Com certeza! Como eu disse, não existe hoje um melhor modelo de processo, o que existe são modelos de processos melhores para determinados projetos de desenvolvimento de software.

Gabarito: Correto

13. (CESPE – 2013 – CNJ – Analista em Tecnologia da Informação) Para a utilização de metodologias modernas, com abordagem da engenharia de software, recomenda-se a elaboração dos manuais do sistema ao final do projeto, quando todos os seus detalhes já estão definidos.

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 57

Comentários:

Não existe essa recomendação. Até porque o avaliador tratou aqui de manuais do sistema ao final do projeto. Ao longo do projeto de software poderão ser criados manuais e outros tipos de documentação, mas se olharmos para uma boa prática é melhor que esses manuais sejam elaborados ao longo do projeto. A questão também erra ao vincular a utilização de metodologias modernas com a elaboração de manuais, o que não é de todo uma verdade se tratarmos, por exemplo, de metodologias de desenvolvimento agile.

Gabarito: Errado

14. (CESPE – 2013 – TRT 10 – Analista de Tecnologia) As atividades fundamentais relacionadas ao processo de construção de um software incluem a especificação, o desenvolvimento, a validação e a evolução do software.

Comentários:

Perfeito! Lembra do que eu falei sobre bom senso. As fases são:

Requisitos de Negócios Requisitos de Software Análise de Software Projeto de Software Construção de Software Teste de Software Manutenção de Software

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 58

Se não sair muito desse contexto lógico, as atividades estarão corretas.

Gabarito: Correto

15. (CESPE – 2013 – TRT 10 – Analista de Tecnologia) O ciclo de vida de um software, entre outras características, está relacionado aos estágios de concepção, projeto, criação e implementação.

Comentários:

Questão simples. Na concepção meu software vai ser elicitado conforme os requisitos de negócios, a fim de se elaborar um projeto, que em seguida é criado e implementado.

Gabarito: Correto

16. (FCC – 2012 – TST – Analista Judiciário – Tecnologia da Informação – E) A engenharia de software agrupa as melhores práticas para a concepção, projeto, operação e manutenção de artefatos que suportam a execução de programas de computador, tais como as técnicas de armazenamento e as estruturas em memória principal. Comentários:

Coloquei essa questão aqui, que é na verdade uma alternativa da prova da FCC para o TST, para te mostrar como às vezes a banca vai tentar te enrolar criando uma salada que parece estar correta. Quando a banca se esforça para te fazer acreditar em uma questão, muito provavelmente é porque esta questão esta errada. Te pergunto: O que tem de ligação suportar a execução de programas de computador, tais como técnicas de armazenamento com o que vimos aqui na nossa aula? Não tem ligação nenhuma, aqui é um exemplo de uma tentativa do

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 59

avaliador de jogar um monte de informação e se você estiver descuidado você marcar correto.

Gabarito: Errado

17. (CESPE – 2016 – FUNPRESP – Analista de Tecnologia da Informação) Acerca dos conceitos relativos a engenharia de software, julgue o próximo item. No gerenciamento do ciclo de vida de um software, o processo de desenvolvimento (processo básico) objetiva estabelecer os requisitos dos componentes e suas interfaces em um sistema.

Comentários:

Lembre-se que conforme o ciclo de vida apresentado na aula, antes do desenvolvimento temos uma etapa muito interessante chamada: concepção. Na concepção eu estabeleço meus requisitos e não no desenvolvimento, a questão erra então ao dizer que o processo de desenvolvimento objetiva estabelecer os requisitos dos componentes.

Gabarito: Errado

18. (CESPE – 2016 – TCE-PR– Analista de Controle -Tecnologia da Informação - C) As fases do ciclo de vida de software são: concepção, desenvolvimento, entrega e encerramento.

Comentários:

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 60

Agora pergunto, podemos enxergar a fase de operação como entrega? Não. Muitas das vezes quando um software entra em operação, ele não está com todas as suas funcionalidades, logo ele não esta entregue.

Gabarito: Errado

19. (CESPE – 2013 – TRT 10 Região– Analista Judiciário – Tecnologia da Informação) O ciclo de vida de um software, entre outras características, está relacionado aos estágios de concepção, projeto, criação e implementação.

Comentários:

O ciclo de vida de um software tem concepção? Sim. Tem um projeto? Sim. Tem criação? Sim. Tem implementação? Sim. Note que as fases norteiam o ciclo de vida, mas o que o avaliador esta querendo saber é se os estágios de concepção, projeto, criação e implementação se relacionam com o ciclo de vida de software. Gabarito: Correto Concepção Desenvolvimento Operação Retirada

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 61 20. (CESPE – 2009 – TCE/TO – Analista de Sistemas - C) A escolha

do modelo do ciclo de vida não depende de características específicas do projeto, pois o melhor modelo é sempre o mais usado pela equipe do projeto.

Comentários:

A escolha do modelo não depende do projeto? Como assim? O melhor modelo é sempre o mais usado pela equipe de projeto? Não sei nem como deixar essa questão mais errada.

Gabarito: Errado

21. (CESPE – 2016 – FUNPRESP– Analista de Tecnologia da Informação) O modelo de execução de projetos em cascata é caracterizado por fases que se entrelaçam e se sobrepõem. A abordagem incremental, por sua vez, assemelha-se ao planejamento em ondas sucessivas.

Comentários:

O modelo cascata é sequencial, ou seja, as fases não se entrelaçam ou se sobrepõem. No cascata nós só avançamos para a próxima fase quando a anterior é concluída.

Gabarito: Errado

_________________________________________________________

22. (CESPE – 2014– MEC – Especialista em Processos de Negócios) No que se refere ao modelo em cascata, é necessária a presença dos membros da equipe, pelo menos, em três fases consecutivas do projeto.

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 62

Comentários:

A questão esta incorreta porque não existe essa regra.

Gabarito: Errado

23. (CESPE – 2011 – MEC – Analista de Sistemas) O modelo Waterfall tem a vantagem de facilitar a realização de mudanças sem a necessidade de retrabalho em fases já completadas.

Comentários:

Ao contrário, a mudança não é prevista no modelo cascata, e caso haja uma mudança o retrabalho necessariamente será realizado.

Gabarito: Errado

24. (CESPE – 2009 – INMETRO – Analista de Sistemas) Em um processo de desenvolvimento em cascata, os testes de software são realizados todos em um mesmo estágio, que acontece após a finalização das fases de implementação.

Comentários:

A maior parte dos testes acontece realmente na fase de testes, após a implementação, porém existe um autor, muito querido, chamado Sommerville que diz que ocorrerão dois momentos: Teste de unidade e Teste de

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 63

Gabarito: Errado

25. (CESPE – 2014 – ANATEL – Analista Administrativo – Tecnologia da Informação) No ciclo de vida clássico, ou modelo em cascata, as fases concluídas são congeladas para se evitar o retrabalho e maximizarem-se os custos de produção e a aprovação de documentos

Comentários:

As fases concluídas são congeladas para se evitar o retrabalho e maximizarem- se os custos de produção? Essa questão chega a ser engraçada, qual modelo seria criado para maximizar custos de produção.

Sommerville

Definição de Requisitos Projeto de Sistema e Software Implementação e Teste de Unidade Integração e Teste de Sistema Operação e Manutenção

Pressman

Comunicação Planejamento Modelagem Construção Implantação

Yourdon

Requisitos de Sistema Requisitos de Software Análise Projeto Codificação Teste Operação

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 64

Gabarito: Errado

26. (CESPE – 2016 - TCE (PR) – Analista de Controle de Tecnologia da Informação - C) No que diz respeito à engenharia de software:O modelo de desenvolvimento em cascata é utilizado em caso de divergência nos requisitos de um software, para permitir a evolução gradual do entendimento dos requisitos durante a implementação do software.

Comentários:

É exatamente isso que não é o modelo cascata. O cascata trabalha o processo de desenvolvimento de software como etapas rígidas, logo o modelo cascata cria uma barreira a divergência nos requisitos, tendo em vista que a premissa do cascata é que os requisitos estão bem definidos e não vão mudar ao longo do desenvolvimento do software.

Gabarito: Errado

27. (CESPE – 2009 – INMETRO – Analista de Sistemas) No desenvolvimento de software, o modelo em cascata é estruturado de tal maneira que as fases que compõem o desenvolvimento são interligadas. Nessa situação, o final de uma fase implica o inicio de outra.

Comentários:

Perfeito! Foi o que aprendemos aqui, as fases no modelo cascata são interligadas e o final de uma fase implica o inicio da outra fase.

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 65 28. (CESPE – 2010 – BASA – Analista de Sistemas) No modelo em

cascata, o projeto segue uma série de passos ordenados. Ao final de cada projeto, a equipe de projeto finaliza uma revisão. O desenvolvimento continua e, ao final, o cliente avalia a solução proposta.

Comentários:

No modelo cascata, o projeto realmente segue uma série de passos ordenados (fases) e ao final de cada fase e não de cada projeto a equipe de projeto finaliza uma revisão.

Gabarito: Errado

29. (CESPE – 2015 – TCE – RN – Assessor Técnico em Informática) As fases do modelo de ciclo de vida em cascata são demonstração, análise de requisitos, pré-projeto, desenvolvimento, projeto básico, homologação, implantação e manutenção, respectivamente.

Comentários:

Essas fases se encontram em algum dos autores que apresentamos aqui? Não. Logo questão errada.

Gabarito: Errado

30. (CESPE – TRE/AL – Analista de Sistemas) O modelo cascata ou ciclo de vida clássico necessita de uma abordagem sistemática, que envolve, em primeiro lugar, o projeto e, em seguida, a análise, a codificação, os testes e a manutenção.

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 66

Lembra do Yourdon:

A ordem correta seria Projeto e depois Análise. Questão difícil se você não

lembrar a diferença entre análise e projeto, vamos relembrar.

Note que se análise é a verificação do problema, o projeto não pode vir antes da análise.

Sommerville

Definição de Requisitos Projeto de Sistema e Software Implementação e Teste de Unidade Integração e Teste de Sistema Operação e Manutenção

Pressman

Comunicação Planejamento Modelagem Construção Implantação

Yourdon

Requisitos de Sistema Requisitos de Software Análise Projeto Codificação Teste Operação

Requisitos de Negócios: Como o negócio funciona?

Requisitos de Software: Requisitos para o Software atender o negócio.

Análise de Software:Desenho do problema que o software visa

solucionar.

Projeto de Software:Desenho da solução que o software vai

implementar.

Construção do Software: Codificação do software.

Teste de Software: Garantia da qualidade do software

www.pontodosconcursos.com.br| Prof. Pedro Henrique Chagas Freitas 67

Gabarito: Errado

31. (VUNESP – 2012 – SPTrans – Analista de Sistemas)Uma das abordagens do processo de desenvolvimento da engenharia de software prevê a divisão em etapas, em que o fim de uma é a entrada para a próxima. Esse processo é conhecido como modelo:

a) Transformação b) Incremental c) Evolutivo d) Espiral e) Cascata Comentários:

Fácil não é. Estamos tratando aqui do modelo Cascata.

Gabarito: Letra E

32. (CESPE – STJ – Analista de Sistemas) O modelo de desenvolvimento sequencial linear, também chamado modelo clássico ou modelo em cascata, caracteriza-se por não acomodar adequadamente as incertezas que existem no inicio de um projeto de software, em especial as geradas pela dificuldade do cliente de explicitar todos os requerimentos que o programa deve contemplar.

Comentários:

Lembre sempre que o cascata acumula riscos e que requisitos que

No documento Professor Pedro Henrique Chagas Freitas (páginas 48-69)

Documentos relacionados