Cloud Education: An Action Research Study Focusing on the Use of Cloud Computing Resources in Undergraduate Computer Science Classes

 

Cloud computing has been a successful paradigm in its goal to provide remote computing resources in a competitive and scalable way when compared to traditional computing scenarios. Companies have a growing interest in migrating and using cloud services. However, the literature has reported difficulties and challenges faced by companies while migrating their assets to the cloud. One of the possible reasons for this is the difficulty in the identification of qualified professionals to support companies to plan, perform and monitor the migration of their legacy systems to the cloud. This paper presents an action-research study analyzing the inclusion of cloud computing scenarios in the activities of Software Design and Analysis and Operating Systems undergraduate courses at Universidade Salvador (UNIFACS). The results of the action-research study provided initial evidence that cloud computing resources integrated to the contents of the aforementioned courses can contribute to motivate and engage students in activities. In addition, the knowledge and experience gained has the potential to improve the qualification of future professionals to meet the needs of the market related to cloud computing.

Proposed Strategy: Flipped Classroom

Figure 1 The proposed strategy has the goal to create conditions to tailor cloud computing scenarios to be compatible with the two course syllabus. This will enable the alignment of each topic of the course plan with the cloud computing resources/services. We decide to focus on the Operating Systems and System Analysis and Design courses for the following two reasons. The first is the potential to explore the use of cloud resources \cite{mokhtar2013cloud}. The second is the opportunity to illustrate how to perform analysis activities (aiming at characterizing and describing the problem \cite{jackson2000software}). in Figure 1

Figure 1

