Prévia do material em texto
LABORATÓRIO DE SOFTWARE E PROJETOS – ATIV 04 _________________________________________________________________________ A área de teste de software se destaca pela sua importância no desenvolvimento de sistemas que atendem a requisitos de qualidade. A área de engenharia de software é ampla e é um assunto recorrente nos currículos de graduação em computação. FANTINATO, M. et al.AutoTest-Um framework reutilizável para a automação de teste funcional de software. Simpósio Brasileiro de Qualidade de Software, v. 1, n. 1, p. 119-131, 2000. Anais (...). Considere a seguinte situação hipotética: João desenvolve um sistema para uma academia e ele mesmo realiza os testes. Nesse sentido, qual é a etapa de teste realizada por João? Resposta correta. A alternativa está correta, pois, durante o desenvolvimento de sistemas, quando uma equipe de software realiza o teste, esta é a etapa que acontece o teste de desenvolvimento. Como na situação hipotética João é o proprio desenvolvedor, não há como considerar que foi feito por outra pessoa ou equipe. RES.: João realizou o teste de desenvolvimento. _________________________________________________________________________ Analise a seguinte figura: Fonte: Elaborada pelo autor. Os diagramas de bancos de dados têm como objetivo trazer uma representação visual de como os dados estão relacionados entre si e de como sua estrutura será armazenada fisicamente. O modelo conceitual é considerado um modelo de alto nível e é representado pelo diagrama entidade relacionamento. Referente ao diagrama apresentado, assinale a alternativa correta. Resposta correta. A alternativa está correta, pois uma decisão na criação desse campo é justamente o fato de ser um campo ou uma tabela. Como vários cursos podem ser cadastrados no sistema, por várias pessoas, uma alternativa para evitar redundância é transformar esse campo em uma tabela. RES.: O campo cursos poderia ser transformado em uma tabela para cursos. _________________________________________________________________________ O teste de software é um processo fundamental no ciclo de desenvolvimento de software. Por meio dele, é possível identificar falhas e problemas que podem comprometer o devido funcionamento da aplicação. A qualidade do software está diretamente relacionada com a boa realização das práticas de teste, tornando essa atividade de fundamental importância para os profissionais de desenvolvimento de software. JORGE, F. de F. et al. A evolução do jogo itest learning para o ensino das atividades de execução de testes de software. XX Conferência Internacional sobre Informática na Educação (TISE 2015)-Nuevas Ideas en Informática Educativa TISE, 2015. Anais (...). Há um documento que oferece suporte aos testes de sistema e tem como objetivo descrever toda a estratégia de testes utilizada. Diante do exposto, qual é o nome desse documento? Resposta Correta. A alternativa está correta, pois, durante a realização do documento denominado Plano de Teste, toda a estratégia da empresa para a realização dos testes é composta. Assim, a estratégia se resume em quais tecnologias utilizar, bem como o número exato da equipe e se será realizado o teste em desenvolvimento. Ademais, o referido plano é compostos pelos casos de teste, que serão distribuídos para a equipe de testadores. RES.: Plano de Testes. _________________________________________________________________________ O processo de desenvolvimento de software é composto por um conjunto de metodologias e processos que tem como objetivo garantir a qualidade do produto e gestão ágil do projeto. Nesse contexto, imagine que uma pessoa foi contratada para desenvolver um sistema a uma padaria de uma determinada cidade. Sobre o desenvolvimento de sistemas e a documentação, assinale a alternativa correta. Resposta correta. A alternativa está correta, pois, independentemente do tipo de sistema, aplicativo ou, até mesmo, um jogo computacional, deve-se realizar a sua respectiva documentação. Isso garantirá a estrutura do projeto, impactando na qualidade do produto, bem como no seu custo. RES.: Independentemente do caso, é sempre necessário realizar a documentação. _________________________________________________________________________ O teste de software é um importante mecanismo para validar e garantir a qualidade de um sistema desenvolvido. Desse modo, o processo do teste de software é uma importante técnica utilizada para garantir e melhorar a qualidade do software que, a cada vez mais, torna-se uma parte importante e valiosa dentro do ciclo de vida do desenvolvimento de sistemas. DINIZ, L. L.; DAZZI, R. L. S. Jogo para o apoio ao ensino do teste de caixa-preta. XXII Simpósio Brasileiro de Informática na Educação, Aracaju, p. 426-435, 2011. Anais (...). Existe um documento que descreve a sequência de passos de realização do teste de uma tela/funcionalidade de um sistema. Com base no exposto, qual é o nome desse documento? Sua resposta está incorreta. A alternativa está incorreta, pois caso de tela e caso de classes não existem no contexto de teste de software. O plano de teste é o documento que contém todos os casos de teste, bem como demais estratégias de teste. Os casos de uso, tanto o diagrama quanto a descrição, servem para inspirar a criação de um caso de teste, porém são documentos diferentes. RES.: Caso de Teste. _________________________________________________________________________ A primeira etapa no processo de um projeto de desenvolvimento de software, geralmente, é a entrevista. Durante essa etapa de desenvolvimento da entrevista, existem opções de perguntas a serem feitas de maneira que tenham sido preparadas anteriormente ou feitas de forma dinâmica. Em relação ao exposto, como se denomina esse tipo de entrevista? Resposta correta. A alternativa está correta, pois, na entrevista aberta, não existem perguntas predefinidas. Geralmente, a entrevista começa com alguma pergunta genérica, como “Qual é a ideia geral do sistema?” e, a partir daí, desenvolvem-se as demais perguntas com base nas respostas do cliente. RES.: Entrevista aberta. _________________________________________________________________________ O padrão de arquitetura MVC (Model-View-Controller) é bastante utilizado no desenvolvimento de aplicações para dispositivos móveis, pois determina a separação de uma aplicação em três elementos. O Model é formado por entidades que representam os dados da aplicação. A View tem por objetivo realizar a apresentação desses dados e capturar os eventos do usuário, representando-se pelas telas. LUCIANO, J.; WALLISON J. B. A. Padrão de arquitetura MVC Model-View-Controller. Revista EPeQ Fafibe, v. 1, p. 102-107, 2011. Sobre o desenvolvimento da camada de visualização (View) para web utilizando CSS e HTML, assinale a alternativa correta. Resposta correta. A alternativa está correta, pois, ao desenvolver a interface do sistema utilizando HTML, seja utilizando o padrão MVC, seja outro padrão, não existe amarração com a tecnologia que o sistema é desenvolvido em linguagem Backend. Em caso específico do MVC, o desenvolvimento em camadas é justamente para que exista essa independência das camadas. RES.: Uma vez utilizando HTML e CSS para desenvolver a View, o Controller e o Model podem ser desenvolvidos em qualquer linguagem Web. _________________________________________________________________________ O processo de desenvolvimento de software pode envolver diversos profissionais, bem como um conjunto de recursos para documentar um software. Dentre esses recursos, é muito comum realizar a entrevista com o cliente. Ao ter em vista os tipos de entrevista, existe uma em que o entrevistador já tem as perguntas prontas. Considerando o exposto, como se denomina esse tipo de entrevista? Resposta correta. A alternativa está correta, pois, durante o desenvolvimento da entrevista fechada, o analista responsávelpor fazer a entrevista já tem as perguntas elaboradas previamente. Nessa abordagem, ao contrário da entrevista aberta, há um roteiro a ser conduzido pelo entrevistador. RES.: Entrevista fechada. _________________________________________________________________________ O produto de software Smart Web Developer se refere à melhoria de produção de aplicações voltadas para web, com desenvolvimento de um novo recurso que utiliza como conceito a engenharia reversa, cujo foco é gerar relatórios dinâmicos, conversão dos dados em formato PDF. FERREIRA, V. M. da S. et al. Smart Web Developer: Uma proposta de desenvolvimento de aplicações web através de ferramenta CASE, integração e engenharia reversa em PHP. Revista Científica Digital da Faetec, v. 1, n. 1, p. 1-13, 2014. Considerando o exposto, analise o diagrama evidenciado na seguinte figura: Fonte: Ferreira et al. (2014, p. 11). A respeito das possibilidades de desenvolvimento do Smart Web Developer, analise as afirmativas a seguir e assinale V para a(s) Verdadeira(s) e F para a(s) Falsa(s). I. ( ) O Software pode ser desenvolvido em Python. II. ( ) O Software pode ser desenvolvido em PHP. III. ( ) O Software pode ser desenvolvido em JAVA. IV. ( ) O Software pode ser desenvolvido em C#. Assinale a alternativa que apresenta a sequência correta. Resposta correta. A alternativa está correta, pois o diagrama de classes tem como objetivo projetar um sistema orientado a objetos. Uma vez projetado, esse sistema pode ser implementado em qualquer uma das linguagens mencionadas nas afirmativas, bem como por qualquer outra linguagem orientada a objetos. RES.: V, V, V, V. _________________________________________________________________________ Leia o excerto a seguir. “A identificação das necessidades relativas ao domínio tem a função de orientar na elaboração de casos de uso, funcionalidades, que estão em conformidade com a proposição de situações adequadas à aprendizagem dos conceitos do domínio. Casos de uso são gerados de forma orientada a necessidades dos usuários elevando o número de dados sobre a aprendizagem dos usuários, que é considerada na especificação do sistema.” GOMES, A. S.; WANDERLEY, E. G. Elicitando requisitos em projetos de Software Educativo. IX Workshop de Informática na Escola, p. 125, 2003. Anais (…). No que tange ao exposto, analise a seguinte figura: Fonte: Elaborada pelo autor. Nesse sentido, o que o termo “manter” representa no caso de uso? Resposta correta. A alternativa está correta, pois o termo “manter” é uma maneira de representar as operações CRUD (create, read, update e delete), ou seja, inserir, editar, atualizar e excluir. Como essas operações costumam se repetir muitas vezes, a utilização de um caso de uso com o termo “manter” facilita a visualização do diagrama. RES.: O “manter” é utilizando no desenvolvimento de casos de uso para representar, inserir, excluir, listar e editar. _________________________________________________________________________