Prévia do material em texto
LABORATORIO DE SOFTWARE E PROJETOS Questões Atividade 4 – UAM 1. Analise a seguinte figura: Fonte: Elaborada pelo autor. O processo de desenvolvimento de um sistema orientado a objetos, tradicionalmente, é inicializado pelo desenvolvimento de um diagrama de classes. A partir do diagrama, as mesmas classes, atributos e métodos projetados são implementados em determinada linguagem de programação. A respeito do código fonte orientado a objetos apresentado, assinale a alternativa correta. RESPOSTA: O código representa uma classe desenvolvida em Python para cálculos matemáticos com os atributos x e y, e os métodos somar, dividir, multiplicar e subtrair. Resposta correta. A alternativa está correta, pois o código representa uma classe com atributos e métodos desenvolvidos em linguagem Python. Distinguem-se os métodos da análise por meio da inicialização dos atributos por _init__(self, x, y). Já os métodos são criados a partir do comando def. 2. 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: Entrevista aberta. 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. 3. Leia o excerto a seguir. “O teste de software é uma das atividades mais custosas do processo de desenvolvimento de software, pois pode envolver uma quantidade significativa dos recursos de um projeto. O rigor e o custo associados a essa atividade dependem, principalmente, da criticalidade da aplicação a ser desenvolvida. Diferentes categorias de aplicações requerem uma preocupação diferenciada com as atividades de teste.” NETO, A. C. D. Introdução a teste de software. Engenharia de Software Magazine, 2015. Disponível em: https://edisciplinas.usp.br/pluginfile.php/3503764/mod_resource/cont ent/3/Introducao_a_Teste_de_Software.pdf. Acesso em: 25 fev. 2020. Quanto ao exposto, assinale a alternativa que apresenta corretamente as etapas de teste. RESPOSTA: Teste de desenvolvimento, teste de release, teste de usuário e teste de aceitação. Resposta correta. A alternativa está correta, pois, em uma equipe de software, o desenvolvimento de teste segue as etapas apresentadas. De modo geral, para compreender as etapas, basta compreender qual equipe as testa, nesse caso, são: equipe de desenvolvimento, equipe de testes, qualquer usuário comum e pelo cliente. 4. Leia o excerto a seguir. “As classes são representadas ilustrativamente por uma caixa dividida em três partes, sendo a primeira o nome da classe, a segunda os atributos e, por último, as operações. Os atributos correspondem às informações que um objeto armazena e as operações são as ações que esse objeto realiza.” BECKER, A. L. Ferramenta para construção de interfaces de software a partir de diagrama de classes. Blumenau, 2009. 62f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação). Universidade Regional de Blumenau, 2009. Disponível em: campeche.inf.furb.br/tccs/2009- II/TCC2009-2-01-VF-AndreLBecker.pdf. Acesso em: 25 fev. 2020. Em relação ao exposto, analise a seguinte figura: https://edisciplinas.usp.br/pluginfile.php/3503764/mod_resource/content/3/Introducao_a_Teste_de_Software.pdf https://edisciplinas.usp.br/pluginfile.php/3503764/mod_resource/content/3/Introducao_a_Teste_de_Software.pdf Fonte: Becker (2009, p. 29). No que concerne à multiplicidade do diagrama de classes apresentado, assinale a alternativa correta. RESPOSTA: Um objeto da classe cidade está associado, obrigatoriamente, a um objeto da classe estado, visto que um objeto estado pode estar associado a um ou a muitos objetos da classe cidade. Resposta correta. A alternativa está correta, pois, ao observar o diagrama de classes, nota-se que a multiplicidade de cidade para estado é 1, ou seja, obrigatoriamente uma associação. Já a multiplicidade de estado para cidade é 1..*, ou seja, terá, ao menos, um objeto associado, mas poderá ter muitos. 5. 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:V, V, V, V. 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. 6. 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: O campo cursos poderia ser transformado em uma tabela para cursos. 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. 7. 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: João realizou o teste de desenvolvimento. 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. 8. Analise a seguinte figura: Fonte: Elaborada pelo autor. Ao desenvolver um projeto de software, torna-se necessário o desenvolvimento de um projeto de banco de dados. Assim, o ciclo de vida de um banco de dados passa a fazer parte do ciclo de vida do sistema, demarcando que os elementosdo projeto de software estejam ligados às etapas do banco de dados. O diagrama entidade relacionamento, por exemplo, muitas vezes, é desenvolvido com base em diagramas de caso de uso. Quanto ao diagrama entidade relacionamento, assinale a alternativa correta. RESPOSTA: Os campos cidade e estado podem ser transformados em tabela para evitar redundância. Resposta correta. A alternativa está correta, pois inserir os atributos cidade e estado diretamente na entidade é algo que poderá levar o usuário a inserir valores inválidos no banco, por exemplo, inserir a cidade de Sorocaba (São Paulo) com o estado de Santa Catarina. Além disso, isso permitirá a escrita errada em conjunto com abreviações. 9. Analise a seguinte figura: Fonte: Elaborada pelo autor. Ao ter em vista, principalmente, o reuso e uma manutenção simples de código, o paradigma de programação orientada a objetos já está somando décadas como o mais utilizado. Embora muitos paradigmas estejam surgindo, as fábricas de software ainda o utiliza com muita frequência. Sobre a programação orientada a objetos e o código desenvolvido apresentado, assinale a alternativa correta. RESPSOTA: O código representa uma classe escrita em linguagem PHP. A classe contém os atributos id, uf e nome. A classe contém os métodos getID, setID, getNOME, setNOME, getUF e setUF. Resposta correta. A alternativa está correta, pois o código representa uma classe com atributos e métodos desenvolvidos em linguagem PHP. Distinguem-se os métodos dos atributos por meio da análise em que os atributos são como variáveis iniciando com $ e os métodos são iniciados com o comando function. 10. 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? RESPOSTA: Caso de Teste. Resposta correta. A alternativa está correta, pois o caso de teste é um documento que descreve toda a sequência de passos a ser dada por um testador durante um teste de determinada funcionalidade. Esse documento também contém as respostas esperadas que o sistema deve dar.