exemplo tcc

Embed Size (px)

Citation preview

Banco de dados II

PAGE

SUMRIO

31INTRODUO

42JUSTIFICATIVA

53OBJETIVOS

53.1OBJETIVO GERAL

53.2OBJETIVOS ESPECFICOS

64REFERENCIAL TERICO

64.1CONCEITOS BSICOS

64.1.1ADMINISTRAO

64.1.2INFORMAO

64.1.3DADOS

64.1.4INFORMAO

74.1.5CONHECIMENTO

74.2COMUNICAO

74.3PLANEJAMENTO ESTRATGICO DA INFORMAO

74.3.1ALINHAMENTO ESTRATGICO DE NEGCIOS E TECNOLOGIA DA INFORMAO ALCANADO QUANDO:

95METODOLOGIA PROPOSTA

116CARACTERIZAO DA ORGANIZAO EM ESTUDO

137TECNOLOGIA

137.1LINGUAGEM DE PROGRAMAO

177.1.1SINTAXE

187.1.2CONTROLE DE FLUXO

197.1.3OPERADORES LGICOS

197.1.4LAOS

207.1.5FOR

217.1.6WHILE

217.2BANCO DE DADOS

238ENGENHARIA DE REQUISITOS

249LISTA DE CASO DE USO

249.1DIAGRAMA DE CASO DE USO

2510DIAGRAMA DE CLASSES

2611DIAGRAMA DE SEQUNCIA

2712DIAGRAMA DE ATIVIDADES

2813DIAGRAMA DE ENTIDADE E RELACIONAMENTO (DER)

2914PROTOTIPAO DAS TELAS DO SISTEMA

2914.1TELA DE LOGIN

3014.2TELA DE CADASTRO DE COORDENADAS

3114.3TELA DE MAPA E LOCALIZAO DO VECULO

3215CDIGO FONTE

4216CRONOGRAMA

4317CONCLUSO

44REFERNCIAS

1 INTRODUO

Este trabalho tem a proposta de analisar e especificar uma soluo para uma montadora de veculos, onde os carros so estacionados no ptio sem qualquer tipo de gerenciamento. Por se tratar do desenvolvimento de uma soluo para mapeamento e localizao de veculos no ptio de uma montadora, o mesmo ser realizado em uma empresa de desenvolvimento de softwares que chamou a ateno pela existncia constante de idias inovadoras. Sendo assim, a oportunidade se torna de grande valia, uma vez que o interesse pela rea de desenvolvimento de softwares notrio.

2 justificativa

No decorrer dos anos a indstria automobilstica vem sofrendo diversas transformaes o que deixa o mercado cada vez mais competitivo. Acerca disso so utilizadas diversas formas de trazer a qualidade, como metodologias e ferramentas que acirram a competitividade das empresas.

Existe hoje a constante preocupao em aumentar a produtividade, flexibilidade de operaes e reduzir os custos. Durante o estudo de caso, foi percebido que grande parte dos problemas foram gerados pelo fluxo de informao que ineficiente dentro da prpria indstria.Neste contexto o trabalho ter grande valor para melhoria do fluxo de informaes, j que servir para facilitar o trabalho das pessoas que esto responsveis pelo gerenciamento dos automveis que esto estacionados no ptio, melhorando a produtividade, deixando a empresa mais competitiva e ter tambm grande valia para o aprendizado no s na parte de desenvolvimento de sistemas, como tambm na parte de gerenciamento e fluxo de informaes.3 OBJETIVOS

3.1 Objetivo geral

O objetivo geral ser desenvolver um sistema que realize o mapeamento e localizao de veculos em um ptio de uma montadora.

3.2 objetivos especficos

O sistema ir realizar a localizao do veculo no ptio da montadora, existir um cadastro onde o usurio informar o nmero do chassi e as coordenadas do veculo, a partir dessas informaes o sistema ir gerar um mapa com a localizao atual do mesmo.

Quando um veculo sair do ptio dever ser lanada sua retirada para que seja gerado um novo mapeamento. Existir tambm o recurso de relatrios, onde poder ser impressa toda a parte de movimentao de entrada e sada de automveis do ptio.

Com todo esse gerenciamento haver um maior controle da movimentao da produo, agilizar o processo de localizao do automvel solicitado, melhorar o fluxo de informao e consequentemente tornar a empresa mais competitiva.

4 referencial tericoA Administrao da Informao um dos fatores mais importantes de uma empresa, a administrao baseada na tomada de decises com base em informaes das que se tem em poder, e para que uma empresa se torne competitiva ela deve sempre ter acesso s informaes precisas, para se manter no mercado atual. E o profissional precisa estar atento para o surgimento de novas tecnologias.

