Você está na página 1de 19

SISTEMA DE ENSINO PRESENCIAL CONECTADO

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

JOÃO MONTANHA DUARTE DA ROSA


FERNANDO GONÇALVES VARGAS
MAICON NACHTIGALL SILVEIRA
JOÃO LUIZ DE MARENCO BITENCOURT
FERNANDO CARVALHO SCHWERTNER

PORTFÓLIO EM GRUPO

Uruguaiana
2016
JOÃO MONTANHA DUARTE DA ROSA
FERNANDO GONÇALVES VARGAS
MAICON NACHTIGALL SILVEIRA
JOÃO LUIZ DE MARENCO BITENCOURT
FERNANDO CARVALHO SCHWERTNER

PORTFÓLIO EM GRUPO

Trabalho de Portfólio em grupo apresentado à


Universidade Norte do Paraná - UNOPAR, como
requisito parcial para a obtenção de média nas
disciplinas Banco de Dados I, Análise Orientada a
Objetos I, Linguagens de Programação e Estrutura de
Dados, Organização de Computadores.

Orientador(es): Prof. Iolanda Claudia Sanches Catarino,


Leonardo de Marchi Ferrareto, Merris Mozer e Anderson
E. M. Gonçalves, Paulo K. Nishitani.

Uruguaiana
2016
SUMÁRIO

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

2 OBJETIVO.................................................................................................................4

3 DESENVOLVIMENTO................................................................................................5
3.1 UML.........................................................................................................................5
3.1.1 Diagrama de Caso de Uso...................................................................................6
3.1.2 Diagrama de Classe.............................................................................................7
3.2 ESTRUTURA DE DADOS EM C#...........................................................................8
3.2.1 Nodo.....................................................................................................................9
3.2.2 Listas....................................................................................................................9
3.2.3 Listas Encadeadas.............................................................................................10
3.2.4 Protótipo de Software.........................................................................................11
3.3 BANCO DE DADOS..............................................................................................12
3.3.1 Modelo Conceitual..............................................................................................13
3.3.2 Modelo Lógico....................................................................................................14
3.4 REDE EM MICROCOMPUTADORES..................................................................15

CONCLUSÃO.............................................................................................................17

REFERÊNCIAS...........................................................................................................18
3

1 INTRODUÇÃO

O e-commerce, o chamado comércio eletrônico, vem tomando


grandes proporções ao longo dos anos. Praticamente todas as grandes lojas do
Brasil e do mundo possuem uma página na web ofertando seus produtos, é um meio
de conquistar mais clientes, pois possibilita às pessoas que não possuem tempo ou
mesmo moram longe de uma determinada loja encontrar e comprar o produto que
ela deseja. Sabendo, do grande aumento das lojas virtuais e que a tendência é só
aumentar, para uma pequena ou micro empresa, ficar fora dessa alternativa de
venda é abdicar da oportunidade de crescer nos negócios.
E para explorar essa alternativa a empresa “Cats & Dogs”, que
trabalha no ramo de pet shop de pequeno porte, contratou uma empresa do ramo de
desenvolvimento de sistemas, a Software Up, para desenvolver um sistema de
agendamento de sessões de banho e tosa.
Para esse caso de uso específico será desenvolvido uma produção
textual interdisciplinar tendo como base todos os assuntos abordados no eixo
temático, envolvendo todas as disciplinas cursadas do terceiro semestre do curso de
tecnologia em análise e desenvolvimento de sistemas da UNOPAR.
4

2 OBJETIVO

O objetivo deste trabalho é definir como se dará o desenvolvimento


de um sistema de agendamento de sessões de banho e tosa para a empresa “Cats
& Dogs”. Não exatamente todo o processo de desenvolvimento, mais precisamente
a fase de modelagem do sistema, do protótipo de software que será utilizado e do
Banco de Dados, bem como uma breve explanação de alguns conceitos envolvidos.
E por fim uma breve passagem sobre vantagem de se utilizar uma rede baseada em
microcomputadores.
5

3 DESENVOLVIMENTO

Atualmente, as Tecnologias da Informação, ou simplesmente TI, têm


ocupado um grande espaço em praticamente todas as atividades humanas. E no
comércio não é diferente. Usar essa ferramenta para gerir algum tipo de negócio,
por mais simples que seja, é indispensável. O todo ou a maior parte de um processo
necessita ser automatizado.
Para o desenvolvimento do sistema do cenário proposto se faz necessária a
utilização de UML.

