Prévia do material em texto
• Pergunta 1 0,3 em 0,3 pontos O software atende à necessidade (ou resolve um problema) de cálculo, de automação, da manufatura, do negócio empresarial, da engenharia e da ciência. O software é a tecnologia mais importante no cenário mundial? Assinale a alternativa correspondente à afirmativa ou negativa do questionamento e sua correta justificativa. Resposta Selecionada: c. Sim. Abrange programas que refletem o negócio por meio do sistema de software, responsável por uma base de conhecimento pronta para ser utilizada. Respostas: a. Não. A especificação do sistema de software independe da tecnologia implementada. Inicialmente, é necessário ter uma infraestrutura de TI para depois especificar o sistema de software. b. Não. O mais importante é ter bom hardware, banco de dados e rede de computadores, que deem suporte para o software de qualquer tamanho ou complexidade. c. Sim. Abrange programas que refletem o negócio por meio do sistema de software, responsável por uma base de conhecimento pronta para ser utilizada. d. Sim. O sistema de software é responsável pela automação dos negócios empresariais que, independentemente da inteligência empresarial, é mais seguro para tomadas de decisão eficazes. e. Sim. São instruções intelectualmente organizadas que processam e transformam dados em informações, garantindo um bom resultado nos negócios. Comentário da resposta: Resposta: C Comentário: O software é uma tecnologia indispensável para os negócios, entretenimento, ciência e engenharia. O desenvolvimento de um sistema computacional, seja ele voltado para negócios, web, aplicação científica, automação industrial e outras aplicações, inicia- se pelo software. “Software de computadores continua a ser a tecnologia única mais importante no cenário mundial” (Pressman, 2011). • Pergunta 2 0,3 em 0,3 pontos A engenharia de software possui similaridades com a engenharia de sistemas, porém essas áreas diferem em alguns aspectos. Assinale a alternativa que apresenta diferenças básicas entre essas áreas. Resposta Selecionada: d. A engenharia de software é que automatiza o negócio e cuida da lógica de programação e a engenharia de sistemas organiza e integra elementos computacionais para dar apoio ao software. Respostas: a. A engenharia de software depende do hardware, do gerenciador do banco de dados e da rede de computadores. A engenharia de sistemas escolhe elementos de boa qualidade existentes no mercado. b. A engenharia de software e a engenharia de sistemas tratam das mesmas práticas de desenvolvimento do software. c. A engenharia de software é responsável apenas pela codificação e testes do software que, para atender a um negócio, é necessária a engenharia de sistemas para a implantação no ambiente de sistemas do cliente. d. A engenharia de software é que automatiza o negócio e cuida da lógica de programação e a engenharia de sistemas organiza e integra elementos computacionais para dar apoio ao software. e. O software pode ser implementado em qualquer sistema computacional, mas para funcionar corretamente, é necessário que a engenharia de sistemas escolha o hardware e a rede de computadores. Comentário da resposta: Resposta: D Comentário: O software é que atende à necessidade (ou resolve um problema) de cálculo, de automação, de manufatura, do negócio empresarial, da engenharia e da ciência. A engenharia de sistemas trata da integração dos principais elementos que compõem os sistemas computacionais, que são: software, hardware, pessoal, base de dados e redes de computadores. A integração desses elementos dará suporte ao software. • Pergunta 3 0 em 0,3 pontos As possíveis definições abaixo se referem à engenharia de requisitos do software. I. O estudo de viabilidade antecipa uma falha do projeto. Muitos itens são abordados para uma compreensão por parte do cliente, o cliente acompanha o desenvolvimento com base no estudo de viabilidade, o que permite, em testes, identificar possíveis falhas do software. II. A elicitação dos requisitos é a tarefa de comunicar-se com usuários e clientes para determinar os requisitos. Na elicitação, o analista deve ter habilidade e sutileza para extrair informações durante uma conversa usando para isso várias técnicas. III. A especificação e modelagem dos produtos que serão produzidos é o resultado final do trabalho da engenharia de requisitos. Na especificação, são descritas a função, o desempenho do sistema e restrições que acompanharam o desenvolvimento, e a modelagem é um modelo gráfico do que foi especificado. Analise cada definição e responda, na sequência equivalente, se cada um deles é V (Verdadeiro) ou F (Falso), assinalando a alternativa correspondente. Resposta Selecionada: e. V, V, V Respostas: a. F, F, F b. F, V, V c. V, F, V d. V, V, F e. V, V, V • Pergunta 4 0,3 em 0,3 pontos O ciclo de vida do desenvolvimento do software é um roteiro que ajuda a criar a tempo um resultado de alta qualidade. Os modelos de processos de software englobam um conjunto de atividades, métodos, práticas e transformações a serem empregadas no desenvolvimento e manutenção do software. Fornecem estabilidade, controle e organização para as atividades. Quais as principais fases que contemplam o ciclo de desenvolvimento de sistemas e servem de base para os principais modelos de processo de software? Resposta Selecionada: c. Planejamento, Análise, Projeto e Construção. Respostas: a. Análise, Projeto, Manutenção e Suporte Técnico. b. Estratégia da Informação, Análise, Projeto e Manutenção. c. Planejamento, Análise, Projeto e Construção. d. Projeto, Implementação, Manutenção e Suporte Técnico. e. Elicitação, Análise, Especificação e Modelagem. Comentário da resposta: Resposta: C Comentário: Quando se elabora um sistema, é importante percorrer uma série de passos previsíveis, o Ciclo de Vida do Desenvolvimento do Software (Software Development Life Cycle – SDLC) (Stair, 2006). Veja o modelo da estrutura organizacional: Software Development Life Cycle (SDLC) • Pergunta 5 0,3 em 0,3 pontos “Sempre existiram muitas versões de um sistema, mais do que releases.” Por quê? Resposta Selecionada: d. Porque as versões acompanham as codificações e testes feitos no software e somente após a validação dessas mudanças, que são várias, é liberado o release. Respostas: a. Não é verdade. Porque o release se refere a revisões do código que ocorrem toda vez que é necessário fazer mudanças no software, só depois é liberada a versão. b. Não é verdade. Porque o atributo versão só é utilizado quando o software é liberado para o cliente e o release são testes e modelos revisionais aplicados ao software. c. Não é verdade. Porque as versões se referem a aplicativos de baixa complexidade e o release se refere a sistemas de software mais complexos. d. Porque as versões acompanham as codificações e testes feitos no software e somente após a validação dessas mudanças, que são várias, é liberado o release. e. Porque as versões acompanham todas as demandas do cliente, que seriam implementações solicitadas pelo cliente e só após a conclusão das implementações é que é liberado o release. Comentário da resposta: Resposta: D Comentário: Sempre existiram muitas versões de um sistema, mais do que releases. Porque o release é a versão do software ou do sistema produzido que é autorizada para distribuir ao cliente. O lançamento do release é acompanhado de vários fatores técnicos e organizacionais, tais como: • Programa de instalação. • Manual técnico e do usuário. • Arquivos de configurações. • Bibliotecas, arquivosde dados e scripts de registros. • Pergunta 6 0,3 em 0,3 pontos “A engenharia de software é uma tecnologia em camadas, que deve se apoiar num compromisso organizacional com o foco na qualidade (Pressman, 2007).” A lista de nomes abaixo corresponde a vários recursos disponíveis no mercado da engenharia de software. Esses recursos correspondem às tecnologias das camadas ditadas por Pressman. Astah; CMMI; Incremental; ISO 12207; RUP; Scrum; Microsoft Project; Visio da Microsoft; Visual Studio; XP. Associe respectivamente os recursos citados às camadas da engenharia de software. Resposta Selecionada: c. Qualidade – ISO 12207; Processo – RUP; Métodos – Scrum; e Ferramenta – Visio da Microsoft. Respostas: a. Qualidade – Astah; Processo – Incremental; Métodos – Scrum; e Ferramenta – ISO 12207. b. Qualidade – CMMI; Processo – Astah; Métodos – XP; e Ferramenta – Microsoft Project. c. Qualidade – ISO 12207; Processo – RUP; Métodos – Scrum; e Ferramenta – Visio da Microsoft. d. Qualidade – ISO 12207; Processo – Visio da Microsoft; Métodos – Scrum; e Ferramenta – RUP. e. Qualidade – Scrum; Processo – ISO 12207; Métodos – Visual Studio; e Ferramenta – Astah. Comentário da resposta: Resposta: C Comentário: As camadas correspondem às tecnologias necessárias para o ciclo de desenvolvimento do software. O projeto e a construção do software/sistema seguem basicamente o princípio ditado por Pressman (2002 e 2011) que diz: “A engenharia de software é uma tecnologia em camadas e que deve estar fundamentada em um comprometimento organizacional com a qualidade”. • Pergunta 7 0,3 em 0,3 pontos Uma equipe de desenvolvedores deve escolher um sistema de baixa complexidade, contendo pelo menos umas 20 funcionalidades, para ser modelado em UML e codificado em uma linguagem orientada a objetos. A equipe estabeleceu a seguinte estratégia para identificação e seleção do sistema: I. Eleger representante(s) do cliente que vai(ão) estabelecer as regras de negócio na qual os usuários irão operar. II. Eleger representante(s) dos usuários. III. Eleger alguns desenvolvedores. IV. Ter um responsável pelo controle das reuniões e interações entre os participantes da equipe. V. Ter um especialista na elaboração de documentos e modelos dos assuntos tratados em reuniões. A estratégia utilizada pela equipe de desenvolvedores é uma adaptação de uma metodologia criada pela IBM com a finalidade de reunir uma equipe capacitada na compreensão e definição das funções do processo, denominada: Resposta Selecionada: d. Joint Application Development - JAD (Desenvolvimento de Aplicação Conjunta). Respostas: a. Brainstorming (tempestade de ideias ou coleta de um conjunto de ideias). b. Entrevistas supervisionadas. c. Facilitaded Application Specification Techniques – FAST (Técnica Facilitada de Especificação de Aplicações). d. Joint Application Development - JAD (Desenvolvimento de Aplicação Conjunta). e. Perfomance, Information, Economics, Control, Efficiency and Security – PIECES (Desempenho, Informação, Economia, Controle, Eficiência e Segurança). Comentário da resposta: Resposta: D Comentário: As sessões de JAD são usadas no setor de desenvolvimento de software. Essas sessões facilitadas são focadas em reunir os especialistas em assuntos de negócio e a equipe de desenvolvimento para coletar requisitos e melhorar o processo de desenvolvimento de software (PMBOK, 2017). • Pergunta 8 0 em 0,3 pontos Os workers (trabalhadores) são perfis a que correspondem competências para a realização de atividades específicas chamadas de worflows (disciplinas). Observe abaixo a arquitetura do RUP e responda a alternativa que melhor expressa à análise dessa arquitetura. Resposta Selecionada: e. Para cada disciplina é determinado um caso de utilização, porque no RUP a cada disciplina é feita toda uma revisão do processo. Respostas: a. As atividades das disciplinas são estáticas porque elas vão sempre ocorrer à medida que ocorrem as iterações. b. As iterações alinhadas com os testes controlam a codificação, que ocorrem na disciplina implantação. c. A implementação ocupa um grande esforço de serviço na fase de construção, praticamente quando está finalizando a modelagem do negócio. d. O desenvolvimento é escrito em linguagem de quarta geração, o que permite um controle mais eficiente. e. Para cada disciplina é determinado um caso de utilização, porque no RUP a cada disciplina é feita toda uma revisão do processo. • Pergunta 9 0,3 em 0,3 pontos Em resposta à crise do software nos anos 1960, o desenvolvimento do software passou a ter características fundamentadas na engenharia e o software passou a ser customizado, com base no trabalho de engenharia. Na atualidade, um dos métodos de análise que se destaca é a Análise de Ponto de Função (APF). Em relação à APF, avalie cada afirmativa abaixo se verdadeira ou falsa e assinale a alternativa correspondente à análise. I. A APF permite prever o número de erros que serão encontrados nos testes. II. A APF tem como garantir a disponibilidade de recursos para o desenvolvimento de software. III. Com a APF é possível estimar o esforço necessário para o desenvolvimento do software. IV. O principal objetivo da APF é o de medir as funcionalidades do software requisitadas pelo cliente/usuário. V. Para o cálculo dos Pontos de Função (do inglês: Function Points – FP), são considerados números de: entradas e saídas, consultas e arquivos. Resposta Selecionada: c. As afirmativas I, III, IV e V são verdadeiras e a II é falsa. Respostas: a. As afirmativas I, II, III, IV e V são verdadeiras. b. As afirmativas I, II e IV são verdadeiras, III e V são falsas. c. As afirmativas I, III, IV e V são verdadeiras e a II é falsa. d. As afirmativas II, III e V são verdadeiras, I, e IV são falsas. e. Somente a afirmativa IV é verdadeira, I, II, III e V são falsas. Comentário da resposta: Resposta: C Comentário: A Análise de Ponto de Função (APF) é uma técnica de medição utilizada para estimar o tamanho funcional do software. Ela permite avaliar a complexidade e o esforço necessário para desenvolver, manter e testar um sistema de informação, logo, as afirmativas I, III, IV e V são verdadeiras e a II é falsa porque quem garante a disponibilidade de recursos é o financeiro e a logística de materiais e serviços. A métrica Ponto de Função (Function Points - FP) pode ser usada efetivamente como um meio para medir a funcionalidade fornecida por um sistema. Por meio de dados históricos, a métrica FP pode ser empregada para: (1) Estimar o custo ou trabalho necessário para projetar, codificar e testar o software; (2) Prever o número de erros que serão encontrados durante o teste; e (3) Prever o número de componentes e/ou o número de linhas projetadas de código-fonte no sistema implementado (Pressman, 2011). • Pergunta 10 0 em 0,3 pontos Quando um software é construído especificamente para um cliente, é normal que o software passe por um Teste de Aceitação. Nessa situação, normalmente são utilizados principalmente os testes Alfa e Beta. Assinale a alternativa que, respectivamente, relacione os testes Alfa e Beta e a forma que são conduzidos os testes? Resposta Selecionada: a. O desenvolvedor e usuário testam o software no ambiente do usuário. Respostas: a. O desenvolvedor e usuário testam o software no ambiente do usuário. b. O desenvolvedor testa a estrutura dos componentes internos de um sistema e o usuário identifica falhas do comportamento externo ao sistema. c. O usuário testa a estrutura dos componentes internos de um sistemae o usuário identifica falhas do comportamento externo ao sistema. d. O usuário testa a integração dos componentes de um sistema começando pela interface do usuário e testa o sistema a partir do código, junto ao desenvolvimento. e. O usuário testa o software no ambiente do desenvolvedor e testa no ambiente do usuário acompanhado pelo desenvolvedor.