Baixe o app para aproveitar ainda mais
Prévia do material em texto
QUESTÕES ABERTAS: A linguagem de Modelagem Unificada (UML) emergiu como notação padrão, de fato e de direito, para a modelagem orientada a objetos. Desta forma, conceitue apropriadamente a UML. A UML é uma linguagem visual que serve para representar um sistema de forma padrão. Ela constrói, documenta e especifica os requisitos do sistema. Baseado no seu entendimento em sala de aula, descreva a relação existente entre Processo X Projeto X Produto, de software. Processo é o conjunto de meios utilizados para moldar o software. Projeto é a concretização do todas as etapas do processo. Produto é o software, o que foi criado no projeto. Construa um texto com no máximo 15 linhas apresentando uma comparação entre os ciclos de vida em cascata e Iterativo e Incremental apresentando vantagens e desvantagens. O ciclo de vida em cascata é de uso tradicional e foi apresentado desde a definição da Engenharia de software, já o Iterativo incremental veio com a OO. O Ciclo de vida em cascata desenvolve o software como um todo o que dificulta a mudança de requisitos e demora gerar resultados ao usuário, o que gera uma certa ansiedade. Já o iterativo e incremental propõe o desenvolvimento em partes facilitando a mudança de requisitos e aumentando a análise de riscos e, a entrega é gradativa diminuindo a ansiedade do usuário, o que é uma vantagem, mas com relação a facilidade de gerenciar o ciclo de vida em cascata possui a vantagem. Desenvolver software com qualidade é? É desenvolver o software utilizando um processo, levando em conta a qualidade de todas as fases/etapas que existem neste processo. Na Engenharia de Sistemas, podemos classificar os requisitos em Requisitos do Usuário e Requisitos de Sistema. Os Requisitos de Sistema podem ser classificados em Funcionais e Não Funcionais. Descreva o que são Requisitos Não Funcionais, apresente dois dos seus tipos e proponha um exemplo de como seria cada um deste tipo de requisito. Requisitos Não Funcionais são restrições sobre os serviços ou funções oferecidos pelo sistema. Eles podem ser do tipo: Requisitos não funcionais de produto - O produto deve se comportar de acordo com as classificações medidas. Exemplo: Consulta ao banco de dados financeiro não deve ultrapassar 3s. Requisitos não funcionais organizacionais - Devem seguir regras definidas pela corporação ou empresa, seguir procedimentos da própria organização. Exemplo: Os documentos da matriz de responsabilidade devem seguir o padrão XPTO 123. Requisitos não funcionais externos - Devem seguir o processo de desenvolvimento atendendo bases da legislação nacional e internacional. Exemplo: As informações de cadastro dos usuários não devem ser acessadas por nenhum operador. Requisitos de domínio - São requisitos referentes ao produto ou aplicação que devem ser responsáveis por corrigir, restringir ou estabelecer novas funções para que o sistema possa operar de forma satisfatória. Exemplo: Deve haver uma interface padrão para a consulta do banco de dados secundário que terá como base o padrão RDF-763X. Nas atividades de levantamento de requisitos, precisamos identificar os serviços esperados do sistema e restrições sobre as quais ele deve operar. Desta forma, precisamos utilizar técnicas de elicitação. Comente três técnicas utilizadas. Diga, também, qual é a finalidade de cada uma dessas técnicas. Pesquisa na rotina da organização, com a participação dos colaboradores que utilizarão o software, sobre quais funcionalidades devem ser consideradas requisitos, em forma de entrevista. Brainstorming, ou seja, o levantamento de ideias entre os envolvidos no projeto, onde todos dão ideias abertamente. Questionário com perguntas sobre o sistema, para ver o que é relevante. No Modelo espiral cada volta da espiral representa uma fase do processo de software. Identifique as fases de processo deste modelo. Planejamento, análise dos riscos, engenharia e avaliação do cliente. O ciclo de vida de um sistema contempla diversas fases. Descreva as atividades principais que devem ser desenvolvidas na fase de projeto de um sistema. A fase de projeto é responsável pela situação computacional que daremos ao problema (sistema) definir nas fases de analise e projeto, ou seja, como o sistema será construído. Compreende atividades tais como, definição da arquitetura do sistema (ex: arquitetura baseada em componentes, organização em camadas, etc); definição do modelo físico do banco de dados; definição da interface gráfica do sistema (construção de telas, etc); especificação de planos de teste, entre outras atividades. O ciclo de vida tradicional de desenvolvimento de software compreende em geral as seguintes fases: especificação de requisitos, análise, projeto, implementação e testes. Especificação: entender o que o cliente quer, levantar os requisitos necessários ao sistema, estudo de viabilidade. Análise: analisar estes requisitos e trabalhar para que sejam solucionadas todas as necessidades do cliente. Projeto: definir, desenhar o sistema. Definir a arquitetura, BD, interface gráfica, cronograma, pessoas envolvidas, etc. Implementação: escrever o programa com a linguagem e demais especificações acertadas no projeto, ou seja, codificar o sistema. Testes: executar testes, ver se atende ao que foi especificado, achar e corrigir todas as falhas antes de fornecer o sistema ao cliente. O que é desenvolver Adhoc? Desenvolver sob demanda. Os métodos ágeis trazem uma nova abordagem para o desenvolvimento de software diferente das abordagens até então utilizadas. Explique quais as principais diferenças existentes entre a abordagem tradicional e a abordagem métodos ágeis. A principal seria a especificação do sistema. A especificação ágil é bem mais simples e rápida, com foco na codificação, enquanto que a tradicional possui um foco maior nas etapas, considerando-as a base. Para que possamos desenvolver um Software, precisamos inicialmente fazer um estudo de viabilidade, para saber se vale a pena desenvolver a ideia solicitada pelo usuário. Para isso precisamos desenvolver 4 (quatro) análises de viabilidade. Indique quais são essas análises e a visão de cada uma delas. Viabilidade técnica – atendimento dos requisitos técnicos, econômica – atendimento dos requisitos financeiros, operacional – atendimento dos requisitos necessários ao aceite do sistema; e cronograma – atendimento dos prazos estipulados. Porque o RUP é considerado uma metodologia iterativa de desenvolvimento? Porque no RUP, cada etapa do projeto é bem planejada antecipadamente, e se executa uma etapa para então ir para a próxima iteração. Quais são as etapas do modelo em cascata do ciclo de vida de desenvolvimento de software? Concepção, análise, projeto, implementação, testes, implantação e manutenção. Qual a diferença entre compilador e interpretador? Explique-os. COMPILADOR: Programa que faz uma leitura do código fonte, desenvolvido em uma linguagem de alto nível, e transcreve para um novo tipo de linguagem chamada de baixo nível. INTERPRETADOR: Programa que, além de fazer a leitura do código fonte e transformá-lo em código objeto, transforma-o em um código executável. Compilador é um programa ou um grupo de programas que escrito por uma linguagem (esta sendo necessária de compilação para sua execução) ao ser compilado gera outro código que é interpretado pelo computador O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado Teste de software é fundamental para a qualidade de um sistema. Explique com suas palavras qual o objetivo do teste de integração e do teste de aceitação, e quando eles devem ser aplicados: O primeiro serve para validar a integraçãodos componentes do sistema, ou seja, identificar basicamente erros e falhas. Se aplica durante a construção, implementação do sistema. Verifica a harmonia do sistema com a empresa. Já o segundo serve para identificar os erros e falhas nas funcionalidades operacionais do sistema, realizado quando se implanta o sistema, quando já está pronto. Verifica-se aqui também se o cliente aprovou ou se quer outras funcionalidades não atendidas pelo sistema. Um modelo de processo de software ou ciclo de vida pode ser visto como uma representação ou abstração dos objetos e atividades envolvidas no processo de software. Explique com suas palavras porque é necessário um processo de desenvolvimento de software nas organizações? Não se consegue pensar em organizações grandes hoje que não investem em TI (softwares/hardwares), visto que estes aumentam a produtividade, “agrupam” a organização (ERPs), diminuem a ocorrência de falhas e, consequentemente, custos. Softwares trazem mais confiança no processo. Além disso, empresas grandes precisam de servidores, centrais telefônicas, roteadores, etc. Vimos na Aula 1, que Software é uma sequência de instruções organizadas de maneira que, ao iniciá-lo, tem como objetivo executar, manipular ou modificar um dado, informação ou acontecimento. O Software, por sua vez, também é considerado um produto que foi desenvolvido pela Engenharia de Software que inclui, além do programa propriamente dito, manuais e especificações. Conforme apresentado na Aula 1, os softwares podem ser classificados como: Software de Sistemas ou Software Aplicativo. Explique cada um deles, apresentando suas principais características: Software de Sistemas - Também chamados de sistema operacional, é responsável por operar os demais periféricos que estejam conectados ao hardware. Software Aplicativo - Diversos outros programas que têm interface direta com o usuário, como editores de texto, planilhas eletrônicas, navegadores, dentre outros. QUESTÕES MÚLTIPLA ESCOLHA: "Técnica que faz o levantamento de ideias, onde cada uma das ideias sugeridas pode se combinada na proposta de uma nova. Atividade de livre imaginação que deve ser tratada sem críticas ou debates". O texto descreve a técnica de elicitação de requisitos denominada: brainstorm. ___________ é considerado um processo ágil de desenvolvimento de software. SCRUM “O teste de software normalmente é a última fase antes de entregarmos o sistema pronto ao cliente”. É correto afirmar que: Ela pode ser a última, mas não é a única tarefa que garante a qualidade do software. A associação entre duas classes que indica que uma das classes do relacionamento faz parte da obra, constitui uma: agregação. A atividade de análise no processo de desenvolvimento de softwares possui: I) Modelagem: Serve para verificar a qualidade dos requisitos que se tornarão precisos e detalhados o suficiente para as atividades do próximo passo no processo de desenvolvimento de software. II) Análise - Atividade que utiliza o conceito de orientação a objeto, utilizando a UML como notação. Tem como objetivo modelar a solução, e não o problema. III) UML - Unified Modeling Language, linguagem de modelagem unificada, utilizada em engenharia de software para visualizar o desenho do sistema e a intercomunicação entre objetos. IV) Análise Estrutural - É utilizada em conjunto com detalhamento de requisitos para visualizar e fornecer base para identificar soluções para os requisitos apresentados. É correto, apenas, o que se afirma em: I, III e IV. A complexidade do projeto de um sistema de controle está ligada ao número de especificações a serem cumpridas e ao número de parâmetros variáveis de controladores, e quando se utiliza simultaneamente controladores em cascata e compensadores de realimentação pode-se chegar a um ponto onde não é viável a utilização de métodos convencionais de projeto. Por estes motivos: É justificável, e até mesmo imprescindível, a utilização de métodos computacionais alternativos para o projeto de sistemas de controle, que sejam mais avançados, mas também fáceis de usar. A confiabilidade especificada para um software aplicativo é: um requisito não-funcional. A documentação do processo e do produto são muito importantes para o desenvolvimento e manutenção do sistema. Quando nos referenciamos a documentação para manutenção, ela é responsável por: descrever as partes do código fonte, requisitos necessários, arquitetura do sistema. A documentação do produto adota métodos e formatos padronizados para cada família de produtos correlatos. Fazem parte da documentação do produto: I. Manual do usuário - Documento com formato adequado ao perfil do publico que utilizará o sistema ou produto; II. Documentação de instalação - Descrição de como instalar o sistema, plataformas de operação, pré-requisitos necessários; III. Documentos técnicos - Descreve estratégias de como chegar ao resultado final, registram os erros, problemas e ideias que ocorrem durante o projeto, e as razões que foram utilizadas para as tomadas de decisões. Marque a alternativa correta: apenas as alternativas I e II estão corretas. A documentação do produto é fundamental para a melhora da qualidade da fase de manutenção. Um desses documentos é o Manual de Instalação, ou Documente de Instalação, que compreender: Um documento com a descrição de como instalar o sistema, plataformas de operação e pré-requisitos necessários; A empresa de consultoria ARTMAIS está desenvolvendo um projeto de controle do acervo da História e Patrimônio Cultural da Saúde no Brasil, embasada nas normas do PDS. Atualmente, o projeto encontra-se no último estágio do processo de validação das funcionalidades pelos usuários e clientes. É uma fase importante na qual os usuários interagem com todo o sistema. Com base no texto acima, identifique, nas opções abaixo, qual a atual fase de teste e do PDS em que o projeto se encontra no momento. Teste de aceite. A engenharia de software trabalha com diversos modelos de ciclo de vida de desenvolvimento de um software. Sobre estes modelos, é CORRETO afirmar que: no modelo de ciclo de vida em cascata puro, o cliente só percebe o produto no final do projeto. A estratégia de qualidade aplicada à arquitetura tradicional de software deve garantir para as etapas de Engenharia de Sistemas, Requisitos e Projetos, respectivamente, os testes de: sistema, validação e integração. A estrutura de atributos e operações encapsulada por procedimentos é denominado de: objeto. A etapa de codificação traduz uma representação do projeto detalhado do software para uma concepção de linguagem de programação. O processo de tradução continua quando um compilador aceita o _________ como entrada e produz um ________ como saída. A saída do compilador é adicionalmente convertida em ____________. Código fonte – código objeto – código de máquina. A fase de análise tem como objetivo fazer uma modelagem dos agentes, separando-os em objetos, classes e atributos. Como essa fase pode ser chamada? Estrutural ou comportamental. A fase de implementação ou codificação, tem como objetivo escrever o programa em uma linguagem de programação, seguindo normas e diretrizes da empresa à qual o desenvolvedor esteja ligado. O código de programação pode ser dividido em 3 tipos: I. Código Fonte - Conjunto de instruções geradas através de uma linguagem de programação, de maneira lógica e estruturada; II. Código Objeto - Resultado da compilação do código fonte. III. Código de Máquina - Sequência binária de ações diretamente direcionadas para o processador da máquina. Marque a alternativa correta: Todas as sentenças estão corretas. A fase de implementação, ou codificação, tem como objetivo escrever o programa em uma linguagem de programação, seguindo normas e diretrizes da empresa à qual o desenvolvedor esteja ligado.Associe a coluna da esquerda com a coluna da direita e em seguida marque a alternativa correta, considerando a sequência de cima para baixo: 1. Implementação ( ) Conjunto de instruções geradas através de uma linguagem de programação, de maneira lógica e estruturada; após o processo de compilação ou interpretação. 2. Desenho ( ) Etapa do processo de desenvolvimento de software já estudada anteriormente. 3. Código Fonte ( ) Processo que realiza a transformação do desenho em diversos tipos de componentes de código de programação. 4. Código Objeto ( ) Sequência binária de ações diretamente direcionadas para o processador da máquina. 5. Código Máquina ( ) Resultado da compilação do código fonte. 3, 2, 1, 5, 4. A Fase de Manutenção tem como objetivo corrigir os erros que não foram detectados nas fases anteriores, propor melhorias no sistema e prover suporte ao sistema que foi desenvolvido. Em relação à documentação do produto, o que descreve o manual de referência? Descreve facilidades do uso do sistema, informa os erros que podem ocorrer e como agir quando encontra-los. A fase de Teste tem como objetivo encontrar um erro que ainda não foi descoberto. Qual é o tipo de teste que é realizado após a integração de todos os módulos, antes da implantação? Teste de Validação. A gestão de requisitos é um conjunto de atividades que tem como principal objetivo ajudar a equipe de projeto a: identificar, controlar e rastrear requisitos e modificações em qualquer época, à medida que o projeto prossegue. A Implementação é a etapa do processo de desenvolvimento de software que realiza a transformação do desenho em diversos tipos de componentes de código de programação. Analise as afirmativas a seguir em relação aos componentes de código: I - Código fonte - conjunto de instruções gerados através de uma Linguagem de Programação de forma lógica e estruturada. II - Código Objeto - Sequência binária de instruções, que são executadas diretamente por um processador. III- Código de Máquina - Resultado da compilação do código fonte. Assinale a única opção correta: somente I está correta. A implementação é um processo que realiza a transformação do desenho em diversos tipos de componentes de código de programação. Complete a frase escrevendo o nome de cada uma das definições do encontradas na fase de implementação: I) _____________: Programa que, além de fazer a leitura do código fonte e transformá-lo em código objeto, transforma-o em um código executável. II) _____________: Tipo de linguagem de programação que utiliza a arquitetura do processador para executar as ações; III) _____________: Programa que faz uma leitura do código fonte, desenvolvido em uma linguagem de alto nível, e transcreve para um novo tipo de linguagem chamada de baixo nível; IV) _____________: Comumente chamada de linguagem de programação, este tipo de linguagem se aproxima mais da linguagem humana, ou seja, linguagem com um padrão de entendimento humano bem definido. I- Interpretador, II- Linguagem de baixo nível, III-Compilador, IV-Linguagem de alto nível. A linguagem de Modelagem Unificada (UML) emergiu como notação padrão, de fato e de direito, para a modelagem orientada a objetos. Desta forma, a sentença que conceitua apropriadamente a UML é: uma linguagem visual para especificar, construir e documentar os artefatos dos sistemas. A primeira fase do processo de desenvolvimento de software é o estudo de viabilidade. Um item importante nesta fase á a apuração do ROI (Retorno Sobre o Investimento) que é representado pela equação: ROI = (Lucro Líquido)/Investimento. A Partir desta definição, qual é a melhor consideração que pode ser feita para o ROI? Quanto maior o valor entre o lucro líquido e o investimento, melhor é o ROI. A primeira tarefa de um projeto de criação de certo produto de software é a ___________ deste produto. Extração dos requisitos. A reutilização de classe se refere a reutilizarmos o seguinte elemento em um processo de desenvolvimento de software: módulo de código binário. A reutilização de objetos se refere a reutilizarmos os seguintes elementos em um processo de desenvolvimento de software: bibliotecas e classes fundamentais. A reutilização traz os seguintes benefícios: a redução do desperdício de tempo e de dinheiro. A tabela I mostra uma estimativa para funcionalidades de um sistema a ser desenvolvido. A tabela II mostra os pesos para o cálculo de pontos de função não ajustados. Assumindo-se que a produtividade média de uma equipe é de 8 horas por ponto de função (não ajustados), o valor mais próximo do esforço total estimado, em horas, para o desenvolvimento das funcionalidades do sistema é: 1320. A UML (Unified Modeling Language) é uma linguagem de modelagem unificada utilizada na Engenharia de Software. Dentre as duas características estão: não orienta ao analista de sistema em quais diagramas usar e em que sequencia usá-los. Além da linguagem de programação, o software também pode ser classificado como: Software de sistema e Software aplicativo. Também chamados de sistema operacional, o software de sistema é responsável por operar os demais periféricos que estejam conectados ao hardware. Complete a frase escrevendo o nome de cada classe quanto ao gerenciamento de processos: __________: Executa somente um processo de cada vez. __________: Distribui para mais de um processador. __________: Os processos são compartilhados e enfileirados a espera do processador. __________: Vários usuários utilizam ao mesmo tempo. __________: Somente é permitida a utilização de um usuário de cada vez. Marque a alternativa correta. Monotarefa, Multiprocessamento, Multitarefa, Multiusuário, Monousuário. Analisando o estudo de caso abaixo, marque a alternativa que define os atores do sistema. "Um paciente se dirige a um posto de saúde e apresenta seu nome: "José da Silva" e descreve seu estado de saúde: "Febre de 40º". O atendente anota o nome e o estado de saúde em uma ficha e o encaminha para o médico, que o atende e registra na ficha os procedimentos adotados. No final do mês o médico contabiliza o total de pacientes por queixa apresentada." Atendente e médico. Analisando o estudo de caso abaixo, marque a alternativa que indica o conceito empregado às informações Nome e Estado de saúde. "Um paciente se dirige a um posto de saúde e apresenta seu nome: "José da Silva" e descreve seu estado de saúde: "Febre de 40º". O atendente anota o nome e o estado de saúde em uma ficha e o encaminha para o médico, que o atende e registra na ficha os procedimentos adotados. No final do mês o médico contabiliza o total de pacientes por queixa apresentada." Atributo. Analisando o estudo de caso abaixo, marque a alternativa que representa a indicação das classes que podem ser identificadas no contexto: "Um paciente se dirige a um posto de saúde e apresenta seu nome: "José da Silva" e descreve seu estado de saúde: "Febre de 40º". O atendente anota o nome e o estado de saúde em uma ficha e o encaminha para o médico, que o atende e registra na ficha os procedimentos adotados. No final do mês o médico contabiliza o total de pacientes por queixa apresentada”. Cliente e procedimentos. Analisando o modelo apresentado abaixo, marque a alternativa incorreta: (Gerente – calcular ranking de vendedores -> funcionário – vender produto < vendedor. vendedor não pode realizar nenhum caso de uso. Analisando os tipos de linguagens existentes, encontramos as linguagens que são interpretadas e as linguagens que são compiladas. Uma característica marcante das linguagens interpretadas é: as linguagens interpretadas executam o código até o ponto em que há um erro. Analise as assertivas abaixo: I – Dados é um fato isolado, sem significado em si. II – Informação é o resultado do processamento de dados. III – Dado e informação são conceitosdistintos e relacionados. IV – Pode-se ter informação de um e apenas um dado. Estão corretas I, II e III. Analise as seguintes sentenças: - É um processo de desenvolvimento de software que oferece uma forma sistemática para construir um tipo de sistema que usa a arquitetura baseada em componentes; - Pode ser facilmente extensível, promovendo a reutilização de software e um entendimento intuitivo; - Define tanto métodos para controlar e monitorar mudanças quanto áreas de trabalho seguras, garantindo a um programador que as mudanças efetuadas em outro sistema não afetarão o seu sistema. Trata-se do processo. RUP. Analise as sentenças abaixo e marque V para VERDADEIRO e F para FALSO: ( ) A Modelagem serve para verificar a qualidade dos requisitos, estudados na aula anterior, que se tornarão precisos e detalhados o suficiente para as atividades do próximo passo no processo de desenvolvimento de software. ( ) A Análise é a atividade (ou conjunto de atividades) que utiliza o conceito de orientação a objeto, utilizando a UML como notação. Tem como objetivo modelar o problema, não a solução. ( ) A UML Unified Modeling Language, linguagem de modelagem unificada, utilizada em engenharia de software para visualizar o desenho do sistema e a intercomunicação entre objetos. ( ) A Análise Estrutural tem como objetivo modelar aspectos estáticos de um problema, utilizando o modelo orientado a objeto. Também é utilizada em conjunto com detalhamento de requisitos para visualizar e fornecer base para identificar soluções para os requisitos apresentados. V-V-V-V. Analise as sentenças e classifique-as como V(verdadeira) ou F(falsa). Em seguida, assinale a alternativa correta. I. Sendo o software o principal elemento de um SI, um algoritmo inteligente compensa um hardware inadequado; II. O Engenheiro do software precisa ter uma visão macro dos elementos do SI, para saber a quem chamar no momento de um problema; III A tecnologia resolve qualquer problema de uma empresa desorganizada; IV. A tecnologia inadequada é um dos fatores que afeta a qualidade de um SI. Com base em sua análise assinale ÚNICA opção correta: as opções II e IV estão corretas. Analise as sentenças sobre o conceito de dado e informação e, em seguida, analise as sentenças abaixo: I. Informação é um fato isolado; II. Dado é algo que tem valor; III. Um sistema de informação recebe dados, os processa e gera informações; IV. Informação tem quer ser útil para quem a detém. Com base em sua análise, assinale a ÚNICA opção correta: as opções III e IV estão corretas. Analise as sentenças sobre software e, em seguida, assinale a alternativa correta: I. É a parte lógica do sistema de computação; II. Pode ser do tipo aplicativo ou básico; III. Seu processo de desenvolvimento é industrializado; IV. Pode ter a parte defeituosa substituída, tal qual o hardware. Assinale, então, a ÚNICA opção correta. As opções I e II estão corretas. Analise o processo de desenvolvimento de software, que tem como características: I. As fases do processo se sucedem, sem que se possa retroceder a fase anterior. II. Todos os requisitos devem ser validados no inicio do projeto. III, Processo voltado para pequenos projetos. Estamos nos referindo a que processo de desenvolvimento de software? Cascata. Análise de requisitos é uma importante fase da engenharia de software, na qual os desenvolvedores do sistema identificam as necessidades do cliente para posteriormente projetarem uma solução. Assinale a alternativa que apresenta as principais atividades da fase de análise de requisitos, dentro do processo de desenvolvimento de sistemas: levantamento de requisitos, análise de requisitos, registro dos requisitos. Ao levantar os requisitos de um sistema é necessário ter atenção com: As necessidades relatadas pelos usuários, as necessidades dos demais usuários envolvidos, as normas que se aplicam e afetam o software a se desenvolver. Após o levantamento de dados da fase de análise, a documentação de desenho deve exemplificar: a solução que será tomada para a resolução do problema. Após o sistema ter sido instalado no ambiente do usuário, ou seja, entrado em produção, começa a fase de Manutenção deste sistema. Esta fase depende muito da qualidade no processo de desenvolvimento e da documentação atualizada. As melhorias nas funções do sistema existente são efetuadas por dois motivos. Uma das soluções aplicadas para essa melhoria é conhecida por: Separação estática, que é utilizada para identificar todos os códigos de programa que são afetados por alguma variável. As informações do problema e metas a serem alcançadas devem ser levantadas na fase de: análise e requisitos. As modalidades de teste são classificadas quanto ao uso do código em Testes Estáticos ou Verificações e Testes Dinâmicos ou Validações. Analise as afirmativas abaixo e assinale a única resposta correta. I- Testes Estáticos são efetuados antes da implementação e Testes Dinâmicos nas fases iniciais, verificando a qualidade do software; II- Testes Estáticos são efetuados para verificar a qualidade no processo e Testes Dinâmicos são efetuados para verificar a qualidade do produto; II- Testes Estáticos são efetuados para verificar a qualidade no produto e Testes Dinâmicos são efetuados para verificar a qualidade do processo; IV- Testes Estáticos são efetuados nas fases iniciais do projeto e Testes Dinâmicos são efetuados durante ou após a implementação. Assinale a ÚNICA opção correta. Apenas II e IV estão corretas. Assinale "VERDADEIRO" ou "FALSO" nas opções que se relacionam com uma boa especificação de requisitos (Pádua, 2009 - Cap. 1): ( ) boas especificações de requisitos são indispensáveis; ( ) especificações de requisitos representam custos supérfluos, investimentos desnecessários, que se pagam com baixos juros; ( ) a participação dos usuários no levantamento de requisitos é essencial para que as suas necessidades pessoais sejam corretamente atendidas; ( ) uma boa especificação de requisitos custa tempo e dinheiro. ( ) a ausência de uma boa especificação de requisitos custa mais tempo e dinheiro. Marque a alternativa correta. V, F, F, V, V. Assinale a alternativa que corresponde ao modelo de desenvolvimento de software com as características a seguir: 1) primeiro modelo em engenharia de software a ser usado; 2) modelo linear; 3) Cada atividade tem de ser completada antes de iniciar a próxima: cascata. Assinale a alternativa que não corresponde a um dos testes de software, realizados em softwares comerciais. Teste de mudanças de requisitos. Assinale a alternativa que NÃO representa uma característica do Processo Unificado (UP) original, descrito no livro The Unified Software Development Process (1999). Ágil. Assinale a opção que apresenta a correta divisão de TODAS as fases do modelo de prototipação: obtenção de requisitos, projeto rápido, construção do protótipo, refinamento de requisitos, construção do produto. Assinale qual das alternativas abaixo NÃO define corretamente com a classificação de um software de acordo com a sua licença de publicação: Trial - Programa de computador que possui limitações de tempo e/ou funcionalidades. Ao final do tempo estabelecido, o programa pode requisitar o pagamento para uso do software completo ou pode continuar rodando sem todas as suas funcionalidades ou, ainda, interromper o seu uso. Baseado nos estudos de organizações como a Standish Group observou-se que a maioria dos projetos são cancelados ou concluídos com falhas. Qual dessas opções NÃO é um motivo? Falta de interesse dos stakeholders. Basicamente o que é um processo de software? Um processo de software define o que deve ser feito, como deve ser feito, por quem deve ser feito e quando deve ser feito. Cite três modelos de desenvolvimento de software: cascata, prototipação e iterativo-incremental. Classifique cada sentença abaixo como V(Verdadeira) ou F (Falsa). I. Escopo é a abrangência do sistema; II. Requisitos são interesses dos usuários; III. A falta de treinamento pode ser causa do fracasso do software; IV. Os componentes do hardware jamais podem ser reutilizados. Assinale a sequência correta de V ou F que representa a classificação das sentenças acima: I-V, II-V, III-V, IV-F. Com relação ao nível de abstração e agregação dos elementos dos sistemas, o nível que representa a aplicação das decisões tomadas no nível estratégico, onde a solução contemplará a reutilização, ou não, de componentes, buscando satisfazer os requisitos do produto é o: nível tático ou desenho lógico. Com relação ao nível de abstração e agregação dos elementos dos sistemas, o nível que representa o comportamento de cada componente, sendo desenvolvido em conjunto com a documentação voltada para os usuários ou com a documentação do código do programa é o: operacional ou desenho detalhado. Com relação ao nível de abstração e agregação dos elementos dos sistemas, o nível que representa o corpo da arquitetura do sistema a ser implementado, onde já se pode saber se o sistema atenderá aos requisitos e aos custos relacionados do projeto é o: nível estratégico ou desenho arquitetônico. Como forma de análise/levantamento de requisitos podemos utilizar várias técnicas. Cada item representa a descrição de uma técnica: => O analista se insere no dia a dia da empresa, de forma a entender o funcionamento na prática; => O analista verifica relatórios e outros impressos da empresa; => É excelente para projetos que necessitam discussão de várias áreas da empresa. Assinale a resposta que apresenta respectivamente as técnicas descritas. Visita em Locco – Análise de documentos – JAD. Como parte das atividades para análise de requisitos temos o estudo de viabilidade, que é dividido em quatro tipos, são elas: técnica, operacional, cronograma e econômica. Como são conhecidas as quatro atividades que compõem o processo de engenharia de requisitos: elicitação, análise e negociação, especificação e documentação, validação. Complete a frase escrevendo o nome dos principais tipos de Testes de Software (Gustafson, 2003 - Cap. 10): ________________: A especificação do software é usada para identificar subdomínios que deveriam ser testados. ________________: É baseado na estrutura do código. O critério mais simples é o de cobertura de todo o comando. ________________: É a ideia de particionar o domínio de entrada em subdomínios mutuamente exclusivos e requerendo um número igual de casos de teste de cada subdomínio. ________________: É o teste baseado no fluxo de dados através do programa. Os dados fluem de onde são definidos para onde são usados. ________________: É caracterizado pela seleção aleatória dos casos de teste. Teste funcional, Teste estrutural, Teste de subdomínio, Teste de fluxo de dados, Teste randômico. Conforme Roger Pressman o que é um processo de software? É a área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade. Considerando o seguinte mini mundo marque a alternativa correta que indica os elementos da análise comportamental: "A estratégia da Livraria ESTÁCIO não prevê a manutenção de livros em estoque. Todos os livros solicitados por seus clientes são, semanalmente, encomendados às editoras. As editoras e os livros comercializados são selecionados pela Direção da Livraria. Os clientes solicitam os livros pela internet a partir do código, após a análise do resumo. Os pedidos são analisados e encomendados às editoras no final de toda semana. Quando os livros são fornecidos, a livraria confere a nota de entrega da editora com a requisição, devolve as que contiverem erros e atende aos pedidos dos clientes, emitindo a faturas de cobrança. Se o fornecimento dos livros estiver correto, as faturas encaminhadas pelas editoras são registradas e pagas." I. Código do livro. II. Encomendar livros. III. Editoras. IV. Conferir requisição. V. Resumo. II e IV estão corretas. Considerando o seguinte mini mundo marque a alternativa que representa o elemento NÃO relacionado a análise comportamental: "A estratégia da Livraria ESTÁCIO não prevê a manutenção de livros em estoque. Todos os livros solicitados por seus clientes são, semanalmente, encomendados às editoras. As editoras e os livros comercializados são selecionados pela Direção da Livraria. Os clientes solicitam os livros pela internet a partir do código, após a análise do resumo. Os pedidos são analisados e encomendados às editoras no final de toda semana. Quando os livros são fornecidos, a livraria confere a nota de entrega da editora com a requisição, devolve as que contiverem erros e atende aos pedidos dos clientes, emitindo a faturas de cobrança. Se o fornecimento dos livros estiver correto, as faturas encaminhadas pelas editoras são registradas e pagas." Resumo. Considerando os dois paradigmas de desenvolvimento de software: Estruturado e Orientado a objeto, complete a frase escrevendo o nome de cada elemento de código utilizado em linguagem de programação: __________: Descreve as características dos objetos. __________: Tipo de instrução executada de forma sequencial. __________: Tipo de instruções que podem ser repetitivas até uma condição ser atingida. __________: Serviço que a classe presta. __________: Tipo de instruções que podem ser executadas baseadas em uma condição lógica. Marque a alternativa correta: Atributo – Sequência – Iteração – Método – Seleção. Considerando os dois paradigmas de desenvolvimento de software, estudados na aula 1: Estruturado e Orientado a objeto. Assinale qual das afirmativas abaixo está incompatível com estes paradigmas: I. O atributo descreve as características dos objetos. II. A iteração é um tipo de instrução onde os passos são repetidos até uma condição ser atingida. III. Método é o tipo de instrução que pode ser executada baseada em uma condição lógica. Apenas a afirmativa III está incompatível. Considerando-se que o teste de aceitação é executado pelos usuários antes do sistema ser liberado para a produção, escolha a melhor opção para completar a frase: O teste de aceitação será executado de forma muito mais simples e rápida quando... os usuários participarem de todo o processo de desenvolvimento do software e do processo de teste de software. Considere as seguintes assertivas sobre modelos teóricos de processo de desenvolvimento de software: I – O modelo em cascata especifica que a definição do comportamento externo do sistema deve preceder o projeto de sua arquitetura; II – O modelo incremental requer que na primeira fase seja feito primeiro o levantamento de todos os requisitos do sistema; III – O modelo de prototipação de requisitos consiste na criação de implementações parciais do sistema com o objetivo de conhecer os requisitos do sistema. Estão corretas somente: I e III. Considere os seguintes requisitos de um Sistema de Folha de Pagamento e classifique cada um como sendo F (Funcional) e NF (Não Funcional). I. O sistema deve emitir extrato online de cada funcionário; II. O banco de dados dever ser SQL Server, que a empresa já possui; III. O sistema deve rodar em ambiente web; IV. Após gerar a folha mensal deve ser emitido email a cada funconário, informando do salário líquido. Assina a única opção que classifica corretamente os requisitos é: I-F, II-NF, III-NF, IV-F. De acordo com a teoria são características do Processo Unificado o que consta apenas em: I. Dirigido por caso de uso. II. Orientado por quatro workflows. III. Centrado em arquitetura. IV. Distribuído em cinco fases. V. Iterativo e incremental. I, III e V. De acordo com o Processo Unificado, o fluxo de trabalho Análise, tem forte concentração na fase de: elaboração. Dentre as práticas do método ágil Extreme Programming (XP), está a prática de propriedade ou posse coletiva. É correto afirmar que, nessa prática: os pares de desenvolvedores trabalham em todas as áreas do sistema, de modo que não se desenvolvam ilhas de expertise. O código fonte não pertence a ninguém. Dentre as vantagens do modelo cascata podemos destacar: permite pontos de controle bem definidos, facilitando a gestão do projeto. Dentre os diferentes programas de controle financeiro disponíveis na Google Play tem um da Globo News, onde possui uma interface simples de utilizar, mas durante o seu uso sempre aparece um banner com propaganda da Caixa Econômica Federal. Analisando estas características podemos classificar este software como: Adware. Documento com formato adequado ao perfil do público que utilizará o sistema ou produto. Sua linguagem deve se clara e os termos e construções devem estar de acordo com o nível cultural e técnico do usuário final, mostrando como utilizar as funcionalidades do sistema. Trata-se da definição do: manual do usuário. Durante a fase inicial do ciclo de vida do desenvolvimento de sistemas, na etapa de investigação, a tarefa que determina a probabilidade de sucesso do sistema proposto e propicia uma avaliação superficial da área técnica, econômica e comportamental do projeto, sendo decisivamente importante para o processo do desenvolvimento de sistemas é chamada: estudo de viabilidade. Durante o processo de desenvolvimento de um software de controle de entrada e saída de funcionários de uma empresa, o desenvolvedor procura saber de seu cliente se deve contabilizar horas, minutos e segundos para o cálculo de atrasos dos funcionários. Este tipo de requisito está classificado como: funcional. É a visão que os usuários terão da solução ou do produto e a forma com que eles interagirão. Estamos nos referindo ao Desenho: externo. É a visão que representa os componentes do sistema, a relação entre os componentes, o funcionamento dos componentes e a interconexão com outros sistemas: visão interna. É o processo para compreender e definir quais serviços são necessários e identificar as restrições de operação e de desenvolvimento de sistema. Trata-se de um estágio particularmente critico do processo de software, pois os erros nesse estágio, conduzem inevitavelmente a problemas posteriores no projeto e na implementação do sistema. Essa afirmativa refere-se ao(á): engenharia de requisitos. Em Processos de Desenvolvimento de Software encontramos vários conceitos amplamente utilizados pelos profissionais de TI. O Levantamento de Requisitos reúne as atividades que visam a obter o enunciado completo, claro e preciso dos requisitos de um produto de software. Estes requisitos devem ser levantados pela e equipe do projeto, em conjunto com representantes do cliente, usuários chaves e outros especialistas da área de aplicação. O conjunto de técnicas empregadas para levantar, detalhar, documentar e validar os requisitos de um produto forma a Engenharia de Requisitos (Pádua, 2009). Desta forma, podemos avaliar que requisitos de software podem ser I. Descrições dos serviços fornecidos pelo sistema. II. Restrições e características desses serviços. III. Apresentados somente como Não Funcionais. IV. Apresentados somente como Funcionais. É correto, apenas, o que se afirma em: I e II. Em relação à engenharia de software, a afirmação NÃO pertinente aos processos de software é: um dos primeiros processos de software existente foi o modelo espiral. Em relação ao modelo CASCATA COM RETROALIMENTAÇÃO, variante do modelo CASCATA TRADICIONAL, podemos afirmar que: 1- Permite a realimentação; 2- É útil para grandes projetos; 3- Facilita correções que surgirem durante outras fases do processo; Das alternativas abaixo, assinale aquela em que TODOS os itens estão corretos: 1 e 3. Em relação aos modelos de software, marque a opção MAIS CORRETA para a definição sobre o tipo de (licenciamento) de software que atende ao abaixo descrito - "Programa de Computador cujo o uso não implica o pagamento de licença de uso". Freeware. Em relação aos princípios de qualidade em software, no tocante à testabilidade de software, a sentença "quanto menos modificações, menos interrupções no teste" está relacionada com uma característica. Essa característica é identificada como: estabilidade. Em TI é uma realidade a afirmativa: o processo de desenvolvimento do HW (Hardware) é um sucesso, e o do SW (Software) não. Por quê? I- O Hardware é fabricado, bem como o software; II- O Hardware tem que ser alterado e o Software substitui os seus componentes padrões; III- O Hardware é fabricado e o Software é manufaturado. Analisando as afirmativas acima, assinale a única resposta correta. Assinale a ÚNICA opção correta. Apenas III está correta. Em um processo de desenvolvimento de software, a etapa de testes envolve várias particularidades relacionadas a fatores como local do teste, metodologia, ferramenta adotado, profissional que faz o teste, o que é testado, entre outras. Sendo assim, quais das afirmativas a seguir sobre testes de software podemos assumir como FALSA: os testes de unidade são executados pelo usuário final depois que o produto final é entregue. É o último tipo de teste executado. Existem 2 (duas) visões do projeto quanto ao seu desenvolvimento: externa e interna. I – A visão externa contempla a visão do usuário e a visão interna o modelo de interação com suas interfaces. II – A visão externa contempla os componentes do sistema enquanto a visão interna contempla o funcionamento do componente. III – A visão externa contempla a visão do usuário enquanto a visão interna contempla os componentes do sistema. Analise as afirmativas acima, assinale a única resposta correta. Apenas III está correta. Existem vários modelos de desenvolvimento de software, cada um com suas particularidades. A respeito desse assunto, assinale a opção correta. A metodologia de prototipagem evolutiva é uma abordagem que visualiza o desenvolvimento de concepções do sistema conforme o andamento do projeto, por meio de protótipos visuais. Indique a alternativa correta para definir CONHECIMENTO: experiência pessoal, informações analisadas, gerando ações ou decisões. Indique a descrição correspondente ao nível de maturidade DEFINIDO, considerando a norma CMMI. Os projetos usam processos que são definidos, documentados, usados, disseminados, medidos, fiscalizados e com rotinas de melhoria. Indique a sentença que não indica uma característica do Ciclo de Vida em Cascata: desenvolver software em partes. Indique a sentença que Não indica uma melhor prática do Processo Unificado: dificuldade para tratar requisitos que mudam. Marque a alternativa correta que define Classe na modelagem orientada a objetos. Descreve um grupo de objetos com propriedades semelhantes (atributos), o mesmo comportamento (operações) e consequentemente a mesma semântica (Rumbaugh, 1994). Marque a alternativa CORRETA. O modelo em cascata: Tem uma etapa iniciada somente após a conclusão da etapa anterior do ciclo de vida do sistema de informação. Marque a alternativa INCORRETA: Atividades para análise de requisitos OPERACIONAL - Visa a atender os requisitos técnicos do produto a ser desenvolvido. O levantamento deve ser relacionado com a tecnologia envolvida no processo de desenvolvimento. Marque a resposta certa de acordo com as assertivas abaixo: I – O PU utiliza a UML no preparo de todos os artefatos do sistema. II – O PU é baseado em componentes, o que significa o sistema ser construído a partir de componentes de software interconectados via interfaces muito bem definidas. III – O UP de desenvolvimentode sistemas combina os ciclos iterativo e incremental para a construção de produtos de software. IV – O RUP foi desenvolvido pela Rational Corporation. Todas as assertivas estão corretas. Modelo de processo cascata. Primeiro modelo conhecido em engenharia de software. Assinale qual das alternativas abaixo NÃO caracteriza uma vantagem ou desvantagem do Modelo Cascata: Dependendo da quantidade de revisões e realimentações, o processo pode se tornar difícil de gerenciar. Muitos modelos de processos de desenvolvimento de software foram descritos na literatura de engenharia de software. Dentre esses modelos, qual possui a seguinte característica? Modelo evolutivo, possibilita uma maior integração entre as fases e facilita a depuração e a manutenção do sistema. Espiral. Na atividade de análise no Processamento de Desenvolvimento de Software vemos a importância de se fazer uma modelagem para identificar se há uma falha no Levantamento de Requisitos. Um dos tipos de análise é a Análise Estrutural. Uma das Atividades dentro da Análise Estruturada é a Identificação de Relacionamentos cuja finalidade é: Identifique e descreva pelo menos dois desses modelos. Ajudar a filtrar e refinar as classes por associação e agregação. Na atividade de análise no Processamento de Desenvolvimento de Software vemos a importância de se fazer uma modelagem para identificar se há uma falha no Levantamento de Requisitos. Uma dessas modelagens é a Análise Estrutural. Esta modelagem compreende uma série de diagramas que são representados por: Modelar aspectos estáticos de um problema, utilizando o modelo orientado a objeto. Na atividade de análise no Processamento de Desenvolvimento de Software vemos a importância de se conhecer o conceito de modelagem. Uma dessas modelagens é o UML - Unified Modeling Language. Esta modelagem é: utilizada em engenharia de software para visualizar o desenho do sistema e a intercomunicação entre objetos. Na atividade de análise no Processamento de Desenvolvimento de Software vemos a importância de se fazer uma modelagem para identificar se há uma falha no Levantamento de Requisitos. Uma dessas modelagens é o UML - Unified Modeling Language. A característica desta modelagem é: I- Visualizar o desenho do sistema e a intercomunicação entre objetos. II- Permitr que desenvolvedores visualizem os produtos de seus trabalhos em diagramas padronizados. III- Modelar o problema, e não a solução. É correto o que se afirma em: Apenas em I. Na engenharia de software, um processo iterativo denominado sprint, que segue o ciclo PDCA para entregar, num período de 30 dias aproximadamente, um incremento do software pronto, caracteriza a metodologia ágil: SCRUM. Na especificação de requisitos, qual das opções abaixo indica como os requisitos podem ser classificados: funcionais e não-funcionais. Na fase da implementação, o analista ou desenvolvedor detalha e implementa o que foi definido na etapa de desenho, através de componentes de código de programa e documentação detalhada. Complete a frase escrevendo o nome de cada definição dos elementos utilizados na implementação e marque a alternativa correta: __________: Linguagem de programação que utiliza a arquitetura do processador para executar as ações. Esta linguagem é a que mais se aproxima dos códigos de execução direta do processador, ou seja, linguagem de máquina. __________: Programa que faz uma leitura do código fonte, desenvolvido em uma linguagem de alto nível, e transcreve para um novo tipo de linguagem chamada de baixo nível. __________: Comumente chamada de linguagem de programação, esta linguagem se aproxima mais da linguagem humana, ou seja, linguagem com um padrão de entendimento humano bem definido. __________: Programa que, além de fazer a leitura do código fonte e transformá-lo em código objeto, transforma-o em um código executável. Linguagem de baixo nível, compilador, linguagem de alto nível, interpretador. Na fase de testes, aquele responsável por identificar erros durante a integração e interação entre os módulos ou unidades do sistema é o teste: de integração. NÃO é fase do RUP? Gerenciamento. Não é um software do tipo aplicativo: Sistema operacional. Nesta etapa do processo de desenvolvimento, o objetivo é modelar o sistema, atendendo os requisitos levantados na etapa de análise e prepará-los para a fase implementação, definindo os aspectos tecnológicos necessários. Assinale a alternativa que mostra a etapa descrita: desenho. Nesta etapa do processo do desenvolvimento, o objetivo é mostrar como deve ser implementada a solução, porém não envolve qual o tipo de tecnologia especifica é necessária: desenho do produto. No Ciclo de Vida do Processo de Desenvolvimento de Software, precisamos documentar não apenas o processo de desenvolvimento como também o produto que está em desenvolvimento. Analise as assertivas a seguir no que se refere a documentos a serem desenvolvidos. I. Manual do usuário II. Manual de referência III. Manual de padronização de produto IV. Documentação técnica e de cronogramas. Com base em sua análise, assinale a única alternativa correta, que apresenta apenas os manuais para documentação do produto. Estão corretas as opções I e II. No ciclo de vida do Processo Unificado, os testes têm seu apogeu demonstrado na linha divisória entre: construção e transição. No processo de desenvolvimento de software a fase de teste possui uma importância fundamental. Analise cada item seguinte, classificando-os como V (verdadeiro) ou F (falso). 1. A fase de teste tem como objetivo detectar possíveis defeitos ou erros que possam surgir na fase de implementação; 2. Nessa fase, de testes, devem-se coletar os resultados e analisá-los e consertá-los somente depois de sua implantação. 3. Essa fase é essencial para aumentar a qualidade do produto ou sistema em que será implantado. 4. Tem como objetivo encontrar um erro que ainda não foi descoberto. É correto, apenas, o que se afirma em. Assinale a ÚNICA opção com a sequência correta de V e F. 1-V; 2-F; 3-V; 4-V. No processo de desenvolvimento de software as modalidades dos testes podem ser: 1. Quanto à utilização do código. 2. Quanto ao objetivo. Assinale a única opção correta que caracteriza a correta classificação de cada item. I. Testes estáticos – São testes realizados pela análise do código fonte. O tipo de análise é visual, podendo haver um questionário para acompanhar os testes, inspecionando o código desenvolvido pela equipe de programação. II. Testes dinâmicos – São testes baseados na execução do código fonte do programa. São realizados antes da etapa de implementação. III. Testes de unidade – Teste realizado em um módulo ou em alguns módulos definidos que representam uma única unidade. A determinação da quantidade de módulos a serem testados está contida na documentação de projeto. IV. Testes de integração – Teste para identificar erros durante a integração e interação entre os módulos ou unidades do sistema. V. Testes de validação – Teste realizado antes da integração de todos os módulos do sistema. Apenas as sentenças I, III e IV estão corretas. No processo de desenvolvimento de software, todo software passa pelas fases de análise e projeto, associadas, respectivamente, com o que deve ser feito e como deve ser feito. A partir dessa informação, avalie a opções correta: (QUESTÃO 74 - ENADE 2008). Na fase de análise, três modelos que devem ser considerados são: do domínio da informação, o funcional e o comportamental. No processo de desenvolvimento do software, a primeira atividade técnica é a Análise de Requisitos, que pode ser entendida como responsável por definir os serviços que um sistema deve realizar, sua interface com os demais elementos e sob quais restrições o sistema deve operar. A técnica de elicitação conhecida como tempestade de ideias, cujo objetivoé permitir que todos expressem suas ideias de forma a obter o consenso é: brainstorm. O ciclo de vida do software é um conjunto de atividades que são realizadas na construção de um software. O processo denominado Cascata ou Water Fall ainda é um dos mais utilizados e possui como característica principal: A abordagem sistemática para realização das atividades do desenvolvimento de software de modo que elas seguem um fluxo sequencial. O código de programação que representa uma Sequência binária de ações diretamente direcionadas para o processador da máquina é o: código de máquina. O Corel Draw Graphics Suite é um software de design gráfico e de design de sites. No site do próprio Corel é possível baixar uma versão de avaliação, onde é possível testar o software da Corel gratuitamente. Sem riscos. Sem obrigações. Sem necessidade de um cartão de Crédito. Mas tudo isso por um tempo limitado de 30 dias, após o prazo o usuário deverá comprar a licença de uso Analisando estas características, podemos classificar este software como: Shareware. O diagrama abaixo que modela diferentes tipos de veículos, tais como bicicletas, motos e carros é uma representação para qual tipo de modelo de sistema? Modelos de objetos. O diagrama de classe é um dos mais importantes na UML. Este diagrama define a estrutura das classes utilizadas pelo sistema. Em uma classe, o método representa o comportamento de um objeto. O que representa as características do objeto? Atributos. O gráfico acima, adaptado do livro Engenharia de Software, de Roger Pressman, ilustra o custo relativo da correção de um defeito nas diversas fases de um projeto de software, baseado em dados colhidos por Boehm e outros estudiosos. Embora não seja explicitamente informado, os dados se basearam, principalmente, em projetos que utilizaram o modelo de desenvolvimento em cascata. A esse respeito, analise as afirmativas a seguir. I - O gráfico pode ser utilizado como um argumento a favor do uso de processos de desenvolvimento iterativos. II - O gráfico deixa claro que o maior investimento na prevenção de defeitos deve acontecer nas fases finais do projeto, preferencialmente depois que o software estiver em uso pelos clientes. III - O gráfico não é conclusivo a respeito da importância do gerenciamento dos requisitos de um projeto, o que é consistente com a abordagem de muitos processos de desenvolvimento de software atuais, que minimizam este esforço e enfatizam a codificação e os testes unitários de código. IV - O gráfico sustenta os argumentos de que a qualidade deve ser incorporada ao processo através de técnicas e ações efetivas de detecção, prevenção e controle, garantindo que todas as atividades do projeto resultem em produtos ou subprodutos de qualidade, ao invés de ser uma preocupação secundária ou limitada a um grupo de profissionais de controle de qualidade. São corretas APENAS as afirmativas: I e IV. O modelo de ciclo de vida em cascata: enfatiza a realização sequencial das atividades do desenvolvimento de um produto de software. O modelo de desenvolvimento de software que trata subconjuntos de requisitos e utiliza o modelo em cascata para sua realização é denominado: iterativo e incremental. O modelo que permite a revisão de fases anteriores, a superposição entre as fases e que permite também a realimentação, ou seja, correções que surgirem durante outras fases do processo é o: cascata com realimentação. O nível de abstração e agregação dos elementos dos sistemas pode ser Nível Estratégico ou Arquitetônico, Nível Tático ou Lógico e Nível Operacional ou Desenho detalhado. Marque a opção que representa o Nível Operacional: é o desenvolvido em conjunto com a documentação voltada para usuários, no caso de desenho externo, ou documentação do código do programa, no caso de desenho interno. O padrão de processo de desenvolvimento de software ____________, é baseado nas normas ISSO/IEC 12207 e ISSO/IEC 15504, na realidade do mercado brasileiro e também é compatível com o CMMI. MPS/BR. O processo de codificação também pode ser visto como um passo do processo de engenharia de software. As características de engenharia de uma linguagem exercem um importante impacto sobre o sucesso de um projeto de desenvolvimento de software. Qual o tipo de linguagem que não leva em consideração a arquitetura do computador, nem as características do processador e seus registradores. Linguagem de alto nível. O programa de Melhoria de Processo do Software Brasileiro estabelece: os processos fundamentais, organizacionais e de apoio do ciclo de vida de software. O que se deve fazer para aumentar as chances de sucesso no desenvolvimento de software? Adotar um processo de desenvolvimento. O software também pode ser classificado como: Software de sistema e Software aplicativo. Também chamados de sistema operacional, o software de sistema é responsável por operar os demais periféricos que estejam conectados ao hardware. Associe a coluna da esquerda com a coluna da direita e em seguida marque a alternativa correta, considerando a sequência de cima para baixo: 1. Monotarefa ( ) Vários usuários utilizam ao mesmo tempo 2. Multiprocessamento ( ) Os processos são compartilhados e enfileirados a espera do processador 3. Multitarefa ( ) Somente é permitida a utilização de um usuário de cada vez 4. Multiusuário ( ) Executa somente um processo de cada vez 5. Monousuário ( ) Distribui para mais de um processador. 4, 3, 5, 1, 2. O teste de ameaça normalmente deve ser aplicado dentro de um projeto de software nas etapas de: teste de integração de teste de sistema. O teste de produto de software apresenta duas fases: verificação e validação. O teste de produtos de software apresenta as atividades de __________ e ____________. Verificação, validação. O teste do software é a investigação do software a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos. No que se refere aos tipos de testes, assinale as assertivas a seguir: I- Testes de Unidade - Teste realizado em um módulo ou em alguns módulos definidos que representam uma única unidade; II- Testes de Integração - Cujo objetivo é garantir a qualidade dos componentes do software, individualmente; III- Testes de Validação - É o último estágio do processo de validação, realizado após integração de todos os módulos; IV- Teste de Planejamento - Teste realizado após a integração de todos os módulos do sistema; Com base em sua análise, assinale a única resposta correta. Apenas I e III estão corretas. Observe as afirmações a seguir sobre o escopo do sistema: i. O escopo compreende o que será considerado para o desenvolvimento do sistema; ii. Quanto maior o escopo, maior será a complexidade de gerenciar o desenvolvimento do sistema; iii. Um escopo mal estruturado levará, inevitavelmente, a falhas de cronograma e de orçamento; iv. O escopo pode ser delimitado ao término do desenvolvimento do sistema; Estão corretas as afirmativas: i, ii, iii. Os padrões a partir dos quais os objetos são criados são denominados? Classes. Os requisitos são as características que definem os critérios de aceitação de um software. Assinale qual das alternativas abaixo NÃO está compatível com os conceitos de Requisitos (Pádua, 2009 - Cap. 1): Requisitos Implícitos são desejáveis porque, não sendo documentados, provavelmente não serão considerados no desenho do software. Para a montagem da documentação de um produto adota-se métodos e formatos padronizados para cada família de produtos correlatos. Dentre estas documentações podemos destacar: I - O Manual de Referência é descrito em uma linguagem bastante formal e técnica, uma vez que o perfil do público alvo é quem utilizaráo sistema ou produto. II - O Documento de Instalação descreve os pré-requisitos necessários, como instalar o sistema e as plataformas de operação. III - A documentação do software é um documento com um resumo das funcionalidades, atalhos de procedimentos, principais funções utilizadas, e mensagens de erros mais comuns. É correto afirmar: Somente a II é verdadeira. Para as questões de 1 a 3, responda verdadeiro (V) ou falso (F) e, em seguida marque a opção correta: Um enunciado dos requisitos deve satisfazer uma série de características de qualidade. São elas: correto, preciso, completo, consistente, verificável. ( ) Na lista de requisitos todas as entidades do mundo real importantes para o entendimento do problema devem ser incluídas ( ). Na lista de requisitos todos os métodos e atributos importantes para o entendimento do problema devem ser incluídos. ( ) VVV. Para se garantir a qualidade dos processos, vários passos devem ser tomados, entre eles: I. Gerenciar os requisitos, identificando quais são as principais necessidades do software, levando em conta tanto os requisitos funcionais quanto os não funcionais. II. Acompanhar o projeto de software para que se possa ter uma visão bem realista do progresso do projeto, sendo possível tomar ações eficazes quando o desempenho de software se desviar de forma significativa dos planos do projeto. III. Gerenciar a configuração do software para estabelecer e manter a integridade dos produtos do projeto ao longo do ciclo de vida do software para dar maior segurança ao desenvolvedor e permitir maior controle de desenvolvimento. IV. Desenvolver um processo padrão para ser gerenciado e revisado, identificar os pontos fortes e fracos do processo de desenvolvimento e planejar atividades de melhoramento. É correto o que se afirma em: I, II, III e IV. Para Sommerville a arquitetura de sistemas descreve o sistema em termos de um conjunto de unidades arquitetônicas e um mapa de como essas unidades se relacionam entre si. Analise as afirmativas a seguir sobre a arquitetura de sistemas. I. Quanto mais independente as unidades forem, mais modular será a arquitetura. II. Quanto mais dependentes as unidades forem, mais modular será a arquitetura. III. Quanto mais independentes as unidades forem, mais fácil será realizar o projeto e desenvolver as diversas partes separadamente. Assinale a ÚNICA opção correta. Somente I e III estão corretas. Para Sommerville, durante as atividades de requisitos e projeto, os sistemas podem ser modelados como um conjunto de componentes e relacionamentos entre esses componentes. Em geral, eles são ilustrados graficamente no modelo de arquitetura de sistema que fornece, ao leitor, uma visão gera da organização do sistema. Em relação às técnicas de análise NÃO é correto afirmar: A análise estruturada tem como objetivo modelar aspectos estáticos de um problema, utilizando o modelo de objetos. Podem ser considerados artefatos de trabalho de um projeto de desenvolvimento: I. Todos os programas que compõem o sistema, com exceção dos módulos de menu, que normalmente não sofrem alterações. II. Todos os documentos que são gerados dentro de um projeto de desenvolvimento, incluindo cronogramas, atas de reunião e evidências de teste. III. Alterações de requisitos enviados pelo cliente. IV. Planejamento do projeto e cronogramas. Escolha a alternativa correta: Alternativas II, III e IV estão corretas. Podemos definir as fases do Projeto Físico como sendo especificações de sistema necessárias ao início da construção do software. As empresas costumam definir padrões para o desenvolvimento. Abaixo mostramos algumas definições na Análise de Requisitos, para que se possa dar início das atividades ligadas à construção: I – Definição da interface de desenvolvimento (ambiente gráfico) e da linguagem de programação; II – Modelos e padrões de telas, botões, barras de ferramentas (também definido por alguns autores como Design); III – Dimensionar, projetar e edificar o ambiente do software/sistema e as tecnologias empregadas para o seu desenvolvimento (Arquitetura/Tecnologia). Após analisar as sentenças acima, assinale a única alternativa correta: Todas as sentenças apresentadas estão corretas. Por que a forma de se criar o código dos programas pode influenciar na manutenção futura do software? Numa manutenção futura, é necessário avaliar o código fonte anterior antes de se fazer a alteração desejada. Assim, se o software foi construído de forma padronizada e com estrutura correta, a manutenção futura será facilitada. Processo de desenvolvimento do hardware é um sucesso. O do software não. Indique a única resposta correta em relação a essa afirmação. Hardware fabricado, software manufaturado. Quais fases abaixo pertencem ao processo unificado? Iniciação, elaboração, desenvolvimento e transição. Quais são as metodologias de desenvolvimento? Ágil e Tradicional. Qual a fase do ciclo de vida de um software (instruções, documentação e dados) que corresponde a elaboração e preparação do código necessário à sua execução. Implementação. Qual é o nome dado ao processo de manutenção do software que tem como objetivo melhorar um sistema de software, modificando sua estrutura interna, sem alterar o comportamento interno? Refatoração. Qual o tipo de análise que tem como objetivo modelar aspectos estáticos de um problema, utilizando o modelo orientado a objeto. Também é utilizada em conjunto com o detalhamento de requisitos para visualizar e fornecer uma base para identificar soluções para os requisitos apresentados? Análise estrutural. Quando em um projeto muito grande o processo permite que as atividades sejam divididas e desenvolvidas por partes estamos falando do modelo: iterativo-incremental. Quanto às estratégias de testes, temos o teste caixa preta e teste caixa branca. Avalie os itens abaixo sobre as duas estratégias de teste. I- O teste da caixa preta, também conhecido como teste comportamental, foca os requisitos funcionais do software; II- O teste caixa preta, baseado na arquitetura interna do software, procede a verificação do código; III- O teste caixa branca é aquele com o qual identificamos defeitos nas estruturas internas do software, através de simulação que testa toda a estrutura usada na codificação; IV- O teste caixa branca é aquele em que devemos conhecer os requisitos, suas características e o seu comportamento; É correto, apenas, o que se afirma em: I e III. Sabemos que existem duas modalidade de testes de software. Ela são classificadas em: I- Testes Estáticos, onde permite que o código seja avaliado em termos de defeitos estruturais ou fraquezas sistemáticas que possam gerar defeitos; II- Testes Estáticos, que são realizados após a integração de todos os módulos do sistema; III- Testes Dinâmicos, que são testes baseados na execução do código do programa, e para isso precisam de um questionário com base nos aspectos estruturais e funcionais do programa; IV- Testes Dinâmicos, que devem ser feitos antes da implementação, ou seja, nas fases iniciais; É correto, apenas, o que se afirma em: I e III. Sabemos que o Software é uma sequência de instruções a serem seguidas e/ou executadas na manipulação, no redirecionamento ou na modificação de um dado/informação ou acontecimento. A partir desta definição, podemos classificar os tipos de Software quanto a natureza como Software aplicativo e Software de Sistemas. São considerados software de Sistemas: I – Programas de Gerenciamento de Sistemas; Programas de Gerenciamento de Redes e BD; Programas de Desenvolvimento de Sistemas. II – Sistemas operacionais; Programas aplicativos específicos; Programas que têm interface direta com o usuário; III – Programas de Gerenciamento de Sistemas; Sistemas Operacionais; Programas de Desenvolvimento de Sistemas; Assinale a única opção que correspondeao tipo Software de Sistemas. Apenas os itens I e III estão corretos. São consideradas linguagens de baixo nível e linguagem de alto nível respectivamente: Linguagem Assembly; Linguagem Pearl. São regras, diretrizes ou procedimentos utilizados para manipular ou organizar dados para torná-los úteis e com um fim específico. Esta é definição de: conhecimento. São testes realizados pela análise do código fonte, onde o tipo de análise é visual, podendo haver um questionário para acompanhar os testes, inspecionando o código desenvolvido pela equipe de programação. Essas são características dos: testes estáticos. Se o nosso objetivo é encontrar defeitos nos componentes, devemos examinar o código, revisando-o, tentando identificar defeitos no algoritmo, nos dados e na sintaxe. Em relação à organização dos testes, devemos aplicar o teste de: unidade. Selecione a opção que preenche as lacunas abaixo, tornando o texto coerente. “Podemos considerar que um Processo de Desenvolvimento de Software está definido em uma organização quando existe uma documentação que detalha: o tipo de ___________ que é feito; as _____________ que se deve seguir; __________ que irão executar cada atividade; as coisas que usa, que podemos chamar de _______________ e os ____________ que produz”. Produto – etapas – pessoas – insumos – resultados. Sobre os objetivos de teste de software, considere as seguintes afirmativas: 1. A atividade de teste é o processo de executar um programa com a intenção de descobrir um erro. 2. A atividade de teste pode comprovar a ausência de erros. 3. Um bom caso de teste é aquele que tem uma elevada probabilidade de revelar um erro ainda não descoberto. Marque a alternativa correta: somente as afirmativas 1 e 3 são verdadeiras. Sommerville define software como sendo programas de computador e documentação associada. Os produtos de softwares podem ser desenvolvidos para um cliente específico ou para um mercado geral. Para o desenvolvimento do produto/programa, é necessário escrevê-lo utilizando uma _______________________ a qual será convertida para uma _____________________, ou seja, em um formato que será compreendido pelos processadores. Assinale a ÚNICA opção que complementa cada frase corretamente. Linguagem de programação/linguagem de máquina. Suponha que um projeto de software siga o modelo cascata e utilize técnicas de refatoração apoiadas por uma ferramenta durante a etapa de implementação. Qual o impacto resultante na etapa de análise e projeto? Pode diminuir o trabalho do analista, já que o profissional de análise e projeto saberá que mudanças futuras no modelo gerado durante essa etapa poderão ser realizadas com um custo menor na etapa de implementação. Teste que leva em conta a sua estrutura interna de construção. Os mecanismos internos do sistema serão analisados e suas representações lógicas também. Marque a alternativa que indica o tipo de teste mencionado acima. Teste caixa branca. Teste que não leva em conta os mecanismos e definições internos do sistema. O objetivo principal está no resultado da saída de dados do sistema, mediante a entrada definida de dados. Marque a alternativa que indica o tipo de teste descrito acima. Teste caixa preta. Três projetos de software (X, Y e Z) de uma empresa entraram em produção no último mês. Considere a fase em que ocorreu a maior quantidade de erros, descobertos em produção, de cada projeto: X: implementação Y: requisitos Z: instalação. Considerando-se que os projetos são extremamente similares, conclui-se que, de maneira geral, os erros de: Y seriam mais baratos se fossem detectados no início. Um compilador é um ou mais programas de computador que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente. Sendo assim, o nome "compilador" é usado principalmente para: I- Um programa que faz uma tradução entre o código de máquina e uma linguagem de montagem; II- Programas que traduzem o código de fonte de uma linguagem de programação de alto nível para uma linguagem de programação de baixo nível; III- Um programa que traduz uma linguagem de programação de baixo nível para uma linguagem de programação de alto nível; Assinale a alternativa correta: apenas o item II está correto. Um dos primeiros modelos propostos para o processo de desenvolvimento de software foi o Modelo Cascata, em que os estágios são apresentados em sequencia, como em uma cascata (Royce, 1970). Analise as afirmativas a seguir sobre as vantagens deste modelo. I – É possível corrigir erros em fases já completas. II – Permite pontos de controle bem definidos. III – Facilita a visão de reutilização. Somente II está correta. Um usuário deseja acessar de forma mais rápida o resumo das funcionalidades e as mensagens de erros mais comuns. Para isso é indicado que este usuário acesse: referência rápida. Uma empresa de pequeno porte está para desenvolver um sistema de Software utilizando uma metodologia. A empresa até o momento não havia utilizado nenhum método para desenvolver os seus sistemas. O gerente está em dúvida sobre qual metodologia utilizar. Se você fosse o gerente, qual metodologia você aplicaria? Modelo Cascata, porque é útil para pequenos projetos, e permite pontos de controle bem definidos, facilitando a gestão do projeto. Uma empresa resolveu desenvolver um sistema on-line utilizando o modelo de prototipação, pois ele executa uma abordagem top-down radical. Outros fatos que fizeram com que o gerente desenvolvesse o sistema nesta metodologia são: I – Porque durante cada interação, os requisitos e as soluções alternativas para o problema são identificadas e analisadas, novas soluções são projetadas e uma parte do sistema é implementada. II – Porque envolve a criação ou a aquisição dos vários componentes do sistema detalhados na fase de projeto, sua montagem e a disponibilização do sistema novo ou da versão modificada. III – Porque a prototipação tem início com a criação de um modelo preliminar de um grande subsistema ou de uma versão, em escala, do sistema todo. Analisando as duas sentenças acima, assinale a única resposta correta: somente as sentenças I e III estão corretas. Uma empresa resolveu desenvolver um Sistema utilizando o modelo de Prototipação, porque os usuários estavam com dificuldade de expressar suas reais necessidades. As vantagens que fizeram com que o gerente optasse por esta metodologia foram: I- Contribuem para melhorar a qualidade da especificação dos futuros programas, o que leva à diminuição de gastos com manutenção; II- O cliente vê algo que parece ser uma versão do SW desejado e não entende porque o produto precisa ser construído; III- Partes do protótipo podem ser usadas no desenvolvimento do sistema final. Analisando as sentenças acima, assinale a única alternativa correta: somente as sentenças I e III estão corretas. Uma representação definida de um procedimento de teste define um(a): Script de teste de software. Você está trabalhando como analista de teste em um projeto de PDS para a secretaria de saúde do seu estado. Sua primeira atividade e testar e documentar os resultados obtidos na execução do módulo que acessa o site do GOOGLE MAPS para determinar o tempo, em minutos de deslocamento, que uma ambulância levará de um determinado posto municipal de primeiro atendimento de saúde até o destino da chamada. Para tal teste, é necessário fornecer como entrada não só o endereço do local de origem do posto municipal de saúde em que a ambulância se encontra, como também, o endereço do local de destino da ambulância. Como resultado deve-se obter o tempo aproximado em minutos do trajeto. Com base nesta primeira atribuição que você recebeu e de acordo com a classificação do PDS, identifique nas opções abaixo, em qual tipo de teste você foi executado: teste caixa preta.
Compartilhar