The activities are posted in the Blackboard portal \footnote{http://www.blackboard.com/}. It is a virtual learning environment adopted at Universidade Salvador (UNIFACS) for both face-to-face and distance learning courses. The planned activities for each course are registered in Blackboard. The activities can be reached at \footnote{http://www.sourceminer.org/cloudeducation.html}.

Figure 2

Operating Systems Course Features

An operating system (OS) is a large and complex set of system programs that control the various operations of a computer system and provide a collection of services to other (user) programs. The purpose of an operating system involves two key goals: i) Availability of a convenient, easy-to-use, and powerful set of services that are provided to the users and the application programs in the computer system; ii) Management of the computer resources in the most efficient manner\cite{tanenbaum2014modern,silberschatz2014operating,garrido2008principles}. The Ubuntu Linux distribution was adopted as the underlying operating system to perform the planned activities \footnote{https://www.ubuntu.com/}. The reason for this choice is that the Linux Ubuntu distribution is available in several cloud providers such as Google Cloud \footnote{https://cloud.google.com/compute/docs/images} and Google Cloud \footnote{https://aws.amazon.com/marketplace/pp/B01JBL2I8U}. Moreover, this distribution is well known and popular in the open source community \footnote{https://distrowatch.com/dwres.php?resource=popularity}.

Views Example


Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Roteiro de Aulas da Disciplina Análise de Projeto e Sistemas

Roteiro de Aulas da Disciplina Sistema Operacional

Questionário de Pesquisa da Disciplina APS

Questionário de Pesquisa da Disciplina SO

Questionário de Pesquisa do Perfil do Aluno - APS

Questionário de Pesquisa do Perfil do Aluno - SO

ROTEIRO DE AULAS - Aulas Práticas da disciplina Introdução ao Sistema Operacional

    • 1. Aula - 15/02/2017
    • 1.1. Apresentação do Plano de Curso / Definição da 1a Avaliação para dia 29/03/2017
    • 1.2. Login no ubuntu conta aluno
      • Pesquisa livre na web:
      • 1.3.1. Processos: O que são? Exemplos?
      • 1.3.2. Programas: O que são? Exemplos
      • 1.3.3. Atividade 1: Qual a diferença entre Processos e Programas?
      • 1.4. Execução dos comandos que ilustram funcionalidades de cada componente do sistema operacional
      • 1.4.1. Gerência de Processos
      • 1.4.2. Gerência de Memória
      • 1.4.3. Gerência de Arquivos
      • 1.4.4. Gerência de Entrada e Saída
    • 1.5. Atividade 2 - Descreva de forma resumida os principais componentes da computação em nuvem. Considere como exemplo desta descrição uma aplicação web disponibilizada na nuvem.
    • 2. Aula - 22/02/2017
    • 2.1. Revisão dos conceitos aula anterior
      • 2.2. Explicação Figura Hierarquia de memória
      • 2.2.1. Registradores (Dentro da CPU)
      • 2.2.2. Cache (L1 e L2)
      • 2.2.3. Principal (RAM e ROM)
      • 2.2.4. Auxiliares / Secundária ( Cache de Disco [Swap], Disco Magnético, Fita, CD-ROM, HD, Pen Drive)
    • 2.3. Utilização do comando sar para analisar processos e memória
    • 2.4. Utilizaçao da aplicação nodecellar para representar um processo e consumo de memória
      • 2.5. Atividades para casa
      • 2.5.1. Pesquisar. Considerando a hierarquia de memória dos sistemas operacionais mostre em diagrama como os dados e instruções de um processo migram da memória secundária até os registradores;
      • 2.5.2. Prática. Instalar e configurar uma máquina virtual no virtualbox em cima do linux 16.04 LTS com o SO linux (qualquer distribuição);
      • Em uma estação de trabalho com a distribuição linux ubuntu 16.04LTS instale e configure uma máquina virtual da oracle chamada virtualbox e configure esta máquina virtual para executar uma outra distribuição linux qualquer diferente do ubuntu 16.04;
      • 2.5.3. Acessar docker.com, identificar e apresentar o objetivo do docker, em quais cenários podem ser utilizados e apresente dois exemplos do seu uso na nuvem. VMware(SO) e Virtualbox Docker
    • Nota: Glauco, habilitar o fórum de discussão no blackboard no portal UNIFACS.

    • 3. Aula - 08/03/2017
    • 3.1. Revisão dos conceitos aula anterior: Gerência de Processo e Gerência de Memốria
    • 3.2. Explicação do VirtualBox + Imagens
    • 3.3. Explicação VM x Container
    • 3.4. Atividade: Considerando uma empresa provedora de software como serviço na nuvem que disponibilizam um portifólio de aplicações composto por módulos de A a Z, apresente uma proposta de como estes módulos podem ser disponibilizados através de um provedor na nuvem, utilizando máquinas virtuais e containers. Esta empresa posssui N clientes que demandam o uso de serviços de diferentes módulos.
    • 4. Aula - 15/03/2017
    • 4.1. Atividade fórum de discussão no blackboard da UNIFACS
    • 4.2. Execução de comandos linux, distribuição ubuntu, para analisar as gerências do plano de ensino de um SO
    • 5. Aula - 22/03/2017
    • 5.1. Revisão Gerência de Processos - Ciclo de vida do processo: (interrupcao, Bloqueio, Chamada de Sistema, Apto, Criação, Executando, Destruição)
    • 5.2. Deadlock
    • 5.3. Revisão Gerência de Memória - Hierarquia de Memória
    • 5.4. Revisão Gerência de Entrada e Saída e Gerência de Arquivos
    • 5.5. Tipos de Modo de Acesso: Usuário e Kernel
    • 5.6. SO Monolítico e Camadas, características
    • 5.7. Virtualização: Máquina Virtual e Container
    • 5.8. Estudar material disponibilizado no blackboard
    • Nota: Turma precisou entender porposta do plano de ensino de ISO

    • 6. Aula - 29/03/2017 - Revisão para primeira avaliação (2a parte)
    • 6.1. Material de aula no blackboard
    • 6.2. Aula3 - Processos / Thread
    • 6.3. Aula4 - Chamadas de Sistemas
    • 6.4. Respostas do Fórum de Discussão Sobre Bloco de Controle de Processos no Blackboard
    • 6.5. Dúvidas / Provocar Discussões e Reflexões / Debates
    • 7. Aula - 05/04/2017
    • 7.1. 1a Avaliação da disciplina (teórica)
    • 8. Aula - 12/04/2017
    • 8.1. Correção das questões da 1a avaliação, através do fórum de discussão, com orientação do professor nos debates.
    • 9. Aula - 19/04/2017 ???
    • 9.1. Pesquisar no google pelos principais algortimos de escalonamento de processos
    • 9.2. Em pares, escolha um algortimo e elabore um pequeno texto e figura que o exemplifique
    • 9.3. Algoritmos preemptivos e não preemptivos
    • 9.4. Revisão: Níveis de Acesso de Execução dos Processos: Usuário e Kernel
    • 9.5. Revisão: Perfis de Processos: CPU Bound e I/O Bound, Tamanho dos Processos (Qtd de Instruções)
      • 9.6. Otimizar Uso de Execução de Processos (Escalonamento), critérios (indicadores):
      • 9.6.1. Grau de Utilização da CPU; Tempo de Produtividade / Tempo de Retorno / Tempo de Espera / Tempo Médio de Espera
    • 9.7. Estrutura de Dados de Processos (Ficam no Bloco de Controle de Dados de Processos que estão na memória)
    • 9.8. Demonstração do Uso do simulador SOSIM, para analisar os principais algoritmos de escalonamento de processos, gerenciamento de memória e entrdada/saída
    • Nota: 2a Avaliação ISO: 07/06/17

    • 10. Aula - 26/04/2017
    • 10.1. Pesquisar outros simuladores para analisar os principais algoritmos de escalonamento de processos, gerenciamento de memória e entrada/saída
    • 10.2. Gravar um vídeo de demonstração das funcionalidades do simulador referente as gerências de SO e postar no youtube
    • 11. Aula - 03/05/2017
    • 11.1. Exemplos de Algoritmos de Escalonamento de Processos
    • 11.2. Exercícios em Pares de Escalonamento de Processos
    • 11.3. Pesquisa de Algoritmos de Alocação de Memória
    • 12. Aula - 10/05/2017
      • 12.1. Gerenciamento de Alocação de Memória
      • 12.1.1. Política de Seleção de Partição: First-Fit; Best-fit-only; Best-available-fit
      • 12.1.2. Fragmentação Interna x Externa
    • Nota. Na próxima aula, 17/05/17, terão atividades relacionadas com os livros: TANENBAUM e SILBERSCHATZ

    • 13. Aula - 17/05/2017
    • Questionário:
      
      1) Explique a diferença entre endereço lógico e endereço físico.
      2) Explique os seguintes algoritmos de alocação de memória:
      	a) First-fit (o primeiro que couber):
      	b) Best-fit (o que melhor couber, pela menor diferença):
      	c) Worst-fit (o que pior couber, pela maior diferença):
      	d) Next-fit
      	e) Apresente dois outros algoritmos de alocacao de memoria e os descreva.
      3) Considere as seguintes partições livres na memória: 10K, 20K, 4K, 7K, 9K, 12K, 15K e 18K. Como os algoritmos First-fit, Best-fit, Worst-fit e Next-fit alocariam partições para as seguintes requisições?
      	a) 12K
      	b) 10K
      	c) 9K
      	Nota: Desempenho x Uso do espaço disponivel para enderecamento
      4) Explique a diferença entre fragmentação externa e interna.
      5) Considere um espaço de endereçamento lógico de 8 páginas de 1K cada, mapeados em uma memória física de 32 frames.
      	a) Quantos bits tem o endereço lógico?
      	b) Quantos bits tem o endereço físico?
      6) Quando ocorre uma falta de página (page fault)? Descreva as ações do SO em uma page fault?
      7) Apresente um algoritmo em portugues estruturado para cada um dos seguintes algoritmos: first-fit, best-fit e worst-fit. 
      8) Questão Complementar. Como seria o algoritmo para cada uma das opções citadas?
      	a) First-Fit ?
      	b) Best-Fit  ?
      	c) Worst-Fit ?
      				

      Nota: Os alunos utilizaram o livro de apoio solicitado na aula anterior para discurssão de alocação de memória.

      Resolução de Exercícios Sobre Gerenciamento de Memória
      ( Algoritmos de Alocação de Memória )
      				
      Solução da Questão 8) a)
      				
      v[7]= vetor{10, 20, 4, 7, 9, 12, 15 e 18} numerico;
      			
      i= 0;
      enquanto (i < 8) faça
      {
      	se (x <= v[i]) então
      	{  v[i] = x; sair;
      	}
      	i= +1;
      }
      		
      Solução da Questão 8) b)
      			
      v[7]= vetor{10, 20, 4, 7, 9, 12, 15 e 18} numerico;
      					
      indice= 0; diferenca= x - v[0]; x=12;
      para i = 1 até 7 faça
      {
      	se (x > v[i]) e (diferenca > x - v[i]) entao
      	{   indice = i; direfenca= x - v[i];
      		se (diferenca = 0) então { sair; }
      	}
      } 
      					
      se (indice = 0) e (x > v[0]) então
      	escreva ("não é possível alocar o dado na memória");
      	senão
      		v[indice]= x;
      						
    • 14. Aula - 24/05/2017
    • Questionário:
      1. Em um Sistema Computacional é correto afirmar:
      	i) A CPU pode carregar instruções diretamente da memória secundária.
      	ii) A memória principal é composta de palavras, cada qual com seu endereço.
      	iii) A instrução LOAD move o conteúdo de um registrador para a memória principal.
      	iv) A instrução MOVE move palavra da memória principal para registrador da CPU.					
      2. Elabore um algoritmo em português estruturado que implemente os alocações first-fit, best–first
      e worst-fit.
      3. Assinale a alternativa que melhor defina alocação contígua em disco.
      	a) Consiste em armazenar um arquivo em blocos sequencialmente dispostos no disco. O sistema localiza um
      		arquivos através do endereço do primeiro bloco e da sua extensão em blocos.
      	b) Um arquivo pode ser organizado com um conjunto de blocos ligados fisicamente no disco, independente de
      		sua localização lógica. Cada bloco deve possui um ponteiro para o bloco seguinte do arquivo, e assim
      		sucessivamente.
      	c) Consiste em armazenar um arquivo em blocos radomicamente dispostos no disco. Neste tipo de alocação, o
      		sistema localiza um arquivos através do endereço do primeiro bloco e da sua extensão em blocos.
      	d) Um arquivo pode ser organizado com um conjunto de blocos ligados logicamente no disco, independente de
      		sua localização física. Cada bloco deve possui um ponteiro para o bloco seguinte do arquivo, e assim
      		sucessivamente.				
      4. “Um arquivo pode ser organizado como um conjunto de blocos ligados logicamente no disco independente de
      	sua localização física ...” Assinale qual tipo de alocação refere-se o texto acima.
      		a) Alocação encadeada
      		b) Alocação circular
      		c) Alocação contígua
      		d) Alocação indexada
      5. Descreva e compare a estrutura de diretórios de nível único, com dois níveis e com diretórios 
      	hierárquicos. Apresente as limitações e vantagens de cada uma.
      6. Descreva e compare as seguintes formas de alocação de espaço em disco: alocação contígua, alocação
      	encadeada, alocação indexada. Apresente as limitações e vantagens de cada uma.
      7. Considerando, os sistemas de arquivos, quais as vantagens e desvantagens de usar locks obrigatório em
      	vez de locks de consulta?
      				
    • 15. Aula - 31/05/2017
      • 15.1. Sistemas de Arquivos
      • 15.1.1. Organização / Armazenamento do Disco: Trilhas e setores; área de boot;
      • 15.1.1. Métodos de Acesso
      • 15.1.2. Atributos
      • 15.1.3. Diretórios
      • 15.1.4. Pesquisar Algoritmo de implementação de busca de arquivos no windows (FAT; NTFS) x linux (inode)
      • 15.1.5. Quais dos Algoritmos de busca windows x linux tem o melhor desempenho ? Porque ?
    • Nota: url conteúdo abordado http:/www.gsigma.ufsc.br/~popov/aulas/so1/cap10so.html

    • 16. Aula - 07/06/2017
    • 16.1. 2a Avaliação
    • 17. Aula - 14/06/2017
    • 17.1. Aplicação do Questionário de Pesquisa Perfil do Aluno e Aderência com a Disciplina
    • 17.2. Entrega e Dúvidas da 2a Avaliação