3.1 UML

UML nada mais é do que uma linguagem de modelagem de


sistemas orientados a objetos. É o acrônimo de Unified Modeling Language
(Linguagem de Modelagem Unificada) e é uma ferramenta muito usada pela
Engenharia de Software. Resumindo, antes de já de imediato ir "codificando" o
sistema, é preciso antes usar as ferramentas que a UML nos fornece. Ela surgiu da
fusão de três grandes métodos, do BOOCH, OMT (Rumbaugh) e OOSE (Jacobson).
Têm como papel auxiliar a visualizar o desenho e a comunicação entre objetos,
muito usada para criar modelos de sistemas de software. Ela permite que
desenvolvedores visualizem os produtos de seu trabalho em diagramas
padronizados.
A UML conta com 13 diagramas para a elaboração do projeto.
Todavia, utilizar todos os diagramas foge ao escopo do nosso projeto. Para a
empresa em questão utilizaremos apenas dois diagramas bastante requisitados: o
diagrama de Caso de Uso e o diagrama de Classe.

3.1.1 Diagrama de Caso de Uso

O Diagrama de Caso de Uso descreve um cenário mostrando o


funcionamento do sistema a partir do ponto de vista do usuário. Aqui o levantamento
dos requisitos é de extrema importância. Basicamente esse sistema é representado
por Atores, que são entidades que interagem com o sistema, podendo identificar um
ser humano, um outro sistema, ou um sensor, por exemplo. Casos de Uso, que
6

definem as funções do sistema. E por último temos os Relacionamentos, que nada


mais são do que uma “ligação” entre as duas representações anteriores, e dessa
forma ajudar a descrever o cenário.
Tendo tudo isso em mente, foi feito o levantamento dos requisitos e
o proprietário definiu o que deve receber nossa atenção: o controle dos Clientes, dos
Animais, dos Históricos de serviços dos Animais, dos Funcionários e dos Serviços.
Assim temos nosso Diagrama de Caso de Uso.
Ilustração 1 – Diagrama de Caso de Uso

Resumindo tudo isso temos o seguinte: Teremos um web site e um


aplicativo, onde o cliente poderá fazer seu pedido por essas novas plataformas, e o
cliente deverá ser cadastrado para poder utilizar esses serviços. Os entregadores
também deverão ser cadastrados. Contaremos, é claro, com um atendente, que
receberá os pedidos via ligação telefônica. Logo após um pedido ser confirmado, a
entrega deve ser obrigatoriamente realizada. Salvo se o gerente cancelar a entrega,
7

pois é o único que poderá fazer isso. Temos ainda para o gerente as funções de
efetuar o pagamento dos funcionários e de cadastrar novas Pizzas (ou qualquer
outro produto dessa empresa). Ainda no quesito entrega, teremos quatro “estados”
após um pedido ser confirmado com sucesso: Em Trânsito, Cancelado, Pendente, e
Entregue.
Concluindo esse é o Diagrama de Caso de Uso para a Pizzaria An
Poparome.

3.1.2 Diagrama de Classe

Um segundo diagrama muito usado nessa fase do projeto é o


Diagrama de Classe. Essa Ferramenta se aproxima bastante das linguagens de
programação. Basicamente irá utilizar o conceito de classes, elemento abstrato que
representa um conjunto de objetos. Desse modo, esse sistema será representado
por Atributos, que são representações das variáveis junto com a sua “visibilidade”,
que define se o atributo é Privado, Protegido ou Público. Operações, que serão as
funções do sistema. E os Relacionamentos, que será a interligação entre as
classes, com o mesmo princípio do Diagrama de Caso de Uso. Segue a ilustração 2
esse diagrama.
8

Ilustração 2 – Diagrama de Classe

O princípio aqui será o mesmo do Diagrama de Caso de Uso, a


diferença é que essa representação está mais próxima de uma linguagem de
programação. Por fim, esse dois diagramas serão o “esboço” do nosso sistema.

3.2 ESTRUTURA DE DADOS EM C#

Para a próxima etapa do processo, é necessário desenvolver


também um software para o atendente do petshop, nesse caso também deverá ser
desenvolvido um “esboço” para o programa que será utilizado. Mas antes de mostra-
lo em funcionamento, é necessário antes conhecer alguns conceitos básicos em
relação à estrutura de dados, que nada mais é do que distribuir e relacionar os
dados, tornado assim mais eficiente os algoritmos que manipulam esses dados.
9