4.1 CONCEITOS BSICOS4.1.1 Administrao

Administrao a tomada de deciso sobre recursos disponveis, trabalhando com e atravs de pessoas para atingir objetivos, o gerenciamento de uma organizao, levando em conta as informaes fornecidas por outros profissionais e tambm pensando previamente as conseqncias de suas decises. tambm a cincia social que estuda e sistematiza as prticas usadas para administrar.

4.1.2 informao

4.1.3 Dados

Dados so observaes documentadas ou resultados da medio. A disponibilidade dos dados oferece oportunidades para a obteno de informaes. Os dados podem ser obtidos pela percepo atravs dos sentidos (por exemplo, observao) ou pela execuo de um processo de medio. 4.1.4 Informao

Informao o resultado do processamento, manipulao e organizao de dados de tal forma que represente uma modificao (quantitativa ou qualitativa) no conhecimento do sistema (pessoa, animal ou mquina) que a recebe.

4.1.5 Conhecimento

Por sua vez, conhecimento o que se adquire do estudo/anlise da informao, da comparao entre informaes. Toda e qualquer informao relevante para a empresa deve ser captada e analisada para que bem utilizada possa influir positivamente no processo decisrio.4.2 Comunicao

A comunicao ocorre quando uma informao transmitida a algum, sendo ento compartilhada tambm por essa pessoa. Para que haja uma comunicao necessrio que o destinatrio da informao a receba e a compreenda

4.3 planejamento estratgico da informao

4.3.1 Alinhamento estratgico de negcios e tecnologia da informao alcanado quando:

O alinhamento entre negcio e TI alcanado quando um conjunto de estratgias de TI (sistemas, objetivos, obrigaes e estratgias) derivado do conjunto estratgico organizacional (misso, objetivo e estratgias), isto ; quando ambos executam o planejamento de maneira lgica.

O alinhamento estratgico corresponde adequao e integrao funcional entre ambiente externo (mercados) e interno (estrutura administrativa e recursos financeiros, tecnolgicos e humanos) para desenvolver as competncias e maximizar o desempenho organizacional (Henderson e Venkatraman, 1993); e (4) o alinhamento entre PEN-PETI a adequao da orientao estratgica do negcio com a de TI (Chan et al., 1997).O alinhamento pode ser encontrado nas organizaes em diversos estgios ou nveis, cabendo destacar dois naquelas organizaes que almejam desenvolv-lo. O primeiro nvel o de integrao operacional, para o qual h a necessidade de planos operacionais de negcio e de TI. Para a sua operacionalizao, o PETI formulado seguindo as definies do PEN e, em seu prximo estgio de evoluo, ambos os planos so formulados simultaneamente. Este nvel caracterizado pela especificao de requisitos e funes dos sistemas de informao (SI) e do negcio em nvel operacional, abrangendo estrutura e processos organizacionais que usam a TI como suporte (Henderson e Venkatraman, 1993; Chan, 1999). Vale destacar que, os sistemas de informao integrados (SII) foram considerados os promotores do alinhamento neste nvel, uma vez que esto baseados na integrao dos negcios pelos dados, pelos processos, por tarefas realizadas pelas pessoas e pelo redesenho organizacional (estrutura administrativa combinada com a tecnolgica), permitindo alterar as regras do negcio.(Ward e Griffiths, 1996).

5 metodologia proposta

A metodologia proposta para o desenvolvimento do software ser o

Espiral. Este modelo foi originalmente proposto por Boehm (1988). Uma maneira simplista de analisar este modelo consider-lo como um modelo cascata onde cada fase precedida por uma anlise de risco e sua execuo feita evolucionariamente (ou incrementalmente). A dimenso radial representa o custo acumulado atualizado e a dimenso angular representa o progresso atravs da espiral. Cada setor da espiral corresponde a uma tarefa (fase) do desenvolvimento. Um ciclo se inicia com a "Determinao de objetivos, alternativas e restries "(primeira tarefa) onde ocorre o comprometimento dos envolvidos e o estabelecimento de uma estratgia para alcanar os objetivos. Na segunda tarefa "Avaliao de alternativas, identificao e soluo de riscos", executa-se uma anlise de risco. Prototipao uma boa ferramenta para tratar riscos. Se o risco for considerado inaceitvel, pode parar o projeto. Na terceira tarefa ocorre o desenvolvimento do produto. Neste quadrante pode-se considerar o modelo cascata. Na quarta tarefa o produto avaliado e se prepara para iniciar um novo ciclo.

