Você está na página 1de 14

lOMoARcPSD|40625358

Portifolio II - trabalho

Análise e Desenvolvimento de Sistemas (Universidade Norte do Paraná)

Digitalizar para abrir em Studocu

A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade


Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)
lOMoARcPSD|40625358

CURSO SUPERIOR DE ANÁLISE E DESENVOLVIMENTO DE


SISTEMAS - TECNÓLOGO

NOME DO AUTOR: LUCIANE SILVA

TÍTULO DO TRABALHO:
PROJETO INTEGRADO II

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

NOME DO AUTOR: LUCIANE SILVA

TÍTULO DO TRABALHO:
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 - I
Orientador: Prof. Esp. Eduardo Viana de Almeida
Professores Titulares:
 Prof. Ms Adriane Aparecida Loper
 Prof. Ms. Vanessa Matias Leite
 Prof. Ms Wesley Viana Pereira
 Prof. Ms. Marco Ikuro Hisatomi

SÃO LOURENÇO – MG
2022

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

SÃO LOURENÇO – MG
2022

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

SUMÁRIO

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

2 DESENVOLVIMENTO ............................................................................................. 4
2.1 Tarefa 1 ..................................................................................................................5
2.2 Tarefa 2......... ........................................................................................................ 6
2.3 Tarefa 3. ................................................................................................................ 7
2.4 Tarefa 4...................................................................................................................8

2.5 Tarefa 5 ..................................................................................................................9

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

REFERÊNCIAS ....................................................................................................... 101

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

1 INTRODUÇÃO

Este trabalho foi desenvolvido com intuito de compreender a engenharia de software.


Apresentarei uma contextualização sobre:
 TDD (Test Driven Development), processo usado antes ou durante o
desenvolvimento de novos softwares. Seu objetivo e criar um ciclo de
repetições , enquanto o desenvolvedor escreve testes automatizados para
validar requisitos, implementar novas funcionalidades, entre outros objetivos.
 O Modelo Entidade Relacionamento (também chamado Modelo ER, ou
simplesmente MER), como o nome sugere, é um modelo conceitual utilizado
na Engenharia de Software para descrever os objetos (entidades) envolvidos
em um domínio de negócios, com suas características (atributos) e como elas
se relacionam entre si (relacionamentos).Em geral, este modelo representa de
forma abstrata a estrutura que possuirá o banco de dados da aplicação.
Obviamente, o banco de dados poderá conter várias outras entidades, tais
como chaves e tabelas intermediárias, que podem só fazer sentido no contexto
de bases de dados relacionais.
 Linguagem C, o C é uma linguagem de programação de finalidade geral,
utilizada no desenvolvimento de diversos tipos de aplicação, como
processadores de texto, sistemas operacionais, sistemas de comunicação,
programas para solução de problemas de engenharia, física, química e outras
ciências, etc..
 O diagrama de classes ilustra graficamente como será a estrutura do software,
e como cada um dos componentes da sua estrutura estarão interligados.
Lembramos que na UML também temos o Digrama de Objetos. Este diagrama
serve para ilustrar as classes do software instanciadas, ou seja, materializadas
em objetos na memória do sistema operacional.

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

2 DESENVOLVIMENTO

O presente trabalho trata-se de um estudo atendendo a demanda do curso de Analise


de Desenvolvimento de Sistema das matérias: Lógica Computacional ministrada pela
professora Adriane Aparecida Loper; Engenharia de Software ministrada pela
professora Vanessa Matias Leite; Modelagem de Dados ministrada pelo professor
Marco Ikuro Hisatomi; Algoritmos e Programação Estruturada ministrada pelo
professor Wesley Viana Pereira; Analise e Modelagem de Sistemas ministrador pela
professora Vanessa Matias Leite; Arquitetura e Organização de Computadores
ministrada pelo professor Wesley Viana Pereira.

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

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?
R: 10.100
b) Quantos não plantam nenhuma das três espécies?
R: 3400
c) Quantos plantam arroz ou banana, mas não plantam uvas?
R: 7000
d) Quantas plantam apenas uvas?
R: 1100

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

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 dasprimeiras 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.

Resposta : Atualmente o desenvolvimento de software e escrita de códigos contam com


muitos recursos e tecnologias que visam padronizar as atividades e facilitar o dia a dia dos
profissionais. Alguns desses padrões e metodologias são focados em aumentar a qualidade do
software, e uma dessas metodologias é o Test Driven Development (TDD) – que é o
desenvolvimento orientado a testes. No TDD basicamente são criados testes antes do código
de cada funcionalidade. Isso funciona em ciclos, onde inicialmente escrevemos o teste e o
executamos com o objetivo de que ele falhe. Após isso, criamos o código de nossa
funcionalidade e rodamos novamente o teste, que por sua vez irá passar. Com o teste
passando inicia-se o processo de refatoração, onde o código é melhorado, ajustado e
otimizado. A partir desse momento o teste deve sempre passar para garantir que nada do que
foi planejado para essa funcionalidade foi quebrado. Esse processo é comumente conhecido
como “Red, Green, Refactor”.
Usando essa metodologia, a pessoa desenvolvedora tem muito mais segurança ao realizar
alterações no código e também obtém um feedback rápido caso algo não saia como o
esperado em uma refatoração. As correções de bugs também são mais completas, pois, em
muitos casos, tanto o código quanto o teste serão corrigidos dando uma maturidade muito
maior ao código do projeto.
A diminuição de tempo com depuração de código também é um benefício, já que são gerados
menos bugs no código devido a escrita antecipada de testes. Também podemos pontuar que
o código tende a ficar melhor escrito em pequenos blocos e com uma escrita mais simples
devido a característica da escrita de testes, facilitando seu entendimento.
Quando se fala em TDD, muito se comenta sobre o tempo alto a ser investido pela necessidade
da escrita dos testes, mas isso se prova como sendo um mito. Aplicar essa metodologia acaba
gerando uma economia de tempo, uma vez que a incidência de bugs no produto será menor,
diminuindo o tempo necessário para correção de problemas encontrados ao longo do
processo de desenvolvimento.

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