Assim, quando um programador cria um algoritmo, paralelamente a isso ele está


desenvolvendo uma estrutura de dados.

3.2.1 Nodo

A “entidade elementar” de uma estrutura de dados é o nodo (ou nó).


Basicamente, um nodo é uma região, ou uma “célula”, onde a informação pode ser
armazenada. Vetores podem ser considerados nodos, por exemplo. Outro detalhe
interessante é que um nodo pode dar referência para o outro nodo, ou seja, pode
apontar ou para o nodo seguinte, ou para o nodo anterior, ou até mesmo para as
duas situações anteriores. E isso nos remete as listas.

3.2.2 Listas

Lista é uma sequência de elementos de mesma natureza


organizados em ordem. Por exemplo, uma sequência numérica, ou uma sequência
de nomes de clientes. Isso nos leva as listas lineares, que é uma estrutura de
dados que permite representar os nodos distribuídos de forma linear. Para as listas
lineares, temos três tipos de operações:
 Inserção de novos nodos;
 Exclusão de nodos da lista;
 Consulta dos nodos.

É importante frisar que existem outras operações relacionadas à


listas, mas estas são as mais “normalmente” utilizadas. Tendo isso em mente essas
três operações serão realizadas, obrigatoriamente, nas extremidades da lista. Assim
temos alguns casos particulares de listas lineares: pilhas e filas.
Pilhas são estruturas onde todas as operações exibidas
anteriormente são feitas apenas em uma extremidade, chamada de topo. É do tipo
LIFO (Last In First Out – Último a entrar, Primeiro a sair).
Ilustração 3 - Pilha
10

Filas é uma estrutura onde as consultas e exclusões ocorrem


sempre no início da fila, já as inserções ocorrem sempre no final da fila. É do tipo
FIFO (First In First Out – Primeiro a entrar, Primeiro a sair).
Ilustração 4 - Fila

3.2.3 Listas Encadeadas

Falamos no item anterior sobre listas lineares. Temos ainda outro


tipo de lista, que são as Listas Encadeadas. Basicamente são nodos distribuídos
de forma não linear, mesmo assim estão distribuídos de formas lógica e organizada.
O grande diferencial aqui é que esse tipo de lista conta com um ponteiro, onde agora
o nodo terá um campo para guardar a informação, o esse mesmo nodo terá um
segundo (ou vários) campo para dar referência, apontar para outro nodo. Temos
ainda duas particularidades: Listas Simplesmente Encadeadas e Listas
Duplamente Encadeadas. A grande diferença é que a primeira estrutura conta com
apenas um ponteiro (para o próximo nodo, ou para o nodo anterior), e a segunda
conta com “dois” ponteiros (aponta tanto para o nodo anterior, quanto para o próximo
nodo). Como mostras as ilustrações abaixo.

Ilustração 5 – Lista Simplesmente Encadeada


11

Ilustração 6 – Lista Simplesmente Encadeada

3.2.4 Protótipo de Software

Após apresentar todos esses conceitos, a estrutura de dados que


será adotada para a nossa pizzaria será a estrutura FILA, pois o primeiro cliente que
fizer um pedido terá prioridade máxima, e será o primeiro a receber o produto. O
mesmo acontece com o segundo e assim sucessivamente. Apresentando a seguir o
protótipo do software para a pizzaria utilizando a ferramenta Visual Studio, sendo a
linguagem de programação usada a C# (C Sharp).

Ilustração 7 – Protótipo de Software – Inicial

7
Ilustração 8 – Protótipo de Software – Fazer pedido
12

Ilustração 9 – Protótipo de Software – Cadastro Cliente

Ilustração 10 – Protótipo de Software – Cadastro Concluído

3.3 BANCO DE DADOS

Será necessário implementar também um Banco de Dados nesse


novo sistema. Entretanto, entramos no mesmo problema da implementação do
sistema e do software: era necessário antes de começar a programar, elaborar todo
o projeto, com o uso dos diagramas da UML e dos conceitos em estrutura de dados.
Assim, antes de criar o Banco de Dados, ou até mesmo escolher um SGBD
(Sistema Gerenciador de Banco de Dados) é necessário também fazer o “esboço”
deste. Neste quesito entra em ação a ferramenta idealizada por Peter Chen,
13

estamos falando do Modelo Entidade Relacionamento, ou simplesmente MER.


