Você está na página 1de 21

Castanhal,

2013










































GLEYSON DAS CHAGAS CORREA
LUIS OTAVIO GOMES DA COSTA
ODAILSON NOGUEIRA CARDOSO
WELLINGSON DENNIS OLIVEIRA DOS SANTOS




















SISTEMA DE ENSINO PRESENCIAL CONECTADO
ANLISE E DESENVOLVIMENTO DE SISTEMAS

PRODUO TEXTUAL INTERDICIPLINAR
EM GRUPO


Castanhal
2012
























SS











LISTA DE SIGLAS E ABREVIATURAS
PRODUO TEXTUAL INTERDICIPLINAR

Trabalho interdisciplinar em grupo (Linguagens de
Programao e Estruturas de Dados, Banco de Dados II,
Tpicos em Desenvolvimento de Sistemas e Anlise e
Modelagem Orientada a Objetos) apresentado a
Universidade Norte do Paran - UNOPAR

Profs.: Marris Mozer e Anderson Macedo
Roberto Nishimura
Veronice de Freitas
Polyanna P. Gomes Fabris

GLEYSON DAS CHAGAS CORREA
LUIS OTAVIO GOMES DA COSTA
ODAILSON NOGUEIRA CARDOSO
WELLINGSON DENNIS OLIVEIRA DOS SANTOS












Castanhal,
2013

LISTA DE SIGLAS


CASE Computer Aided Software Engineering

IDE Integrated Development Environment

TI Tecnologia da Informao

UML Unified Modeling Language






































LISTA DE FIGURAS

Figura 1- Diagrama de classe para Aluga Buggy

Figura 2- MER normalizado at a terceira forma normal

Figura 3- Programa com os testes de insero, empilhamento e desempelhamento

Figura 4- Algoritmo classe LISTA

Figura 6- A

Figura 7-













SUMRIO
1 INTRODUO....................................................................................................3
2 OBJETIVOS........................................................................................................5
3. CENRIO PROPOSTO ALUGA BUGGY"........................................................6
3.1 Informaes sobre as classes do sistema........................................................6

3.2 Informaes sobre as regras de do negcio...................................................6

4 CONSTRUO DO DIAGRAMA DE CLASSE...................................................8
5 MODELO ENTIDADE RELACIONAMENTO NORMALIZADO.........................11
6 ALGORITMO......................................................................................................13
7 CONCLUSES...................................................................................................17
8 REFERNCIAS BIBLIOGRFICAS...................................................................18



3
1 INTRODUO
Com o desenvolvimento cada vez maior da tecnologia de hardware e a
consequente disponibilidade de mquinas cada vez mais potentes e baratas, o uso
de computadores tem-se tornado cada vez mais difundido em diversas reas. Isso
tem feito com que aumente a demanda por software cada vez maior e mais
complexo.
Para Videira (2001), o projeto e o desenvolvimento de software um ato
complexo, mltiplas variveis, prazos predefinidos, requisitos de qualidade e
oramentos previstos. Por isso, a produo de software ser sempre uma
combinao entre engenharia e arte. Por outro lado, a demanda por software tem-se
tornado maior que a capacidade do mercado para atend-la.
Vasconcelos et al (2006) destaca que muitos projetos de software so
entregues com um grande atraso, custando muito mais que o inicialmente previsto,
sendo no confiveis, difceis de manter e/ou no tendo um desempenho
satisfatrio. Alm do mais, na tentativa de se consertar os erros, muitas vezes
introduzem-se mais erros. Geralmente, a quantidade de problemas diretamente
proporcional ao aumento da complexidade do software produzido nos dias de hoje.
Esses problemas no desenvolvimento de software so conhecidos mundialmente
ponde
incapacidade da indstria de software de atender prontamente demanda do
mercado de software, dentro dos custos e dos nveis de qualidade esperados.
Por esse motivo, os profissionais de TI necessitam adotarem metodologias e
tcnicas que possam garantir a eficincia, qualidade e produtividade de softwares.
Nesse sentido, Seabra Jnior (2001) destaca que a Unified Modeling Language
(UML) consiste uma linguagem- padro para estruturao de projetos de software
que permitem atingir essas exigncias. Sua abrangncia vai desde a modelao de
sistemas de informao corporativos a serem distribudos a aplicaes Web, at
sistemas complexos embutidos em tempo real.
Portanto, este trabalho tem por base a construo de um portflio em grupo
dissertativo, que visa elucidar, construir e recomendar uma srie de procedimentos
no processo de padronizao de tcnicas da UML e de engenharia de software, para
resoluo de situaes- problemas, provenientes de um cenrio hipottico do plano
de negcio da empresa intitulada Aluga Buggy . Trata-se de um trabalho curricular
interdisciplinar que procura aproximar os discentes da realidade vivenciada por