ROTEIRO DE AULAS - Aulas Práticas da disciplina Analise e Projetos

    • 1. Aula - 13/02/2017
    • 1.1. Apresentação do Plano de Curso / Definição da 1a Avaliação para dia 27/03/2017
    • 1.2. Aluno criar conta no github
    • 1.3. Apresentação do appweb nodecellar
    • 1.4. Pesquisa livre na web sobre o que é Requisitos Funcionais e exemplos
    • 1.5. Identificar na appweb nodecellar os Requisitos Funcionais e sugerir novos requisitos funcionais
    • 1.6. Criar documento com os RFs identificados e sugeridos da appweb nodecellar e realizar commit no
      github
    • 1.7. Apresentação de um aluno selcionado para explanar RFs identificados e sugeridos da appweb
      nodecellar e debate com alunos
    • 1.8. Atividade para casa criar mapa mental através do freemind dos RFs identificaods e novos requisitos
      funcionais sugeridos da appweb nodecellar para evolução da arquitetura.

    Grau de Satisfação da Turma: Após o término da aula a turma foi questionada sobre a metodologia e todos concordaram com a didática e abordagem prática do conteúdo possibilianto o corpo discente a pesquisa, reflexão, debate e esclarecimentos referente ao objeto de estudo.

    Parabenizando pela proposta inovadora de com base numa aplicação pano de fundo abordar o conteúdo da disciplina.

    • 2. Aula - 20/02/2017
    • 2.0. Revisão da aula anterior (CRUD - requisitos funcionais);
    • 2.1. Requisitos não funcionais: exemplo: segurança
    • 2.2. Necessidades dos usuários
    • 2.3. Regras de negocio
    • 2.4. Requisitos funcionais e requisitos não funcionais
    • 2.4.1. Levantados/identificados/elicitados
    • 2.5. Exemplos de template de caso de uso
    • 2.6. Exemplos de diagrama de caso de uso
      • 2.7. Atividades:
      • selecionar um template qualquer;
      • reproduzir o template em docx;
      • criar os casos de uso das melhorias/evolução da aplicação nodecellar;
      • criar o diagrama dos casos de uso da app nodecellar.
    • 3. Aula - 06/03/2017
    • 3.1. Revisão do que foi discutido nas aulas 1 e 2
    • 3.2. Discussão do documento Casos de USo do Prof Ricardo Falbo da UFES com enfase na estrutura do que deve conter um caso de uso.
    • 3.3. Introdução nas possibilidades de relacionamento entre casos de uso
    • 3.4. Exemplo do uso de protótipos para complementar e validar as informações contidas nos casos de uso
    • 3.5. Os alunos foram solicitados a ajustar os casos de uso elaborados na aula anterior em relação aos itens descritos no documento sobre casos de uso disponibilizado no Blackboard.
    • 3.6. Foi informado que os alunos deveriam responder no mínimo a uma das perguntas colocadas no fórum de discussao no Blackboard e que também deveriam comentar no minimo duas questões apresentadas pelos colegas no fórum.
    • 3.2. Os alunos que participaram pela primeira vez desta disciplina na aula de hoje ficaram no final para assistir um resumo do que já tinha sido discutido nas aulas anteriores e também assistiram apresentação do plano de ensino da disciplina.
    • 4. Aula - 13/03/2017
    • Atividade fórum de discussão no blackboard da UNIFACS
    • 4.2. Atividade de criação de caso de uso da aplicaçao livre ???
    • 4.3. Atividades de criação de diagrama de classe conceitual da aplicação livre ???
    • 5. Aula - 20/03/2017
    • 5.1. Instalar Virtualbox, aplicação para trabalhar com virtualização de máquinas virtuais
    • 5.2. Importar imagem da aplicação OpenEMR para o virtualbox
    • 5.3. Acessar aplicação no browser
    • 5.4. Apresentar as funcionalidades da aplicação OpenEMR
    • 5.5. Definição do conteúdo da 1a avaliação da disciplina
    • 6. Aula - 27/03/2017 - niver de Julia (Faltei esta aula)
    • 6.1. Revisão geral para avaliação da disciplina
    • 7. Aula - 03/04/2017
    • 7.1. 1a Avaliação da Disciplina (Teórica)
    • 8. Aula - 10/04/2017
    • 8.1.Correção das Questões da 1a Avaliação, através do fórum de discussão, com orientação do professor para tirar dúvidas.
    • 9. Aula - 17/04/2017
    • 9.1. Documentação da Aplicação Serviço de Taxi (app web). ( github.com/mistryrn/taxi-app )
      • 9.2. Artefatos
        • 9.2.1. Analise
        • 9.2.1.1. Especificação de Requisitos
        • 9.2.1.2. Casos de Uso
        • 9.2.1.3. Diagrama de Casos de Uso
        • 9.2.2. Projetos
        • 9.2.2.1. Arquitetura de Software (Subsistemas: View, ViewController; Dispatcher(Middleware; DataController; Datastore);
        • 9.2.2.2. Diagrama de Sequência
        • 9.2.2.3. Diagrama de Classes
    • 9.3. Material de Apoio UML - Paradigma Orientação a Objetos => www.dsc.ufcg.edu.br/~jaques/cursos/map/html/uml Artefatos
      AnaliseProjetos
      1. Especificação de Requisitos 2. Arquitetura de Software
      1.1. Casos de Uso 3. Diagrama de Sequência
      1.2. Diagrama de Casos de Uso 4. Diagrama de Classes
    • Nota: Conteúdo: Diagrama de Classes, Diagrama de Sequência e Exemplos 2a Avaliação Analise e Projeto: 05/06/17

    • 10. Aula - 24/04/2017
    • 10.1. Aula programada no blackboard
    • 11. Aula - 01/05/2017
    • 11.1. Feriado - Dia do Trabalhador
    • 12 Aula - 08/05/2017
      • 12. Diagramas de UML
      • 12.1. Diagrama de Sequência
    • 12.2. Diagrama de Atividades
    • 12.3. Elaboração de Diagramas
      • 12.4. Engenharia Direta
      • 12.4.1. Regras de Negócio, Requisitos Funcionais e Requisitos Não Funcionais, Casos de Uso / História de Usuário, Diagrama de Casos de Uso, Diagrama de Classe Conceitual, Diagrama de Classe de Sistema, Diagrama de Interação((Diagrama de Sequência, Diagrama de Atividades), Diagrama de Compoenentes, Diagrama de Implantação
      • 12.5. Engenharia Reversa
        • 12.5.1. Código Fonte, Código Binário
        • 12.5.1.1. Diagrama de Sequência, Diagrama de Atividades, Diagrama de Classes
      • 12.6. Acessar url https://github.com/mistryrn/taxi-app
        • 16.1. Dado os source code em .java, aplicar engenharia reversa para apresentar o diagrama de classes)
        • 16.1.1. Apresentado Algumas tools: poseidon uml standard; argouml; staruml; Visual Paradigm UML free trial; Enterprise Architect UML
        • 16.1.2. Demonstração exemplo em vídeo no youtube de um código em java utilizando engenharia reversa para criar o diagrama de classe
        • 16.1.3. Apresentação documentação referência www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/uml.htm
      • 12.7. Trabalho Projeto (Reposição de aula 24/04/17 e Compensação de C.H. 01/05/17)
      • 12.7.1. Será disponibilizado no blackboard
    • 13. Aula - 15/05/2017
    • 13.1. Diagrama UML - Comparação
    • 13.2. Características de Diagramas de Classe
      • 13.3. Elaboração de diagramas de classe a partir de artefatos fornecidos
      • 13.3.1. Estudo de Caso do programa de alocação de salas numa universidade
    • 13.4. Próxima aula trazer um dos livros indicados na referência do plano de ensino
    • 13.5. Citação de outras ferramentas UML, Astah UML, draw.io, Visio da Microsoft.
    • Notas: 1. 2a Avaliação dia 05/06/2017 2. Reforço da importância dos estudos das referências sugeridas no plano de ensino. 3. Somente 01(um) aluno realizou a atividade da aula anterior, referente a engenharia reversa. 4. Material disponível de aula UML (curso UML), no link www.dsc.ufcg.edu.br 5. Reforço para realizar a atividade anterior, referente a engenharia reversa, do sistema de taxi-app, dado 04(quatro) artefatos. 6. Utilizado o portal da Amazon.com para simular compras de livros, relacionando com os diagramas UML

    • 14. Aula - 22/05/2017
    • 14.1. Exercicíos Diagrama UML
      
      1) Elabore um diagrama de classes para representar um e-mail considerando, no mínimo, 
      	seus seguintes componentes: destinatário, assunto, texto, arquivo anexo, dentre outros.
      2) Elabore um diagrama de classes para representar um livro composto de paginas e estas últimas compostas por parágrafos. Além disso, considere a possibilidade do livro ter uma sobre-capa.
      3) Elabore um diagrama de classes para representar a seguinte situação: todo aluno matriculado no último semestre será orientado por um professor para as atividades do seu Trabalho Final de Curso. Alguns professores orientam vários alunos e outros, nenhum. 
      4) O diagrama de classes na notação UML, apresentado abaixo, NÃO permite deduzir que um:
      	(A) ator atua em um único filme
      	(B) diretor pode não ter dirigido nenhum filme
      	(C) documentário possui título e verba
      	(D) longa metragem é produzido por pelo menos um produtor
      	(E) produtor produziu filmes de um determinado diretor
      
      	Figura UML 1
      	(Resposta Letra A)
      
      5) Na modelagem de sistemas, há um conjunto de atividades denominado Engenharia de Requisitos.
      	Nexto contexto, o propósito da validação de requisitos é:
      	(A) assegurar que os requisitos menos arriscados sejam considerados inicialmente no	desenvolvimento.
      	(B) assegurar que o produto de software sendo especificado está em conformidade com as necessidades do usuário
      	(C) aumentar o nível de abstração na comunicação entre especialistas do domínio e engenheiros de requisitos
      	(D) definir formas de rastrear os requisitos a partir dos correspondentes artefatos de modelagem e de código eventualmente existentes	
      	(E) maximiizar o reúso de requisitos voláteis identificados em outros sistemas
      		(Resposta Letra B)
      6) Questao 6 na folha seguinte:
      	No modelo de classes de projeto em notação UML 2.3 mostrado abaixo, no qual os detalhes irrelevantes 
      	para a questão foram omitidos, considere que:
      		. ClasseY é a única classe abstrata do diagrama
      		. São apresentados os únicos relacionamentos existentes entre as classes envolvidas
      		. Z é uma instância de ClasseZ
      
      	O modelo ao lado permite concluir que uma mensagem enviada por Z pode, direta ou indiretamente, disparar
      	a execução de uma operação definida em:
      	(A) ClasseU e ClasseW, mas não em ClasseX
      	(B) ClasseU e ClasseW, mas não em ClasseY
      	(C) ClasseX e ClasseY, mas não em ClasseZ
      	(D) ClasseX e ClasseZ, mas não em ClasseW
      	(E) ClasseZ e ClasseY, mas não em ClasseU 
      			Figura UML 2
      		(Resposta Letra A)
      							
    • 15. Aula - 29/05/2017
    • 15.1. Revisão Geral para 2a Avaliação
    • 16. Aula - 05/06/2017
    • 16.1. 2a Avaliação
    • 17. Aula - 12/06/2017
    • 17.1. Aplicação do Questionário de Pesquisa Perfil do Aluno e Aderência com a Disciplina
    • 17.2. Revisão Diagrama de Sequência e de Classe
    • 17.3. Entrega e Dúvidas da 2a Avaliação

 

 

 

 


Design downloaded from Zeroweb.org: Free website templates, layouts, and tools.