Você está na página 1de 13

UNIVERSIDADE ANHANGUERA – UNIDERP

Centro de Educação a Distância

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Disciplinas:
Análise Orientada a Objetos
Desenvolvimento de Banco de Dados
Linguagens de Programação
Sociedade Brasileira e Cidadania
Desenvolvimento Orientada a Objetos

BRUNO ANDRÉ DE OLIVEIRA


RA: 24545073

FazenTECH

Orientador: Jobson Yonaha Gimenez

BRUNO ANDRÉ DE OLIVEIRA

Sertãozinho, 18 de Novembro
2020
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Trabalho apresentado à Universidade Anhanguera -


UNIDERP, como requisito parcial para a obtenção de
média DE
BRUNO ANDRÉ bimestral
OLIVEIRAnas disciplinas de: Lógica
Computacional; Análise e Modelagem de Sistemas;
BRUNO ANDRÉ DE OLIVEIRA
Algoritmos e Programação Estruturada; Modelagem
BRUNO
BancoANDRÉ D
de Dados; Arquitetura e Organização de
Computadores.

Professores:
Adriane Aparecida Loper
Maria Eliza Correa Pacheco
Iolanda Claudia Sanches Catarino
Vanessa Matias Leite
Gilberto Fernandes Junior

Tutor a Distância: Jobson Yonaha Gimenez

Sertãozinho, 05 de Dezembro
2020
BRUNO ANDRÉ DE OLIVEIRA

FazenTECH

Trabalho apresentado à Universidade Anhanguera -


UNIDERP, como requisito parcial para a obtenção de
média bimestral nas disciplinas de: Lógica
Computacional; Análise e Modelagem de Sistemas;
Algoritmos e Programação Estruturada; Modelagem
Banco de Dados; Arquitetura e Organização de
Computadores.

Tutor a Distância: Jobson Yonaha Gimenez

Sertãozinho, 05 de Dezembro de 2020

______________________________
Ivo Ducatti
Tutor à Distância

______________________________
Adriane Aparecida Loper

______________________________
Maria Eliza Correa Pacheco

______________________________
Iolanda Claudia Sanches Catarino

______________________________
Gilberto Fernandes Junior

______________________________
Vanessa Matias Leite
SUMÁRIO

INTRODUÇÃO..............................................................................................................4
1 ANÁLISE ORIENTADA A OBJETOS...................................................................4
1.1 a) ANÁLISE ORIENTADA A OBJETO...........................................................5
1.2 b) MODELO DE CLASSES............................................................................5
1.3 b) DIAGRAMA DE MÁQUINA DE ESTADOS................................................5
2 DESENVOLVIMENTO DE BANCO DE DADOS..................................................5
3 LINGUAGENS DE PROGRAMAÇÃO..................................................................9
4 CONCLUSÃO........................................................................................................9
4

INTRODUÇÃO

A neta está a passear com seu avô em direção a fazenda da família, e


ela se recorda dos tempos em que ia e acaba sentindo saudades do local e indaga ao
avô, ele por sua vez fica quieto e continua a dirigir dando sorrisos e em sua cabeça
percebe que a neta já se deparou com seus propósitos.
Ao chegar ao local a menina registra o momento tirando uma foto e logo
em seguida seu avô anuncia que ela será a nova proprietária da fazenda. Agora ela irá
precisar desenvolver um sistema para a FazenTECH.

1 ANÁLISE ORIENTADA A OBJETOS

Considerando o estudo de caso do Sistema FazenTECH, foi realizada a


modelagem da atividade de Análise de Sistemas em uma ferramenta CASE de
modelagem, contemplando a UML. Levamos em consideração as funcionalidades para
realização do processo de criação animal e o planejamento de plantio das diferentes
culturas da fazenda.
Para atender o domínio de criação animal e planejamento de plantio do
Sistema FazenTECH, apresentaremos a seguir o Modelo de Casos de Uso, o Modelo de
Classes e o Diagrama de Máquina de Estados para a classe “Plantio”, discorrendo sobre
pontos em cada um dos tópicos.

a) O Diagrama de Use Cases:


O objetivo do diagrama de caso de uso é capturar o aspecto dinâmico de
um sistema. No entanto, essa definição é muito genérica para descrever o propósito,
visto que outros quatro diagramas (atividade, sequência, colaboração e gráfico de
estado) também têm o mesmo propósito. Examinaremos algum propósito específico,
que o distinguirá de outros quatro diagramas.
Os diagramas de caso de uso são usados para reunir os requisitos de
um sistema, incluindo influências internas e externas. Esses requisitos são
principalmente requisitos de design. Portanto, quando um sistema é analisado para
reunir suas funcionalidades, os casos de uso são preparados e os atores são
identificados.
Quando a tarefa inicial é concluída, os diagramas de caso de uso são
5

modelados para apresentar a visão externa.

1.1 A) ANÁLISE ORIENTADA A OBJETO


6

1.2 B) MODELO DE CLASSES

Enquanto o modelo de classes descreve a estrutura dos objetos em um


sistema, os diagramas de classes expressam o modelo de classe. O diagrama de
classes é um diagrama estático. Ele representa a visão estática de um aplicativo.

1.3 B) DIAGRAMA DE MÁQUINA DE ESTADOS

O diagrama de máquina de estado é um dos cinco diagramas UML


usados para modelar a natureza dinâmica de um sistema. Eles definem diferentes
estados de um objeto durante seu tempo de vida e esses estados são alterados por
Um estado é denotado por um retângulo arredondado com o nome do
estado escrito dentro dele. O estado inicial é denotado por um círculo preto preenchido e
pode ser rotulado com um nome. O estado final é denotado por um círculo com um
ponto dentro e também pode ser rotulado com um nome.
7

2 DESENVOLVIMENTO DE BANCO DE DADOS

Segue a linha de desenvolvimento do banco

CREATE DATABASE ‘fazentech-bd’;