4
profissionais de TI no processo de elaborao de software.
Neste cenrio, veremos como a empresa de consultoria em TI, intitulada de
dever realizar as seguintes tarefas: (1) construir um diagrama
de classe que demostre uma viso esttica dos objetos que compe o cenrio da
Aluga Buggy, (2) Construir um modelo entidade relacionamento normalizado
baseando-se no diagrama de classe e no cenrio dessa empresa e, alm do mais,
(3) elaborar um algoritmo de lista lineares com bugues, utilizando ponteiros, de
forma a controlar sua chegada e sada. Todos esses itens devem levar em
considerao s necessidades funcionais, tcnicas e mercadolgicas da locadora
dentro do contexto hipottico que ela est inserida. Todas essas atividades e,
posteriores resolues, visam integrar assuntos de todas as disciplinas trabalhadas,
do segundo semestre de 2013, do curso superior de tecnologia em Anlise e
Desenvolvimento de Sistemas, dentro do eixo temtico desenvolvimento de sistemas
de informao I, da Unopar.






















5
2 OBJETIVOS

2.1 Objetivo Geral:

Este trabalho buscou atender os critrios de interatividade e regionalidade
da produo interdisciplinar em grupo, do segundo semestre do superior de
Tecnologia em Anlise e Desenvolvimento de Sistemas, ano 2013, tendo como base
os assuntos no eixo temtico Desenvolvimento de Sistemas de Informao I. A
finalidade construir uma dissertao que englobe a resoluo de situaes-
problemas envolvendo paralelamente,
os conceitos trabalhados nas seguintes disciplinas: Linguagens de Programao e
Estruturas de Dados, Banco de Dados II, Tpicos em Desenvolvimento de Sistemas
e Anlise e Modelagem Orientada a Objetos.

2.2 Objetivos Especficos:
Construir um diagrama de classe na ferramenta JUDE Community para o
cenrio proposto da Aluga Buggy, detalhando a existncia das seguintes
classes: Cliente, bugue, tipo de bugue e reserva;
Utilizar o diagrama de classe idealizado para construir um projeto de banco
de dados no modelo conceitual para Aluga Buggy;
Aplicar as formas normais sobre o modelo conceitual construdo atravs da
ferramenta CASE BrModelo;
Construir um algoritmo em linguagem C#, a partir da ferramenta visual studio,
que tenha como principal funcionalidade o controle de chegada e sada de
bugues;
Sugerir qual a melhor estrutura organizacional, lista do tipo pilha ou fila, que
consiga atender as exigncias funcionais da empresa Aluga Buggy.

6
3 CENRIO PROPOSTO: ALUGA BUGGY

A empresria Polyanna dona de uma empresa que trabalha no ramo de
locao de bugues, cuj
A empresa est sediada na cidade de Guarapari- ES e trabalha com bugues
de 4 e 6 lugares. As reservas de tipo de automvel podem ser feitas na prpria loja,
onde esto os carros; ou, pela internet, atravs do site da empresa.

3.1 Informaes sobre as classes do sistema

Considerando esse cenrio, tem-se as seguintes informaes sobre as
classes que iro compor o sistema implementado na empresa Aluga Buggy:
1. Classe Cliente:
Atributos: cdigo, nome, telefone, CNH (carteira nacional de
habilitao), Rg, CPF e endereo.
Mtodos: cadastrar, alterar, excluir e pesquisar cliente.
2. Classe Buggy:
Atributos: nmero, modelo, ano e tipo do bugue
Mtodos: cadastrar, alterar, excluir e pesquisar bugue.
3. Classe Reserva:
Atributos: cdigo do bugue, data da reserva, data da retirada, data da
devoluo, cdigo do cliente, numero do buggy e valor estimado da
reserva.
Mtodos: cadastrar, alterar, excluir e pesquisar reserva.
4. Classe Tipo_buggy:
Atributos: descrio, cdigo do tipo, valor do tipo de buggy.
Mtodos: cadastrar, alterar, excluir e pesquisar cliente.

