Simulado

Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

Um modelo de processo de software é uma representação simplificada de um processo de software. Cada modelo representa uma perspectiva particular de um processo e, portanto, fornece informações parciais sobre ele. Por exemplo, um modelo de atividade do processo pode mostrar as atividades e sua sequência, mas não mostrar os papéis das pessoas envolvidas. Esses modelos genéricos não são descrições definitivas dos processos de software. Pelo contrário, são abstrações que podem ser usadas para explicar diferentes abordagens de desenvolvimento de software. É possível vê-los como frameworks de processos, que podem ser ampliados e adaptados para criar processos de engenharia de software mais específicos.

SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.

Assim sendo, um estudante de tecnologia da informação, durante seus estudos para uma avaliação que faria na semana seguinte, ficou em dúvida sobre o modelo de desenvolvimento incremental. Após uma conversa com seu professor, o estudante conseguiu entender a metodologia desse modelo de processo.

Considerando esse contexto, avalie as asserções a seguir e a relação proposta entre elas.

I. O estudante identificou que o mencionado modelo intercala as atividades de especificação, desenvolvimento e validação, sendo o sistema desenvolvido como uma série de incrementos, de maneira que cada versão adiciona uma funcionalidade à anterior.

PORQUE

II. Esse modelo leva em consideração apenas as atividades essenciais de um determinado processo, a fim de que as mesmas sejam representadas por meio de fases distintas, como por exemplo, fases de projeto, especificação, implementação e teste.

A respeito dessas asserções, assinale a opção correta.

As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
As asserções I e II são proposições falsas.
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

O ciclo de vida do desenvolvimento de software pode ser entendido como o conjunto das seguintes etapas: elicitação de requisitos, planejamento, execução, teste, implantação e manutenção. Da mesma forma, o processo de software pode ser entendido como um conjunto de atividades e resultados associados que produz um produto de software. Todo processo de software gera alguns itens denominados artefatos.

Considerando essas informações, analise o caso a seguir.

Um desenvolvedor chamado Teodoro recebeu o pedido de cliente para desenvolver um produto, a saber, um sistema de gestão de aulas. A equipe do Teodoro utiliza o Kanban para organizar suas tarefas e manter o grupo sincronizado. Por ser um produto de baixa complexidade, a equipe de desenvolvedores criaram sprints de uma semana, e toda segunda-feira, um sprint review e um sprint planning são realizados para discutir o progresso do produto e organizar as tarefas da semana.

Tendo isso em vista, assinale a alternativa que apresenta a metodologia utilizada pela equipe do desenvolvedor Teodoro.

A equipe de Teodoro utiliza o desenvolvimento cascata, pois implementa um produto inicial e busca uma aceitação do cliente inserindo melhorias semanais, até o produto passar pelos requisitos de aceitação do software. Além disso, o cascata permite que outros métodos possam ser utilizados, como é o caso do Kanban.

A equipe de Teodoro utiliza o Scrum, pois tem como base a ideia de desenvolver uma única implementação de acordo com os requisitos documentados no Kanban, por meio de uma conversa com o cliente. Dessa forma, o protótipo gerado não pode apresentar erros, pois o código não poderá ser refatorado, devido à agilidade exigida pelo método ágil.

A equipe de Teodoro utiliza o desenvolvimento baseado em componentes, pois baseia-se no reuso de software. Como o produto é de baixa complexidade, espera-se que os desenvolvedores da equipe já conheçam o domínio do produto e tenham códigos similares. Além disso, outros métodos podem ser utilizados, como é o caso do Kanban.

A equipe de Teodoro utiliza a metodologia eXtreme Programming, pois o processo de desenvolvimento deve ser dinâmico e produzir pouca documentação; desta forma, a utilização do Kanban é suficiente para gerir o desenvolvimento do produto. Devido à pouca documentação, o código deve ser legível e não pode apresentar erros, evitando refatorações.

A equipe de Teodoro utiliza a metodologia Scrum, pois por meio dele é possível desenvolver um produto, simples ou complexo, de forma incremental, permitindo que a equipe produza partes funcionais do produto ao fim de cada sprint. Além disso, o Scrum permite que outros métodos possam ser utilizados, como é o caso do Kanban.
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

As técnicas e modelos tradicionais de desenvolvimento de software não conseguem mais acompanhar e suportar as demandas por modificações e evoluções atuais. Atualmente o crescimento da tecnologia é tão grande e tão rápido que não há mais como esperar ciclos inteiros de análise, obtenção de requisitos, reuniões infindáveis etc. Nesses modelos é comum o software em desenvolvimento ficar obsoleto antes mesmo de ser lançado. Visando resolver esse problema, criou-se a metodologia ágil. O desenvolvimento de software na metodologia ágil é feito de uma forma menos complexa, mais eficiente e totalmente focada em resultados e na colaboração intensa entre a equipe de projeto e as demais partes interessadas no software.

Considerando as afirmações apresentadas no texto acima, pode-se afirmar que o desenvolvimento de software na metodologia ágil objetiva

(I) entregar resultados com frequência.

(II) dar autonomia para a equipe.

