Você está na página 1de 12

CURSO SUPERIOR EM ANALISE E DESENVOLVIMENTO DE

SISTEMAS

GUSTAVO DOS SANTOS NASCIMENTO

PROJETO INTEGRADO II

Piraquê-TO
2022

Piraquê-TO
2022
GUSTAVO DOS SANTOS NASCIMENTO

PROJETO INTEGRADO II

Produção Textual Referente ao Projeto Integrado


Interdisciplinar do 1º Semestre do Curso Superior de
Tecnologia em Análise e Desenvolvimento de Sistemas,
apresentado como requisito parcial para a obtenção de
média semestral na disciplina de:
 Projeto Integrado – II

Orientador: Prof. Esp. Eduardo Viana de Almeida


Professore Titulares:
• Profª. Ms. Adriane Aparecida Lopez
• Profª. Ms. Vanessa M. Leite
• Prof. Ms Gilberto Fernandes Junior
• Prof. Ms. Dorival Magro Junior

Piraquê-TO
2022
SUMÁRIO

1 INTRODUÇÃO......................................................................................3

2 DESENVOLVIMENTO...........................................................................4

2.1 Lógica Computacional........................................................................5

2.2 Engenharia de Software.....................................................................6

2.3 Modelagem de Dados.........................................................................7

2.4 Algoritmo e Programação Estruturada................................................8

2.5 Análise e Modelagem de Sistemas.....................................................9

3 CONCLUSÃO......................................................................................10

REFERÊNCIAS ......................................................................................11
3

1 INTRODUÇÃO

Projeto integrado é uma disciplina que visa ampliar ainda mais os


conhecimentos dos alunos quanto aos conteúdos estudados ao longo do semestre.
É onde também encontramos a junção da teoria e da pratica, com situações que nos
propõem a resolver problemas da nossa área, que acontecem no dia a dia de um
analista e desenvolvedor de sistemas, consolidando assim os conteúdos e
desenvolvendo a nossa capacidade de resolução de problemas e até a criatividade.
4

2 DESENVOLVIMENTO

As disciplinas que estão compondo este trabalho e seus respectivos


professores que ajudaram através de vídeo aulas e materiais disponibilizados para
resolução dos problemas são: Engenharia de software com a Prof. Vanessa M. Leite
que nos ajudou a entender os fundamentos da engenharia de software,
metodologias tradicionais e ágeis de desenvolvimento (onde temos o TDD inserido)
qualidade, testes e processos de software, e por último a manutenção e evolução do
mesmo. Modelagem de dados com o Prof. Marco I. Hisatomi que nos introduziu ao
SGBD (sistema gerenciador de banco de dados) banco de dados relacionais,
modelos de bancos de dados, diagramas de entidade relacionamento (DER) e as
ferramentas CASE´s. Algoritmos e programação estruturada com a Prof. Vanessa M.
Leite, que nos mostrou como se cria um código em funcionamento, do zero, na
pratica, utilizando o programa DEV C++. E a disciplina de Análise e modelagem de
sistemas também com a Prof. Vanessa M. Leite revimos os fundamentos da
engenharia de software, modelos de processo de software, processos de negócios,
engenharia de requisitos, a utilização da UML e o paradigma orientado a objeto. Por
fim a disciplina de Lógica computacional, a qual não pôde ser acompanhada por
matricula tardia ocorrendo assim no adiamento da mesma para o próximo período,
mas que ainda sim foi desenvolvida durante o trabalho.
5

TAREFA 1 - LÓGICA COMPUTACIONAL

Tarefa 1:
Nesse ano de eleições, os candidatos a presidente estão apresentando seus
programas de governo. Um desses programas é sobre a agricultura familiar. É bem
interessante, vamos analisar a sua experiência.
Ele fez uma experiência com 13.500 agricultores e verificou-se que:
• 7.000 plantam arroz; • 4.100 plantam banana; • 3.100 plantam uva; • 2.100 plantam
arroz e banana; • 1.400 plantam arroz e uva; • plantam banana e uva; • 400 plantam
arroz, banana e uva.
Tendo essas informações, vamos responder com a lógica:
• a) Quantos plantam pelo menos uma das três espécies?
• b) Quantos não plantam nenhuma das três espécies?
• c) Quantos plantam arroz ou banana, mas não plantam uvas?
• d) Quantas plantam apenas uvas?