3.2 Informaes sobre as regras de negcio
Para a construo do diagrama de classe e do modelo entidade

7
relacionamento, faz-se necessrio conhecer previamente as regras de negcio que
compem o cenrio da locadora Aluga Buggy. Por isso, as principais regras de
negcio so:
Um cliente pode fazer nenhuma ou vrias Reservas;
Uma reserva tem no mnimo um e no mximo um cliente;
Um bugue pode estar em nenhuma ou vrias reservas;
Uma reserva tem no mnimo um e no mximo um bugue;
Um tipo de bugue pode ter nenhum ou vrios bugues;
Um buggy tem obrigatoriamente um tipo de bugue.

8
4 CONSTRUO DO DIAGRAMA DE CLASSE
Uma classe, segundo Jacobson (2000), pode ser definida como um conjunto
de objetos que compartilham os mesmos atributos, operaes, relacionamentos e
semntica. As classes so utilizadas para comporem o vocabulrio do sistema que
est sendo desenvolvido atravs da abstrao dos objetos que compem o domnio
do problema.
Para Pressman (2002), o diagrama de classe fornece uma viso geral de um
sistema computacional, representando um artefato imprescindvel na construo e
modelamento de software. Consequentemente, O diagrama de classes demonstra a
estrutura esttica das classes de um sistema onde estas representam as "coisas"
que so gerenciadas pela aplicao modelada. Classes podem se relacionar com
outras atravs de diversas maneiras: associao (conectadas entre si), dependncia
(uma classe depende ou usa outra classe), especializao (uma classe uma
especializao de outra classe), ou em pacotes (classes agrupadas por
caractersticas similares).
Seabra Junior (2001) destaca que os diagrama de classe podem ser
utilizados para trs propsitos bsicos e distintos: (1) Fazer a modelagem do
vocabulrio do sistema, (2) fazer a modelagem de colaboraes simples (3) fazer a
modelagem de um esquema lgico de um banco de dados. Por isso, esses tipos de
diagramas modelam os aspectos estticos de um sistema pelo fato de sua estrutura
ser sempre visvel em qualquer ponto do ciclo de vida do sistema.
Para a construo do diagrama de classe, para o cenrio da Aluga Buggy, a
ferramenta utilizada neste trabalho de modelagem, foi a JUDE Community verso
5.1 encontrada no site http://jude.change-vision.com. Esta ferramenta foi escolhida
por ser free, bastante didtica, utilizar a linguagem UML e os conceitos de anlise
orientada a objetos. O diagrama de classes apresentado na Figura 1, onde se
apresentam as classes do sistema, os relacionamento, os seus atributos e as suas
respectivas operaes.
O objetivo central desse tipo de diagrama da UML de se representar como
as classes obtidas a partir da anlise de requisitos provenientes do cenrio da
Aluga buggy- se relacionam em determinado ponto no tempo de execuo do
sistema. Portanto, a estratgia ser a visualizao das diferentes classes, atributos e
relacionamentos abstrados nesse cenrio, para que se possa construir um software
eficiente e dentro do prazo.

9
A partir da figura 1, observa-se que o diagrama para a construo do
sistema de locao de bugues, desenvolvido pela consultoria da Alunos da Unopar,
apresenta as seguintes classes, com suas respectivas funcionalidades:
1) Cliente: classe que contm os atributos necessrios para definir os
clientes da Aluga Buggy. Alm do mais, possui as operaes
necessrias para manusear os dados dos clientes.
2) Buggy: classe que permite obter as informaes sobre os diferentes
bugues que essa empresa locadora possua, bem como seu estado de
disponibilidade: reservado ou no. Contudo, ainda, no contempla as
informaes mais especficas de cada automvel, como, por exemplo:
numero de assentos, valor, etc.
3) Reserva: classe mais abrangente do sistema. Alm de especificar as
datas de retirada, devoluo e reserva; pode informar o estado atual de
uma reserva feita pelo cliente.
4) Tipo_buggy: classe que integra informaes sobre valor,
caractersticas e cdigo do bugue.

Figura 1- diagrama de classe para Aluga Buggy