(III) satisfazer o cliente entregando o produto final de uma só vez.

(IV) ter o envolvimento real do usuário final.

É correto o que se afirma em

I, II e III
I, II e IV
I, III e IV
II, III e IV
I, II, III e IV
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

A Engenharia de Software consiste em uma área da computação que exige que os profissionais tenham diversos conhecimentos necessários ao projeto e ao desenvolvimento de soluções de software. O desenvolvimento de um software, para ter resultados positivos, carece da utilização de metodologias de desenvolvimento adequadas à realidade de cada organização, seja pequena ou grande, visto que suas realidades em termos de pessoal podem ser bastante diversificadas. Nesse cenário, vários modelos de processos de software foram criados a fim de se melhorar a qualidade dos produtos.

A respeito da qualidade de software, julgue as afirmativas a seguir.

I. O uso de processos definidos, baseados no Rational Unified Process - RUP, garantem que os produtos de software desenvolvidos tenham a qualidade esperada pelos clientes.

II. Modelos de melhoria de processos, como o CMMi (Capability Maturity Model Integration ou Modelo Integrado de Maturidade em Capacitação) e o MPS.BR (Melhoria do Processo de Software Brasileiro), auxiliam as empresas a se organizarem internamente e auxiliam no desenvolvimento de produtos de melhor qualidade.

III. Processos de software, em geral, incluem atividades de testes, que têm como principal objetivo identificar falhas para que sejam corrigidas conforme o que é esperado pelo cliente.

IV. A escolha e uso de um determinado tipo de processo de software em nada interfere na qualidade do software a ser desenvolvido, visto que processo está voltado para a gestão interna da empresa, e não do produto.

V. O uso de processos de software padronizados, embora seja importante e eles tenham sido seguidos por diversas empresas no passado, nos dias de hoje, recomenda-se abandonar processos de software, visto que são burocráticos e oneram demais os projetos.

Está correto apenas o que se afirma em

I, II e V
I, III e IV
II e III
II, IV, V
III e IV
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

O software é normalmente visto como um programa que pode ser executado em um computador. Entretanto, essa visão é limitada. Precisamos ressaltar a importância de que o software é mais que um programa. Embora em sua essência software e programa sejam a mesma coisa, podemos adquirir uma nova visão para o seu desenvolvimento, se considerarmos as diferenças que podem ser identificadas. O software deve ser visto como um artefato virtual e como tal ele é um produto a ser aplicado com utilidade num certo domínio, sendo chamado de aplicação de software. Neste sentido, o software como produto é algo que possui um modelo conceitual próprio - a sua funcionalidade e a sua interatividade. A funcionalidade determina aquilo que ele faz e que o torna útil para resolver problemas dos usuários. A interatividade determina a maneira como o usuário deverá utilizar o software. O software é, portanto, um produto conceitual ou lógico.

LEITE, Jair C. Introdução à Engenharia de Software, 2000. Disponível em: <https://www.dimap.ufrn.br/~jair/ES/c1.html>. Acesso em: 26 maio 2019.

Considerando os conceitos dispostos por LEITE (2000) no texto acima e quanto às aplicações de software, avalie as afirmações a seguir.

I. Estão diretamente ligadas às funcionalidades que um software pode ter, as aplicações de software.

II. Podem existir aplicações de software do tipo inteligência artificial.

III. Refletem de forma direta em dispositivos de hardware, as aplicações de software.

IV. São programas escritos para dar apoio a outros programas, as aplicações de software de categoria básica.

V. É um exemplo de aplicações de software de computador pessoal, o pacote office da Microsoft.

É correto o que se afirma em

I e II
III e IV
III, IV e V
I, II, III e V
I, II, IV e V
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

A engenharia de software considera diversos aspectos para a garantia da qualidade. Os requisitos funcionais definem como um sistema deverá se comportar em relação as suas funcionalidades básicas, já os requisitos não funcionais avaliam outros aspectos do software.

São exemplos de requisitos não funcionais a serem considerados em um software:

segurança, desempenho, estresse e sistema
usabilidade, segurança, aceitação e confiabilidade
usabilidade, segurança, desempenho e confiabilidade
segurança, aceitação, testabilidade e confidencialidade
usabilidade, confidencialidade, aceitação e confiabilidade
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

Uma Engenharia de Requisitos (ER) bem estruturada garante qualidade, confiabilidade e integridade ao produto de software a ser desenvolvido. A Engenharia de Requisitos envolve um relacionamento com os futuros usuários do sistema, a descoberta do que o sistema deverá fazer e possíveis restrições do mesmo. Requisitos precisam ser documentados pois podem mudar durante a análise do processo. Novos usuários podem aparecer durante o processo de elicitação, sendo que fatores políticos e organizacionais também podem influenciar nos requisitos do mesmo. A obtenção de requisitos dentro do contexto da organização deve ser realizada de forma adequada, com métodos, técnicas e ferramentas que dêem suporte à etapa do processo de desenvolvimento. Para isso, dentro do contexto de Engenharia de Requisitos, a representação dos requisitos tem papel fundamental na condução das demais atividades desse processo.

