Buscar

Aprendizagem em Foco (PDF para download) (1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 45 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

WBA0882_v1.0
APRENDIZAGEM EM FOCO
DESIGN PATTERNS E GERÊNCIA 
DE CONFIGURAÇÃO: DO PROJETO 
AO CONTROLE DE VERSÕES
2
APRESENTAÇÃO DA DISCIPLINA
Autoria: Arthur Gonçalves Ferreira
Leitura crítica: Marco Ikuro Hisatomi 
Olá, aluno! Na disciplina Design Patterns e gerência de configuração: 
do projeto ao controle de versões, você aprenderá sobre conceitos 
gerais de padrões de projetos. Vamos estudar seu surgimento, 
sua aplicabilidade e seus padrões de projetos existentes. Você 
aprenderá ainda sobre a gerência de configuração de software, 
quais ferramentas são utilizadas para esse processo e seus desafios. 
Por meio dos conteúdos propostos, um dos objetivos desta 
disciplina é aperfeiçoar a competência e a habilidade do profissional 
em TI.
Você estudará sobre as melhores práticas de controle de versões 
de uma forma prática, utilizando ferramentas de controle de 
versionamento. Além de todos esses conceitos, conhecerá como 
integrar o design patterns com a gerência de configuração em 
projetos de softwares, visualizando projetos propostos para 
a aplicabilidade dos padrões de projetos com a gerência de 
configuração.
Dessa forma, no final desta disciplina, você terá como competência 
e habilidade conhecer e diferenciar os principais padrões de projeto 
GoF, propiciando sua adoção em projetos de software; entender a 
Gerência de Configuração, no que tange às atividades essenciais de 
Controle de Mudança, Controle de Versão e Integração Contínua, 
e como essa gerência pode ser aplicada no desenvolvimento de 
software; reconhecer e utilizar ferramentas de controle de versão, 
favorecendo a atividade de Controle de Versão no contexto da 
Gerência de Configuração; e analisar projetos de software que 
3
integrem Design Patterns e a Gerência de Configuração, visando à 
qualidade.
Bons estudos!
INTRODUÇÃO
Olá, aluno (a)! A Aprendizagem em Foco visa destacar, de maneira 
direta e assertiva, os principais conceitos inerentes à temática 
abordada na disciplina. Além disso, também pretende provocar 
reflexões que estimulem a aplicação da teoria na prática 
profissional. Vem conosco!
Design Patterns: conhecendo os 
principais padrões 
______________________________________________________________
Autoria: Arthur Gonçalves
Leitura crítica: Marco Ikuro Hisatomi
TEMA 1
5
DIRETO AO PONTO
Os padrões de projetos, conhecidos também como design patterns, 
são uma área muito utilizada na engenharia de software e têm 
como objetivo solucionar problemas de desenvolvimento. A ideia é 
poder utilizar um mesmo padrão em vários outros problemas, mas 
é preciso tomar cuidado, pois o fato de você sempre utilizar ou já ter 
utilizado um determinado padrão antes não significa que ele será 
sempre a escolha correta quando for resolver um problema. Aqui 
é importante olhar para os padrões de natureza semelhante e para 
os padrões de um mesmo grupo; talvez seu problema possa ser 
resolvido por um padrão da mesma família.
Embora os padrões de projetos não tenham sido inicialmente 
criados para serem aplicados na resolução de problemas de 
desenvolvimento de software, com o passar do tempo foi inevitável 
que os conceitos criados pelo arquiteto Christopher Alexander 
em 1977 passassem a ser utilizados para esse fim. A definição de 
padrões de projeto daquela época pode ser aplicada em dias atuais, 
quando temos que um padrão de projeto reúne problema, solução e 
contexto. Sendo assim, todo padrão de projeto é uma solução para 
um determinado problema e contexto.
Para a engenharia de software, o termo padrão de projeto só 
ganhou um grande destaque quando os Gang of Four (Gangue/
bando dos quatro) escreveram o livro Padrões de Projeto: soluções 
reutilizáveis de software orientado a objetos. É por isso que é muito 
comum ouvir o termo “Padrões de projeto GoF”, fazendo referência 
às iniciais do termo em inglês. A Figura 1 mostra os padrões de 
projetos catalogados pelos autores do livro mencionado.
6
Figura 1 – Padrões de projeto
Fonte: elaborada pelo autor.
Nem todo problema de desenvolvimento de software deve ser 
resolvido com a utilização de um padrão; na realidade, os padrões 
de projetos devem ser vistos como soluções complexas. Portanto, 
antes de tudo, é necessário verificar a necessidade ou não de se 
utilizar algum padrão. Você deve observar se o problema existente 
em seu sistema pode ser resolvido com uma implementação 
mais simples ou se a melhor solução seria utilizar um padrão de 
projeto, o que facilitaria no reuso e no aprendizado da equipe de 
desenvolvimento.
Padrões de criação
Padrões de estrutura
Padrões de comportamento
7
Por outro lado, caso o problema do desenvolvimento de software 
possa ser resolvido com um padrão, é necessário, antes de tudo, 
que você estude todos os padrões para saber as características de 
cada um. Dessa forma, saberá qual padrão deve ser utilizado em um 
problema específico.
Referências bibliográficas
LEITE, A. F. Conheça os Padrões de Projeto. DevMedia, 2005. Disponível em: 
https://www.devmedia.com.br/conheca-os-padroes-de-projeto/957. Acesso em: 
20 abr. 2021. 
PARA SABER MAIS
O padrão de projeto de criação tem como objetivo criar mecanismos 
que controlem a criação de novos objetos em um desenvolvimento 
de software. Um sistema que possui muitos objetos torna-se um 
sistema muito complexo, com um nível alto desnecessário.
Os padrões de projeto de criação concentram-se exclusivamente no 
controle completo de separação, mas não só na criação de objetos, 
como também na conclusão e representação. O principal padrão 
de projeto de criação é o factory method (Método de fábrica), cujo 
objetivo é encapsular objetos, criando uma interface de sistema em 
que a classe escolhe qual objeto deverá ser criado.
Um exemplo prático do padrão de projeto de criação factory method 
seria um sistema de cursos on-line, no qual existe um cadastro 
prévio. O sistema solicita as informações pessoais do cliente, como 
nome, sexo, CPF, telefone etc., e no final do cadastro o cliente já 
pode acessar sua conta de forma imediata. É muito comum nesse 
tipo de sistema aparecer, toda vez que o usuário efetua o log-in, 
uma saudação parecida como “Olá, fulano, seja muito bem-vindo!”. 
8
Geralmente a saudação é realizada com estruturas de decisão if, 
mas podemos utilizar o factory method para guardar as informações 
de sexo e nome, criando um objeto “homem” para realizar a 
saudação correta; dessa forma, tudo fica guardado dentro do factory 
method.
Se a linguagem de programação Java fosse utilizada para 
desenvolver a ideia citada, teríamos:
public static void main(String args[]) {
 FactoryUsuario factory = new FactoryUsuario();
 String nome = “Fulano”;
 String sexo = “M”;
 factory.getPessoa(nome, sexo);
 }
}
De forma geral, o padrão de projeto de criação factory method pode 
ser representado conforme a figura a seguir:
9
Figura 2 – Padrão de projeto de criação factory method
Fonte: https://www.flickr.com/photos/m-i-k-e/6804688590. Acesso em: 9 ago. 2021.
Imagine que você é um desenvolvedor de uma empresa de aluguel 
de veículos. Inicialmente esse sistema contava com apenas um tipo 
de veículo disponível para aluguel. Dessa forma, necessariamente, 
a maior parte de código desse sistema ficava guardado em uma 
classe. Com o passar do tempo, a empresa cresceu e agora existe a 
necessidade de expandir o sistema com a inclusão de outros tipos 
de veículos para aluguel. Como resolver esse problema sem que seja 
necessário mudar por completo o sistema ou sem deixar o código 
demasiadamente confuso? A resposta seria o padrão de projeto 
factory method.
O padrão de projeto factory method é muito implementado para 
a resolução de problemas complexos, de sistemas robustos. Sua 
utilização auxilia para que o código de um determinado sistema 
10
não se expanda de uma forma descontrolada, mantendo uma boa 
prática de programação, o que faz com que o sistema funcione de 
acordo com os objetivos predefinidos pelo cliente.
TEORIA EM PRÁTICA
Um desenvolvedorde software está trabalhando em um projeto 
muito complexo que tem como objetivo a criação de um sistema 
web e-commerce. Nesse site o usuário deverá utilizar o sistema para 
realizar consultas no catálogo de produtos, além de poder realizar 
suas compras de forma tranquila, sem que o sistema apresente 
nenhum problema.
Analise a situação descrita e aponte se é necessária a utilização de 
um padrão de projeto. Caso a resposta seja positiva, análise qual 
padrão de projeto melhor se adaptaria a esse projeto. Lembre-se 
de que em um sistema e-commerce existe a possibilidade de muitas 
conexões de navegação, o que levaria a uma grande quantidade de 
duplicação de código nas páginas.
Para conhecer a resolução comentada proposta pelo professor, 
acesse a videoaula deste Teoria em Prática no ambiente de 
aprendizagem.
LEITURA FUNDAMENTAL
Prezado aluno, as indicações a seguir podem estar disponíveis 
em algum dos parceiros da nossa Biblioteca Virtual (faça o log 
in por meio do seu AVA), e outras podem estar disponíveis em 
Indicações de leitura
11
sites acadêmicos (como o SciELO), repositórios de instituições 
públicas, órgãos públicos, anais de eventos científicos ou 
periódicos científicos, todos acessíveis pela internet. 
Isso não significa que o protagonismo da sua jornada de 
autodesenvolvimento deva mudar de foco. Reconhecemos 
que você é a autoridade máxima da sua própria vida e deve, 
portanto, assumir uma postura autônoma nos estudos e na 
construção da sua carreira profissional. 
Por isso, nós o convidamos a explorar todas as possibilidades da 
nossa Biblioteca Virtual e além! Sucesso!
Indicação 1
O livro indicado aborda sobre os principais tópicos relacionados 
a padrões de projetos. Nele, é possível conhecer os padrões de 
criação, de comportamento e de estrutura, além de aumentar sua 
habilidade por meio de estudos de casos disponibilizados.
GAMMA, E. et al. Padrões de projetos, soluções reutilizáveis 
de software orientado à objetos. Tradução de Luiz A. Meirelles 
Salgado. Porto Alegre: Bookman, 2008.
Indicação 2
O Capítulo 36 do livro indicado aborda o tema “Mais projeto de 
objetos com padrões GoF”. Nele, o leitor é convidado a desvendar 
mais sobre os 23 padrões catalogados pelos Gang of Four.
LARMAN, C.; KRUCHTEN, P. Utilizando UML e Padrões: Uma 
Introdução à Análise e ao Projeto Orientados a Objetos e ao 
Desenvolvimento Iterativo. 3. ed. Porto Alegre: Bookman, 2007. 
12
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes neste 
Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em Foco 
e dos slides usados para a gravação das videoaulas, além de 
questões de interpretação com embasamento no cabeçalho 
da questão.
1. Em 1977, surgiu o termo padrão de projeto com grande 
aplicabilidade na área da construção civil. Com o tempo, sua 
definição passou a ser aplicado em outras áreas, como na 
engenharia de software. Dessa forma, atualmente é impossível 
pensar em desenvolvimento de software sem pensar em 
padrões de projetos, visto que têm grandes aplicabilidades 
nessa área. 
Com base nos seus conhecimentos e no texto anterior, 
podemos definir padrões de projeto no desenvolvimento de 
software como:
a. Os padrões de projetos podem ser aplicados no 
desenvolvimento de software, porém um padrão só se aplica a 
um determinado problema.
b. Um padrão de projeto se define como uma solução para um 
problema dentro de um contexto.
c. O termo padrões de projetos ganhou força no 
desenvolvimento de software graças aos Gang Of Five, quando 
catalogaram cerca de 26 padrões de projetos.
13
d. Os padrões de projetos são ferramentas com soluções 
simples; assim, não devemos utilizá-los para soluções de 
problemas complexos.
e. O conceito de padrões de projetos está ligado à não 
reutilização de um determinado padrão para mais de um 
problema. 
2. Nas áreas da engenharia e desenvolvimento de software, 
os padrões de projetos são conhecidos como “padrões de 
projetos GoF”, em que GoF são as iniciais do termo Gang of 
Four (gangue dos quatro), uma alusão aos autores de um livro 
sobre padrões de projetos lançado em 1994. Esse livro foi 
um grande marco para os padrões de projetos, porque pela 
primeira vez foram catalogados padrões de projetos com suas 
respectivas características, separadas por grupos.
Com base nos seus conhecimentos e no texto anterior, os 
grupos de padrões criados pelos Gang of Four são:
a. Criacionistas, evolucionistas e cristões.
b. Associativos, realistas e relativos.
c. De criação, estrutura e comportamento.
d. Criacionistas, de comportamento e relativos.
e. Associativos, de estrutura e realistas. 
GABARITO
Questão 1 - Resposta B
Resolução: Um padrão de projeto possui necessariamente 
três partes: problema, solução e contexto. O problema está 
14
relacionado ao código que está sendo desenvolvido; a solução 
é a escolha de um padrão; e o contexto está relacionado ao tipo 
de aplicação. 
Questão 2 - Resposta C
Resolução: Os padrões catalogados pela Gang of Four foram 
inseridos nos grupos: padrões de projetos de criação, padrões 
de projetos de comportamento e padrões de projetos de 
estrutura, sendo possível citar um exemplo de cada grupo: 
o padrão de projeto de criação Factory method; o padrão de 
projeto de estrutura Adapter pattern; e padrão de projeto de 
comportamento Mediator pattern. As demais alternativas estão 
incorretas, pois não trazem os nomes corretos dos grupos. 
Gerência de configuração: 
atividades, ferramentas e desafios 
______________________________________________________________
Autoria: Arthur Gonçalves
Leitura crítica: Marco Ikuro Hisatomi
TEMA 2
16
DIRETO AO PONTO
Engana-se quem pensa que não existe gerência de configuração de 
software após o sistema ser entregue ao cliente, isso porque por 
diversas vezes um software é vendido ao cliente com a promessa 
fechada em contrato de que as modificações serão realizadas 
para que se adequem às necessidades de utilização do cliente. É 
dessa forma que a configuração de gerência de configuração de 
software deve ser entendida, como uma ferramenta que auxilia no 
processo de desenvolvimento, manutenção e mudança de software, 
permitindo maiores chances de sucesso em projeto de software. 
Quando falamos em desenvolvimento de software, uma das 
primeiras preocupações que surgem está relacionada a sua gerência 
de configuração. Analisar de que forma desenvolver um sistema, 
levando em consideração o processo de projeto, de execução e o 
pós-desenvolvimento, é um fator que constantemente preocupa 
muitos desenvolvedores.
Criar programas, sistemas e softwares em geral tornou-se um 
mercado muito promissor, porque a procura por esse serviço vem 
crescendo cada vez mais nos últimos anos. Com isso, desenvolver 
um software passou a ser mais complexo do que antes, aliando-se 
ao crescimento de demanda, aos fatores evolução de tecnologias e à 
busca por sistemas cada vez mais robustos.
A gerência de configuração de software reúne quatro atividades 
essenciais: a gerência de configuração de mudanças, a gerência de 
configuração de versões, a gerência de configuração de construção 
de sistemas e a gerência de configuração de releases. Cada atividade 
possui ferramentas que auxiliam no processo de desenvolvimento e 
gerência de software.
17
Para entender melhor a gerência de configuração de software, 
é necessário conhecer alguns conceitos básicos, algumas 
terminologias consideradas essenciais. O Quadro 1 mostra os 
conceitos básicos segundo a visão do autor Sommerville (2018):
Quadro 1 – Conceitos básicos de gerência de configuração de 
softwares
Conceito Definição
Controle de configuração
Controla versões de componentes 
de sistemas, garantindo registros e 
armazenamento das informações, 
além do gerenciamento adequado 
de mudanças.
VersãoÉ uma instância de um item de 
configuração (IC), como projeto, 
código, dados de teste, documentos. 
Possui um identificador único, 
composto por um nome, seguido do 
número da versão.
 