10
Verifica-se que, neste sistema, a reserva pode ser ou no feita pelo usurio (
como demostra a operao estaReservado). Ainda nesse sistema, identifica-se dois
casos especiais, designado, no diagrama de classes, de associao por agregao (
entre as classes Reserva e buggy);e, de associao por composio (entre as
classes Buggy e Tipo_buggy). Esses tipos de associaes permitem demonstrar a
noo de superclasse e subclasse, herdando esta os atributos da superclasse.
Entretanto, nota-se a necessidade da classe Tipo_Buggy, ser definida a partir do
momento que se conhece as caractersticas da classe Buggy. Isso indica que esta
ltima classe s existir, caso a classe Buggy exista primeiro no contexto da
empresa Aluga Buggy.


11
5 MODELO ENTIDADE RELACIONAMENTO NORMALIZADO
O modelo entidade relacionamento, MER, um modelo baseado na
percepo do mundo real, que consiste em um conjunto de objetos bsicos
chamados de entidades e nos relacionamentos entre esses objetos. Foi proposto por
Peter Chen, em 1976, como uma ferramenta de projeto de banco de dados. O MER
apresenta como contribuies um maior grau de independncia de dados que os
modelos convencionais (de redes e hierrquico) e uma unificao de representao
destes modelos, atravs do formalismo grfico do Diagrama Entidade
relacionamento (DER).
Entretanto, O processo de normalizao do MER consiste em uma estratgia
que visa corrigir a base de dados evitando possveis problemas de integridade,
redundncia e m estruturao dos dados. A correo acontece atravs dos
conceitos das formas normais que reestruturam o banco de dados. O processo
dever ocorrer em etapas: primeiramente a base dever satisfazer as regras da
primeira forma normal (1FN). A posteriori, estar enquadrada nas regras da segunda
forma normal (2FN) que por sua vez, s poder ser realizada quando a 1FN j
estiver atendida. Por seguinte, outras formas normais viro ajustando o banco.
Para realizar esse processo, utilizou-se a ferramenta BrModelo. uma
excelente ferramenta criada para facilitar a criao de modelos relacionais de um
banco de dados. O aplicativo foi desenvolvido no com intuito de criar concorrncia
com o famoso DBDesigner, mas sim para mostrar outra forma de modelagem
relacional.
O programa foi desenvolvido como trabalho de concluso de ps-graduao
e tem como base a metodologia defendida por Carlos A. Heuser, autor do livro
pelas mais diversas faculdades e universidades.
Seguindo as instrues do cenrio proposto, que foi detalhado pelo item 3,
chegou-se, como mostra a figura 2, ao seguinte MER normalizado para a empresa
Aluga Buggy.






12
Figura 2- MER normalizado at a terceira forma normal

13
6 ALGORITMO
Para que se possa visualizar completamente o algoritmo desenvolvido,
optou-se nesse trabalho por separ-lo em mdulos, percebidos visualmente atravs
das figuras 3, 4, 5, 6 e 7. Isso permitir uma melhor visualizao do algoritmo
encadeado. Entretanto, essa estratgia apenas para melhorar a leitura e a
compreenso de como esto os organizados as linhas de comando de cada
algoritmo. A IDE utilizada para esse fim, foi o visual studio 2012.
Na figura 3, podemos observar a estrutura inicial do programa. O algoritmo
construdo caracteriza-se por ter os dados organizados e manipulados em lista do
tipo pilha. Por isso, ainda, na figura 3, observa-se que das linhas 13 a 29 manipula-
se os testes de insero, empilhamento e desempilhamento.
















Figura 3- programa com os testes de insero, empilhamento e desempelhamento

Para elaborar um algoritmo de lista encadeada do tipo pilha, para a realidade
da Aluga Buggy, foram adotados as seguintes regras:
Deve-se construir o algoritmo com vrias classes pertinentes no
cenrio estudado;
Deve-

14