Modelo Espiral Completo

A manuteno de um software utilizando este modelo de ciclo de vida tratado da mesma forma que o desenvolvimento. Uma representao simplificada deste modelo esta ilustrada na Figura abaixo:

Modelo simplificado de Boehm

A razo para se colocar em discusso este modelo est no fato dele chamar a ateno para vrios pontos importantssimos no desenvolvimento de software. Variaes do modelo espiral consideram entre trs e seis tarefas ou setores da espiral. Um exemplo so as regies:

Comunicao com o cliente;

Planejamento;

Anlise de risco;

Engenharia;

Construo e liberao; e

Avaliao do cliente.

6 caracterizao da organizao em estudoNome da empresa: Data Access Informtica Ltda.

Endereo Completo: Rua So Paulo, Boa Vista, CEP 35700-094 Sete Lagoas-MG

Web site: www.dataaccess.inf.br

Nome e cargo da chefia direta: Anselmo Enzo Ichihara, GerenteTelefone: (31) 3771-8273

Ramo de Atividade: Informtica Software

Nmero de empregados: Trs

Categoria dos profissionais que atuam na empresa: Analistas

Produtos e servios desenvolvidos pela empresa: Empresa de software house especializada em aplicativos de automao comercial, com ampla experincia no mercado. Homologada pela Receita Estadual do Estado de Minas Gerais.Histrico da empresa: A Data Access Informtica Ltda uma empresa de desenvolvimento de software, fundada por Anselmo Enzo Ichihara e Walter Soares Santana, no ano de 2000. Vem atuando em desenvolvimento de programas especficos em reas pblicas (IPTU/ISS) e tambm em reas privadas em vrios segmentos: fbrica de mveis, posto de combustveis, hotis, agncia de veculos, minerao e carvoaria. A empresa contribui para o desenvolvimento do setor de informtica, agregando valor aos negcios de nossos clientes, atravs da aplicao das solues mais adequadas s suas necessidades e sua estratgia de atuao, respeitando os princpios ticos e nveis de qualidade diferenciados, criando assim um relacionamento de longo prazo.Organograma da empresa

7 TECNOLOGIA7.1 Linguagem de programaoA necessidade de uma linguagem de fcil utilizao e que funcione nas plataformas Windows e Linux levou a escolha da linguagem Python. Agora explicarei melhor o porqu da escolha desta linguagem.

Python uma linguagem dinmica, mas as linguagens dinmicas eram vistas no passado apenas como linguagens script, usadas para automatizar pequenas tarefas, porm, com o passar do tempo, elas cresceram, amadureceram e conquistaram seu espao no mercado, a ponto de chamar a ateno dos grandes fornecedores de tecnologia.

Vrios fatores contriburam para esta mudana, tais como a internet, o software de cdigo aberto e as metodologias geis de desenvolvimento.

A internet viabilizou o compartilhamento de informaes de uma forma sem precedentes na histria, que tornou possvel o crescimento do software de cdigo aberto. As linguagens dinmicas geralmente so cdigo aberto e compartilham as mesmas funcionalidades e em alguns casos, os mesmos objetivos.

A produtividade e expressividade das linguagens dinmicas se encaixam perfeitamente com as metodologias geis, que nasceram do desenvolvimento de software de cdigo aberto e defendem um enfoque mais pragmtico no processo de criao e manuteno de software do que as metodologias mais tradicionais. Entre as linguagens dinmicas, o Python se destaca como uma das mais populares e poderosas. Existe uma comunidade movimentada de usurios da linguagem no mundo, o que se reflete em listas de discusso ativas e muitas ferramentas disponveis em cdigo aberto.

Aprender uma nova linguagem de programao significa aprender a pensar de outra forma. E aprender uma linguagem dinmica representa uma mudana de paradigma ainda mais forte para aquelas pessoas que passaram anos desenvolvendo em linguagens estticas.

Python uma linguagem de altssimo nvel (em ingls, Very High Level Language) orientada a objetos, de tipagem dinmica e forte, interpretada e interativa. O Python possui uma sintaxe clara e concisa, que favorece a legibilidade do cdigo fonte, tornando a linguagem mais produtiva.