CREATE TABLE ‘depCompras’ (


‘id’ int(11) NOT NULL,
‘nome’ varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
‘produto’ varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
‘quantidade’ int(11) DEFAULT NULL,
‘data_compra’ date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO ‘depCompras’ (‘id’, ‘nome’, ‘produto’, ‘quantidade’, ‘data_compra’)


VALUES
(1, ‘Fazenda Rei do Gado, ‘sementes de milho’, 3000, ‘2020-08-09’),
(2, ‘Fazenda Embaixador’, ‘sementes de milho, 6500, ‘2020-07-14’);

CREATE TABLE ‘Equipamentos’ (


‘id’ int(11) NOT NULL,
‘nome’ varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
‘tipo’ varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO ‘Equipamentos’ (‘id’, ‘nome’, ‘tipo’) VALUES


(1, ‘moenda’, ‘motorizado’),
(2, ‘colheitadeira’, ‘motorizado’);

CREATE TABLE ‘Colaboradores’ (


‘id’ int(11) NOT NULL,
‘nome’ varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
‘cpf’ varchar(11) COLLATE utf8_unicode_ci DEFAULT NULL,
‘salario’ varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO ‘Colaboradores’ (‘id’, ‘nome’, ‘idade’, ‘salario’) VALUES


(1, ‘Bruno Oliveira’, ‘01999999999’, ‘3000’),
(2, ‘Iara Gabriela’, ‘02999999999’, ‘3000’),
(3, ‘Isabel Cristina’, ‘03999999999’, ‘4500’),
(4, ‘ Antonio Dimas’, ‘04999999999’, ‘6000’);
8

CREATE TABLE ‘Cafe_produto’ (


‘id’ int(11) NOT NULL,
‘especie’ varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
‘data_colher’ date DEFAULT NULL,
‘temp_cafe’ int(11) DEFAULT NULL,
‘produtividade’ int(11) DEFAULT NULL,
‘inseminacao’ varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL,
‘estado_parto’ date DEFAULT NULL,

‘secagem’ date DEFAULT NULL,


‘mm_rumina’ int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO ‘Produc_cafe’ (‘id’, ‘especie’, ‘data_colher’, ‘temp_cafe’, ‘produtividade’,


‘inseminacao’, ‘est_parto’, ‘secagem’, ‘mm_rumina’) VALUES
(1, ‘marina’, ‘2020-07-13’, 33, 1500, ‘nao’, ‘2020-09-25’, ‘2021-04-29’, 3600),
(2, ‘leiteira’, ‘2020-05-22’, 39, 2600, ‘nao’, ‘2021-02-13’, ‘2021-10-15’, 3600);

CREATE TABLE ‘Produtos’ (


‘id’ int(11) NOT NULL,
‘nome’ varchar(255) COLLATE utf8_unicode_ci NOT NULL,
‘tipo’ varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
‘quantidade_estoque’ int(11) DEFAULT NULL,
‘preco’ float DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO ‘Produtos’ (‘id’, ‘nome’, ‘tipo’, ‘quantidade_estoque’, ‘preco’) VALUES


(1, ‘sementes de milho, ‘sementes’, 500, 20),
(2, ‘enxada’, ‘material’, 300, 70);

CREATE TABLE ‘Varejistas’ (


‘id’ int(11) NOT NULL,
‘nome’ varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
‘ultima_compra’ date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO ‘Varejistas’ (‘id’, ‘nome’, ‘ultima_compra’) VALUES


(1, ‘Fazenda Rei do Gado’, ‘2020-01-23’),
9

(2, ‘Fazendo Embaixador’, ‘2020-04-15’);

ALTER TABLE ‘Compras’


ADD PRIMARY KEY (‘id’);

ALTER TABLE ‘Equipamentos’


ADD PRIMARY KEY (‘id’);

ALTER TABLE ‘Colaboradores’


ADD PRIMARY KEY (‘id’);

ALTER TABLE ‘Café_produto’


ADD PRIMARY KEY (‘id’);

ALTER TABLE ‘Produtos’


ADD PRIMARY KEY (‘id’);

ALTER TABLE ‘Varejistas’


ADD PRIMARY KEY (‘id’);

ALTER TABLE ‘Compras’


MODIFY ‘id’ int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

ALTER TABLE ‘Equipamentos’


MODIFY ‘id’ int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

ALTER TABLE ‘Colaboradores’


MODIFY ‘id’ int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

ALTER TABLE ‘Café_produto’


MODIFY ‘id’ int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

ALTER TABLE ‘Produtos’


MODIFY ‘id’ int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

ALTER TABLE ‘Varejistas’


MODIFY ‘id’ int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
COMMIT;

SELECT A.nome, B.nome FROM Compras as A INNER JOIN Varejistas as B on A.nome


10

= B.nome;

SELECT COUNT(*) FROM Colaboradores;

SELECT COUNT(DISTINCT nome) FROM Compras;

SELECT MAX(salario) FROM Colaboradores;

3 LINGUAGENS DE PROGRAMAÇÃO

A ideia consiste em dividir repetidamente uma lista previamente


ordenada de vacas leiteiras e aplicarmos a busca binária até encontrarmos as vacas que
já foram ordenhadas. Veja um exemplo de consulta binária utilizando a linguagem de
programação Phyton:

def busca_binaria(v, p, r, x):

#condição de parada
if p <= r:
q = (p+r) // 2 #buscando o índice do meio do vetor
if x > v[q]:
return busca_binaria (v, q+1, r, x)
elif x < v[q]:
return busca_binaria (v, p, q-1, x)
else:
return q #encontrado

return -1 #não encontrado

vacas_ordenhadas = list (range(1,5000))


vaca = 5001
posicao = busca_binaria(vaca ordenhada, 0, len(leite coletado)-1, vaca)

if posicao >=0:
print("o leite %d foi coletado e se encontra na posição: %d." % (leite,posicao))
else:
print("O leite NÃO foi extraido.")

print (leite ordenhado)


11

4 CONCLUSÃO

Agora Lúcia pode elaborar um sistema com o qual ela pode ter o
controle sobre o leita das vacas, plantações e entrada e saída de seus produtos, além
de também ter controle sobre os funcionários que ficarão responsáveis por uma parte da
fazenda.
Tendo como base esse método ainda é possível que aumente ainda
mais a produção e controle, sendo que pode haver mais formas e meios de obter um
controle, sendo essas planilhas e documentar tudo o que sai e entra. E não apenas dos
animais e demais itens como também deve haver um controle para os funcionários para
que assim haja mais organização.
12

FONTES

https://www.devmedia.com.br/artigo-engenharia-de-software-2-analise-orientada-a-
objetos/9150

https://www.devmedia.com.br/o-que-e-uml-e-diagramas-de-caso-de-uso-introducao-
pratica-a-uml/23408

Você também pode gostar