A escolha da lista do tipo pilha para a construo do algoritmo se deve ao
fato do acesso aos dados da empresa Aluga Buggy; dar-se, na maioria das vezes,
pelos ltimos elementos, pois os ltimos dados de um pilha sempre sero os
primeiros a serem acessados. O uso desse tipo de algoritmo justifica-se, ainda,
porque ele ajuda a organizar melhor os dados em banco, sem que haja erros na sua
estrutura de armazenamento e, consequentemente, permite uma sua rpida
manuteno
As figuras 4 e 5, mostram a lista propriamente dita pronta para ser
executada. Na linha 10, da figura 4, o algoritmo est fazendo uma
tada e saida, ou seja, a entrada de um
bugue e sua, eventual, sada. Na linha 11, da figura 4, est sendo criado um mtodo
de insero. Logo, em seguida, na linha 13, da mesma figura, feita uma instncia
ainda, o
algoritmo verifica se esse elemento o primeiro; caso contrrio, ele entrar na
, observado das linhas 48 e 72 da figura 5. Lembrando que
das linhas 30 a 41, criou-se, tambm, um mtodo de busca, pois para se fazer a
remoo de um bugue; preciso, prioritariamente, saber qual sua atual posio (
primeiro, segundo, etc). Portanto, esse mtodo permitir localizar essa posio.















Figura 4- Algoritmo classe LISTA

15
















Figura 5- algoritmo classe Lista em tempo de programa

Na figura 6, observa- a rotina de insero de dados.
Nesse tipo de algoritmo, criou-se, uma rotina para que toda vez que se inserir uma
informao na lista, ele ocupe um espao na memria do hadware; e,
posteriormente, informe-se qual o prximo valor a ser inserido.












Figura 6-

16
Na figura 7, encontra- ossa funcionar
corretamente; necessrio que ela recceba os dados de algum lugar, ou seja, ter
que herdar as informaes da lista propriamente dita. Isso permitir com que esse
algoritmo organize todas as informaes que so inseridos na lista e, dentro dele,
so criados dois mtodos: o de empelhar e o de desempilhar. Para empilhar usado
Para desempilhar
preciso saber o que vai se retirado e o local que o bugue est.
Figura 7-










17
7 CONCLUSES
A anlise do cenrio da Aluga Buggy, pela consultoria da Alunos da Unopar,
levou em considerao de um diagrama de classe que contemplasse as seguintes
classes: cliente, reserva, buggy e tipo_bugue. Nesse diagrama, identificou-se dois
casos especiais, designado, no diagrama de classes, de associao por agregao (
entre as classes Reserva e buggy); e, de associao por composio (entre as
classes Buggy e Tipo_buggy).
Utilizando o Visual Studio 2012 com a linguagem C#, a consultora Alunos da
Unopar desenvolveu o algoritmo de lista encadeada para a Aluga Buggy. A estrutura
de dados em forma de listas lineares do tipo pilha se apresentou como melhor forma
para construir esse algoritmo, j que, na maioria dos casos, os dados seriam
acessados pelos ltimos elementos da lista. Alm do mais, o modo pilha garante a
organizao dos elementos contabilizando o tamanho e a quantidade de elementos
dentro das listas lineares. Para isso, o algoritmo foi desenvolvido em trs mdulos:
duas funcionalidades bsicas: empilhamento e desempilhamento.





18
8 REFERNCIAS BIBLIOGRFICAS

FILGUEIRA, Joo M; COSTA, Welbson S. A Importncia de utilizar UML para
Modelar Sistemas: Estudo de caso. Disponvel em: <
http://www.cefetsp.br/edu/sinergia/6p10c.html>. Acesso em: 8 out. 2013.

FURLAN, Jos D. Modelagem de Objetos atravs da UML. So Paulo: Makron Books,
1998, 329p.

JACOBSON, Ivar. UML Guia do Usurio. 1. ed. Rio de Janeiro: Editora rica, 2000.
VIDEIRA, Carlos A. E.; SILVA, Alberto M. R. UML, Metodologias e ferramentas CASE.
Lisboa: Centro Atlntico, 2001. 452 p.

PRESSMAN, Roger S. Engenharia de software. 5. ed. Rio de Janeiro: McGraw-Hill,
2002. 843.p.

SEABRA JNIOR, Rodolfo Moacir. Anlise e projeto orientado a objeto usando UML e o
processo unificado. Trabalho de Concluso de Curso ( Graduao em Cincias da
computao). Belm, UFPA, 2001.

VASCONCELOS, Alexandre Marcos Lins et al. Introduo Engenharia de Software e
Qualidade de Software. Trabalho de concluso do curso ( Curso de ps-
- especializao). Lavras: UFLA/FAEPE, 2006.