TAREFA 3:
O Modelo de Entidade-Relacionamentos (MER) foi desenvolvido para aperfeiçoar o projeto
do bancode 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.Como base de conhecimento para o desenvolvimento dessa atividade poderá
utilizar o livro didáticodo autor Werlich (2018), unidade 2, seção 2, Modelagem de Dados.

Resposta: o termo CASE – Computer Aided Software Engineering – aplica-se


a ferramentas que, literalmente, “auxiliam” o processo de desenvolvimento de software.
Compiladores, editores estruturados, sistemas de controle de código fonte e ferramentas de
modelagem são alguns exemplos. O benefício mais óbvio de uma ferramenta CASE de
modelagem de dados é a facilidade com que se produz um diagrama a partir dos esforços de
modelagem e com que se gera um banco de dados a partir do modelo. Outro benefício é a
possibilidade de documentar o sistema que está sendo modelado. Recursos de documentação
e disponibilização de informações garantem que os profissionais envolvidos no
desenvolvimento do software comuniquem-se entre si e com os usuários finais.

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

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.

Resposta:
#include <stdio.h> insira seu nome:
#include <string.h> Luciane
insira seu endereco:
int main(int argc, char const *argv[]) Rua farmaceutico raul ramos da costa
{char nome[40]; insira seu telefone:
char endereco[50]; 3599127852
char telefone[15]; seu nome eh:Luciane
seu endereco eh:Rua farmaceutico raul ramos da
printf ("insira seu nome:\n"); costa
fgets(nome,40,stdin); seu telefone eh:3599127852

O Processo retornou 0 tempo de execução : 23.891


printf("insira seu endereco:\n"); s
fgets(endereco,50,stdin); Pressione uma tecla para continuar...

printf("insira seu telefone:\n");


fgets(telefone,15,stdin);

printf("seu nome eh:%s", nome);


printf("seu endereco eh:%s",
endereco);
printf("seu telefonee eh:%s", telefone);

return 0;
}

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

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 diagramade 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: técnica para agregação das partes de um subprograma (dados e
códigos) numa forma que seja tratada como uma unidade indivisível pelas demais
partes do programa.

b) Herança: capacidade que instâncias de uma classe filha ou Subclasse de acessar dados
e procedimentos ou métodos associados com uma Classe Parente ou Superclasse. Ou
seja, uma Subclasse herdará todos os métodos e dados da Superclasse. Além disso, a
Subclasse poderá definir métodos e dados, ou mesmo em alguns casos, redefinir
alguns métodos da Superclasse. A Herança é sempre transitiva. Ou seja, uma classe
pode herdar aspectos de Superclasses que estão a muitos níveis de distância. Em
outras palavras, uma classe Filha pode herdar métodos da classe Pai, classe Avô, classe
Bisavô, classe Tataravô e assim sucessivamente.

c) Agregação: associação em que um objeto é parte de outro, de tal forma que a parte
pode existir sem o todo. Em mais baixo nível, uma agregação consiste de um objeto
contendo referências para outros objetos, de tal forma que o primeiro seja o todo, e
que os objetos referenciados sejam as partes do todo.

d) Composição: variação da agregação onde se tenta representar um vínculo mais forte


entre os objetos todo-parte ao ponto de um não existir sem o outro. Vejamos o
exemplo entre as classes Revista e Edição. Uma revista deve ser composta de no
mínimo um artigo, mas pode conter vários. Um artigo obrigatoriamente deve
pertencer a uma e somente uma revista.

REVISTA é composta ARTIGO

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

10

CONCLUSÃO

Quando o assunto é qualidade das entregas de uma software house, os testes de software
são, sem dúvida, uma ferramenta importante para garantir o sucesso das etapas de
desenvolvimento ao minimizar a ocorrência de erros e eventuais problemas antes de a solução
ser entregue ao cliente. Esta qualidade possui uma influência significativa diante a
competitividade do mercado de desenvolvimento de software, fazendo com que as empresas
desenvolvedoras busquem estabelecer um processo por meio do qual seja possível alcançar a
qualidade de seu produto.

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)


lOMoARcPSD|40625358

11

REFERÊNCIAS BIBLIOGRÁFICAS

https://www.devmedia.com.br/mer-e-der-modelagem-de-bancos-de-dados/14332,
acesso em 01/09/2022.
https://blog.onedaytesting.com.br/test-driven-development/ , acesso em 01/09/2022.
https://www.youtube.com/watch?v=mEPkcSdPigg, acesso em 01/09/2022.

Baixado por Alessandro Corrêa (alessandro.apcorrea@gmail.com)

Você também pode gostar