Disponível em: <https://www.unimep.br/phpg/bibdig/pdfs/ ... ALFNMD.pdf>. Acesso em: 16 maio. 2019 (adaptado).

Os processos de planejamento de um software têm como objetivo entregar algo que atenda de forma eficaz àquilo que foi solicitado e era esperado pela empresa, cliente, corporação ou stakeholders. Até mesmo o desenvolvimento do software deve passar pelo crivo de análise que verificará o quão viável é desenvolvê-lo em um determinado cenário. Considerando o texto apresentado e o processo denominado Estudo de Viabilidade, é correto afirmar que ele pertence

à Engenharia de Software e visa responder a questões quanto à viabilidade técnica, estrutural, de equipe e know-how.
à Engenharia de Requisitos e visa responder a questões quanto à viabilidade operacional, técnica, de cronograma e econômica.
à Engenharia de Sistemas de Software e visa responder a questões quanto à viabilidade financeira, técnica, de escopo e operacional.
à Engenharia de Qualidade de Software e visa responder a questões quanto à viabilidade organizacional, comercial e de produtividade.
à Engenharia de Requisitos de Negócio e visa responder a questões quanto à viabilidade estrutural, organizacional, técnica e econômica.
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

Desde a revolução causada pelos primeiros computadores pessoais, as aplicações e softwares das mais diversas funcionalidades ficaram cada vez mais populares, e hoje contamos com uma grande variedade de programas de diferentes naturezas e objetivos. Nas décadas de 1990 e 2000, a maioria das licenças dos softwares era instalada fisicamente no computador do usuário, através de disquetes, CDs ou DVDs. Já na década de 2010 em diante, as aplicações em nuvem (cloud computing) tornaram-se muito populares. A principal diferença entre as aplicações em nuvem e os softwares físicos é que elas

são orientadas a partir da Inteligência Artificial e da Machine Learning, tornando assim mais intuitivas e dinâmicas as tarefas executadas dentro das aplicações.

representam economia nas despesas com energia, por estarem disponíveis 24h por dia, tendo em vista que podem ficar processando dados sem o computador do usuário estar ligado.

são consideravelmente mais lentas para serem acessadas, pelo fato de não estarem fisicamente armazenadas no dispositivo do usuário, mas sim em servidores da nuvem.

apresentam muito mais segurança para os dados processados do que os softwares tradicionais, especialmente por possuírem criptografia na troca de dados entre usuário e servidor.

utilizam o processamento e o armazenamento de computadores da empresa fornecedora do software, de tal forma que o dispositivo do usuário necessita de conexão com a internet para acessá-las.
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

A tarefa de desenvolvimento de software engloba uma série de fases e atividades que independentemente da metodologia escolhida, ocorrem para a realização do seu objetivo maior: entregar software funcionando corretamente dentro do orçamento e prazos previstos para o seu desenvolvimento. Para atingir os objetivos do projeto, todas as atividades de desenvolvimento têm que ser criteriosamente elaboradas e desenvolvidas, seja usando uma abordagem de desenvolvimento mais rica em documentação tais como o poderoso UP (Unified Process) ou as metodologias ágeis.

Disponível em: http://www.linhadecodigo.com.br/artigo/ ... tware.aspx. Acesso em: 16 fev. 2019 (adaptado).

Sobre as metodologias ágeis e as documentações que são utilizadas no desenvolvimento de software, avalie as afirmações a seguir.

I. O product backlog é um documento contendo todas as funcionalidades desejadas para um produto/software na metodologia XP(Extreme Programming).

II. Na metodologia SCRUM, tem-se o Scrum Team que é formado por um grupo de pessoas divididas de acordo com seu perfil profissional.

III. Na metodologia SCRUM, o projeto é dividido em ciclos conhecidos como Sprints, onde cada Sprint contém tarefas que devem ser executadas.

É correto o que se afirma em

I
I e II
III
II e III
I, II e III
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Avatar do usuário
bernardino
Site Admin
Mensagens: 795
Registrado em: 28 Ago 2020, 15:11

Re: Simulado

Mensagem por bernardino »

Considere que você trabalhe em uma empresa de desenvolvimento de software e que a empresa tenha decidido desenvolver um novo editor de texto para colocar no mercado. Esse editor deve ser um software que forneça recursos adicionais de apoio à autoria, embasado no estilo de escrita do usuário, o que o torna um software de funcionalidade mais complexa. Considere que a empresa deseje disponibilizar o produto no mercado em versões que agreguem esse suporte de forma gradativa, fazendo análise de risco para avaliar a viabilidade de desenvolvimento de uma nova versão. Tendo de escolher um modelo de processo para desenvolver esse editor, e conhecendo as características dos modelos existentes, entre os modelos abaixo, qual é o modelo apropriado para esse caso?

cascata
espiral
RAD (rapid application development)
prototipação
cleanroom
Algumas pessoas acham que foco significa dizer sim para a coisa em que você vai se focar.
Mas não é nada disso.
Significa dizer não às centenas de outras boas ideias que existem.
Você precisa selecionar cuidadosamente.”

Steve Jobs
Responder