Buscar

Implementação DevOps: Passos e Tarefas

Prévia do material em texto

(
Sistema de Ensino a distância
SUPERIOR DE TECNOLOGIA EM DEVOPS
)
 (
Francisco marcio de souza andrade
)
 (
PORTFÓLIO INTERDISCIPLINAR INDIVIDUAL:
PROJETO INTEGRADO
)
 (
Fortaleza - CE
202
3
)
 (
Francisco marcio de souza andrade
)
 (
PRODUÇÃO TEXTUAL individual:
PROJETO INTEGRADO
)
 (
Trabalho de Portfólio, apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção de média semestral, no 
2
º Semestre
 do curso de 
Tecnólogo em 
DevOps
 – 100% Online.
Orientador
a
: 
Profa. Luana Gomes de Souza
)
 (
Fortaleza - CE
202
3
)
SUMÁRIO
1	INTRODUÇÃO	3
2	Tarefa 1	4
3	Tarefa 2	5
4	Tarefa 3	6
5	Tarefa 4	7
6	Tarefa 5	8
 (
0
)
	
INTRODUÇÃO
A cultura DevOps surgiu como uma resposta à necessidade de uma maior colaboração entre equipes de desenvolvimento e operações. Essa cultura enfatiza a automação, o monitoramento e a entrega contínua de software, o que resulta em uma maior eficiência e qualidade no desenvolvimento e implantação de aplicativos. A metodologia DevOps envolve a implementação de um ciclo de vida de desenvolvimento de software contínuo, onde todas as fases do processo de desenvolvimento são integradas em um fluxo contínuo de trabalho, incluindo o planejamento, o desenvolvimento, o teste, a implantação e a manutenção.
Além da cultura DevOps, dois outros conceitos importantes no desenvolvimento de software são a modelagem de banco de dados e o diagrama de classe. A modelagem de banco de dados é uma técnica de design de banco de dados que envolve a criação de um modelo conceitual do banco de dados, a partir do qual é possível desenvolver um esquema de banco de dados. A modelagem de banco de dados ajuda a garantir que as informações armazenadas em um banco de dados estejam organizadas e estruturadas de forma adequada, o que permite que os usuários acessem e gerenciem as informações de forma eficiente.
Por outro lado, o diagrama de classe é uma ferramenta de modelagem que representa visualmente as classes e seus relacionamentos em um sistema de software orientado a objetos. O diagrama de classe é uma forma clara e concisa de representar as entidades, os atributos e os relacionamentos de um sistema, o que ajuda a entender a estrutura do sistema e como ele funciona. Essas técnicas são amplamente utilizadas no desenvolvimento de software, e sua aplicação correta pode levar a um desenvolvimento de software mais eficiente e de alta qualidade.
Tarefa 1
a) Para saber quantos plantam pelo menos uma das três espécies, precisamos somar o número de agricultores que plantam cada uma das espécies e subtrair o número de agricultores que plantam duas ou três delas, já que esses foram contados duas ou três vezes. Então:
7.000 + 4.100 + 3.100 - 2.100 - 1.400 - 1.000 + 400 = 10.000
Portanto, 10.000 agricultores plantam pelo menos uma das três espécies.
b) Para saber quantos não plantam nenhuma das três espécies, precisamos subtrair o número de agricultores que plantam pelo menos uma das três espécies do total de agricultores, que é 13.500. Então:
13.500 - 10.000 = 3.500
Portanto, 3.500 agricultores não plantam nenhuma das três espécies.
c) Para saber quantos plantam arroz ou banana, mas não plantam uvas, precisamos somar o número de agricultores que plantam arroz e banana (2.100) e o número de agricultores que plantam apenas arroz (7.000 - 2.100 = 4.900) e subtrair o número de agricultores que plantam arroz, banana e uva (400), já que esses foram contados duas vezes. Então:
2.100 + 4.900 - 400 = 6.600
Portanto, 6.600 agricultores plantam arroz ou banana, mas não plantam uvas.
d) Para saber quantas plantam apenas uvas, precisamos subtrair o número de agricultores que plantam duas ou três das espécies do número de agricultores que plantam uvas. Então:
3.100 - 2.100 - 1.400 - 1.000 + 400 = 900
Portanto, 900 agricultores plantam apenas uvas.
Tarefa 2
	A implementação do DevOps envolve uma mudança cultural e de processos que integram as equipes de desenvolvimento e operações. A seguir, apresento os passos para implementar o DevOps:
Cultura DevOps: A cultura DevOps é um dos pilares da implementação. É importante que as equipes de desenvolvimento e operações trabalhem juntas, compartilhando conhecimentos e responsabilidades. Os profissionais precisam estar dispostos a adotar uma cultura colaborativa, com comunicação clara e frequente.
Automação: A automação é uma das principais características do DevOps. É preciso adotar ferramentas de automação para facilitar a entrega contínua e reduzir o tempo de ciclo de desenvolvimento.
Integração contínua: A integração contínua é uma prática que consiste em integrar o código produzido pela equipe de desenvolvimento frequentemente, garantindo que o código seja testado e validado de forma automática.
Entrega contínua: A entrega contínua é outra prática importante do DevOps. Consiste em garantir que as alterações no código sejam entregues de forma rápida e confiável.
Monitoramento e feedback: O monitoramento e feedback são essenciais para a implementação do DevOps. É preciso monitorar o desempenho da aplicação e fornecer feedback para a equipe de desenvolvimento, permitindo que ela possa fazer ajustes rapidamente.
Segurança: A segurança também é um aspecto importante da implementação do DevOps. É preciso garantir que a aplicação seja segura e esteja em conformidade com as regulamentações aplicáveis.
Ao preparar uma capacitação para os demais colaboradores, é importante que o profissional escolhido para liderar a implementação do DevOps esteja preparado para ensinar e orientar a equipe sobre cada um desses passos, apresentando as melhores práticas e ferramentas que podem ser usadas para alcançá-los. Além disso, a implementação do DevOps deve ser uma iniciativa contínua, com foco na melhoria constante dos processos e da cultura organizacional.
Tarefa 3
	Uma ferramenta CASE que permite a criação de um Modelo de Entidade-Relacionamentos (MER) é o MySQL Workbench. Essa ferramenta permite que o usuário desenhe o diagrama do MER de forma visual, adicionando entidades e relacionamentos entre elas.