Tendo elaborado um método para a resolução dos problemas (o diagrama de venn)


seguimos com as respostas:

A) 6400 agricultores plantam


pelo menos uma das espécies.
B) 3400 agricultores não
plantam nenhuma das espécies.
C) 1700 agricultores plantam arroz ou banana e não plantam uvas.
D) 1100 agricultores plantam apenas uvas.
6

TAREFA 2 – ENGENHARIA DE SOFTWARE


Tarefa 2:
O teste de software geralmente faz parte da última etapa na construção de um
programa, visando encontrar defeitos/erros. No entanto, existe uma prática que faz a
inversão, o teste passa a uma das primeiras etapas. Sobre o desenvolvimento
orientado a testes – TDD (Test Driven Development), explique com suas palavras o
funcionamento e as etapas que estão presentes nesta prática.

TDD é uma metodologia de desenvolvimento de programas onde os testes


são feitos antes da implementação do código já se preparando assim para eventuais
problemas e também podendo antecipar novas funcionalidades que podem ser
incluídas durante as fases de progresso do programa, garantindo uma qualidade
maior no desenvolvimento e uma maior facilidade na manutenção do seu programa.
Para iniciar o desenvolvimento orientado a testes (TDD) é preciso entender o
que precisa ser feito, qual o objetivo e o que o projeto requisita e já nessa fase
começar a implementação de testes.
Primeiro escreva um teste onde o objetivo é falhar depois crie um código com
as funcionalidades desejadas para o programa, se passar nos testes continuamos o
desenvolvimento até chegar na versão final do nosso projeto seguindo esses
passos.
7

TAREFA 3 - MODELAGEM DE DADOS

Tarefa 3:
O Modelo de Entidade-Relacionamentos (MER) foi desenvolvido para aperfeiçoar o
projeto do banco de dados, sendo largamente utilizado apesar de ter sido elaborado
na década 70, continua sendo a principal técnica para consolidar um banco de
dados através do mapeamento dos dados necessários para refletir as necessidades
de requisitos de um sistema.
Indique uma ferramenta CASE que permite a criação de um MER para um projeto de
banco de dados relacional e explique as principais vantagens desta abordagem,
inclusive, explanando sobre o grau de relacionamento ou de cardinalidade entre as
tabelas.

MySQL Workbench é uma ferramenta CASE muito conhecida que permite a


criação de um modelo entidade-relacionamento (MER) que auxilia no
desenvolvimento de programas de banco de dados, da análise de requisitos até a
implementação dos testes, possibilitando a representação gráfica de elementos que
comporão o projeto, tendo assim uma melhor qualidade de software, mais rapidez
na implementação do código, agilidade também nos possíveis erros que podem
ocorrer durante a fase de desenvolvimento do projeto e uma redução na
manutenção do software na sua fase de utilização.

As ferramentas CASE´s são utilizadas para automatizar várias tarefas, por exemplo:
Geração de códigos: de forma automática, os códigos podem ser gerados a partir do
diagrama gráfico.
Geração de documentação: permite padronização nos processos.
Execução de testes: possibilita validações nas especificações formais de
desenvolvimento.
Geração de relatórios: permite o acompanhamento do planejamento e do
gerenciamento do projeto.

Temos também o grau de relacionamento ou cardinalidade entre as tabelas, que é a


quantidade de entidade que estão ou que podem estar ligada ao relacionamento.
A cardinalidade atribui um valor específico ao relacionamento, expressando a faixa
de ocorrências permitidas (mínimas e máximas) entre as tabelas, que, segundo
Coronel e Rob (2011), podem ser: Auto relacionada; Um para Um (1 - 1); Um para
Muitos (1 - N); Muitos para Um (N - 1); Muitos para Muitos (N - N).
8

2.4 ALGORITMO E PROGRAMAÇÃO ESTRUTURADA