A linguagem inclui diversas estruturas de alto nvel (listas, tuplas, dicionrios, data / hora, complexos e outras) e uma vasta coleo de mdulos prontos para uso, alm de frameworks de terceiros que podem ser adicionados. Tambm possui recursos encontrados em outras linguagens modernas, tais como: geradores, introspeco, persistncia, metaclasses e unidades de teste. Multiparadigma, a linguagem suporta programao modular e funcional, alm da orientao a objetos. Mesmo os tipos bsicos no Python so objetos.

A linguagem interpretada atravs de bytecode pela mquina virtual Python, tornando o cdigo portvel. Com isso possvel compilar aplicaes em uma plataforma e rodar em outras ou executar direto do cdigo fonte.

Python um software de cdigo aberto (com licena compatvel com a General Public License (GPL), porm menos restritiva, permitindo que o Python seja incorporados em produtos proprietrios) e a especificao da linguagem mantida pela Python Software Foundation2 (PSF).

Python muito utilizado como linguagem script em vrios softwares, permitindo automatizar tarefas e adicionar novas funcionalidades, entre eles: BrOffice.org, PostgreSQL, Blender e GIMP. Tambm possvel integrar o Python a outras linguagens, como a Linguagem C. Em termos gerais, o Python apresenta muitas similaridades com outras linguagens dinmicas, como Perl e Ruby.

Python foi criada em 1990 por Guido van Rossum, no Instituto Nacional de Pesquisa para Matemtica e Cincia da Computao da Holanda (CWI) e tinha como foco original usurios como fsicos e engenheiros. O Python foi concebido a partir de outra linguagem existente na poca, chamada ABC.

A implementao oficial do Python mantida pela PSF e escrita em C, e por isso tambm conhecida como CPython.Para Windows, basta executar o instalador. Para outras plataformas, geralmente o Python j faz parte do sistema, porm em alguns casos pode ser necessrio compilar e instalar a partir dos arquivos fonte. Existem tambm implementaes de Python para .NET (IronPython) e JVM (Jython).

Python utiliza tipagem dinmica, o que significa que o tipo de uma varivel inferido pelo interpretador em tempo de execuo (isto conhecido como Duck Typing). No momento em que uma varivel criada atravs de atribuio, o interpretador define um tipo para a varivel, com as operaes que podem ser aplicadas. O Python tem tipagem forte, ou seja, ele verifica se as operaes so vlidas e no faz coeres automticas entre tipos incompatveis3. Para realizar a operao entre tipos no compatveis, necessrio converter explicitamente o tipo da varivel ou variveis antes da operao.O cdigo fonte traduzido pelo interpretador para o formato bytecode, que multiplataforma e pode ser executado e distribudo sem fonte original. Por padro, o interpretador compila os fontes e armazena o bytecode em disco, para que a prxima vez que o executar, no precise compilar novamente o programa, reduzindo o tempo de carga na execuo. Se os fontes forem alterados, o interpretador se encarregar de regerar o bytecode automaticamente, mesmo utilizando o shell interativo. Quando um programa ou um mdulo evocado, o interpretador realiza a anlise do cdigo, converte para smbolos, compila (se no houver bytecode atualizado em disco) e executa na mquina virtual Python.

O bytecode armazenado em arquivos com extenso .pyc (bytecode normal) ou .pyo (bytecode otimizado). O bytecode tambm pode ser empacotado junto com o interpretador em um executvel, para facilitar a distribuio da aplicao. O interpretador Python pode ser usado de forma interativa, na qual as linhas de cdigo so digitadas em um prompt (linha de comando) semelhante ao shell do sistema operacional. O modo interativo uma caracterstica diferencial da linguagem, pois possvel testar e modificar o cdigo de um programa antes da incluso do cdigo nos programas, por exemplo. Os arquivos fonte normalmente so identificados pela extenso .py e podem ser executados diretamente pelo interpretador. Existem muitas ferramentas de desenvolvimento para Python, como IDEs, editores e shells (que aproveitam da capacidade interativa do Python). Integrated Development Environments (IDEs) so pacotes de software integram vrias ferramentas de desenvolvimento em um ambiente integrado, com o objetivo de aumentar a produtividade do desenvolvedor. Entre as IDEs que suportam Python, encontram-se:

SPE (Stani's Python Editor).

Eric.

Open Komodo.

PyDev (plugin para a IDE Eclipse).

Existem tambm editores de texto especializados em cdigo de programao, que possuem funcionalidades como colorizao de sintaxe, exportao para outros formatos e converso de codificao de texto.

Esses editores suportam diversas linguagens de programao, dentre elas o Python:

SciTE.

Notepad++.

Shells so ambientes interativos para execuo de comandos, muito teis para testar pequenas pores de cdigo e para atividades como data crunching (extrair informaes de interessa de massas de dados ou traduzir dados de um formato para outro). Alm do prprio Shell padro do Python, existem os outros disponveis: - PyCrust (grfico).

Ipython (texto).

Empacotadores so utilitrios que empacotam o bytecode com o interpretador e outras dependncias, em um ou mais executveis e arquivos compactados, permitindo que o aplicativo rode em mquinas sem Python instalado.

Entre empacotadores feitos para Python, esto disponveis:

Py2exe (apenas para Windows).

cx_Freeze (portvel).

Frameworks so colees de componentes de software (bibliotecas, utilitrios e outros) que foram projetados para serem utilizados por outros sistemas.

Alguns frameworks disponveis mais conhecidos:

Web: Django, TurboGears e Zope.

Interface grfica: wxPython, PyGTK e PyQT.

Processamento cientifico: NumPy.

Processamento de imagens: PIL.

2D: Matplotlib.

3D: Visual Python, PyOpenGL e Python Ogre.

Mapeamento objeto-relacional: SQLAlchemy e SQLObject.

O nome Python foi tirado por Guido van Rossum do programa da TV britnica Monty Python Flying Circus, e existem vrias referncias na documentao da linguagem ao programa, como, por exemplo, o repositrio de pacotes oficial do Python se chamava Cheese Shop, que era o nome de um dos quadros do programa. Atualmente, o nome do repositrio Python Package Index5 (PYPI).

A comunidade de usurios de Python criou algumas expresses para se referir aos assuntos relacionados linguagem. Neste jargo, o termo Pythonic usado para indicar que algo compatvel com as premissas de projeto do Python, e Unpythonic significa o oposto. J o usurio da linguagem chamado de Pythonist. As metas do projeto foram resumidas por Tim Peters em um texto chamado Zen of Python, que est disponvel no prprio Python.

7.1.1 Sintaxe

Um programa feito em Python constitudo de linhas, que podem continuar nas linhas seguintes, pelo uso do caractere de barra invertida (\) ao final da linha ou parnteses, colchetes ou chaves, em expresses que utilizam tais caracteres. O caractere # marca o inicio de comentrio. Qualquer texto depois do # ser ignorado at o fim da linha , com exceo dos comentrios funcionais.

Comentrios funcionais geralmente so usados para:

alterar a codificao do arquivo fonte do programa acrescentando um comentrio com o texto #-*- coding: -*#- no inicio do arquivo, aonde a codificao do arquivo (geralmente latin1 ou utf-8). Alterar a codificao necessrio para suportar caracteres que no fazem parte da linguagem inglesa, no cdigo fonte do programa.

definir o interpretador que ser utilizado para rodar o programa em sistemas UNIX, atravs de um comentrio comeando com #! no inicio do arquivo, que indica o caminho para o interpretador (geralmente a linha de comentrio ser algo como #!/usr/bin/env python).Exemplo de comentrios funcionais:

#!/usr/bin/env python

# -*- coding: latin1 -*-

# Uma linha de cdigo que mostra o resultado de 7 vezes 3

print 7 * 3

Exemplos de linhas quebradas:

# Uma linha quebrada por contra-barra

a = 7 * 3 + \

5 / 2

# Uma lista (quebrada por vrgula)

b = ['a', 'b', 'c', 'd', 'e']

# Uma chamada de funo (quebrada por vrgula)

c = range(1,11)

# imprime todos na tela

print a, b, cO comando print coloca espaos entre as expresses que forem recebidas como parmetro e um caractere de nova linha no final, a no ser que ele receba uma vrgula no fim da lista parmetros.

O Python uma linguagem orientada a objeto, sendo assim as variveis atributos (dados) e mtodos (rotinas associadas ao objeto). Tanto os atributos quanto os mtodos so acessados usando ponto (.), sendo que os mtodos devem ser sempre seguidos de parnteses.

7.1.2 Controle de fluxo

muito comum em um programa que certos conjuntos de instrues sejam executados deforma condicional, em casos como validar entradas de dados, por exemplo. Sintaxe:

if :

elif :

elif :

else:

Aonde:

: sentena que possa ser avaliada como verdadeira ou falsa.

: seqncia de linhas de comando.

As clausulas elif e else so opcionais e podem existir vrios elifs para o mesmo if.

Parnteses s so necessrios para evitar ambigidades.

Exemplo:

temp = int(raw_input('Entre com a temperatura: '))

if temp < 0:

print 'Congelando...'

elif 0