Baseline
É um repositório que reúne um 
conjunto de versões de itens de 
configuração que compõem um 
sistema. 
Codeline
Conjunto de versões de um 
componente de software e 
outros itens de configuração 
(projeto, código, dados de teste, 
documentos) dos quais esse 
componente depende.
 
Release
Versão de sistema liberada para 
uso. 
18
Espaço de trabalho
Área de trabalho privada em que 
o software pode ser modificado 
sem afetar outros desenvolvedores 
que possam estar usando ou 
modificando-o.
Construção de sistema
Processo de criação de uma 
versão de sistema executável 
com componentes e bibliotecas 
adequados que o compõem.
Fonte: elaborado pelo autor.
Referências bibliográficas
BORGES, S. S. Apoio de gerência de configuração de software ao 
ARAGAwCRe. Dissertação (Mestrado em Ciência da Computação) – 
Universidade Federal de São Carlos, São Carlos, 2009.
MORAIS, I. S.; ZANI, A. Engenharia de software. Porto Alegre: SAGAH, 2017.
PRESSMAN, R. S. Engenharia de Software, uma abordagem profissional. 
Tradução de Ariovaldo Griesi e Mario Moro Fecchio. 8. ed. Porto Alegre: AMGH, 
2016.
SOMMERVILLE, I. Engenharia de Software. Tradução Luiz Cláudio Queiroz. 10. 
ed. São Paulo: Pearson Education do Brasil, 2018. 
PARA SABER MAIS
Na gerência e na configuração de software, existe um conceito muito 
importante e constantemente mencionado pelos desenvolvedores 
que é o item de configuração, conhecido também como IC. Um 
IC é normalmente definido como sendo uma unidade básica de 
informação controlada no gerenciamento de configuração de 
software.
Geralmente, ele faz parte do ciclo de vida de um sistema, como 
códigos-fontes, componentes, alguns relatórios ou até mesmo 
19
hardwares e ferramentas. É muito importante escolher entre utilizar 
ou não os IC em um sistema. Na realidade, é necessário analisar a 
necessidade desse controle.
Qualquer informação relacionada a um item de configuração é 
chamada de metadado, o qual contém qualquer tipo de informação 
relevante no contexto em que o IC está inserido. Entre as 
informações mais relevantes de um metadado, temos:
1. Nome.
2. Data de criação.
3. Local de armazenamento.
4. Quem criou.
A quantidade e o nível de informações de um IC dependem muito da 
necessidade de cada projeto. Sistemas muito robustos requerem a 
utilização de uma grande quantidade de IC, bem como de diversas 
informações para cada item. Para sistemas mais simples, existem 
poucos IC e, consequentemente, poucos metadados, o que significa 
maior facilidade de manutenção. Por outro lado, poucos metadados 
podem ocasionar insuficiência na resolução de problemas e nas 
tomadas de decisão.
Referências bibliográficas
SOMMERVILLE, Ian. Engenharia de Software. Tradução Luiz Cláudio Queiroz. 
10. ed. São Paulo: Pearson Education do Brasil, 2018.
20
TEORIA EM PRÁTICA
Uma determinada empresa de desenvolvimento web trabalha com 
equipes de desenvolvedores para cada projeto específico em que é 
contratada. Imagine que um dos desenvolvedores da equipe precise 
editar um site hospedado em um servidor. Ele realiza o download 
via FTP dos arquivos que irá editar e, em seguida, as alterações 
solicitadas pelo cliente. Ao terminá-las, envia os arquivos alterados 
para o servidor via FTP. 
Analise a situação descrita e aponte o erro cometido pelo 
desenvolvedor, levando em consideração que, enquanto ele 
realizava as alterações nos arquivos, outro membro da equipe de 
desenvolvimento desse projeto também poderia estar atuando 
nesses mesmos arquivos.
Para conhecer a resolução comentada proposta pelo professor, 
acesse a videoaula deste Teoria em Prática no ambiente de 
aprendizagem.
LEITURA FUNDAMENTAL
Prezado aluno, as indicações a seguir podem estar disponíveis 
em algum dos parceiros da nossa Biblioteca Virtual (faça o log 
in por meio do seu AVA), e outras podem estar disponíveis em 
sites acadêmicos (como o SciELO), repositórios de instituições 
públicas, órgãos públicos, anais de eventos científicos ou 
periódicos científicos, todos acessíveis pela internet. 
Indicações de leitura
21
Isso não significa que o protagonismo da sua jornada de 
autodesenvolvimento deva mudar de foco. Reconhecemos 
que você é a autoridade máxima da sua própria vida e deve, 
portanto, assumir uma postura autônoma nos estudos e na 
construção da sua carreira profissional. 
Por isso, nós o convidamos a explorar todas as possibilidades da 
nossa Biblioteca Virtual e além! Sucesso!
Indicação 1
O Capítulo 25 do livro indicado aborda os principais tópicos 
relacionados à gerência de configuração de softwares. Nele, é 
possível conhecer as atividades de gerência de configuração de 
softwares e algumas ferramentas de cada atividade.
SOMMERVILLE, Ian. Engenharia de Software. Tradução Luiz Cláudio 
Queiroz. 10. ed. São Paulo: Pearson Education do Brasil, 2018.
Indicação 2
A dissertação de mestrado indicada apresenta conceitos sobre 
gerência de configuração de software. Nela, você verá uma 
aplicabilidade de gerência de configuração, além de conhecer 
atividades, ferramentas e desafios da área.
BORGES, Simone de Sousa. Apoio de gerência de configuração 
de software ao ARAGAwCRe. Dissertação (Mestrado em Ciência 
da Computação) – Universidade Federal de São Carlos, São Carlos, 
2009. 
22
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes neste 
Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em Foco 
e dos slides usados para a gravação das videoaulas, além de 
questões de interpretação com embasamento no cabeçalho 
da questão.
1. A gerencia de configuração de ___________envolve processos de 
criação de um sistema essencialmente completos, que serão 
executados por meio de ___________ de sistemas, além de 
outras bibliotecas e arquivos. 
As lacunas são preenchidas respectivamente por:
a. Construção de sistemas; componentes.
b. Versões; releases.
c. Mudanças; versões.
d. Releases; construção de sistemas.
e. Mudanças; componentes. 
2. A gerência de configuração de software atua no auxílio de 
desenvolvimento, na manutenção e nas mudanças que um 
software possa sofrer, reunindo um conjunto de atividades 
que auxiliam na adaptação de um sistema em relação às 
possíveis mudanças que possam surgir.
23
As atividades de gerenciamento de configuração de software 
reúnem quatro atividades essenciais, que são: 
a. Gerência alternativa, de controle, mista e alternada.
b. Gerência interna, externa, plana e alterada.
c. Gerência de mudanças, de versões, de construção de sistemas 
e de releases.
d. Gerência de comportamento, de relativos, de alternativos e 
anônimos.
e. Gerência associativa, estrutura, realistas e normal. 
GABARITO
Questão 1 - Resposta A
Resolução: A gerência de configuração de software aborda 
quatro atividades, entre elas a gerência de configuração de 
construção de sistemas, que executa processos de criação por 
meio de componentes de sistemas. As demais alternativas 
estão incorretas, pois nenhuma aborda a atividade de 
construção de sistemas a importância dos componentes nesta. 
Questão 2 - Resposta C
Resolução: As quatro atividades relacionadas à gerência 
de projetos são as gerências de mudanças, de versões, de 
construção de sistemas e de releases. As demais alternativas 
estão incorretas, pois não trazem os nomes corretos das 
atividades da gerência de configuração de software. 
Controle de versões na prática com 
ferramentas de versionamento 
______________________________________________________________
Autoria: Arthur Gonçalves
Leitura crítica: Marco Ikuro Hisatomi
TEMA 3
25
DIRETO AO PONTO
As ferramentas de controle de versão são utilizadaspara 
auxiliar no processo de desenvolvimento de software. Com elas, 
podemos controlar todos os passos dados em um projeto de 
software, sendo possível monitorar o que está sendo alterado, 
mantendo no repositório desde a primeira versão até a versão 
mais atual do sistema. Assim, utilizar uma ferramenta de controle 
de versão ajuda não só no controle de projetos simples, nos 
quais possivelmente esteja atuando apenas um desenvolvedor, 
mas também é fundamental para o controle de projetos mais 
robustos e complexos, nos quais geralmente existe uma equipe de 
desenvolvedores atuando em um mesmo repositório.
Existem diversas ferramentas de controle de versões, sendo 
basicamente as mais utilizadas as open source, que são ferramentas 
gratuitas. Como toda regra possui uma exceção, nem toda 
ferramenta paga é melhor do que uma gratuita; nesse sentido, sem 
dúvida nenhuma, a ferramenta de controle de versão mais utilizada 
atualmente, no mundo inteiro, é a open source Git, com o auxílio da 
plataforma GitHub.
Linus Torvald, criador dos sistemas operacionais Linux, é o 
idealizador e criador da ferramenta de controle de versão Git, 
criada em 2005. Três anos depois, em 2008, foi criada a plataforma 
que iria auxiliar o Git no processo de controle de versão, o GitHub. 
Essas duas ferramentas conseguem manter documentadas todas 
as alterações de versões de um sistema. Com isso, um projeto 
de software fica menos sujeito a erros por parte da equipe de 
desenvolvedores, visto que todas as ações ficam registradas e as 
versões mais antigas “congeladas”, para que se possa ter o controle 
da evolução das versões de um determinado sistema.
26
O Git é uma ferramenta que deve ser instalada no seu computador 
e reúne os programas Git Gui, com o qual o desenvolvedor pode 
realizar ações por interface gráfica; Git Bash, que é um terminal 
para a inserção de linhas de comandos, muito utilizado por usuários 
habituados com sistemas Linux; e Git cmd, que também é um 
terminal e realiza as mesmas operações que o Git Bash, porém é 
mais utilizado por usuários habituados com os sistemas Windows, 
pois é onde utilizam o command do Windows.
Com o Git, é possível criar repositórios locais, nos quais você 
insere arquivos de um determinado projeto que será controlado 
pela gestão de configuração de software por meio do repositório 
remoto no GitHub. Uma vez que um item de software é enviado 
para o repositório remoto, inicia-se o controle de versão, com o 
congelamento do arquivo, e, assim, toda vez que algo é alterado 
no repositório local, a modificação, a nova versão, deve ser enviada 
para o repositório no GitHub, que manterá a versão anterior e a 
nova versão, com os detalhes do que foi alterado.
Para utilizar a ferramenta Git pelo Git Bash, é necessário ter 
conhecimento das linhas de comandos que são utilizadas para 
realizar operações, como criação de repositório local e verificação de 
status de modificação, enviadas da nova versão para o repositório 
remoto. O Quadro a seguir mostra as principais linhas de comandos 
digitadas no Git Bash.
Quadro 1 – Linhas de comando no Git Bash
Linha de comando Ação
Git config --global user.name "Seu 
nome"
Comando utilizado para se 
identificar na ferramenta Git. O 
nome inserido deve ser o mesmo 
informado no cadastro do GitHub.
27
Git config --global user.email 
“SeuEmail@email.com”
Comando utilizado para se 
identificar na ferramenta Git. O 
e-mail inserido deve ser o mesmo 
informado no cadastro do GitHub.
Git init Comando utilizado para criar um 
novo repositório local.
Git status Comando utilizado para verificar o 
status dos arquivos que constam 
no repositório local. Apenas mostra 
arquivos que ainda não foram 
enviados para controle e arquivos 
alterados.
Git add -A Comando utilizado para adicionar 
todos os arquivos para controle de 
versão.
Git commit -m Comando utilizado para iniciar o 
processo de envio de arquivos do 
repositório local para o repositório 
remoto, em que o –m escreve uma 
mensagem de descrição do arquivo 
enviado, como commit -m “Linha 2 
alterada”.
Git remote origin in Comando utilizado para indicar o 
caminho do repositório remoto 
que servirá para o congelamento 
da versão. Esse caminho deve ser 
copiado do repositório criado no 
GitHub.
Git push -u origin master Comando final utilizado para enviar 
os arquivos adicionados ao controle 
de versão para o repositório remoto 
no GitHub.
28
Git branch É umas das principais vantagens 
do uso de uma ferramenta de 
controle de versão e release de 
itens de software, podendo ser 
útil quando são feitas simulações 
ou testes ou, até mesmo, quando 
há desenvolvimento em paralelo 
por equipes (squad ou tribe) de 
software.
Fonte: elaborado pelo autor.
PARA SABER MAIS
O GitHub é uma plataforma on-line em que você deve se cadastrar 
para criar uma conta. É com o e-mail e o log-in informados no 
cadastro que você consegue identificar-se na ferramenta Git. Nesse 
caso, é como se estivesse informando ao Git que você enviará 
arquivos para controle de versão em um repositório no GitHub com 
as credenciais informadas.
Da mesma forma que é importante saber manusear a ferramenta 
Git, é de extrema importância que você saiba exatamente o que 
fazer na plataforma GitHub. Primeiro de tudo, saiba que o Git 
permite controlar a versão dos itens de software em um processo de 
desenvolvimento. Então vamos ver o que você deve saber fazer no 
GitHub:
1. Ter uma conta. Para isso, você deve se cadastrar e guardar o 
username ou o e-mail e a senha para utilizar na ferramenta Git.
2. Saber criar um repositório para receber os arquivos que serão 
controlados. Para isso, você deve clicar em new repositories, 
opção que fica na página inicial go GitHub, ou na sua foto, 
no canto superior direito do site, e escolher a opção your 
repositories (seus repositórios).
29
3. Saber identificar seu repositório. Para isso, dê um nome, 
guarde o link do caminho desse repositório, insira uma 
descrição para um melhor controle e escolha se ele é de 
domínio público ou privado.
4. Saber verificar as versões dos arquivos enviados para o 
repositório, observando a descrição do que foi mudado em 
cada uma.
Todos os commits ficam registrados no GitHub, no seu repositório 
remoto, e saber identificá-los e acessá-los é fundamental para 
realizar o controle correto das versões. O GitHub, utilizado com a 
ferramenta Git, torna-se uma ferramenta poderosa para o controle 
de versão de arquivos.
TEORIA EM PRÁTICA
Um desenvolvedor de sistemas está trabalhando em um projeto de 
desenvolvimento de software e começou a utilizar o Git e o GitHub 
para controlar as versões desse sistema. Por ser novato na utilização 
dessa ferramenta, está tendo dificuldades ao enviar arquivos para 
o controle de versão. Por exemplo, ao tentar aplicar o commit -m, 
surge a mensagem de erro: nothing added to commit but untracked 
files present.
Análise a situação descrita anteriormente e aponte o erro cometido 
pelo desenvolvedor, levando em consideração todos os processos 
que devem ser realizados no Git para enviar arquivos para o 
controle de versão.
Para conhecer a resolução comentada proposta pelo professor, 
acesse a videoaula deste Teoria em Prática no ambiente de 
aprendizagem.
30
LEITURA FUNDAMENTAL
Prezado aluno, as indicações a seguir podem estar disponíveis 
em algum dos parceiros da nossa Biblioteca Virtual (faça o log 
in por meio do seu AVA), e outras podem estar disponíveis em 
sites acadêmicos (como o SciELO), repositórios de instituições 
públicas, órgãos públicos, anais de eventos científicos ou 
periódicos científicos, todos acessíveis pela internet. 
Isso não significa que o protagonismo da sua jornada de 
autodesenvolvimento deva mudar de foco. Reconhecemos 
que você é a autoridade máxima da sua própria vida e deve, 
portanto, assumir uma postura autônoma nos estudos e na 
construção da sua carreira profissional. 
Por isso, nós o convidamos a explorar todas as possibilidades da 
nossa Biblioteca Virtual e além!Sucesso!
Indicação 1
O livro indicado aborda os principais tópicos relacionados ao 
controle de versão com a ferramenta Git. Nele, é possível conhecer 
as configurações iniciais da ferramenta e todas as linhas de 
comandos que podem sem inseridas no Git Bash, como os tipos de 
commit.
GEISSHIR, K. et al. Git version control. 2. ed. Birmingham: Packt, 
2018.
Indicações de leitura
31
Indicação 2
O livro indicado aborda os principais tópicos relacionados ao 
controle de versão com a ferramenta Git. Nele, é possível conhecer 
o processo de instalação do Git, o que é o Git e como criar 
repositórios.
LASTER, B. Professional Git. Nova Jersey: John Wiley & Sons, 2016. v. 
1.. 
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes neste 
Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em Foco 
e dos slides usados para a gravação das videoaulas, além de 
questões de interpretação com embasamento no cabeçalho 
da questão.
1. O controle de versão de software é fundamental para projetos 
__________ ou projetos desenvolvidos por ___________. Em uma 
ferramenta de controle conseguimos criar ____________. 
As lacunas são preenchidas respectivamente por:
a. Individuais; equipes; repositórios.
b. Simples; complexos; arquivos.
c. Complexos; simples; repositórios.
d. Pequenos; remotamente; arquivos.
32
e. Individuais; complexos; repositório. 
2. As ferramentas de controle de versões de software são 
essenciais para o desenvolvimento de software. Sem elas, 
seria difícil imaginar o trabalho de um desenvolvedor, pois 
existiriam muitos problemas no que se refere ao controle 
dos itens criados e a sua manutenção. Dessa forma, elas 
garantem: 
a. O controle de versões de arquivos relacionadas ao 
desenvolvimento de software.
b. Versões mais recentes de um arquivo, deletando versões 
antigas.
c. Comentários apenas do que foi deletado. 
d. O armazenamento das atualizações de versões por um 
período, mas depois descartam todos os arquivos.
e. Não realizam controle de versão de arquivos muito grandes. 
GABARITO
Questão 1 - Resposta A
Resolução: O controle de versões de software é fundamental 
para projetos individuais ou desenvolvidos por equipes de 
desenvolvedores. Qualquer ferramenta de controle de versão 
consegue criar um repositório. As demais alternativas estão 
incorretas, pois nenhuma preenche corretamente as lacunas do 
enunciado. 
33
Questão 2 - Resposta A
Resolução: As ferramentas de controle de versão de 
software congelam os arquivos alterados, mantendo todas as 
atualizações realizadas em um sistema. Dessa forma, é possível 
manter as alterações comentadas para que o processo de 
controle se torne mais seguro. As demais alternativas estão 
incorretas, pois não fazem referência correta ao conceito de 
ferramentas de controle de software. 
Integrando design patterns: gerência 
de configuração 
______________________________________________________________
Autoria: Arthur Gonçalves
Leitura crítica: Marco Ikuro Hisatomi
TEMA 4
35
DIRETO AO PONTO
Diversos projetos de software integram padrões de projetos GoF 
com o processo de gerência de configuração de software, porque 
é necessário analisar um projeto como um todo, e não apenas 
uma parte dele. Nesse sentindo, integrar padrões de projetos em 
projetos de desenvolvimento de software, realizando a gerência de 
configuração, faz parte de um processo íntegro, que garantirá um 
projeto bem desenvolvido e controlado.
Projetos de software como aplicações web e projetos de 
desenvolvimento de jogos eletrônicos utilizam padrões de projetos 
para resolver problemas de desenvolvimento. Porém, antes de 
decidir qual padrão será utilizado, existe a atuação da gerência de 
configuração, que realiza a organização de todo o desenvolvimento. 
É necessário escolher quais ferramentas serão utilizadas para 
realizar o gerenciamento de controle de mudanças, de controle de 
versões e de controle de construção de sistemas. É preciso definir 
ainda a equipe que participará do desenvolvimento do projeto e 
quais serão as atribuições de cada membro. O gerenciamento que 
realiza esse controle é o gerenciamento de controle de mudanças. 
Para auxiliá-lo, são utilizados ferramentas, programas ou sistemas 
que atuam diretamente no controle de construção de sistemas.
A ferramenta Redmine é um exemplo de ferramenta que atua no 
controle de mudanças. Nela, é possível criar projetos, cadastrar a 
equipe que participará do projeto e as tarefas que cada membro 
realizará. Dessa forma, todas as mudanças realizadas no projeto 
serão controladas de forma organizada.
O gerenciamento de configuração de controle de versões mantém 
congeladas todas as modificações realizadas no projeto e, assim 
36
como a gerência de configuração de controle de mudanças, é 
auxiliado por ferramentas que atuam diretamente nesse controle. A 
mais utilizada para realizar esse processo é o Git, aliado ao GitHub. 
Já o gerenciamento de configuração de controle de construção 
de sistema está relacionado ao processo geral de construção de 
sistema e é auxiliada por ferramentas de controle, sendo Jenkins a 
mais conhecida.
Não é à toa que as ferramentas Redmine, Git e Jenkins são as mais 
utilizadas no processo de desenvolvimento de software, visto que 
existe forte relação de integração entre elas. Tanto no Redmine 
quanto no Jenkins é possível integrar projetos guardados no 
controle de versão realizado no Git e no GitHub.
O Quadro 1 mostra de que forma um projeto de aplicação web 
ou desenvolvimento de jogos eletrônicos pode ser desenvolvido, 
integrando padrões de projetos e gerência de configuração de 
software.
Quadro 1 – Construção de projetos de software
Procedimento Ação
Gerência de configuração de 
controle de mudanças
Utiliza-se uma ferramenta, como 
Redmine, definindo a equipe e as 
tarefas para cada membro.
Gerência de configuração de 
controle de construção de sistemas
Utiliza-se uma ferramenta, como 
Jenkins.
Desenvolvimento do sistema Define padrões a serem 
implementados.
Gerência de configuração de 
controle de versões
Adota uma ferramenta, como Git, 
com o auxílio do GitHub, para o 
controle de versões.
Fonte: elaborado pelo autor.
Fica claro que a integração de padrões de projetos com a gerência 
de configuração de software torna-se extremamente necessária 
37
em um projeto de software. Isso porque todo projeto de software 
envolve etapas que precisam ser controladas, registradas e 
comentadas; precisa ter suas mudanças, sua construção e suas 
versões controladas; e utilizar padrões de projetos para auxiliar na 
resolução de possíveis problemas que possam surgir em relação aos 
códigos do projeto.
Referências bibliográficas
BIGARDI, G. B. Arquitetura e Desenvolvimento de software — Parte 12 — 
Facade. 2019. Disponivel em: https://medium.com/@gbbigardi/arquitetura-e-
desenvolvimento-de-software-parte-12-facade-2a5ed5209325. Acesso em: 6 
maio 2021.
GURU, R. Mediator. [s.d.]. Disponivel em: https://refactoring.guru/pt-br/design-
patterns/mediator. Acesso em: 1 jun. 2021.
MARTINS, C. Padrões de Projeto em Aplicações Web Desenvolvendo 
projetos web consistentes baseados em reuso de soluções. 2012. Disponível 
em: http://www.facom.ufu.br/~bacala/DAW/artigo2012-javamagazine107-
PadroesProjetoWeb.pdf. Acesso em: 9 ago. 2021.
PASSOS, U. Gestão de Projetos: Primeiros passos com o RedMine. DevMedia, 
2015. Disponivel em: https://www.devmedia.com.br/gestao-de-projetos-
primeiros-passos-com-o-redmine/33905. Acesso em: 1 jun. 2021.
VALENTE, M. T. Engenharia de Software: Princípios e Práticas para 
Desenvolvimento de Software com Produtividade. Minas Gerais: [s.n.], 2020. v. 
PARA SABER MAIS
Alguns jogos eletrônicos têm como característica o checkpoint (ponto 
de inspeção). Os checkpoints são aplicados em jogos com fases e 
são responsáveispor gravar um ponto de retorno. Imagine que um 
usuário esteja jogando um jogo desse gênero e já esteja em uma 
fase bem avançada, mas tem apenas uma vida; isso significa que, 
se ele perder, a famosa frase game over surgirá. Caso isso aconteça, 
ele teria de começar tudo do zero? Não se o jogo contar com o 
checkpoint. 
38
No desenvolvimento de um projeto de jogo eletrônico, você pode 
definir fases que devem possuir um checkpoint. Com isso, será 
possível gravar naquele momento o estado atual do personagem 
que você controla, como a fase, a quantidade de vidas e todos os 
outros elementos que envolvem o personagem naquele momento. 
Com essa ferramenta, se acontecer de o personagem morrer, o 
usuário poderá retornar ao último checkpoint realizado.
A teoria parece ser bem simples, mas como resolver esse problema 
na prática? Na realidade, nem na prática é tão complicado, porque, 
como já sabemos, existem padrões de projetos para nos auxiliar, 
sendo a ideia reutilizar uma solução já existente. Nesse caso, fica 
fácil, já que existem diversos jogos que utilizam o checkpoint como 
alternativa para os usuários.
Para criar checkpoints, muitos programadores utilizam o padrão 
de projeto GoF de comportamento memento. Com ele, é possível 
guardar o estado interno de um personagem. A Figura 1 mostra o 
funcionamento desse padrão com a criação de um checkpoint.
39
Figura 1 – Criação de checkpoint com o padrão memento
Fonte: https://www.flickr.com/photos/m-i-k-e/6804689396. Acesso em: 9 ago. 2021.
Com isso, você aprendeu como utilizar o padrão de projeto 
memento em seus projetos de desenvolvimento de jogos eletrônicos 
e agora está apto a aplicar esse conhecimento, além de aplicar 
outros padrões no seu projeto.
Referências bibliográficas
BIGARDI, G. B. Arquitetura e Desenvolvimento de software — Parte 12 — 
Facade. 2019. Disponivel em: https://medium.com/@gbbigardi/arquitetura-e-
desenvolvimento-de-software-parte-12-facade-2a5ed5209325. Acesso em: 6 
maio 2021.
GURU, R. Mediator. Refactoring guru. [s.d.]. Disponivel em: https://refactoring.
guru/pt-br/design-patterns/mediator. Acesso em: 1 jun. 2021.
MARTINS, C. Padrões de Projeto em Aplicações Web Desenvolvendo 
projetos web consistentes baseados em reuso de soluções. 2012. 
40
Disponível em: http://www.facom.ufu.br/~bacala/DAW/artigo2012-
javamagazine107-PadroesProjetoWeb.pdf. Acesso em: 9 ago. 2021.
PASSOS, U. Gestão de Projetos: Primeiros passos com o RedMine. 2015. 
Disponivel em: https://www.devmedia.com.br/gestao-de-projetos-primeiros-
passos-com-o-redmine/33905. Acesso em: 1 jun. 2021.
VALENTE, M. T. Engenharia de Software: Princípios e Práticas para 
Desenvolvimento de Software com Produtividade. Minas Gerais: [s.n.], 2020. v. 
1.
TEORIA EM PRÁTICA
Uma determinada empresa de desenvolvimento contratou uma 
equipe de programadores para desenvolver um jogo eletrônico 
do gênero luta. Esse jogo precisa solucionar três problemas: rodar 
em vários dispositivos, oferecer ao usuário a oportunidade de 
salvar estados e tomar cuidado com a duplicação de código em 
dispositivos que possuem poucos recursos. Além disso, a equipe 
precisa utilizar a gerência de configuração de software para 
desenvolver o projeto.
Analise a situação descrita e aponte de que forma a equipe utilizará 
a gerência de configuração de software e como solucionará os três 
problemas apresentados.
Para conhecer a resolução comentada proposta pelo professor, 
acesse a videoaula deste Teoria em Prática no ambiente de 
aprendizagem.
41
LEITURA FUNDAMENTAL
Prezado aluno, as indicações a seguir podem estar disponíveis 
em algum dos parceiros da nossa Biblioteca Virtual (faça o log 
in por meio do seu AVA), e outras podem estar disponíveis em 
sites acadêmicos (como o SciELO), repositórios de instituições 
públicas, órgãos públicos, anais de eventos científicos ou 
periódicos científicos, todos acessíveis pela internet. 
Isso não significa que o protagonismo da sua jornada de 
autodesenvolvimento deva mudar de foco. Reconhecemos 
que você é a autoridade máxima da sua própria vida e deve, 
portanto, assumir uma postura autônoma nos estudos e na 
construção da sua carreira profissional. 
Por isso, nós o convidamos a explorar todas as possibilidades da 
nossa Biblioteca Virtual e além! Sucesso!
Indicação 1
O artigo indicado aborda um projeto orientado a objetos para 
jogos em geral usando C # e XNA em padrão de projeto. Nele, é 
possível conhecer a aplicação de padrões estruturais, de padrões 
de criação e de padrões comportamentais para criar sprites de jogo, 
gerenciar estado de jogo e sprites de jogo e ter diferentes colisões e 
recompensas entre sprites ou entre sprites e mapa.
QU, J.; SONG, Y.; WEI, Y. Applying Design Patterns in Game 
Programming. Athens: Department of Computer Science, 2013.
Indicações de leitura
42
Indicação 2
O livro indicado aborda conceitos relacionados a padrões de 
projetos. No Capítulo 6, você aprenderá como aplicar padrões de 
projeto GoF em sistemas. Dessa forma, vai conhecer e diferenciar os 
principais padrões de projeto, com seus grupos e representantes, 
além de conhecer e entender a gerência de configuração de 
software e como utilizar os padrões de projetos GoF com exemplos 
de projetos propostos.
VALENTE, M. T. Engenharia de Software: Princípios e Práticas para 
Desenvolvimento de Software com Produtividade. Minas Gerais: 
[s.n.], 2020. v. 1. cap. 6. 
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a 
verificação de leitura dos itens Direto ao Ponto, Para Saber 
Mais, Teoria em Prática e Leitura Fundamental, presentes neste 
Aprendizagem em Foco.
Para as avaliações virtuais e presenciais, as questões serão 
elaboradas a partir de todos os itens do Aprendizagem em Foco 
e dos slides usados para a gravação das videoaulas, além de 
questões de interpretação com embasamento no cabeçalho 
da questão.
1. Um projeto de software é constituído pela integração de 
padrões de projeto GoF com a gerência de configuração de 
software. Os padrões de projeto auxiliam na resolução de 
problemas, permitindo a reutilização de código, o que deixa 
a estrutura do documento mais organizada. Já a gerência de 
43
configuração de software envolve atividades que controlam 
todo o processo de desenvolvimento. Em projetos de 
desenvolvimento de jogos eletrônicos, utilizamos o padrão 
de projeto GoF ___________ para guardar o estado interno de 
um___________. 
Assinale a alternativa que completa adequadamente as 
lacunas:
a. Prototype; classe.
b. Adapter; método.
c. Memento; objeto.
d. Builder; objeto.
e. Facade; classe. 
2. A empresa TOMITA está sempre atenta para utilizar os 
melhores recursos, com ferramentas. Com a integração 
de padrões de projeto com gerência de configuração de 
software, atua no processo de desenvolvimento de software, 
como aplicações web e jogos eletrônicos, além de auxiliar 
na manutenção e nas mudanças que um software possa 
sofrer, reunindo um conjunto de atividades que auxiliam na 
adaptação de um sistema em relação às possíveis mudanças 
que possam surgir.
Na gerência de configuração de mudança, existe uma 
ferramenta utilizada para realizar o controle de mudança, que 
é: 
a. Git.
b. Jenkins.
c. GitHub.
44
d. Redmine.
e. Rubi. 
GABARITO
Questão 1 - Resposta C
Resolução: Em projetos de desenvolvimento de jogos 
eletrônicos, utilizamos o padrão de projeto GoF memento para 
guardar o estado interno de um objeto. As demais alternativas 
estão incorretas, pois nenhuma completa corretamente o 
enunciado. 
Questão 2 - Resposta D
Resolução: A ferramenta Redmine é um exemplo de 
ferramenta que atua no controle de mudanças. Nela, é possível 
criar projetos, cadastrar a equipe que participará do projeto 
e as tarefas que cada membro realizará dentro do projeto. As 
demais alternativas estão incorretas, pois não trazem o nome 
correto da ferramenta utilizada na gerência de configuração de 
software. 
BONS ESTUDOS!
	Apresentação da disciplina
	Introdução
	TEMA 1
	Direto ao ponto
	Para sabermais 
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	TEMA 2
	Direto ao ponto
	Para saber mais
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	TEMA 3
	Direto ao ponto
	Para saber mais
	Teoria em prática
	Leitura fundamental
	Quiz
	Gabarito
	TEMA 4
	Direto ao ponto
	Para saber mais
	Teoria em prática
	Quiz
	Gabarito
	Inicio 2: 
	Botão TEMA 4: 
	Botão TEMA 1: 
	Botão TEMA 2: 
	Botão TEMA 3: 
	Botão TEMA 9: 
	Inicio :

Continue navegando