Tarefa 4:
Em Algoritmos e Programação Estruturada, temos a busca pela facilitação da
compreensão de programas através do número restrito de mecanismos de controle
da execução de programas. Faça um programa na linguagem C, utilizando qualquer
compilador, em que peça como entrada, seu nome, endereço e telefone, por fim,
exiba esses dados na tela.

Programa utilizado para compilar o código foi o Dev c++ mostrado na primeira aula
da disciplina.
9

2.5 ANÁLISE E MODELAGEM DE SISTEMAS

Tarefa 5:
O diagrama de classes da UML é um diagrama estrutural, que tem como objetivo
principal ilustrar graficamente a estrutura do software, em níveis mais e menos
abrangentes. Além disso, o diagrama de classes mostra como se dá a interligação
entre os componentes da estrutura do sistema. Para compreender o diagrama de
classes, é preciso entender os relacionamentos entre as classes que poderão ser
representadas no diagrama de classes e objetos. Sabendo disso, explique os
relacionamentos listados a seguir:
a) Encapsulamento
b) Herança
c) Agregação
d) Composição

Encapsulamento é basicamente uma aplicabilidade que não se vê e não é


necessário saber, partes de um programa que está sendo acessado, mas que não
conseguimos entender onde e como está sendo feito. Um exemplo perfeito disso é
quando você vai sacar dinheiro em algum caixa 24H, se dá as informações
necessárias para o programa busca-la, mas não vemos como ele consegue
encontra-las; informações essas que não são essências para nós, usuário final.
Herança como já e conhecida no seu significado fora da área de TI é algo herdado
ou que se pode herdar, ela atribui características, funções ou operações de outra
classe já existente, sem a necessidade de duplicação do código.
Agregação É um tipo de associação especifica que onde o produto de algo pode
continuar a existir mesmo após mudanças ocorridas no processo de criação e
desenvolvimento dele.
Composição É também um tipo de associação especifica onde, se o criador de algo
(pai) deixar de existir, os frutos de sua criação (os filhos) não terão sentindo eles
também existirem.
10

3 CONCLUSÃO

Ao concluir então este trabalho posso dizer que as atividades antes


desenvolvidas proporcionaram um grande aprendizado. Quando é posto em pratica
tudo aquilo que é visto durante o semestre, os conteúdos voltam a mente,
mostrando que algo foi realmente adquirido durante esse período de lições.
O trabalho possibilitou não só o aprendizado de algumas coisas e
sim nos pôs para pensar e saber qual a utilidade de cada tarefa e como ela pode
impactar nossas ações quando estivermos no decorrer da carreira de analista e
desenvolvedor de sistemas. Aprendizados esses da primeira tarefa, que ao
resolvermos a questão de forma logica exercita nosso cérebro e deixa a capacidade
de organizar os pensamentos melhor. Já na segunda tarefa usamos uma
metodologia de desenvolvimento de softwares que se baseia em erros, a
implementação deles já é feita desde a fase de levantamento de requisitos. Na
terceira tarefa aprendemos sobre as ferramentas CASE´s e como elas podem nos
ser uteis no desenvolvimento de um sistema gerenciador de banco de dados. Com a
quarta tarefa aprendemos na pratica com criar um código e fazê-lo funcionar,
desenvolvendo nossa capacidade de resolução de problemas e por último
conhecemos a UML um diagrama estrutural que auxilia na criação de um programa
de forma tanto simples quanto muito complexa.
11

REFERÊNCIAS BIBLIOGRÁFICAS

ROVAI, Kleber Ricardi, Marcio Aparecido Artero, Vanessa Cadan Scheffer.


Algoritmos e Programação Estruturada. Londrina: Editora e Distribuidora
Educacional S.A., 2020.

WERLICH, Claudia, Regina Fedozzi, Samuel Gonçalves da Silva. Análise e


Modelagem de Sistemas. Londrina: Editora e Distribuidora Educacional S.A., 2020.

WERLICH, Claudia. Modelagem de Dados. Londrina: Editora e Distribuidora


Educacional S.A., 2018.

MAITINO NETO, Roque, Sergio Eduardo Nunes. Engenharia de Software.


Londrina: Editora e Distribuidora Educacional S.A., 2021.

Você também pode gostar