Falando um pouco sobre esse modelo, como o próprio nome já diz,
é baseado em Entidades, que é a representação de objetos, coisas, pessoas, algo
com propriedades em comum, tudo isso relacionado ao mundo real.
Relacionamentos, que é simplesmente a associação entre as Entidades. E por
últimos temos os Atributos, que são as características ou propriedades particulares,
tanto das Entidades, quanto dos Relacionamentos. Abaixo apresentamos os
modelos Conceitual e Lógico.

3.3.1 Modelo Conceitual

O modelo conceitual é um diagrama em blocos que demonstra todas


as relações entre as entidades, suas especializações, seus atributos e auto
relações, como consta na ilustração abaixo.

Ilustração 11 – Modelo Conceitual

Como é necessário também fazer um modelo desse tipo para o projeto


proposto, partindo do mesmo princípio das informações tiradas dos diagramas da
UML:
14

Ilustração 12 – Modelo Conceitual

Com base nesse simples diagrama, que pode ser facilmente lido por
um Analista de Sistemas, ou qualquer profissional da área é possível gerar o modelo
lógico.

3.3.2 Modelo Lógico

Seguindo a mesma linha de raciocínio do modelo anterior, o modelo


Lógico mostra as ligações entre as tabelas de banco de dados, as chaves primárias,
os componentes de cada uma, etc. O grande diferencial aqui é que teremos, de
certa forma, as chaves primárias e estrangeiras de uma forma mais “visível”, ou seja,
fica mais simples de visualizar. Podemos ver isso na ilustração da próxima página.
15

Ilustração 13 – Modelo Lógico

Aqui nesse tipo de representação temos algo mais “próximo” do


Banco de Dados. Concluindo o que foi dito anteriormente, nesse artigo trataremos
apenas dos modelos Conceitual e Lógico, pelo fato de ainda estarmos na fase inicial
do processo de automatização.

3.4 REDE EM MICROCOMPUTADORES

Para facilitar o compartilhamento dos arquivos da Pizzaria é


importante que se tenha uma rede de microcomputadores e se faz necessário à
utilização de equipamentos como: roteador wireless que permite distribuir a conexão
da internet com os demais computadores da Pizzaria ligados a ele, um servidor que
centraliza as opções de configurações do roteador, dando mais segurança as
informações armazenadas na rede, duas estações, sendo uma para o atendente e a
outra para o gerente permitindo uma conexão entre esses computadores além da
possibilidade de facilitar o atendimento e já o fazer no próprio sistema, uma
impressora que pode ser conectada a uma porta USB no próprio roteador permitindo
que qualquer computador da rede possa utilizar a impressora, um modem que ligado
16

ao servidor que estará conectado ao roteador. Com a rede possibilitando o fácil


acesso ao sistema e a todos os equipamentos necessários para o bom
funcionamento da pizzaria.
17

4 CONCLUSÃO

Pode-se concluir que o desafio de analisar o cenário proposto, e


realizar a automatização do processo de pedido/entrega da Pizzaria An Poparome
trouxe resultados satisfatórios. Embora tratemos apenas da sua fase inicial do
projeto, que é fase dos requisitos e a criação dos modelos do sistema, mesmo assim
essa fase é bastante importante e até crucial para o resultado final. Então, através
de uma análise bem minuciosa dos dados requisitados podemos montar modelos
muitos úteis, tendo uma ótima base para deste modo avançar para a codificação
propriamente dita.
Enfim, independente de qualquer situação ou cenário, o uso das
Tecnologias da Informação vieram para mudar completamente a forma de como o
simples fato de comprar ou vender um produto tem se tornado cada vez mais
simples, ainda que por trás disso tudo haja um sistema bastante complexo.
Enquanto antes o cliente teria que se deslocar até algum determinado
estabelecimento, hoje pode fazer tudo isso no conforto de sua casa, tendo tudo isso
na "palma da mão". TI não é mais um detalhe, mas sim uma ferramenta
imprescindível para a interação humana.
18

REFERÊNCIAS

OMG. Linguagem de Modelagem Unificada (UML). Disponível em:


<http://www.omg.org/spec/UML/>. Acesso em 28 maio 2015.

Picollo, Homero. Estrutura de Dados. Disponível em:


<http://usuarios.upf.br/~mcpinto/ed-tsi/ed_parte01.pdf>. Acesso em 28 maio 2015.

SAWASAKI, Simone. Análise de sistemas I. São Paulo: Pearson Prentice Hall,


2009.

YUKIO, Roberto. Banco de Dados I. São Paulo: Pearson Prentice Hall, 2009.