As principais vantagens da abordagem MER são:
Representação visual: o MER permite que o modelo de dados seja representado de forma visual, o que facilita a compreensão e comunicação entre os membros da equipe de desenvolvimento.
Clareza das relações: o MER permite que as relações entre as entidades sejam claras e precisas, o que ajuda a evitar problemas de redundância de dados e inconsistências.
Flexibilidade: o MER permite que o modelo de dados seja ajustado e adaptado de acordo com as necessidades do sistema, sem que isso afete a estrutura geral do banco de dados.
Cardinalidade: o MER permite que o grau de relacionamento entre as entidades seja expresso através da cardinalidade. A cardinalidade indica o número máximo de ocorrências de uma entidade que podem estar relacionadas a outra entidade.
O grau de relacionamento ou cardinalidade entre as tabelas é expresso através da notação N:M, 1:N, N:1 e 1:1. A notação N:M indica que uma entidade pode estar relacionada a várias ocorrências de outra entidade e vice-versa. A notação 1:N indica que uma entidade pode estar relacionada a várias ocorrências de outra entidade, mas esta última está relacionada a apenas uma ocorrência da primeira entidade. A notação N:1 indica o oposto da notação 1:N. Já a notação 1:1 indica que uma entidade está relacionada a apenas uma ocorrência de outra entidade e vice-versa. A escolha da cardinalidade correta é importante para garantir a integridade e consistência dos dados no banco de dados.
Tarefa 4
	Segue o código em linguagem C para solicitar ao usuário o nome, endereço e telefone e exibi-los na tela:
#include <stdio.h>
int main() {
 char nome[100];
 char endereco[100];
 char telefone[20];
 printf("Digite seu nome: ");
 scanf("%[^\n]", nome); // Lê a entrada do usuário até que ele pressione Enter
 printf("Digite seu endereço: ");
 scanf(" %[^\n]", endereco); // Lê a entrada do usuárioaté que ele pressione Enter
 printf("Digite seu telefone: ");
 scanf(" %[^\n]", telefone); // Lê a entrada do usuário até que ele pressione Enter
 printf("\nDados cadastrais:\n");
 printf("Nome: %s\n", nome);
 printf("Endereço: %s\n", endereco);
 printf("Telefone: %s\n", telefone);
 return 0;
}
Tarefa 5
Os relacionamentos no diagrama de classes da UML são representados por setas que conectam as classes, indicando a natureza do relacionamento. Entre os relacionamentos mais comuns estão:
Encapsulamento: é um princípio fundamental da programação orientada a objetos (POO), que consiste em ocultar a complexidade interna de uma classe, expondo apenas a interface pública para que outras classes possam interagir com ela. Isso é representado no diagrama de classes por uma linha tracejada que conecta o atributo ou método encapsulado à classe que o contém.
Herança: é um relacionamento entre classes que permite a criação de uma nova classe a partir de uma classe existente, aproveitando seus atributos e métodos. Isso é representado no diagrama de classes por uma seta com uma ponta vazada que aponta para a classe pai, e a classe filha é conectada à ponta da seta.
Agregação: é um relacionamento que representa uma associação entre duas classes em que uma classe é parte de outra classe, mas pode existir independentemente. Isso é representado no diagrama de classes por uma seta com um losango aberto na ponta que aponta para a classe que contém a outra classe. A classe contida é conectada à ponta da seta.
Composição: é um relacionamento que representa uma associação entre duas classes em que uma classe é parte de outra classe e não pode existir independentemente. Isso é representado no diagrama de classes por uma seta com um losango cheio na ponta que aponta para a classe que contém a outra classe. A classe contida é conectada à ponta da seta.
Esses relacionamentos são fundamentais para a modelagem de sistemas orientados a objetos e permitem a representação das interações e dependências entre as classes que compõem o sistema. Através do diagrama de classes, é possível visualizar a estrutura do software de forma clara e organizada, auxiliando no processo de desenvolvimento e manutenção do sistema.
REFERÊNCIAS
Zentgraf, D. (2013). Definindo a Implementação Distribuível em DevOps. IBM Developer Works. Disponível em: http://www.ibm.com/developerworks/br/rational/library/defining-deployment-deliverable-devops/index.html. Acesso em: 12 mar. 2023.
HEUSER, C.A. Projeto de banco de dados. 5.ed. Porto Alegre: Sagra-Luzzatto,
BACKES, André Ricardo. LINGUAGEM C: DESCOMPLICADA. Disponível em: https://www.cin.ufpe.br/~rrbs/AC_/LinguagemC/apostilaC.pdf. Acesso em: 12 mar 2023.
MACORATTI, José Carlos. UML - Diagrama de Classes e objetos. Disponível em: https://www.macoratti.net/net_uml1.htm. Acesso em: 12 mar 2023.
 (
20
)
image1.jpeg