Академический Документы
Профессиональный Документы
Культура Документы
Relatrio do Projeto Interdisciplinar do 6 Semestre Sociedade Educacional Trs De Maio - SETREM Centro de Ensino Mdio - SETREM Curso Tcnico em Informtica
Professores Orientadores: Daniel Holz, Fauzi de Moraes Shubeita, Helton Eduardo Ritter, Maidi Terezinha Dalri, Michel Lenz de Souza, Tiago Jos Pasieka.
Dedicamos este projeto para todos nossos professores, amigos, familiares, para o pessoal do Centro de TI que nos auxiliou na formao de muitos conhecimentos e para todas as demais pessoas que nos ajudaram.
AGRADECIMENTOS
Gostaramos de agradecer a todos os professores que nos passaram seu conhecimento e nos acompanharam durante todos os semestres do Curso Tcnico em Informtica, de forma sria e profissional, capacitando-nos cada vez mais para o mercado de trabalho.
Tambm agradecemos a todos os familiares e amigos, que nos auxiliaram e nos deram fora em vrios momentos.
Da mesma forma agradecemos de forma especial a coordenao do CTI assim como todos os funcionrios de Centro de TI, com quem convivemos boa parte do tempo juntos durante o passar deste 1 e 2 semestre de 2011.
(Victor Hugo)
RESUMO
Tendo como tema o desenvolvimento de uma proposta para melhorar a integrao da comunidade escolar com a empresa real, no caso o colgio Instituto Estadual de Educao Cardeal Pacelli, os objetivos deste projeto baseam-se em, atravs dos conhecimentos terioco e prtico desenvolvidos durante o semestre nas aulas, analisar, levantar requisitos e com base em tais aspectos criar uma soluo web/desktop para atender a alguns dos pontos levantados como problemas da instituio, como comunicao como a comunidade escolar, exposio de projetos em destaque, alunos, professores e trabalhos escolares relevantes, alm, de manter a comunidade escolar informada atravs de notcias e mdias divulgadas na internet. Dessa forma este projeto abordar o desenvolvimento de um sistema com mdulos de gesto escolar, web e desktop, sendo que o foco principal se manter no mdulo web, mais especificamente no website que ter um papel chave na resoluo do problema analido. Para o desenvolvimento de tais sistemas sero utilizadas tcnicas estudadas durante os perodos do primeiro e segundo semestre de 2011, tais como, programao web: C#, PHP, JavaScript. Programao desktop: Delphi 2007 e Object Pascal; ainda, para o desenvolvimento de ambos se fez necessrio o desenvolvimento de um banco de dados, para tal foi utilizado o MySQL 5, sendo a modelagem e o script SQL criados atravs do software Case Studo. Em ambos sistemas se fez necessrio o desenvolvimento de um layout para as pginas web e para o software desktop que teve como foco o sistema de matriculas, disponibilizado os dados para o sistema web, para o desenvolvimento da parte visual, foram utilizados os softwares Adobe Photoshop CS5, GIMP, Inkscape alm de tcnicas CSS2 e CSS3 no desenvolvimento dos sites. Tendo como base o trabalho em grupo, o desenvolvimento web teve como estrutura de desenvolvimento um SVN, no qual os cdigos eram versionados na pgina do Google Code em um projeto Open Source criado para o sistema em PHP. Ainda entre os tpicos especiais e demais tcnicas utilizadas pelo grupo est a prtica de modelagem 3D avanada, como foco em foto realismo, aulas tericas de planejamento pessoal e estratgico e processos de registro e hospedagem do website. Grande parte dos objetivos foram atingidos, sendo que o processo de desenvolvimento e aprimorao do website ser continuado mesmo fora das atividades do curso tcnico, todos os processos e atividades desenvolvidas esto documentadas neste reltorio e foram apresentados a uma banca de professores avaliadora, que tornou aptos no semestre os estudantes integrantes do grupo, Givan Daniel Ritter, Joo Helfenstein Jr e Tiago Hsel.
LISTA DE SIGLAS
AD Active Directory BD Banco de Dados CD Compact Disk CLI Command Line Interface CSS: Cascating Style Sheets CTI Curso Tcnico em Informtica DHCP Dynamic Host Configuration Protocol DNS Domain Name System FTP File Transfer Protocol GB Gigabyte HD Hard Disk HTTP - HyperText Transfer Protocol HTML - Hypertext Markup Language IIS Internet Information Services LAN Local Area Network MAN Metropolitan Area Network MB Megabyte PHP Personal Home Page Tools Hypertext Preprocessor SEO Search Engine Optimization SETREM Sociedade Educacional Trs de Maio SGBD Sistema de Gerenciamento de Banco de Dados SQL Structured Query Language SSL Secure Socket Layer TB Terabyte
TCP/IP Transmissio Control Protocol / Internet Protocol TI Tecnologia da Informao TICs Tecnologia da Informao e Comunicao VPN Virtual Private Network WAN Wide Area Network WWW - World Wide Web XHTML Extensible Hypertext Markup Language XML Extensible Markup Language
LISTA DE FIGURAS
Figura 1: Rede Anel .................................................................................................. 47 Figura 2: Rede Malha ................................................................................................ 48 Figura 3: Rede Barramento ....................................................................................... 48 Figura 4: Rede Estrela .............................................................................................. 49 Figura 5: Eclipse........................................................................................................ 77 Figura 6: Sistema Android Tiago Hosel ..................................................................... 78 Figura 7: AlertDialog .................................................................................................. 79 Figura 8: Toast .......................................................................................................... 80 Figura 9: Sistema Android Joao Marcelo .................................................................. 80 Figura 10: Tela de Soma Toast ................................................................................. 81 Figura 11: Modelo Entidade Relacional (MER) ......................................................... 87 Figura 12: Tabela de Pessoas................................................................................... 88 Figura 13: MER - Mdulo Web .................................................................................. 89 Figura 14: MER - Mdulo Desktop ............................................................................ 90 Figura 15: CodeGear Delphi - Desenvolvimento do sistema ..................................... 90 Figura 16: Sistema de gesto escolar - Mdulo Desktop - Delphi ............................. 91 Figura 17: Painel de Controle Inicial ....................................................................... 93 Figura 18: Cadastro de Notcias - CKEditor .............................................................. 93 Figura 19: Upload de Fotos - Drag n' Drop................................................................ 94 Figura 20: DISQUS Administrao ......................................................................... 94 Figura 21: Pgina Inicial ............................................................................................ 95 Figura 22: Notcia Completa ...................................................................................... 95 Figura 23: DISQUS - Usurio .................................................................................... 96 Figura 24: Tela Inicial site C# .................................................................................... 97
10
Figura 25: Parte Login C# ......................................................................................... 98 Figura 26: Servidor Debian VirtualBox ................................................................... 99 Figura 27: Windows Seven - Acesso ao site DNS................................................ 100 Figura 28: Abajur Quarto ...................................................................................... 101 Figura 29: Quarto .................................................................................................... 101
LISTA DE QUADROS
Quadro 1: Cronograma ............................................................................................. 42 Tabela 1: Requisitos funcionais................................................................................. 83 Tabela 2: Requisitos no funcionais.......................................................................... 85 Tabela 3: Requisitos de domnio ............................................................................... 86
SUMRIO
INTRODUO .......................................................................................................... 16 CAPTULO 1 CAMINHO METODOLGICO ........................................................... 20 1.1 TEMA ................................................................................................................ 20 1.2 DELIMITAO DO TEMA ................................................................................ 20 1.3 PROBLEMA ...................................................................................................... 20 1.4 HIPTESES...................................................................................................... 21 1.5 OBJETIVOS ...................................................................................................... 21 1.5.1 Objetivo Geral............................................................................................... 21 1.5.2 Objetivos Especficos .................................................................................. 22 1.6 JUSTIFICATIVA ................................................................................................ 24 1.7 METODOLOGIA ............................................................................................... 25 1.7.1 Abordagem ................................................................................................... 25 1.7.2 Procedimentos ............................................................................................. 25 1.7.2.1 Pesquisa Exploratria ................................................................................. 25 1.7.2.2 Pesquisa Descritiva ..................................................................................... 26 1.7.2.3 Pesquisa Bibliogrfica ................................................................................. 26 1.7.3 Tcnicas ........................................................................................................ 26 1.8 DEFINIO DE TERMOS ................................................................................ 27 1.9 CRONOGRAMA................................................................................................ 42 1.10 RECURSOS .................................................................................................... 43 1.10.1 Recursos Institucionais ............................................................................... 43 1.10.2 Recursos Humanos ..................................................................................... 43 1.10.3 Recursos Materiais ...................................................................................... 43 CAPTULO 2 FUNDAMENTAO TERICA ......................................................... 44
13
2.1 INFORMTICA ................................................................................................. 44 2.2 REDES .............................................................................................................. 45 2.2.1 Evoluo de redes/topologia ...................................................................... 46 2.2.1.1 Rede Anel...................................................................................................... 46 2.2.1.2 Rede Malha ................................................................................................... 47 2.2.1.3 Rede Barramento ......................................................................................... 48 2.2.1.4 Rede Estrela ................................................................................................. 49 2.2.2 Tipo de Redes............................................................................................... 50 2.2.2.1 LAN ................................................................................................................ 50 2.2.2.2 MAN ............................................................................................................... 50 2.2.2.4 WAN .............................................................................................................. 51 2.2.3 Servidor ........................................................................................................ 51 2.2.3.1 Hardware ....................................................................................................... 51 2.2.5 IP.................................................................................................................... 53 2.2.6 DHCP ............................................................................................................. 53 2.2.7 DNS ............................................................................................................... 53 2.2.8 HUB e SWITCH ............................................................................................. 53 2.2.9 Virtualizao ................................................................................................. 54 2.2.10 Windows Server 2003/2008 ......................................................................... 54 2.2.10.1 IIS Web Server ......................................................................................... 55 2.2.11 Linux ............................................................................................................. 56 2.2.11.1 GNU .......................................................................................................... 57 2.2.11.2 Debian ...................................................................................................... 57 2.2.11.3 Samba ...................................................................................................... 58 2.2.12 Apache .......................................................................................................... 58 2.3 ANALISE DE SISTEMAS .................................................................................. 59 2.3.1 Dicionrio de Dados .................................................................................... 60 2.4 MYSQL MANAGER LITE .................................................................................. 60 2.5 DESENVOLVIMENTO WEB ............................................................................. 60 2.5.1 CSS ................................................................................................................ 61 2.5.2 Web Standards ............................................................................................. 61 2.5.2.1 Usabilidade ................................................................................................... 62 2.5.3 ASP .Net ........................................................................................................ 62 2.5.3.1 Visual Studio ................................................................................................ 63
14
2.5.4 Classes ......................................................................................................... 63 2.5.5 Function ........................................................................................................ 64 2.5.6 Programao Orientada a Objetos ............................................................. 64 2.5.7 Ajax ............................................................................................................... 65 2.5.8 PHP ................................................................................................................ 65 2.5.8.1 Aptana Studio ............................................................................................... 66 2.5.8.2 NetBeans....................................................................................................... 67 2.5.8.3 Frameworks .................................................................................................. 67 2.5.9 E-commerce.................................................................................................. 68 2.6 DESENVOLVIMENTO DESKTOP .................................................................... 68 2.8 DESENVOLVIMENTO MOBILE ........................................................................ 69 2.8.1 Sistemas Operacionais Mobile ................................................................... 69 2.8.2 Android ......................................................................................................... 69 2.8.3 JAVA ............................................................................................................. 69 2.8.4 EMBARCADERO Rad Studio 2010 Delphi 2010 ...................................... 70 2.8.5 Algortmo e Lgica de Programao .......................................................... 71 2.8.5.1 Linguagem de Programao ....................................................................... 72 2.8.5.2 Funo .......................................................................................................... 72 2.8.5.3 Variveis ....................................................................................................... 72 2.8.5.4 Constante...................................................................................................... 73 2.8.5.5 Procedimento (Procedure) .......................................................................... 73 2.8.5.7 Eventos ......................................................................................................... 74 2.8.5.8 Propriedades ................................................................................................ 74 2.8.5.9 Arquivo de dados ......................................................................................... 74 2.8.5.10 Condio .................................................................................................. 74 2.9 BANCO DE DADOS.......................................................................................... 75 2.9.1 Normalizao ................................................................................................ 75 2.10 MODELAGEM 3D ........................................................................................... 76 2.10.1 Autodesk 3ds Max 2010 ............................................................................... 76 CAPTULO 3 APRESENTAO E DISCUSSO DOS RESULTADOS ................. 77 3.1 DESENVOLVIMENTO DE APLICATIVOS MOBILE ......................................... 77 3.1.1 Aplicativo Android Tiago Hsel ............................................................... 78 3.1.2 AlertDialog e Toast Gilvan Ritter ............................................................. 79 3.1.3 Sistema Android Joo Marcelo ................................................................ 80
15
3.2 PROGRAMAO WEB E DESKTOP ............................................................... 81 3.2.1 Anlise dos Requisitos ................................................................................ 82 3.2.2 Banco de Dados ........................................................................................... 86 3.2.2.1 Tabela de Pessoas ....................................................................................... 87 3.2.2.2 Integrao entre mdulos Web e Desktop ................................................. 88 3.3 PRTICA DE DESENVOLVIMENTO DESKTOP .............................................. 90 3.3.1 Sistema de Matriculas Desenvolvimento: CodeGear Delphi ................. 90 3.4 PRTICA DE DESENVOLVIMENTO WEB ....................................................... 91 3.4.1 Website: Cardeal Pacelli Desenvolvimento: PHP................................... 91 3.4.1.1 Interface Administrativa .............................................................................. 92 3.4.1.3 Interface do Usurio .................................................................................... 95 3.4.2 Gerenciador de Contedos e Website em C# ............................................ 96 3.5 REDES DE COMPUTADORES E HARDWARE ............................................... 98 3.5.1 Mquinas Virtuais ........................................................................................ 98 3.5.1.1 Debian ........................................................................................................... 98 3.5.1.2 Windows Server 2003 Enterprise Edition .................................................. 99 3.5.1.4 Windows Seven .......................................................................................... 100 3.6 MODELAGEM 3D ........................................................................................... 100 3.8 SITE/BLOG PESSOAL ................................................................................... 102 CONCLUSO ......................................................................................................... 103 REFERNCIAS ....................................................................................................... 105
INTRODUO
A Informtica est cada dia mais prxima das pessoas, e em todos os aspectos, procura ser mais intuitiva e mais realista, de modo a diminuir a diferenas entre humano e mquina e, esta a nsia do usurio final, que no precisa ter conhecimento tcnico do funcionamento de determinado sistema seja este web ou desktop, pois o mesmo deve atender a quisitos de usabilidade e design bem como ser gil, prtico, funcional e automtico; tais objetivos so possveis atravs da boa lgica e programao, da criatividade e anlise. Os sistemas deixam de ser simples Softwares de cadastro, para de fato ajudar o usurio, sem faz-lo perder tempo ou causar grandes transtornos.
Com a crescente no desenvolvimento de sistemas outro fator ps-se a tona: os sistemas no devem ser caros, mas sim baratos e funcionais, assim h grande possibilidade de mais usurios adquirirem o produto legalmente do que menos clientes adquirirem, e, ainda sendo a metade destes de forma ilegal, atravs de patchs, cracks, entre outros mtodos de burlagem. Com base nisso, toda indstria se altera, baixando preos e produzindo Softwares cada vez melhores, aquecendo a concorrncia. Acadmicos e estudantes tcnicos de T.I devem notar tais mudanas e acompanha-las, implantando-as em seus projetos, considerando-as em suas ideias, hipteses e problemas.
Com base nestes aspectos dentre outros foi possvel dar incio ao desenvolvimento do presente projeto, cujo tema : Desenvolvimento e
implementao de uma soluo desktop e web contemplando instalao e configurao de servios de redes, neste caso englobando o desenvolvimento de
17
um sistema de gesto escolar dado como problema parte real/parte fictcio (devido a aspectos burocrticos) a ser resolvido para o Instituto Estadual de Educao Cardeal Pacelli da cidade de Trs de Maio, Rio Grande do Sul. Tal sistema, bem como tema descreve, contar com dois mdulos de gernciamento, um web e um desktop ambos configurados em uma estrutura de redes e executando sobre um mesmo banco de dados. Este projeto como um todo est em desenvolvimento pelos estudantes do Curso Tcnico em Informtica do Centro de Ensino Mdio Trs de Maio SETREM Gilvan Daniel Ritter ,Tiago Hsel e Joao Marcelo Helfenstein Jr no perodo do 2 semestre de 2011.
O mdulo web contemplar o desenvolvimento de um site para a instituio e um sistema web; no site sero apresentadas informaes da mesma, como corpo docente, estrutura, cursos oferecidos, um sistema de notcias dentre outros. O sistema web englobar ainda o desenvolvimento de um painel de controle para o website, atravs do qual ser possvel gerenciar o contedo, como fotos, notcias, artigos dentre outros. A programao do mdulo web ser feita com o uso da linguagem de programao PHP, utilizando como ambiente de desenvolvimento os Softwares Bluefish, Aptana Studio 3 e NetBeans, ferramentas Open Sources e gratuitas.
Outra ferramenta no qual pode-se pensar em utilizar com o intuito de agilizar na programacao das paginas web a Ferramenta Visual Studio 2010, no qual, atravs da mesma, o desempenho na realizao do projeto poder ser de maneira significativa programando em ASP.Net, principal concorrente do PHP nesse ramo. Baseando-se no intuito de organizar um sistema amplo e ao mesmo tempo seguro para a instituio, atravs do PHP e C# o sistema desenvolvido ter quesitos de suma importncia, e assim visando um melhor controle o sistema ter uma espcie de hierarquia na parte web, no qual, ter um controle de acessos mais especificamente, ser na parte web implantado um sistema de logins, separando acessos a determinadas reas diferenciando assim oacesso de professores e estudantes. O mdulo desktop contemplar um Software, utilizado na prtica ser a desenvolvido com o Embarcadero Delphi Studio 2010, este mdulo desktop ter
18
objetivo de atender as funes que cabem secretaria da instituio, como cadastro de alunos e login dos mesmos, turmas, professores, horrios, avisos, transferncias dentre outros. Estas informaes sero importantes para que sitema web que utilizar o mesmo banco de dados possa funcionar.
Seguindo a estrutura de organizao do presente relatrio, no captulo 1 apresentam-se o tema do trabalho, bem como sua delimitao e sua
problematizao. Alm disso, so levantados os problemas, as hipteses, os objetivos, as justificativas e a metodologia utilizada no trabalho. Aps so apresentadas as definies de termos, o cronograma realizado e os recursos utilizados para a concluso do mesmo.
No captulo 2, consta parte da terica do trabalho. Sero representados conceitos e definies de autores diferentes relacionados ao tema e alguns dos objetivos de forma mais ampla e ou especfica, bem como o embasamento realizado pelos integrantes em relao s ferramentas, tcnicas e demais conhecimentos importantes utilizados para o desenvolvimento do trabalho e ainda as observaes necessrias.
No captulo 3 sero apresentados os resultados obtidos ao fim do projeto com as atividades desenvolvidas, tanto prticas quanto tericas, isto engloba em suma o desenvolvimento dos sitemas propostos nos mdulos web e desktop, bem como a documentao adequada de como tais sistemas funcionam, a apresentao e explicao do banco de dados, j que este pea fundamental para o funcionamento de todos os mdulos do sistema de gesto escolar, tanto web como desktop. Ainda neste captulo sero apresentados os demais materiais produzidos durante o semestre que de alguma forma se relacionam com o tema, tais como material divulgativo, vdeos, animaes, estudos e atividades de importncia desenvolvidas em sala de aula dentre outras. Aps sero apresentadas as concluses referentes ao semestre, ao desenvolvimento prtico e terico e conhecimento das ferramentas e linguagens estudas no semestre, sero ainda apresentadas s referncias utilizadas para a formulao de explicaes, comprovao de ideias e definio de termos. Anexos podero ser includos para
19
melhor entendimento de hipteses e ideias levantadas no projeto, como tutoriais, artigos e manuais.
CAPTULO 1
CAMINHO METODOLGICO
1.1
TEMA
Desenvolvimento
implementao
de
soluo
desktop
web
1.2
DELIMITAO DO TEMA
Desenvolvimento de um sistema de matrculas e gerenciador de conteudos contemplando uma soluo web e duas desktop, parte com
implementao real e parte com implementao fictcia, com configurao e intalao de servio e redes para o Instituto Estadual de Educao Cardeal Pacelli de Trs de Maio. O projeto foi desenvolvido pelos estudantes do curso tcnico em informtica vespertino concomitando do 6 semestre Gilvan Ritter, Joo Marcelo Helfenstein e Tiago Hsel pela Sociedade Educacional Trs de Maio SETREM, no perodo de fevereiro a dezembro 2011, englobando os componentes curriculares do projeto Administrao de Servidores Linux, Programao Comercial PHP e C#, Modelagem 3D Avanada, Planejamento Estratgico e Construo de vises.
1.3
PROBLEMA
Possibilitar um site organizado, coeso e esteticamente agradvel navegao, de modo a manter a agilidade na navegao e um padro de pginas leves e compatveis com a maioria dos browsers e resolues?
21
Possibilitar atravs do Software desktop de forma rpida e organizada o acesso aos dados do banco e cadastros para as tabelas primrias para funcionamento do website?
Determinar um conceito de design padronizado para a criao da identidade visual da instituio, utilizando-se de conhecimentos de edio de imagens, vdeos, motion graphics e modelagem 3D?
1.4
HIPTESES
Utilizar tcnicas certificadas e compatveis com o medelo atual da web (2.0) de modo a possibilitar o acesso a um maior nmero de usurios e ainda pginas web certificadas pelos mecanismos de validao da W3C o que aumentar o potncial de indexao em servios de busca atuais.
Desenvolver tanto sites como sistemas desktop com base em anlise do sistema, levantando requisitos e informaes necessrias.
Estudar sobre usabilidade em sites web e sistemas desktop, design de interao e conceitos de design padronizado para o desenvolvimento de materiais multimdia, banners e o prprio layout dos sistemas.
Auxiliar e possibilitar atravs do desenvolvimento do website o contato e exposio da instituio atravs de novo meio de comunicao, eficaz e atual, desse modo proporcionando a instituio uma maneira simples de interagir com a comunidade escolar.
1.5
OBJETIVOS
Possibilitar atravs do desenvolvimento das solues desktop e web a interao do colgio com a comunidade escolar atravs de um meio simples e atual de comunicao que a internet.
22
- Efetuar a anlise do problema da instituio e propor em conjunto com a direo possveis solues.
- Desenvolver o modelo ER detalhado (com os atributos) com base no escopo e concluses resultantes da anlise.
- Estudar e implementar na prtica conceitos de anlise de sistemas web e desktop, design de interao, usabilidade e padronizao para as interfaces dos sistemas.
- Realizar instalao de uma estao de trabalho Windows XP, Windows Seven com acesso ao servidor Windows 2003;
- Propor o uso de bancos de dados MySQL, conhecendo as suas vantagens e recursos disponveis;
- Apresentar portal de notcias da instituio e gerenciamento de fotos dinmico com o uso do PHP;
23
- Realizar instalao de um servidor Linux, com apache e samba e as devidas aplicaes correspondentes ao Linux rodando corretamente;
- Realizar instalao de uma estao de trabalho Windows XP com acesso ao servidor samba;
- Elaborar mdulos de gerenciamento do site web pelo grupo com o uso de PHP e Visual Studio;
24
1.6
JUSTIFICATIVA
A rea de informtica repleta de vagas no mercado de trabalho, porm ainda existe uma grande falta de profissionais, em suma devido falta de qualificao dos mesmos e da inexperincia com algumas ferramentas, devido a isso no processo de aprendizagem, ou seja, enquanto estudante tcnico ou acadmico muito importante e mais construtivo desenvolver prticas com base em problemas reais para determinadas empresas, dessa forma necessrio que o estudante busque extrair ao mximo as informaes sobre o problema e sobre o modo de negcio da empresa, necessrio que o mesmo desenvolva pesquisas de mercado para avaliar a abrangncia de sua soluo dentre vrios outros itens, para assim levantar todos os requisitos necessrios e desenvolver o Software ideal, passando na prtica por todas as etapas do desenvolvimento de um sistema, seja este web ou desktop. Na prtica de desenvolvimento desta soluo normalmente so utilizadas vrias ferramentas, tais como ambientes de desenvolvimento integrados (IDE), ferramentas de edio grfica, sutes de programao, banco de dados, e principalmente estruturao de redes e em determinadas situaes configuraes de servidores para diversas funes. Aps finalizado o
desenvolvimento, percebe-se que construtivo para ambas as partes, tanto para a empresa que soluciona um problema e cada vez mais se integra com os meios modernos de comunicao e marketing usufruindo ainda de Softwares e sistemas desenvolvidos por baixo custo, quanto para o estudante/acadmico que tem a oportunidade de estudar e solucionar na prtica o desenvolvimento de um sistema contruindo um maior nvel de conhecimento.
Analisando todos os problemas citados, empresas desse ramo buscam profissionais da rea de TI que esto sempre se atualizando e se qualificando para
25
manter se no mercado de trabalho e consequentemente com isso ampliar seu conhecimento, e futuramente gerando lucro para a coorporacao. Visando sempre, um melhor rendimento em relao a concorrncia que atua nesse campo.
1.7
METODOLOGIA
1.7.1 Abordagem
Foi desenvolvido um sistema de gesto escolar, composto por dois mdulos (web, contemplando PHP) e desktop (contemplando Delphi e Windev) sendo estes mdulos desenvolvidos sob o mesmo banco de dados. Na rea de redes foram instalados: Windows 2003/2008 Server, Linux (Samba e Apache) e estaes de trabalho com Windows XP e Ubuntu, na matria de tpicos especiais, que engloba Modelagem 3D e animao foi desenvolvido um ambiente tridimensional no Software Autodesk 3D Studio Max.
Estes itens foram desenvolvidos ao longo do semestre com uso de ferramentas especficas e auxlio de professores e pesquisas.
1.7.2 Procedimentos
Quanto aos procedimentos realizados, como desenvolvimento dos Softwares, sistemas web, modelagem 3D, da anlise de sistemas e da construo deste prprio relatrio, a aferio do desenvolvimento de tais objetivos leva a o uso de quatro diferentes tcnicas de pesquisa, os quais sero tratados e relacionados abaixo.
A pesquisa exploratria tem finalidade de levantar mais conhecimentos sobre o tema em geral bem como, hipteses, problemas, objetivos, teorias de embasamento entre outros. Esta forma de pesquisa foi utilizada durante praticamente todo o projeto, para formao de embasamento, para o levantamento
26
de hipteses e possveis problemas que os objetivos devem resolver, bem como ainda para enfoque em determinados temas assinalados pelo grupo como principais e importantes.
A pesquisa descritiva tem como principal fundamento a observao dos fatos, os registros, a anlise e interpretao destes fatos. Tal pesquisa foi utilizada no desenvolvimento das interfaces e do design dos Softwares e dos sites, baseou-se primeiramente na busca de conceitos e de conhecimentos ligados ao tema atravs da pesquisa exploratria, para posterior organizao dasinterfacesnos mdulos web e desktop, aps tal organizao, com base na anlise da mesma lavando em considerao conceitos de usabilidade foi possvel fazer pequenos ajustes melhorando a aparncia a tornando o Software mais gil ao uso.
Basea-se na comprobatria dos itens embasados durante o relatrio e nos demais materiais desenvolvidos, se faz atravs da citao de conceitos escritos por autores e sites classificados como renomados e verdicos. Tal pesquisa se faz presente po exemplo nas definies de termos, bem como em todas as citaes utilizadas no capitulo dois deste relatrio. Ainda aliada na pesquisa exploratria, ou seja, na busca de matrias e artigos na internet, em livros, revistas entre outros, para o maior conhecimento de determinados conceitos.
1.7.3 Tcnicas
As tcnicas referem-se as ferramentas e as maneiras utilizadas pelo grupo para alcanar o objetivo, dessa forma, podem ser citadas por exemplo o estudo dos contedos, para a prtica, como banco de dados, estudo de anlise de sistemas e os prprias IDEs de desenvolvimento que propiciaram um ambiente mais gil para desenvolver os Softwares, como Netbeans, Visual Studio, Eclipse, Case Studio, Delphi, Aptana Studio, Bluefish, Adobe Photoshop e GIMP, dessa forma,
27
atravs do conhecimento e ententimento destas ferramentas foi possvel utiliz-las como um passo para se chegar aos objetivos finais. Alm das tcnicas de prtica (ferramentas de desenvolvimento)
1.8
DEFINIO DE TERMOS
Active Directory:
O Active Directory o servio de diretrios do Windows Server 2003. Um Servio de Diretrio um servio de rede, o qual identifica todos os recursos disponveis em uma rede, mantendo informaes sobre estes dispositivos (contas de usurios, grupos, computadores, recursos, polticas de segurana etc.) em um banco de dados e torna estes recursos disponveis para usurios e aplicaes (VIDAL, 2006).
Adobe Dreamweaver: O Adobe Dreamweaver, antigo Macromedia Dreamweaver um Software de desenvolvimento voltado para a web criada pela Macromedia (adquirida pela Adobe Systems), e que est atualmente na verso CS5 (CEZAR, 2011).
Adobe Premiere: O Adobe Premiere a aposta da Adobe para produzir vdeos com a mxima qualidade. (MOYA, 2010).
AJAX:
AJAX (acrnimo em lngua inglesa de Asynchronous Javascript And XML) o uso metodolgico de tecnologias como Javascript e XML, providas por navegadores, para tornar pginas Web mais interativas com o usurio, utilizando-se de solicitaes assncronas de informaes.(OFICINA DA NET, 2011)
Android:
Android um Sistema Operacional de cdigo aberto para dispositivos mveis (celulares, tabletsetc) e utiliza uma verso modificada do Linux. Foi desenvolvido inicialmente pela Android Inc., que foi posteriormente adquirido pelo Google, depois pela Open Handset Alliance. Permite a desenvolvedores criarem aplicaes Java que controlam o dispositivo por bibilhotecas desenvolvidas pelo Google.(ANDROID BRASIL, 2011)
28
Aptana Studio:
Aptana Studio um IDE de desenvolvimento para aplicaes da web 2.0, gratuito, cdigo livre, com suporte Ajax, PHP, RubyonRails, Adobe Air, iPhone, etc. Com Aptana se facilita em desenvolvimento integrado de Ajax com as tecnologas emergentes... ...Aptana est baseado no conhecido ambiente de desenvolvimento Eclipse (IDE = IntegratedDevelopmentEnvironment), tambm Open Source. Porm, enquanto que Eclipse est focalizado no desenvolvimento para Java, Aptana Studio uma distribuo focalizada no desenvolvimento web, com suporte a HTML, CSS e Javascript, assim como opcionalmente a outras tecnologias mencionadas como PHP, Adobe Air ou RubyonRails (ALVAREZ, 2007).
Array: Um Array um lugar identificado com um nome para armazenar um conjunto de valores, permitindo que voc agrupe valores escalares(WELLING, THOMSON, 2003, p.57).
Asp.Net: ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript. ASP.NET supports three approaches to build web sites: Web Pages, Web Forms and MVC (ASP.NET, 2011).
modelado e desenho em 3D. Com 3D Studio Max se poder criar qualquer cena em 3D e edit-la de modo realista graas ao programa Mental Ray que est includo em 3DS Max. Se poder criar animaes reais e desenhar roupas e penteados quase reais... (GUIA DO HACKER, 2011).
Banco de Dados:
...se trata de um conjunto de dados inter-relacionados e armazenados sem redundncias desnecessrias, os quais servem s aplicaes sem estar relacionados de uma maneira direta entre eles. Um banco de dados pode ser utilizado por vrias aplicaes e usurios. Todo banco de dados deve permitir inserir, modificar e excluir dados, portanto nos bancos de dados se salvam informaes de dois tipos: Os dados de usurios (dados usados pelas aplicaes)
29
Os dados de sistema (dados que o banco de dados utiliza para sua administrao... (LANGA, 2007).
Camera:
A Viso cmeras o mtedo utilizado pelo Max para visualizar os objetos. Diferente da Viewport Perspective a viso de camera lhe permite um total controle sobre o enquadramento do objeto. Voc ainda pode trocar lentes(objetivas) e ajustar o campo de viso, tem a capacidade de ir para qualquer lugar e ver qualquer coisa. (3DSTUDIOMAX, 2011)
Case Studio:
CASE Studio 2 is a professional database design tool, which allows you to visually create Entity Relationship Diagrams (ERD) for various database systems - e.g. MS SQL Server 2005, Oracle, DB2, Access, Sybase, Firebird, MaxDB, MySQL, PostgreSQL and more. With CASE Studio 2, you can reverse engineer your already existing database structures easily. Features include: SQL scripts generation, version manager, user-defined templates, HTML reports (CNET, 2006).
Cenas 3D:
A animao se baseia sobre o principio da viso humana. A percepo retiniana faz a leitura de uma sucesso de imagem como um movimento continuo. A animao introduz mais uma dimenso; o tempo. Nos trs formatos mais utilizados o nmero de frames so diferentes para o tempo de um segundo. Na animao tradicional o animador chefe desenha os quadros principais, denominados de quadros-chave ou Keyframes.(ESCULTOPINTURA,2011)
Classes:
Uma classe um conjunto de variveis e funes relacionadas a essas variveis. Uma vantagem da utilizao poder usufruir do recurso de encapsulamento de informao. Com o encapsulamento o usurio de uma classe no precisa saber como ela implementada, bastando para a utilizao conhecer a interface, ou seja, as funes disponveis. Uma classe um tipo, e portanto no pode ser atribuda a uma varivel.(HTML, 2011)
CLI:
The Windows command line is a mainstay for systems administrators and power users but is relatively unknown to many PC users. The purpose of this site is to make the power and utility of the command line more familiar to a wider community of computer users. Also under-appreciated are the related resources of batch files and scripts and these will be discussed as well (LAURIE, 2010).
30
Computao Grfica:
A Computao Grfica rene um conjunto de tcnicas que permitem a gerao de imagens a partir de modelos computacionais de objetos reais, objetos imaginrios ou de dados quaisquer coletados por equipamentos na natureza.(AMBIENTE DESIGN, 2011)
CSS:
CascadingStyleSheets (ou simplesmente CSS) uma linguagem de estilo utilizada para definir a apresentao de documentos escritos em uma linguagem de marcao, como HTML ou XML. Seu principal benefcio prover a separao entre o formato e o contedo de um documento (OFICINA DA NET, 2010).
C#: C# (C Sharp) uma linguagem de programao orientada a objetos criada pela Microsoft, faz parte da sua plataforma .Net. A companhia baseou C# na linguagem C++ e Java (OFICINA DA NET, 2007).
DHCP:
O DHCP ("Dynamic Host ConfigurationProtocol" ou "protocolo de configurao dinmica de endereos de rede") permite que todos os micros da rede recebam suas configuraes de rede automaticamente a partir de um servidor central, sem que voc precise ficar configurando os endereos manualmente em cada um (MORIMOTO, 2009).
DNS:
O DNS (domainname system) permite usar nomes amigveis em vez de endereos IP para acessar servidores, um recurso bsico que existe praticamente desde os primrdios da internet. Quando voc se conecta internet e acessa o endereo http://www.hardware.com.br, um servidor DNS que converte o "nome fantasia" no endereo IP real do servidor, permitindo que seu micro possa acessar o site (MORIMOTO, 2005).
E-commerce:
...O Comrcio feito atravs da internet muda os parmetros do comrcio tradicional em vrios aspectos, principalmente no que diz respeito escola do mercado potncial e ao custo envolvido em todas as operaes
31
comerciais, desde o custo de obteno de informao sobre produtos at o custo do prprio produto. O Comrcio eletrnico considerado uma atividade fundamental para o desenvolvimento do setor produtivo, pois possibilita a ampliao e a diversificao dos mercados consumidores, promove o desenvolvimento das atividades comerciais pela introduo de novos mecanismos de comercializao e acelera o desenvolvimento e a difiso de novas tecnologias de informao. O comrcio eletrnico caracterizado pelo uso de meios eletrnicos para a conduo de transaes comerciais entre empresas, governo e consumidores (JUNIOR, MURTA, CAMPOS, NETO, 2002. p.1,2).
Embarcadero Delphi:
Embarcadero Delphi XE is the fastest way to deliver ultra-rich, ultra-fast Windows applications. Dramatically reduce coding time and create applications 5x faster with component-based development and a fully visual two-way RAD IDE. Speed development across multiple Windows and database platforms for GUI desktop applications, interactive touch-screen, kiosk, and database-driven multi-tier, cloud, and Web applications. With Delphi, you can: Build applications faster with pre-built components and drag-anddrop visual design; Build applications that require speed-visualizing data, controlling hardware in real time, manipulating 3D objects, financial modeling, gaming, imaging, medical equipment, point-of-sale systems, and more; Future-proof your applications with native connectivity to 9 major databases and ready-made components for cloud connectivity; Utilize thousands of free and commercial components for user interfaces, database, multi-tier, web apps, industry specific and more. (EMBARCADERO, 2011)
Function:
A function allows you to encapsulate a piece of code and call it from other parts of your code. You may very soon run into a situation where you need to repeat a piece of code, from multiple places, and this is where functions come in (CSHARP, 2011)
HAN:
Home area network. Este um termo relativamente recente, que diz respeito a uma rede domstica, que conecta vrios computadores e outros dispositivos digitais. A rede neste caso abrange o espao de uma nica casa ou apartamento, em oposio s LANs (que abrangem um escritrio ou edifcio) e as WANs (MORIMOTO, 2005).
32
Hospedagem: A hospedagem de sites se refere ento, ao alojamento das pginas e todas as informaes relacionadas a estas tais como, imagens, vdeos, fontes de texto, entre outros (ZOU, 2011).
HTML: HTML uma linguagem com a qual se definem as pginas web. Basicamente trata-se de um conjunto de etiquetas (tags) que servem para definir a forma na qual se apresentar o texto e outros elementos da pgina(ALVAREZ, 2004).
HUB:
Em uma rede, o Hub funciona como a pea central, que recebe os sinais transmitidos pelas estaes e os retransmite para todas as demais. Todas as placas so ligadas ao hub ou switch, que serve como uma central, de onde os sinais de um micro so retransmitidos para os demais. Todas as placas de rede so ligadas ao hub ou switch, e possvel ligar vrios hubs ou switchs entre si (at um mximo de 7), formando redes maiores (MORIMOTO, 2005).
IIS:
Internet Information Server. Este o famoso servidor Web da Microsoft, que detm quase 40% do mercado de servidores Web. O IIS extremamente fcil de usar e gratuto para usurios do Windows. O sistema tambm possui vrios recursos, mas em compensao peca no fator segurana (MORIMOTO, 2005).
33
IPV4:
No IPV4, os endereo IP so compostos por 4 blocos de 8 bits (32 bits no total), que so representados atravs de nmeros de 0 a 255, como "200.156.23.43" ou "64.245.32.11". As faixas de endereos comeadas com "10", com "192.168" ou com de "172.16" at "172.31" so reservadas para uso em redes locais e por isso no so usados na internet. Os roteadores que compe a grande rede so configurados para ignorar estes pacotes, de forma que as inmeras redes locais que utilizam endereos na faixa "192.168.0.x" (por exemplo) podem conviver pacificamente (MORIMOTO, 2005).
IPV6:
O IPV6 uma evoluo do padro de endereamento atual onde, ao invs de endereos de 32 bits, so usados endereos de 128 bits. O nmero de endereos disponveis no IPV6 simplesmente absurdo; seria o nmero 340.282.366.920 seguido por mais 27 casas decimais. Tudo isso para prevenir a possibilidade de, em um futuro distante, ser necessria uma nova migrao (MORIMOTO, 2005).
Java:
Java uma linguagem de programao e uma plataforma de computao lanada pela primeira vez pela Sun Microsystems em 1995. a tecnologia que capacita muitos programas da mais alta qualidade, como utilitrios, jogos e aplicativos corporativos, entre muitos outros, por exemplo. O Java executado em mais de 850 milhes de computadores pessoais e em bilhes de dispositivos em todo o mundo, inclusive telefones celulares e dispositivos de televiso (ORACLE, 2011).
LAN:
Local Area Network, ou rede local. Qualquer rede de micros que englobe um pequeno espao, uma sala, um andar ou mesmo um prdio. Como estas pequenas redes so de longe as mais numerosas atualmente comum ver o termo LAN usado at mesmo como sinnimo de rede (MORIMOTO, 2005).
Layout: o desenho da aparncia de um site, geralmente criado em algum Software de criao vetorial ou de edio de imagens (MARCUS VBP, 2008).
Esboo artstico mostrando a posio relativa das ilustraes, ttulos e texto de uma pea promocional ou de resposta direta. 2. Projeto de anncio; rascunho bem acabado que permite uma viso exata do que vai ser o
34
Linguagem de Programao:
Uma linguagem de programao um conjunto finito de smbolos com os quais se escrevem programas de computador. H vrias classificaes para as linguagens de programao. Citaremos trs delas, que so as mais utilizadas e cobradas em concursos. A primeira classificao relaciona-se com a proximidade que a linguagem tem do usurio final, isto , do homem. Baseando-nos neste critrio as linguagens podem ser de alto nvel, nvel intermedirio ou baixo nvel. Linguagem de alto nvel uma linguagem que se aproxima mais da linguagem utilizada pelo ser humano. Exemplos tpicos so Pascal, COBOL, C e SQL. importante lembrar que o Delphi e o Visual Basic so ambientes de programao e no linguagens no sentido estrito da definio. O Delphi tem por linguagem base uma extenso do Pascal chamada Pascal Orientado a Objetos ou Object-Pascal e o Visual Basic tem por base uma linguagem que um extenso do Basic de nome Visual Basic. Linguagem de nvel intermedirio uma linguagem que, como o prprio nome diz, fica em um nvel intermedirio entre a linguagem de alto nvel e a linguagem de baixo nvel. So cdigos chamados de mnemnicos, mais conhecidos como assembly. Exemplos tpicos so o assembly do processador 8085, do Pentium, do AMD K6 e do Motorola. Mais uma vez importante lembrar que a linguagem assembly e no assembler. Assembler o nome de um programa de computador, do qual falaremos em outra aula. Linguagem de baixo nvel o cdigo que o computador executa diretamente. composta de 0s e 1s e conhecida como linguagem binria.(ALVAREZ,2002).
Linux:
Linux um sistema operacional, programa responsvel pelo funcionamento do computador, que faz a comunicao entre hardware (impressora, monitor, mouse, teclado) e Software (aplicativos em geral). O conjunto de um kernel e demais programas responsveis pela comunicao com este o que denominamos sistema operacional. O kernel o corao do Linux. (VIVAOLINUX, 2011).
Lgica de Programao:
Lgica de programao nada mais do que uma forma de se escrever um programa de computador com uma linguagem de fcil entendimento para ns seres humanos. A lgica de programao necessria para todas as pessoas que desejam trabalhar com desenvolvimento de sistemas e
35
uma
seqncia
lgica
para
MAC:
Media Access Control. um endereo de 24 bits, diferente em cada placa de rede. O endereo Mac gravado na prpria placa, e (teoricamente) no pode ser alterado. Este endereo diferente do endereo TCP/IP ou qualquer outro endereo utilizado pelo protocolo de rede. Alm dos 24 bits que formam o endereo nico da placa de rede, existem mais 24 bits destinados ao cdigo do fabricante, totalizando 48 bits (MORIMOTO, 2005).
MAN: Metropolitan Area Network. Uma rede que abrange uma cidade inteira (MORIMOTO).
Mquina Virtual:
O conceito das mquinas virtuais bastante interessante. Cada mquina virtual trabalha como um PC completo, com direito at a BIOS e configurao do Setup. Dispositivos como o CD-ROM e drive de disquetes podem ser compartilhados entre as mquinas virtuais e o sistema host, em alguns casos at mesmo simultneamente (um CD no drive pode ser acessado em todos os sistemas) (MARIMOTO, 2005).
Mtodos HTTP: O protocolo HTTP utiliza vrios mtodos de manipulao e organizao dos dados. Atualmente, dois mtodos so mais utilizados para submeter dados de formulrios: POST e GET (ICMC, 2003).
Modelo Entidade Relacional: Formado por uma srie de relaes entre tabelas e informaes que tem como finalidade reduzir redundncias, melhorar a integridade de forma normalizada (SIMOURA, 2011).
36
Modelagem 3D:
Modelagem tridimensional (ou Modelagem 3D) basicamente a criao de formas, objetos, personagens, cenrios. As formas criadas precisam ter maleabilidade para que possamos distorc-las ou transform-las, para isso a transformamos em uma malha, que o conjunto de segmentos que do a forma do objeto (3DSTUDIOMAX, 2011)
MySQL:
Um gerenciador de banco de dados Open Source, bastante popular atualmente, que utiliza a linguagem SQL. O MySQL existe desde 1998 e j possui verses para vrios sistemas operacionais, entre eles Linux, Windows, Mac OS, Free BSD, Unix e Solaris. Esto disponveis APIs para programao em vrias linguagens entre elas o C++, Java, Perl e PHP. O MySQL gratuto e pode ser baixado no site oficial: http://www.MySQL.com (MORIMOTO, 2005).
Navegador:
Um navegador, tambm conhecido pelos termos ingleses web browser ou simplesmente browser, um programa de computador que habilita seus usurios a interagirem com documentos virtuais da Internet, tambm conhecidos como pginas HTML, que esto hospedadas num servidor Web (NILO, 2011).
Normalizao de dados:
A Normalizao de Dados uma srie de passos que se segue no projeto de um banco de dados que permite um armazenamento consistente e um eficiente acesso aos dados em um banco de dados relacional. Esses passos reduzem a redundncia de dados e as chances dos dados se tornarem inconsistentes (STROPARO, 2011).
37
NetBeans:
O NetBeans IDE um ambiente de desenvolvimento integrado gratuito e de cdigo aberto para desenvolvedores de Software. O IDE executado em muitas plataformas, como Windows, Linux, Solaris e MacOS. fcil de instalar e usar. O NetBeans IDE oferece aos desenvolvedores todas as ferramentas necessrias para criar aplicativos profissionais de desktop, empresariais, Web e mveis multiplataformas.(OFICINA DA NET, 2011)
Orientao a objetos: A ideia simples essa: em ves de criar estruturas de dados de um lado e cdigo do outro suponha que reorgranizamos tudo, de modo que as partes associadas do cdigo e dos dados sejam agrupadas (CONVERSE PARK, 2003, p.439).
Padronizao:
A padronizao visa a uniformizar tamanho, tipo, qualidade, dimenso e desempenho, impondo sua obrigatoriedade todas as vezes que no venha ferir direitos, tornando possvel a permutabilidade das partescomponentes de um todo, sem contudo, prejudicar a unidade do conjunto (UOL, 2011).
PHP:
O PHP uma linguagem de criao de scripts ao lado do servidor que foi projetada especificamente para web. Dentro de uma pgina HTML, voc pode embutir cdigo de PHP que ser executado toda vez que a pgina for visitada. O cdigo PHP interpretrado no servidor web e gera HTML ou outra sada que o visitante ver (WELLING E THOMSON, 2003, p.XXVI).
PHP-GTK: O PHP-GTK uma "language binding", ou seja, uma ligao entre duas linguagens j existentes, a linguagem PHP e a biblioteca GTK. Logo, o PHP-GTK o prprio PHP, com mais recursos (PHP-GTK, 2006).
Polgonos:
Polgono uma figura plana formada por trs ou mais segmentos de reta que se intersectam dois a dois. Os segmentos de reta so denominados
38
lados do polgono.Os pontos de interseco so denominados vrtices do polgono. A regio interior ao polgono muitas vezes tratada como se fosse o prprio polgono (HENRIQUE, 2011).
Propriedades C#:
Uma propriedade um membro que fornece um mecanismo flexvel para ler, gravar ou calcular o valor de um campo particular. Propriedades podem ser usadas como se eles so membros de dados pblicos, mas eles so chamados de mtodos realmente especiais acessadores. Isso permite que os dados sejam acessados facilmente e ainda ajuda a promover a segurana e a flexibilidade dos mtodos.(MICROSOFT, 2011)
Protocolos:
Um protocolo um mtodo standard que permite a comunicao entre processos (que se executam eventualmente em diferentes mquinas), isto , um conjunto de regras e procedimentos a respeitar para emitir e receber dados numa rede (KIOSKEA, 2009).
Rede: Uma rede basicamente dois ou mais computadores interligados por um cabo, trocando informaes e compartilhando recursos (UFRJ, 2011).
Script: Em informtica, o termo script utilizado para designar uma seqncia de comando e tarefas a serem executadas (MATTHEIS, 2010).
39
Site:
Site, stio, website, webstio, stio na Internet, stio web, stio na web, stio electrnico (portugus europeu) ou stio eletrnico (portugus brasileiro) um conjunto de pginas web, isto , de hipertextos acessveis geralmente pelo protocolo HTTP na Internet. O conjunto de todos os sites pblicos existentes compe a World Wide Web. As pginas num site so organizadas a partir de um URL bsico, ou stio onde fica a pgina principal, e geralmente residem no mesmo diretrio de um servidor. As pginas so organizadas dentro do site numa hierarquia observvel no URL, embora as hiperligaes entre elas controlem o modo como o leitor se apercebe da estrutura global, modo esse que pode ter pouco a ver com a estrutura hierrquica dos arquivos do site (ANGELO, 2010)
Servidor:
Servidor, numa rede o computador que hospeda os arquivos ou recursos (modem, impressora, etc.) que sero acessados pelos demais micros da rede. O servidor disponibiliza e os clientes, ou guests acessam os recursos disponibilizados. Na Internet todos os computadores so chamados de host, independentemente de disponibilizarem algo (MORIMOTO, 2005).
MS SQL Server:
O SQL Server um banco de dados compacto destinado a aplicativos cliente de usurio nico para a rea de trabalho do Windows e as plataformas mveis. O SQL Server Compact 3.5 uma verso gratuita, fcil de usar, leve e incorporvel do SQL Server 2008 R2. Com o SQL Server Compact 3.5, voc pode desenvolver aplicativos para rea de trabalho e dispositivos mveis (MICROSOFT, 2011).
SQL:
SQL (Linguagem de consulta estruturada, em portugus) uma linguagem que todo programador, tcnico ou administrador de banco de dados deve conhecer. Sua aplicao extremamente ampla no mercado debanco de dadose programao (LUIS, 2010).
SWITCH:
O switch um aparelho muito semelhante ao hub, mas tem uma grande diferena: os dados vindos do computador de origem somente so repassados ao computador de destino. Isso porque os switchs criam uma espcie de canal de comunicao exclusiva entre a origem e o destino. Dessa forma, a rede no fica "presa" a um nico computador no envio de informaes. Isso aumenta o desempenho da rede j que a comunicao est sempre disponvel, exceto quando dois ou mais computadores tentam enviar dados simultaneamente mesma mquina. Essa caracterstica
40
tambm diminui a ocorrncia de erros (colises de pacotes, por exemplo) (ALECRIM, 2004).
TCP/IP:
...abreviao de "Transmission Control Protocol/Internet Protocol", ou protocolo de controle de transmisso/protocolo internet. O TPC/IP permitiu que as vrias pequenas redes de computadores do exrcito Americano fossem interligadas, formando uma grande rede, embrio do que hoje conhecemos como Internet. O TCP/IP composto de dois protocolos, o IP cuida do endereamento, enquanto o TCP cuida da transmisso dos dados e correo de erros. O segredo do TCP/IP dividir a grande rede em pequenas redes independentes, interligadas por roteadores. Como (apesar de interligadas) cada rede independente da outra, caso uma das redes pare, apenas aquele segmento fica fora do ar, sem afetar a rede como um todo (MORIMOTO, 2005).
Texturas:
Textura o aspecto de uma superfcie, ou seja, a "pele" de uma forma, que permite identific-la e distingu-la de outras formas. Quando tocamos ou olhamos para um objeto ou superfcie sentimos se a sua pele lisa, rugosa, macia, spera ou ondulada. A Textura , por isso, uma sensao visual ou tctil. Sendo assim aplicamos vrias formas em vrios tipos de texturas e outros elementos . Textura qualquer relevo feito com qualquer material tipo: massa corrida, gesso cr, massa acrlica, e outros, que pode ser feito com rolo, pinceis, esptula. Existem vrios tipos, cada pessoa faz a seu gosto, no tem uma forma certa, pode ser feita em mveis, parede, etc.(JORNAL LIVRE, 2011)
Topologia de redes: A topologia de rede descreve como o layout de uma rede de computadores atravs da qual h o trfego de informaes, e tambm como os dispositivos esto conectados a ela (CAMARGO, 2011).
de
esconder
as
caractersticas fsicas de uma plataforma computacional dos utilizadores, mostrando outro hardware virtual, emulando um ou mais ambientes isolados (NEVES, 2011).
41
Visual Studio
O Visual Studio 2010 a mais nova ferramenta de desenvolvimento para a plataforma Microsoft .NET Framework. Durante anos essa integrao entre Visual Studio e .NET tem proporcionado ganhos nicos para os desenvolvedores de Software focando em produtividade, qualidade e integrao.(DEV BRASIL, 2011)
VMWare: VMware um Software/mquina virtual que permite a instalao e utilizao de um sistema operacional dentro de outro dando suporte real a Software de outros sistemas operativos (COMPANY, 2011).
W3C:
O World Wide Web Consortium (W3C) um consrcio internacional com cerca de 300 membros, que agrega empresas, rgos governamentais e organizaes independentes, e que visa desenvolver padres para a criao e a interpretao de contedos para a Web. Foi fundado por Tim Berners-Lee em 1994 (MARC, 2010).
WAN: Um WAN (WideArea Network ou rede vasta) interliga vrios LANs atravs de grandes distncias geogrficas, aproximadamente da dimenso de um pas ou de um continente (KIOSKEA, 2011).
Windows XP Professional:
abrange um conjunto de recursos projetados para usurios corporativos, enquanto seu parente o Windows XP Home, com menos potncia (e mais barato) oferece recursos projetados para consumidores ou usurios domsticos (MINASI, 2002. p.5).
42
XAMPP:
XAMPP um servidor independente de plataforma, Software livre, que consiste principalmente na base de dados MySQL, o servidor web Apache e os interpretadores para linguagens de script: PHP e Perl. O nome provem da abreviao de X (para qualquer dos diferentes sistemas operativos), Apache, MySQL, PHP, Perl. O programa est liberado sob a licena GNU e atua como um servidor web livre, fcil de usar e capaz de interpretar pginas dinmicas. Atualmente XAMPP est disponvel para Microsoft Windows, GNU/Linux, Solaris, e MacOS X (EDUCAO, 2011).
XML:
XML a abreviao de "Extensible Markup Language", um sistema padro simples para criar cdigos de referncia. Enquanto o HTML composto por um conjunto fixo de elementos, o XML um esquema mais flexvel para descrever a estrutura de dados. Ao permitir que designers criem e definam suas prprias guias personalizadas e especficas para a indstria, o XML facilita a troca de uma ampla variedade de dados na web (GOOGLE SUPPORT, 2011).
1.9
CRONOGRAMA
Quadro 1: Cronograma
Atividades Incio das atividades de pesquisa e aprendizado pelos estudantes do primeiro semestre. Elaborao do projeto. Realizao da anlise do problema proposto para desenvolvimento. Documentao da Anlise Dicionrios de Dados ER Banco de Dados. Anlise de requisitos Instalao em mquina virtual Servidores e Estaes de Trabalho. Configurao de seus servios conexes com base em Windows dos e ABR MAI JUN JUL AGO SET OUT
Instalao do banco de dados definido no projeto. Instalao, nos servidores, dos sistemas desenvolvidos. Testes de conexo e da funcionalidade do sistema em rede. Desenvolvimento do aplicativo em Delphi
43
com a parte dos cadastros completa. Desenvolvimento do portal de notcias ou outro portal definido em conjunto com a turma e o professor. Teste e implementao do Software desenvolvido, inclusive em rede.
Verificao previstos
de
todos
os
objetivos
Elaborao do relatrio final referente o primeiro semestre. Apresentao final. Desenvolvimento do aplicativo em Delphi contemplando relatrios, filtros e demais recursos. Desenvolvimento das aplicaes web com carrinho de compra e gerenciamento do negcios (PHP e Delphi Web). Instalao e configurao Samba e Apache. do Linux,
Propostos
Realizados
1.10 RECURSOS
Papel A4, impressoras, fotocpias, pendrive, carto SD, CD-R, DVD-R, livros, computadores,notebooks, cmera digital, cabos de dados.
CAPTULO 2
FUNDAMENTAO TERICA
2.1
INFORMTICA
A informtica pode ser caracterizada como uma unio de vrias cincias exatas aplicatas a tecnologia e em especial a computao. Engloba principalmente conceitos fsicos e qumicos no que diz respeito hardware, funcionamento interno, bem como conceitos puramente matemticos na desenvoltura lgica, ou seja, no controle das peas pelo sistema operacional, na programao dos Softwares que executam sobre e este e esto apenas apresentados de maneira mais compreensvel para programadores, quando na verdade so binrios,
informtica da mesma forma toda tecnologia que capaz de se conectar com computadores, bem como as prprias ferramentas utilizadas para conectar computadores entre si ou uma rede maior (internet, empresa).
Acompanhando a evoluo das reas que formam a informtica crucialmente, vide fsica e qumica, a informtica juntamente com estas, uma das reas que mais rapidamente se desenvolve, com a asceno e o desenvolvimento dos Softwares aliado a boas prticas de programao, a informtica consegue ultrapassar todas as demais reas. Atualmente por exemplo so citados computadores orgnicos e novas formas de processamento, smathphones esto no
45
cotidiano das pessoas e tem hardware biprocessado superior a computadores de cinco anos atrs, bem como uma vasta gama de funcionalidades a um toque e no mais clique.
Graas a um dos fundamentos principais da informtica e a computao que so as redes, a informtica est novamente mudando seu modelo utilizao, que se manteve sem alteraes to drsticas durante mais de 10 anos. O conceito de fazer download j pode ser substitudo para upload, ou simplesmente transferir os arquivos de um servidor para outro, tudo isso claro de maneira intuitiva e planejada, de modo a ajudar, dar praticidade e melhorar a vida as pessoas.
Seria possvel definir informtica se utilizando de diversos argumentos e referncias, porm devido amplitude do assunto e a constante alterao dos termos prefervel usar uma definio mais abrangente, como: A informtica toda tecnologia computacional/matemtica idealizada por pessoas.
2.2
REDES
A definio mais suscinta de redes a conexo entre dois ou mais computadores que compartilham dados e perifricos/dispositivos entre si. A internet a maior rede existente e o melhor exemplo da importncia que este termo trouxe a informtica e todas as tecnologias posteriores a ela. Redes de computadores so estruturas fsicas (equipamentos) e lgicas (programas, protocolos) que permitem que dois ou mais computadores possam compartilhar suas informaes entre si. (AVILA, 2011).
As redes so usadas com diversos intuitos, algumas das vantagens de se ter uma rede dentra da empresa ou dentro da prpria casa so: compartilhamento de dados e acesso facilitado a estes dados em diversos ou at mesmo em qualquer lugar com conexo a internet, compartilhamento de dispositivos, backup dos dados, acesso remoto e manuteno remota, controle de acessos e do uso em geral, segurana alm de poupar armazenamento quando se pode manter os dados em
46
um servidor e excluir as repeties muitas vezes desatualizadas dos arquivos de outros computadores.
Desde as primeiras redes desenvolvidas vrios aspectos se alteraram em relao s redes de dados atuais que por vezes nem mais se utilizam da cabos, mas sim de sinais/ondas e lasers como os utilizados para a quebra do record mundial de transferncia de dados que ultrapassou a casa dos terrabites por segundos, logicamente no uma tecnologia em uso, mas sim em pleno estudo e desenvolvimento e que possivelmente poder ser utilizada em tecnologias futuras de transferncias de dados, atualmente porm j so usadas fibras pticas, que so cabos ultrafinos que proporcionam altas velocidades de transferncia de dados, por vezes a transferncia de dados e ou conexo com a internet at mais rpida do que a prpria gravao dos arquivos no HD.
Uma topologia de rede um mapa da rede. A topologia fsica da rede descreve olayout dos cabos e postos de trabalho e a localizao de todos os componentes da rede. A escolha de como os computadores vo ser ligados numa rede pode ser um assunto crtico, uma m escolha da topologia fsica pode levar mais tarde a custos desnecessrios assim como a um mau aproveitamento dos recursos da rede. (SCRIBD, 2011)
Todas as novas tecnologias desenvolvidas e usadas desde as primeiras organizaes de redes so intens a serem estudados dentro da computao, do que trata o estudo de topologias de redes.
A rede em anel foi uma das primeiras topologias a serem usadas, consistia em um circuito circular que interligava os computadores a rede por meio de repetidores, cada estao poderia apenas estar conectada a outras duas, sendo que se qualquer mquina da rede falhasse toda a rede se comprometeria.
47
Na topologia em anel cada posto est directamente ligado a dois outros postos de rede. Os dados circulam num sentido de um posto para outro, cada posto inclui um dispositivo de recepo e transmisso, o que lhe permite receber o sinal e pass-lo ao posto seguinte, no caso de a informao no lhe ser destinada. (SCRIBD, 2011)
A ligao entre as mquinas era feita atravs de cabos coaxiais, em forma de T. este tipo de rede no se aplica mais, devido limitao de conectividade e baixa velocidade na transmisso de dados alm do alto custo dos cabos bem como seu suporte.
A rede malha uma evoluo da rede anel, consiste no mesmo circuito circular, porm agora com maior conectividade, em compensao disso requeria uma infraestrutura muito maior, bem como o nome diz, se formava uma malha de cabos que devido a dificultosa manuteno culminava em alto preo de implantao e grande desorganizao. Na topologia em malha existe uma ligao fsica directa entre cada umdos ns, isto , todos comunicam com todos. (SCRIBD, 2011).
48
A rede em barramento diferentemente das anteriores, em barra, com ramificaes; cada computador conectado ao barramento principal atravs de um cabo coaxial e um T que o liga ao barramento principal.
Na topologia de barramento todos os computadores esto ligados a um cabo contnuo que terminado em ambas as extremidades por uma pequena ficha com uma resistncia ligada entre a malha e o fio central do cabo (terminadores). A funo dos terminadores de adaptarem a linha, isto , fazerem com que a impedncia vista para interior e para o exterior do cabo seja a mesma, seno constata-se que h reflexo do sinal e, consequentemente, perda da comunicao. (SCRIBD, 2011)
49
Nesta topologia de rede apenas uma estao pode transmitir dados por vez enquanto as demais apenas recebem dados, as desvantagens se do por conta do uso de cabos coaxiais que podem se desconectar internamente sem que seja possvel identificar o problema caso o cabo no seja aberto o que dificulta o suporte.
A rede estrela uma das topologias utilizadas at hoje, nesta rede existe um hardware central (hubs/switch) que distribui as pontas de acesso, os cabos para as demais estaes da rede. Os dados transmitidos de uma mquina para outra nesta rede no passam por todas as demais mquinas (porm todas tem acesso atravs de tecnologias maliciosas) mas sim,so destinados diretamente a estao de destino atravs de um tunelamento seguro que encripta os dados;outra vantagem desta topologia que todas as mquinas podem enviar e receber dados em paralelo.
Contrariamente ao que acontece na topologia anterior, no caso da topologia em estrela os postos ligam-se todos num ponto central, que um dispositivo que pode ser umhub ou umswitch; em qualquer dos casos esse dispositivo actua como um concentrador. (SCRIBD, 2011)
A manuteno para este tipo de redes fcil e quando um cabo est com defeito apenas o computador que utiliza deste cabo ficar sem acesso a rede, os
50
demais continuam em funcionamento na rede; ainda os cabos utilizados que so do tipo RJ45 podem ser facilmente concertados apenas substituindo os conectores das extremidades. Deve haver apenas uma infraestrutura para que os cabos fiquem organizados. Esta rede de modo padro se aplica a pequenas empresas e para uso domstico, devido limitao de portas dos hubs. Para redes maiores usa-se de uma integrao de hubs e switchs que d origem a topologia de redes denominada rvore, esta topologia por sua ves integra caractersticas da rede estrela e das redes em barramento.
As redes atualmente se dividem em trs tipos mais conhecidos, que se diferenciam de acordo com a escala de uso, ou seja, pelo tamanho e pela quantia de estaes conectadas a esta rede, ns itens a seguir estes tipos sero apresentados de maneira um pouco mais especfica.
2.2.2.1 LAN
Da Sigla Local Area Network, este tipo de rede engloba pequenas redes, como as que so criadas em escritrios e pequenos prdios; ainda h uma denominao mais especfica que no utilizada por todos que se refere a redes exclusivamente domsticas, criadas em uma casa apenas que interligam poucos computadores e demais dispositivos digitais, este tipo de rede chamado de HAN da sigla Home area network.
2.2.2.2 MAN
As redes MAN (Metropolitan Area Network) englobam as redes intermedirias, redes maiores como a ligao de uma prefeitura com um colgio em uma grande cidade, por exemplo, so redes que tem maior numero de estaes conectadas.
51
2.2.2.4 WAN
Wide Area Network a denominao dada a redes em maiores escalas como em um pas inteiro ou de um continente para outro. Estas redes normalmente conectam servidores entre si e no estaes domsticas.
2.2.3 Servidor
O servidor o computador central de uma rede, trata-se de uma mquina com muita memria RAM, muitos terabytes de HD, e os melhores e mais potentes processadores do mercado, pois este computador disponibilizar dados e controlar todos os demais computadores da rede, se assim configurado.
Um servidor um sistema de computao que fornece servios a uma rede de computadores. Esses servios podem ser de diversa natureza, por exemplo, arquivos e correio eletrnico. Os computadores que acessam os servios de um servidor so chamados clientes. As redes que utilizam servidores so do tipo cliente-servidor, utilizadas em redes de mdio e grande porte (com muitas mquinas) e em redes onde a questo da segurana desempenha um papel de grande importncia. O termo servidor largamente aplicado a computadores completos, embora um servidor possa equivaler a um Software ou a partes de um sistema computacional, ou at mesmo a uma mquina que no seja necessariamente um computador. (MANDARINO, 2007)
O servidor a mquina central de arquivos, que hospeda os dados de sites e sistemas, bancos de dados e arquivos fontes PHP, por exemplo, o servidor tambm executa estes bancos de dados e processa as requisies PHP devolvendo a pgina em HTML para o usurio. Para tal o servidor exige uma configurao superior aos computadores comuns, tcnicas de segurana, medidas de resfriamento em altas cargas de processamento, medidas de segurana a proteo de dados, executar servios diversos dentre vrias outras especificaes.
2.2.3.1 Hardware
A funo do servidor disponibilizar e processar dados, desta forma o servidor pode ser composto por difetentes misturas de acordo com a funo do mesmo, a opo mais comum ter uma placa me poderosa e nesta embutir vrios
52
processadores (multiprocessamento), outra trocar os processadores por placas de vdeo que tambm podem fazer o trabalho do processamento, j que dispem de memrias GDDR5 e velocidades de clock muito altas, outra maneira fazer com o que o processamento seja paralelo. Ou seja, cada mquina da rede que est com determinada porcentagem de processamento ocioso, passar a processar dados para o servidor, esta tecnologia chamada de Cluster. ... a parte fsica do computador, ou seja, o conjunto de componentes eletrnicos, circuitos integrados e placas, que se comunicam atravs de barramentos. (OFICINADANET, 2010).
Existem vrias tecnologias para se usufruir de alto processamento, cabendo a empresa em questo se utilizar da mais adequada, em relao a caractersticas similares entre hardware de servidores podem se citar o disperso e espaamento maior entre uma pea e outra com objetivo de dissipar
inteligentemente o calor produzido. Ainda assim, o servidor deve estar em uma sala ambientada, a temperatura adequada. A estrutura do ambiente tambm deve ser planejada, ou seja, no o canto que sobra o local onde os servidores estaro instalados, deve haver uma organizao devido a grande quantidade de cabos, caso haja problema com algum ser possvel dar manuteno ou substitu-lo facilmente.
Grandes empresas investem milhes de dlares em prdios projetados exclusivamente para receber servidores que, quando em grande quantidade so organizados em uma estrutura chamada Data Center, tratam-se de salas, andares ou prdios inteiros voltados para processamento em massa. Nestas estruturas possvel substituir um servidor inteiro (uma unidade de processamento) sem desligar todos os demais, em tempo real, basta desencaixar o hardware danificado e embutir o equivalente funcionando. O processamento entre todas as unidades de processamento em conjunto e normalmente voltado a uma nica funo, como por exemplo, servidor de email.
53
2.2.5 IP
Internet protoco l o protocolo de rede que identifica/nomea o computador em uma determinada rede de computadores, pode ser comparado a um i ID.
2.2.6 DHCP
O DHCP (Dynamic Host ConfigurationProtocol) permite a distribuio automtica de configuraes para as estaes conectadas a rede, dessa forma possvel utilizar IPs dinmicos na rede sem que haja conflitos ou que o usurio necessite configurar a estao para ter acesso aos dados.
2.2.7 DNS
O DNS (Domain Name System) realiza a converso de nomes em endereos de IP, para que seja possvel de forma mais amigvel ao usurio acessar os dados/sites sem ter de decorar o endereo de IP do servidor.
A diferena principal entre HUB e SWITCH basea-se na forma de transmisso dos dados dentro da rede. O SWITCH mais seguro, formando um tnel para transmisso dos dados que acontece exclusivamente entre o computador que envia os dados e o computador que recebe, significa mais desempenho na rede e mais segurana tambm. Acompanhando a analogia de Carlos. E. Morimoto, possvel destinguir os dois aparelhos conforme a citao a seguir.
A diferena entre um hub um switch que o hub apenas retransmite tudo o que recebe para todos os micros conectados a ele, um tagarela. Isso faz com que apenas um micro consiga transmitir dados de cada vez e que todas as placas precisem operar na mesma velocidade (sempre nivelada por baixo, caso voc coloque um micro com uma placa de 10 megabits na rede, a rede toda passar a trabalhar a 10 megabits). Os switchs, por sua vez, so aparelhos mais inteligentes. Eles fecham canais exclusivos de
54
comunicao entre o micro que est enviando dados e o que est recebendo, permitindo que vrios pares de micros troquem dados entre si ao mesmo tempo. Isso melhora bastante a velocidade em redes congestionadas, com muitos micros (MORIMOTO, 2005).
2.2.9 Virtualizao
a capacidade de um Software emular um hardware, para que neste hardware virtual que extrai recursos da mquina fsica seja possvel instal um sistema operacional e configur-lo como um computador normal.
Virtualizao a tcnica que permite que em uma mesma mquina fsica, sejam executados dois ou mais ambientes distintos e completamente isolados. Desta forma, em cada ambiente executado um sistema operacional que no tem conscincia de que est dividindo uma mquina mesma fsica com outros sistemas operacionais. (MATTOS, 2008).
A virtualizao utilizada principalmente em servidores onde cada servidor virtual pode exercer uma determinada funo, como servidor de email, servidor web, servidor ftp, login dentre outras funcionalidades. No caso da virtualizao domstica so usados Softwares como Virtual Box e Virtual PC e VMware, Softwares capazes de criar esta camada de hardware virtual; estes Softwares so instalados sobre uma mquina fsica que executa um sistema operacional domstico como Windows 7 ou Ubuntu Linux. No caso da virtualizao em servidores existem solues desenvolvidas para que se possa extrair mais do desempenho da mquina fsica, dessa forma o Software de virtualizao como XEN ou VMware instalado diretamente na mquina fsica fazendo o papel quase que de um sistema operacional, sobre este Software so criadas as mquinas virtuais que podem usufruir de mais recursos do hardware.
O Microsoft Windows Server 2003 e o Microsoft Windows Server 2008 so duas verses do sistema operacional da Microsoft voltado para servidores, na verso 2008 possvel instalar o sistema sem interface grfica, desse modo pode se usufruir de mais memria e de mais processamento j que a interface grfica quando instalada responsvel por parte destes gastos. O Windows Server uma
55
soluode servidor simples, mas que disponibiliza de vastos recursos que podem ser facilmente configurados e adapatados a qualquer empresa, devido a facilidade de instalao e configurao, e de boas ferramentas tais como o Active Directory uma opo muito usada em servidores de login em redes empresariais. Por ser uma ferramenta proprietria e de custo relativamente elevado tem boas opes de suporte tcnico e frequentes atualizaes.
O Windows Server 2008 R2 e o Windows Server 2008 so os sistemas operacionais Windows Server mais avanados que existem, projetados para capacitar a prxima gerao de redes, aplicativos e servios Web. Com esses sistemas operacionais, voc pode desenvolver, fornecer e gerenciar experincias e aplicativos avanados para usurios, fornecer uma infraestrutura de rede altamente segura e aumentar a eficincia e o valor tecnolgicos na sua organizao. (MICROSOFT, 2011).
No Windows Server podem ser configurados vrios servios e adicionadas novas funcionalidades, tais como servidor web IIS, (com suporte padro nativo a pginas .asp, sendo esta uma tecnologia da Microsoft), servidor de login, DHCP, DNS, FTP dentre outras; conta com suporte a elevadas quantidades de memria RAM e capaz de gerenciar vrios terrabytes de HD de forma satisfatria, da suporte a RAID (quando h hardware para tal) e a uso remoto atravs do terminal server.
2.2.10.1
O IIS um servidor web httpd desenvolvido pela Microsoft, o IIS responde por requisies e interpreta a linguagem C# e ASP.Net, tecnologias tambm desenvolvidas pela Microsoft, dessa forma o desenvolvedor que se utiliza desse ecossistema tem uma IDE totalmente integrada com o servidor web na mquiana local, juntamente com o MS SQL Server e o Visual Studio. Atualmente o IIS corresponde pela hospedagem de aproximadamente 40% dos websites da internet. Devido a facilidade do desenvolvimento em C# e principalmente da qualidade da IDE, o Visual Studio que ajudou a difundir a linguagem.
O IIS pode ser facilmente instalado no Windows Server, no caso do Windows Server 2008 RC2, pode ser instalado utilizando menos memria e recursos do sistema, sem interface grfica assim como o prprio Windows. O IIS pode ser
56
executado apenas em Windows, mas atualmente existem alternativas para se executar o web server em Linux, trata-se do Mono, essa alternativa bastante conhecida porm, pouco utilizada por no oferecer tantos recursos quanto a opo nativa.
2.2.11 Linux
Muitas vezes associado como o sistema operacional em si, o Linux apenas o Kernel do sistema, ou seja, a camada de comunicao mais baixa, que comanda o hardware. O Linux Kernel foi inicialmente um projeto de faculdade desenvolvido pelo estudante de Cincias da Computao Linuz Torvalds, da Universidade Helsinki na Holanda. Aps ter a ideia principal, de, ser um kernel livre e Open Source que seria apenas um projeto, Linuz divulgou a ideia por email para seus amigos desenvolvedores, que aderiram a ideia que se disseminou rapidamente dando origem a um projeto robusto que futuramente seria integrado at mesmo com uma interface grfica.
O Kernel do Linux mundialmente reconhecido por ser leve, estvel e principalmente flexvel, sendo uma boa opo tanto para sistemas embarcados como smarthphones (Meego, Android, LiMo, Tyzen), mquinas indstriais, carros, brinquedos, consoles, quanto para supercomputadores, por contar com um sistema de arquivos de alto desempenho e suportar o que h de mais novo em hardware, alm obviamente de ser livre de licenas proprietrias, gratuito e livre de dependncias de empresas terceira.
De forma comunitria o Linux passou a ser desenvolvido por programadores de todo o mundo, e comeou a crescer em nmeros, principalmente no mercado de servidores e embarcados, atualmente a verso mais nova do Kernel a 3.0, dada como estvel no segundo semestre de 2011, as verses anteriores, 2.8, 2.6 e 2.4 dominan o mercado de servidores web, hospedando mais de 60% dos websites no mundo. No mercado de embarcados mais visvel ao usurio pode se citar o Android cujo Kernel baseado em Linux.
57
2.2.11.1
GNU
O GNU um conjunto de ferramentas grficas criadas por Richard Stallman que executa em sistemas operacionais baseados em Unix, e, consequentemente em Linux. O GNU oferece uma srie de aplicativos bsicos para o sistema operacional, como uma interface grfica, um gerenciador de arquivos e demais programas cruciais para a utilizao do computador. Com o desenvolvimento do Kernel do Linux e a integrao desenvolvida entre o Kernel a interface grfica, o GNU acabou ficando em segundo plano, sendo o Linux denominado como o sistema operacional como todo. O GNU assim como o Linux tambm foi desenvolvido sob uma licena gratuita
2.2.11.2
Debian
Debian
uma
distribuio
de
GNU/Linux
muito
conhecida,
principalmente no cenrio de servidores web e servidores de arquivos, uma das distros mais antigas e tem um longo cliclo de desenvolvimento, as atualizaes so lanadas a cada um ano. A ltima verso disponvel a 6.03 denominada Debian Squeeze.
Debian uma das distribuies Linux mais antigas e populares. Ela serviu de base para a criao de diversas outras distribuies populares, tais como Ubuntu e Kurumin. Como suas caractersticas de maior destaque podemos citar: Sistema de empacotamento .deb; Apt-get, que um sistema de gerenciamento de pacotes instalados mais prticos dentre os existentes (se no o mais!); Sua verso estvel exaustivamente testada, o que o torna ideal para servidor (segurana e estabilidade); Possui um dos maiores repositrios de pacotes dentre as distros (programas pr-compilados disponveis para se instalar) (VIVA O LINUX, 2010).
O Debian uma distro primria, ou seja, no baseada em outra distribuio principal, puramente baseado no kernel do Linux e no sistema gerenciador de pacotes o apt-get. Pode ser instaldo com ou sem interface grfica, e, normalmente no caso de servidores instalado sem a mesma, sendo toda a configurao realizada por meio do shell, que um runner de shell script uma linguagem de programao nativa do GNU/Linux.
58
2.2.11.3
Samba
O Samba um servidor de compartilhamento de arquivos nativo do GNU/Linux, atravs do mesmo possvel compartilhar arquivos na rede, sendo possvel configurar autenticao, nveis de permisso de escrita e leitura dentre vrias outras configuraes.
Estas
configuraes
so
normalmente
atreladas
ao
arquivo
de
configurao so Samba que se encontra no diretrio /etc/samba/smb.conf. Atravs de alteraes neste arquivi possvel configurar vrios parmetros de um compartilhamento de arquivos.
2.2.12 Apache
O Apache um servidor web (httpd) capaz de executar diversas linguagens de programao server-side, multiplataforma, Open Source e gratuito. Uma das linguagens mais conhecidas e muito provavelmente tambm mais integrada com o Apache o PHP.
O runner executa/interpreta o cdigo PHP retornando ao usurio uma pgina esttica em HTML, quando um clique feito em algum link desta pgina se inicia uma requisio HTTP, a qual o servidor web Apache ter de processar, interpretando novamente o arquivo PHP e retornando o resultado em uma pgina esttica. Todo esse processo acontece no servidor web, no h processamento por parte do usurio, dessa forma a forma mais fcil de definir apache seria: o Apache um interpretador de requisies HTTP, mas no apenas HTTP, o Apache tambm responde por requisies HTTPS (HTTP+SSL) e FTP.
Tanto pela compatibilidade entre sistemas operacionais quanto pela leveza, customizao, segurana e estabilidade o Apache atualmente corresponde a mais de 60% dos websites, e fortemente atrelado a ambientes livres, como servidores Linux. Outras caractersticas qualificam o Apache:
59
- Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP, etc; - Suporte a autorizao de acesso podendo ser especificadas restries de acesso separadamente para cada endereo/arquivo/diretrio acessado no servidor; - Autenticao requerendo um nome de usurio e senha vlidos para acesso a alguma pgina/sub-diretrio/arquivo (suportando criptografia via Crypto e MD5); - Negociao de contedo, permitindo a exibio da pgina Web no idioma requisitado pelo Cliente Navegador; - Suporte a tipos mime; - Personalizao de logs; - Mensagens de erro; - Suporte a virtual hosting ( possvel servir 2 ou mais pginas com endereos/ portas diferentes atravs do mesmo processo ou usar mais de um processo para controlar mais de um endereo); - Suporte a IP virtual hosting; - Suporte a name virtual hosting; - Suporte a servidor Proxy ftp e http, com limite de acesso, caching (todas flexivelmente configurveis); - Suporte a proxy e redirecionamentos baseados em URLs para endereos Internos; - Suporte a criptografia via SSL,Certificados digitais; - Mdulos DSO (Dynamic Shared Objects) permitem adicionar/remover funcionalidades e recursos sem necessidade de recompilao do programa (ALECRIM, 2006).
O Apache leve e capaz de executar em mquinas com muita pouca memria, totalmente configurvel com ou sem interface grfica, e, por ser Open Source e gratuito pode ser analisado e implantado com um custo muito baixo em relao a servidores web proprietrios.
2.3
ANALISE DE SISTEMAS
Anlise de Sistemas compete na verificao e anlise critica de todos os parmetros e dados expresso no sistema desenvolvido, ou do sistema a ser desenvolvido.
raciocniosobre
sistemas,
atravs
de
seu
modelo,
Esta anlise acontece, para conseguir desvendar possveis erros que podem acontecer mais tarde, ou seja, erros que o usurio iria acabar descobrindo e no ia gostar.
60
2.3.1 Dicionrio de Dados O dicionrio uma documentao padro desenvolvida para que posteriormente se torne fcil dar suporte ao, esta documentao importante no momento de desenvolver uma documentao de ajuda para o usurio final por exemplo. O dicionrio de dados pode ser visto como um depsito centralque descreve e define o significado de toda a informao usadana construo de um sistema. (OLIVEIRA, 2000).
O dicionrio de dados consiste em uma tabela onde so armazenados todos os campos do banco de dados, seus tipos de dados, tipos de chaves, tamanho dos campos e todas as demais informaes respectivas ao campo que so importantes.
2.4
O MySQL Manager Lite um sistema de gerenciamento de banco de dados (SGBD) desenvolvido pela EMS Software; oferece uma interface simples e uma gama de funcionalidades para a administrao do banco de dados.
O MySQL um dos sistemas de gerenciamento de banco de dados mais populares que existe e, por ser otimizado para aplicaes Web, amplamente utilizado na internet (inclusive aqui no InfoWester). muito comum encontrar servios de hospedagem de sites que oferecem o MySQL e a linguagem PHP, justamente porque ambos trabalham muito bem em conjunto. (ALECRIM, 2010)
O MySQL Manager Lite possui uma verso trial para avaliao e uma verso gratuita porm com certa limitao em relao no banco de dados.
2.5
DESENVOLVIMENTO WEB
O Desenvolvimento Web especificamente voltado para a internet e, para que esse Software possa ser utilizado por outras pessoas, o desenvolvedor web dever hospedar o cdigo fonte em um servidor. Para o desenvolvimento de
61
Softwares webs, no necessrio estar conectado na internet, basta utilizar um servidor local (ex: xampp, wampp,...).
2.5.1 CSS
Cascating Style Sheet Folhas de estilo em cascata, se referem ao design e a configurao da aparncia dos objetos em uma pgina HTML. As folhas de estilo devem ser integradas em qualquer pgina, garantem quando bem configuradas, e, de acordo com padres de usabilidadeuma pgina leve e fcil de usar, onde possvel identificar as partes da pgina e definir em um simples acesso: por onde comear primeiro, segundo a lgica de vrios tcnicos sobre usabilidade e esttica na web. Folha de estilo em cascata um mecanismo simples para adicionar estilos (p.ex., fontes, cores, espaamentos) aos documentos Web (SILVA, 2003).
O uso de cores e funes como repetio de imagens garante desenvolver pginas leves, dentro dos melhores padres. Com o prprio desenvolvimento da tecnologia possvel definir sombras internas ou externas a textos e blocos, gradientes com duas ou vrias cores, definir opacidades e contornos dentre vrias outras novidades que tornaram a web mais padronizada e acessvel.
Web Standards so documentaes, so padres com boas prticas de desenvolvimento web desenvolvidos pela W3C, rgo que coordena os padres de desenvolvimento para internet, dentre estes padres esto includos
interoperabilidade(independente da forma de acesso) e acessibilidade dos dados a qualquer usurio, desse modo a acessibilidade se aplica a usurios com deficincias auditivas e visuais.
... um conjunto de normas, diretrizes, recomendaes, notas, artigos, tutoriais e afins de carter tcnico, produzidos pelo W3C e destinados a orientar fabricantes, desenvolvedores e projetistas para o uso de prticas
62
que possibilitem a criao de uma Web acessvel a todos, independentemente dos dispositivos usados ou de suas necessidades especiais(SILVA, 2011).
Estes desenvolvimento
padres ou
devem
ser
seguidos
por
qualquer
empresa semntica
de e
desenvolvedores
freelancers,
poisgarante
2.5.2.1 Usabilidade
um dos itens mais discutidos dentro de Web Standards, relaciona-se diretamente com a experincia do usurio no site, e, interfere na maneira que o mesmo o utiliza, onde clica, oque observa, como opera. O objetivo da usabilidade facilitar o acesso ao contedo e a interao com o site.
Os conceitos de usabilidade so formados e concretizados a partir da avaliao prtica, ou seja, um grupo de usurios que monitorado utiliza o site para que posteriormente a equipe responsvel por esta rea desenvolva uma anlise, verificando como os usurios procederam, qual foi pgina mais acessada, para qual rea do site o usurio d mais foco, em quais links mais clica e etc. A partir da podem ser realizados os ajustes como destaque e modificao na licalizao de links, cores, fontes ordem dos menus dentre outros. desenvolvido ento um modelo de pgina padro com base nestes estudos.
O layout de um site dessa forma deve ser desenvolvido apenas aps uma pesquisa de mercado (Quem vai acessar o site? Que contedo buscar no site?), de acordo com o pblico possvel desenvolver um estilo mais agradvel ao usurio, oque pode implicar em uma usabilidade pouco diferente dos padres.
O ASP.Net um formato de HTML+XML desenvolvido pela Microsoft e integrado com o C# voltado para web, o ASP.Net interpretado por servidores IIS. Assim como o HTML e o XML se desenvolvem, a Microsoft possui no ASP.Net um
63
Framework que atualizado e melhorado constantemente, a verso atual do .NET Frameworl a 4.0.
O Visual Studio uma IDE de desenvolvimento Web criado pela Microsoft voltado ao desenvolvimento de sitemas em C# (l-se C Sharp), linguagem baseada em C desenvolvida pela Microsoft, e uma das mais adequadas para o desenvolvimento de aplicaes para o sistema operacional Windows. Com o Visual Studio possvel desenvolver tanto aplicaes web como desktop conhecendo apenas C# e a integrao bsica entre bancos de dados.
O Visual Studio 2010 a mais nova ferramenta de desenvolvimento para a plataforma Microsoft .NET Framework. Durante anos essa integrao entre Visual Studio e NET tem proporcionado ganhos nicos para os desenvolvedores de Software focando em produtividade, qualidade e integrao.(DEV BRASIL, 2011)
O Visual Studio prov uma interface que facilita o desenvolvimento, contm paletas onde possvel configurar propriedades de objetos, gera determinadas funes e possui um modo de visualizao de design quanto se desenvolve para web, assim possvel ter um semi-preview do sistema web em tempo real de desenvolvimento. Alm de tais funes ainda conta com uma excelente documentao disponvel.
2.5.4 Classes
Baseia se em um conjunto de funes para manipulao de dados, tais classes podem ser de trs tipos, public, private ou protected, estes tipos definem nveis de permisses para a execuo dessas funes.
Uma classe um conjunto de variveis e funes relacionadas a essas variveis. Uma vantagem da utilizao poder usufruir do recurso de encapsulamento de informao. Com o encapsulamento o usurio de uma classe no precisa saber como ela implementada, bastando para a utilizao conhecer a interface, ou seja, as funes disponveis. Uma classe um tipo, e portanto no pode ser atribuda a uma varivel. (HTML, 2011).
64
Classes so de suma importncia para se utilizar em sistemas, pois as mesmas aps definidas uma vez so utilizadas em todas as partes do sistema, chamando as sendo essenciais para um melhor desempenho.
2.5.5 Function
Function ou funes sao mtodos que recebem valores passados por parmetros, posteriormente, as mesmas retornam os valores passando para um resultado.
A function allows you to encapsulate a piece of code and call it from other parts of your code. You may very soon run into a situation where you need to repeat a piece of code, from multiple places, and this is where functions come in (C SHARP, 2011).
2.5.6 Programao Orientada a Objetos OOP basea-se na utilizao de objetos para programao, cada um com uma funo especfica no sistema, isso facilita o desenvolvimento, sendo possvel que em uma equipe o sistema seja desenvolvido em partes por grupos especializados.
A POO foi criada para tentar aproximar o mundo real do mundo virtual: a idia fundamental tentar simular o mundo real dentro do computador. Para isso, nada mais natural do que utilizar Objetos, afinal, nosso mundo composto de objetos, certo?! Na POO o programador responsvel por moldar o mundo dos objetos, e explicar para estes objetos como eles devem interagir entre si. Os objetos "conversam" uns com os outros atravs do envio de mensagens, e o papel principal do programador especificar quais sero as mensagens que cada objeto pode receber, e tambm qual a ao que aquele objeto deve realizar ao receber aquela mensagem em especfico. Uma mensagem um pequeno texto que os objetos conseguem entender e, por questes tcnicas, no pode conter espaos. Junto com algumas dessas mensagens ainda possvel passar algumas informaes para o objeto (parmetros), dessa forma, dois objetos conseguem trocar informaes entre si facilmente (DAVID, 2007).
Em linguagens web como PHP e C# (.Net Framework), OOP basea-se principalmente no desenvolvimento de camadas para a aplicao, existe uma camada desenvolvida para executar comandos SQL, outra para controlar a parte
65
visual e assim por diante. O desenvolvimento de camadas ainda possibilita um maior potencial de suporte, sendo possvel utilizar uma mesma classe ou funo especfica em todo o sistema, e assim, em caso de alteraes, bastar realizar uma alterao, em um arquivo.
OOP pode ser dentro do aspecto de desenvolvimento uma boa prtica de programao, j que exige que cada componente do sistema seja bem desenvolvido e padronizado.
2.5.7 Ajax
Tecnologia utilizada para aumentar a robustez de sistemas web, no qual, atravs do mesmo possvel implantar em sistemas Web, melhorando sua interao com dados do banco de dados, utilizando AJAX, por exemplo, possvel carregar apenas determinados elementos de um website, sem recarregar a pgina inteira.
AJAX (acrnimo em lngua inglesa de Asynchronous Javascript And XML) o uso metodolgico de tecnologias como Javascript e XML, providas por navegadores, para tornar pginas Web mais interativas com o usurio, utilizando-se de solicitaes assncronas de informaes (AJAX DEV 2011).
2.5.8 PHP
PHP uma linguagem de programao server side, multiplataforma e Open Source, usada principalmente em solues web, mas tambm pode ser utilizada no desktop com integrao com GTK por exemplo; orientada a objetos e tem integrao com diversos tipos de banco de dados. Atualmente uma das linguagens de programao mais utilizadas na internet.
66
especialmente guarnecida para o desenvolvimento de aplicaes Web embtivel dentro do HTML.(PHP GROUP, 2011)
PHP muito flexvel e consideravelmente fcil devido sintaxe em relao as demais linguagens de desenvolvimento web, com PHP possvel desenvolver de aplicaes mais simples at mais robustas, isso se deve ao tempo em que a linguagem vem sendo desenvolvida (atualmente na 5 verso) e a grande quantidade de scripts, fruns e documentao/tutoriais, disponveis na internet.
Com a linguagem PHP j foram desenvolvidas alguns dos sites mais acessados do mundo, tais como o facebook, myspace vrias pginas da empresa Google. Um dos destaques do PHP possibilitar o uso de frameworks (tambm escritos em PHP ou linguagens de nvel mais baixo) para o desenvolvimento, oque possibilita criar sistemas/sites estveis, leves e funcionais de maneira rpida e verstil. Outro destaque o modo que o compilador interpreta e executa os dados, no necessrio declarar o tipo dados que uma varivel receber ao cria-la, bem como qualquer caracter contido entre aspas duplas passar pela compilao, sendo cdigo ou no, o que no ocorre no caso das aspas simples.
O Aptana Studio uma IDE de desenvolvimento web em PHP, HTML, JavaScript e CSS, a IDE baseada no Software Eclipse (que focado para desenvolvimento em Java), tem como diferencial uma srie de funcionalidades especficas para web, como um auto-complemento de cdigo mais eficiente em relao a Softwares como Adobe Dreamweaver, Eclipse ou NetBeans, estes autocomplementos incluem as mais recentes verses do PHP (5.3.3), CSS3 e HTML5.
O ambiente de desenvolvimento limpo e totalmente focado no cdigo, porm possui vrias funes pr-prontas, que agilizam e diminuem o trabalho do desenvolvedor, como se trata de um Software baseado no Eclipse, porm totalmente focado para desenvolvimento web.
67
2.5.8.2 NetBeans
O NetBeans uma IDE de desenvolvimento com suporte a vrias linguagens de programao, especialmente linguagens web, como Java (que oferece suporte nativamente), PHP, Python dentre outras linguagens. um projeto Open Source e gratuito baseado na IDE Eclipse. Existe um diferencial de trabalhar bem com Subversion (SVN) podendo assim ser utilizando como ferramenta de desenvolvimento em grandes projetos, sendo que cada componente colaborador poder enviar um mdulos, correes, classes entre outros. A IDE conta com suporte a vrios plugins e tem um poderoso auto-complete que agiliza o desenvolvimento.
O NetBeans um projeto iniciado pela Sun, que aps comprada pela empresa Oracle deu continuidade ao projeto; tendo tantos atrativos tcnicos e ainda sendo gratuita e Open Source, uma IDE muito utilizada e indicada entre desenvolvedores, principalmente web.
2.5.8.3 Frameworks
Frameworks so estruturas prontas de criao, so ferramentas de desenvolvimento rpido, que permitem diminuir cdigos repetitivos e desenvolver aplicaes slidas e estveis de forma fcil, at mesmo para iniciantes; alguns dos mais conhecidos so Yii,CodeIgniter, Cake,Zend e Symfony.
Na sesso de artigos do iMasters possvel encontrar a seguinte definio para Frameworks em PHP:
De forma resumida o framework uma estrutura, uma fundao para voc criar a sua aplicao. Em outras palavras o framework te permite o desenvolvimento rpido de aplicaes (RAD), o que faz economizar tempo, ajuda a criar aplicaes mais slidas e seguras alm de reduzir a quantidade de cdigo repetido (BELEM, 2009).
O uso de um framework permite isolar a camada de cdigo que o programador cria, chamada de camada de negcio da parte visual, que o designer
68
cria denominada camada de exibio. O Model responsvel controla o banco de dados, o View controla a camada de exibio e o Controller da lgica de negcio. Assim se adapta facilmente a empresas que tem o desenvolvimento de aplicaes em partes, ou seja, um profissional responsvel por cada rea, na qual tem mais experincia e qualificao.
Alm do desenvolvimento rpido, com a implementao de frameworks possvel reutilizar cdigo desenvolvido bem como usufruir de mdulos pr-prontos para diversas funes.
2.5.9 E-commerce
E-commerce ou comrcio eletrnico qualquer prtica de comrcio atravs da informtica e mais especificamente da internet, ou seja, a compra ou venda de bens materiais ou no pela internet; uma prtica que est em constante crescimento em todo mundo e em alguns setores j ultrapassa as formas de compra tradicionais, vide compra de msicas e filmes. O e-commerce se utiliza de lojas online onde so expostos os produtos e possvel realizar a compra ou troca atravs de meios seguros de pagamento (que so verificados por rgans especficos controladores).
2.6
DESENVOLVIMENTO DESKTOP
Desenvolvimento Desktop o nome atribudo a Softwares criados especificamente para uso interno, ou seja, ele pode ser usado por um so computador ou por um grupo de computadores, interligados atravs de uma rede local (ex: programa salvo em um servidor e executado por vrios computadores), e sem ter a necessidade de estar conecteado a internet.
69
2.8
DESENVOLVIMENTO MOBILE
Os sitemas mobile atualmente esto crescendo rapidamente, tendo em vista este crescimento e facilidade e comodidade ao acesso de contedo em mdas scias que estes proporcionam, durante o semestre foram desenvolvidas aulas de Android, atualmento o sistema mobile com maior participao no mercado.
2.8.2 Android
O Android um sistema operacional mobile comprado pela Google em 2006 e desenvolvido em um ritmo acelerado desde ento, basea-se numa plataforma flexvel, gratuita e em parte Open-Source, podendo ser instalado em praticamente qualquer dispositivo.
Android um Sistema Operacional de cdigo aberto para dispositivos mveis (celulares, tabletsetc) e utiliza uma verso modificada do Linux. Foi desenvolvido inicialmente pela Android Inc., que foi posteriormente adquirido pelo Google, depois pela Open Handset Alliance. Permite a desenvolvedores criarem aplicaes Java que controlam o dispositivo por bibilhotecas desenvolvidas pelo Google (ANDROID BRASIL, 2011).
O Android tem como base para a execuo de aplicativos o Java, como uma espcie de mquina virtual, o que permite que independendo do aparelho, tendo android, o aplicativo poder funcionar. Isso no prende o sistema a especificaes de processador e hardware como acontece com as demais plataformas como o iOS e o Bada.
2.8.3 JAVA
Java uma linguagem de programao desenvolvida pela Sun e posteriormente comprada pela Oracle. Tem como foca aplicaes de grande porte,
70
devido a sua complexidade estvel e praticada apenas por programadores mais experientes.
Originalmente desenvolvida por uma equipe de desenvolvedores liderada por James Gosling na Sun Microsystems (atualmente de propriedade da Oracle) e lanada em 1995, o Java uma linguagem de programao orientada a objetos que atualmente faz parte do ncleo da Plataforma Java (PEREIRA, 2009).
Java tambm a linguagem nativa para a criao de aplicativos para Android, j que este utiliza uma mquina virtual Java, modificada pela Google com base na Java Virtual VM da Oracle e denominada Dalvik, dessa forma a programao em Java + XML atravs da IDE Eclipse o ambiente adequado para o desenvolvimento de aplicaes para Android.
Adquirida em 2009 pela EMBARCADERO, o RAD Studio desenvolvido pela CodeGear passa agora a ser desenvolvido pela EMBARCADERO. O RAD Studio 2010 uma IDE de desenvolvimento desktop com suporte a vrias linguagens, como Object Pascal, que passou a ser conhecido como Delphi Language, C e C#.
O RAD Studio tem uma gama de funcionalidades e facilidades, a interface se adapta perfeitamente a telas widescreen; nas laterais esto organizadas as propriedades e eventos bem como as ferramentas para criara interface, fazer conexo com o banco de dados entre outras funes.
Embarcadero Delphi 2010 Architect is designed for application developers and teams building data-intensive client/server GUI and Web applications with enterprise database systems. Delphi Architect combines data-driven rapid application development for native Windows and .NET with rich visual data modeling to help developers understand, design, and get the most value out of enterprise databases and data structures.(EMBARCADERO, 2011)
O Desenvolvimento no Delphi relativamente simples, apesar da sintaxe apresentar certa complexidade em relao s demais linguagens, o Delphi contem
71
recursos de auto-complete e uma tima documentao para consulta com vrios exemplos e cdigos.
Algortmo a sequncia lgica de comandos escritos pelo desenvolvedor que o computador executar a fim de realizar uma tarefa qualquer, importante atravs do raciocnio lgico chegar ao resultado da maneira mais rpida e simples, por exemplo, para somar valores no preciso multiplica-los e depois dividi-los e depois soma-los, apenas soma-se, lgicas extensas podem por veses no ser as melhores solues.
Lgica de programao nada mais do que uma forma de se escrever um programa de computador com uma linguagem de fcil entendimento para ns seres humanos. A lgica de programao necessria para todas as pessoas que desejam trabalhar com desenvolvimento de sistemas e programas pois permite definir uma seqncia lgica para o desenvolvimento. Um algoritmo uma seqncia finita de passos que levam a execuo de uma tarefa. Um exemplo funcional de algoritmo uma receita de bolo onde voc segue passo a passo os procedimentos da receita at o bolo ficar pronto. (HUDSON, 2009)
Existem vrios Softwares destinados programao, tanto web como desktop, exemplos so: Microsoft Visual Studio, EMBARCADERO RAD Studio, Oracle JDeveloper, Adobe Dreamweaver, Bluefish, Eclipse, NetBeans, Aptana Studio, enfim, a lista extensa e cada Software possui qualidades e melhorias com determinadas linguagens, a maioria dos Softwares citados so IDEs de desenvolvimento, ou seja ambientes integrados, voltados para agilidade e produtividade, nestes possvel realizar muitas aes de forma automatizada, algumas sem mesmo escrever uma linha de cdigo, porm imprescindvel para o programador que o saiba, e que entenda o que ocorre na essncia, necessrio que este consiga entender o cdigo.
A lgica inseparvel da programao, pois a partir desta que se desenvolve o cdigo, por isso preciso entender o processo de lgica, de como obter a soluo, esse processo se inicia com a construo de fluxogramas.
72
Linguagem de Programao o mtodo utilizado pelos programadores para expressar instrues para o computador. um conjunto de regras que permitem ao programador definir especificamente sobre quais dados o computador vai atuar, como os dados sero armazenados, transmitidos e quais aes eles vo gerar.
Uma linguagem de programao no apenas um meio de indicar a um computador uma srie de operaes a executar. Uma linguagem de programao , sobretudo, um meio de exprimirmosidias acerca de metodologias. (LEITO, 1995).
Existem vrias linguagens de programao, cabe a cada programador escolher qual a mais apropriada para o tipo de programa que ser desenvolvido.
2.8.5.2 Funo
Uma funo desenvolvida com a finalidade de designar um comando que o Software em desenvolvimento executar. Uma funo um instrumento (Subalgoritmo) que tem como objetivo retornar um valor ou uma informao(LGICA, 2010).
As funes podem ser predefinidas pela linguagem ou criadas pelo programador, de acordo com o enterresse do mesmo.
2.8.5.3 Variveis
Uma varivel se define pela capacidade de se modificar durante a execuo do programa. As variveis s podem armazenar valores de um mesmo tipo, de maneira que tambm so classificadas como sendo numricas lgicas e literais. (MORAES, 2000).
73
H vrios tipos de variveis como: As numricas (armazenam variveis de nmeros, podendo ser inteiros ou reais); as variveis de caracter (armazenam letras e nmeros) e as variveis lgicas (podem assumir apenas dois valores, verdadeiro ou falso). Dando assim maior liberdade para o programador, que no
desenvolvimento do Software poder inserir diversos tipos de variaveis, indicando o que o suario pode, ou no pode fazer, naquele determinado momento do programa.
2.8.5.4 Constante
As constantes no permitem que os valores expressos no Software mudem conforme a sua execuo. Constante um determinado valor fixo que no se modifica ao longo do tempo, durante a execuo de um programa. Conforme o seu tipo, a constante classificada como sendo numrica lgica e literal (MORAES 2000).
As constantes so diferenciadas pelos mesmos tipos que as variveis, ou seja, numricas, caract e lgicas.
Um procedimento parecido com uma funo, mas ele no retorna valores, ou seja, simplesmente manipula valores dentro do Software.
As procedures ou funes so declaradas na seo de tipos de declaraes (abaixo do comando type) pertencendo ao objeto ou serem do tipo public (pblicas - executadas por outras unidades) ou private (particulares restritas a unidade local)(ANSELMO, 1997).
Portanto um procedimento no pode ser atribudo a uma varivel ou propriedade de algum objeto.
74
2.8.5.7 Eventos
Os eventos ou, comandos, definem uma ao do usurio para o Software, que retorna ao mesmo a reao do seu comando. Cada evento tem sua funo descrita pelo programador, deixando assim ao cliente apenas a possibilidade de execut-la ou no.
Um evento pode ser considerado como uma ao primitiva (comando) ou como um processo (um algoritmo), dependendo do nosso interesse, se ns estamos interessados no evento total (estados inicial e final) ou em um ou vrios estados intermedirios (ETI, 2010).
2.8.5.8 Propriedades
As propriedades so as caractersticas de cada componente do Software Delphi. Algumas propriedades podem ser alteradas (como por exemplo: nome, cor, fonte dentre outros.).
Propriedades so caractersticas bsicas de um componente. Cada componente Delphi possui uma srie de propriedades com um valor default (padro), tais como: altura, fonte dos textos, estilo, cor, tipo de cursor, etc., todas elas com um valor padro includo pelo Delphi (JURANDIR, 2010).
Algumas propriedades podem definir visualmente o programa, e outras, apenas nos cdigo para diferenciar um componente do outro, facilitando a organizao do Software.
Os arquivos de dados so utilizados para salvar informaes de um determinado assunto de forma organizada em um servidor onde o Software em execuo buscar as informaes impostas pelo usurio, atravs de um comando.
2.8.5.10
Condio
As condies vereficam as aes executadas pelos operadores do Software, com o principal objetivo de impedir comandos indevidos para a finalidade do programa.
75
2.9
BANCO DE DADOS
Banco de dados o local onde so gravados e armazenados os dados de um sistema determinado. Existem diversos tipos de banco de bados, cada um cam suas peculiaridades e em determinados momentos limitaes, desenvolvidos para diferentes ambientes como MySQL, SQL Server, PostgreSQL, Firebird, Oracle, DB2, entre outros. A diferena comum entre qualquer banco de dados a linguagem para gerenciamento dos mesmos que a SQL, praticamente um padro entre qualquer banco, que pode variar minimamente a sintaxe de um banco para outro.
Banco de Dados um sistema de armazenamento de Dados baseado em computador, cujo objetivo registrar e manter informaes consideradas significativas Organizao. O trabalho do DBA (pessoa responsvel pela Administrao de Banco de Dados) contribui para a operao efetiva de todos os Sistemas que rodam utilizando-se de Banco de Dados. (LIMA, 2011)
Um banco de dados mantido e acessado atravs de um sistema gerenciador de banco de dados, popular SGBD. Este SGBD adota um modelo grfico de dados, conhecido como modelo entidade relacional (modelo ER). O modelo ER desenvolvidos em Softwares terceiros como TOAD Data Modeles, DBDesigner e Case Studio, atravs de uma interface simples que facilita o entendimento do problema e a formao da lgica para resolve-lo, pois possvel ver todas as tabelas e campos do banco interligadas compartilhando dados entre si, tambm existe um modelo mais especfico para densenvolvimento em linguagens orietadas as objetos, chamado UML.
2.9.1 Normalizao
o processo de examinar os atributos, com objetivo de evitar erros, a fim de que a tabela seja bem projetada. A normalizao s ocorre aps a aplicao das Formas Normais (FN). seguir sero mostrados 3 Formas Normais.
76
2 Formula Normal: Consistem em retirar da estrutura os elementos que so funcionalmente dependentes de parte da chave.
3 Formula Normal: Consistem em retirar da estrutura que possuem chaves compostas os elementos que so funcionalmente dependentes de outros campos que no so chave.
2.10 MODELAGEM 3D
Durante o semestre foram desenvolvidas aulas de modelagem 3D com a aprendizagem atravs da ferramenta 3D Studio Max desenvolvida e vendida sob licena proprietria pela Autodesk Software renomado neste segmento do mercado de informtica e multimdia com a produo de Softwares como o AutoCad entre outros. As aulas de 3D Studio Max foram uma extenso do tpico de modelagem 3D estudando nos semestres anteriores (Google SketchUp), desse modo com a gama de funcionalidades que o Software apresenta foi possvel embasar novos vrios conhecimentos sobre a ferramenta.
Autodesk
3D
Studio
Max
uma
ferramenta
avanada
de
motiongraphics, ou seja, modelagem e animao grfica 3D e 2D, atravs deste Software foi desenvolvido um cenrio virtual em 3 dimenses com a incluso de animaes e efeitos, bem como efeitos de textura, luz, entre outros. Atravs do timeline disponvel na aplicao foi possvel configurar as animaes, de acordo com a mudana na posio e forma dos objetos de acordo com o tempo. O Software tambm incluefunes de renderizao frame a frame configurveis que permitiram a exportao do projeto para um vdeo.
CAPTULO 3
3.1
Na matria de desenvolvimento mobile compreendemos fundamentos essenciais para desenvolvimento de aplicativos para sistema operacional Android, tais como functions, activities, intents e objetos utilizando a IDE de desenvolvimento Eclipse com a linguagem de programao JAVA, especfica para Android.
Foi designado em forma individual desenvolver algo diferenciado do que foi compreendido em aula, sendo possivel consultar apostilas com o intuito de adquirir mais conhecimento e consequentemente um melhor aprendizado nesse setor promissor da programacao mobile.
Figura 5: Eclipse
78
A figura acima demostra a area de desenvolvimento no Eclipse, no qual permite a incrementacao de componentes para maior eficacia no Software, possuindo tambem o setor de codigos cujo principal funcao executar e dar funcionabilidade ao Software.
O aluno Tiago Hsel do 6 semestre do curso tcnico em informtica desenvolveu um sistema para plataforma mobile, mais especificamente para o Sistema operacional Android. Tal Sistema foi desenvolvido inicialmente com o intuito de exibir utilidades alm das demostradas em aula, mais detalhadamente, tais recursos utilizados para a concluso do programa foram compreendidos com a utilizao de buscas pela internet e livros.
A Imagem acima exibe campos do tipo textfield no qual so inseridos informaes do tipo String e Decimal, contendo tambm um campo do tipo check box e um Button, tal sistema tem a funcinabilidade de verificar se as senhas coincidem conforme o que foi preenchido.
79
O estudante Gilvan Ritter desenvolveu um aplicativo sobre notificaes no Android, o qual demonstrava dois tipos bsicos e muito utilizados, o AlertDialog e o Toast. Para tal foi criada um condio simples para a demonstrao do funcionamento e da diferena entre as duas formas de notificaes.
A figura a seguir demonstra o boto com a opo de aceitar a notificao (OK) demonstra como o AlertDialog funciona, sendo possvel ainda adicionar mais botes e personalizar o contedo da notificao.
Figura 7: AlertDialog
Diferentemente, o Toast um sistema de notificaes mais discreto, sem opes para o usurio, normalmente utilizado para apresentar informaes curtas de maneira simples, possvel configurar neste ltimo o tempo de durao da notificao, entre longo e curto.
80
Figura 8: Toast
3.1.3 Sistema Android Joo Marcelo Foi desenvolvido pelo aluno do 6 semestre do curso tcnico em informtica um pequeno Software da plataforma Android Mobile, no qual, teve se como principal objetivo aprender a utilizar componentes extras classe.
81
O Sistema acima possui funes para soma de valores de salario para um sistema de comercio, tal componentes so do tipo Checkbox contando tambm com um Button, e um textview que pega os valores definidos e fazem a soma mostrando o resultando em um Toast do salario conforme o percentual de aumento escolhido nos Checkbox.
3.2
Foi desenvolvido um sistema de matrculas que engloba o mdulo desktop do sistema. Este sistema tem como objetivo prover os cadastros bsicos para o funcionamento do sistema web tambm desenvolvido e integrado com o mesmo banco de dados, na mesma rede coordenada pelo servidor Debian Linux, o servidor web Linux est configurado com os servios necessrios para a hospedagem do mdulo web, como Apache, Mysql, DNS, FTP dentre outros.
O sistema com os mdulos web e desktop foi desenvolvido em especfico para o Instituto Estadual de Educao Cardeal Pacelli da cidade de Trs de Maio RS; a partir do estudo desta instituio foram levantandos os requisitos funcionais e tcnicos para o desenvolvimento do sistema, que se divide em duas reas de
82
desenvolvimento que sero abordadas a seguir, iniciando da anlise de requisitos e do desenvolvimento do banco de dados.
A anlise de requisitos se basea em uma pesquisa de negcio, visando apontar os problemas e todos os itens que a soluo em Software (web, desktop) dever resolver aps sua implementao real. Com a anlise de requisitos so desenvolvidos os termos chave, que sero a base para o desenvolvimento do sistema, como por exemplo, quais servios o sistema deve administrar, de que forma deve administrar, bem como uma pesquisa de hardware suportado pelo sistema, e de que forma o mesmo se integrar em uma rede vrias outras caractersticas. Atravs desta anlise possvel fazer um sistema mais slido, organizado e acima de tudo mais til, mais funcional para o usurio/empresa.
Para o desenvolvimento deste sistema, a anlise ocorreu de vrias formas, como pesquisa e anlise de cadastros em papeis usados pela instituio, maneira de avaliao dos estudantes desenvolvida pelos professores, nsias e opinies desenvolvidas por estudantes e professores sobre que funcionalidades o sistema deveria englobar e tambm atravs de uma reunio principal, onde a dirao da instituio e um grande grupo de professores pode expor suas ideias enquanto a ideia do sistema era explanada, bem como propor alteraes e incrementar contedos.
Em um destes momentos inclusive foi decidido um ponto chave que mudou de certa forma o modo e o objetivo do sistema, dando foco principalmente para a parte web, em especfico o desenvolvimento de um bom website e um bom sistema de notcias, o que causou tal mudana foi informao de no era possvel expor os dados de alunos de escolas pblicas na internet sem uma autorizao da 17 Cordenadoria de Educao, a qual dificilmente seria cedida, da mesma forma no seria possvel desenvolver uma integrao ao banco de dados existente, e ou ter acesso ao mesmo para estudo, pois o mesmo de posse estadual e mantido sob sigilo, estes impecilhos acabaram por desfalcar a ideia central do projeto, que teve
83
de ser desenvolvida como fictcia em grande parte, porm com uma anlise de requisitos para um sistema real.
Tabela 1: Requisitos funcionais Cadastro de Pessoas R F1 Descrio: Permitir que o usurio informe qual ou quais os tipos de pessoas que se encaixam em seu perfil informando assim os dados adequados. Prioridade: Alta
Cadastro de Locais R F2 Descrio: Permitir o cadastramento de diferentes locais, com diferentes ceps em uma mesma cidade. Prioridade: Alta
Cadastro de Cidades R F3 Descrio: Permirir o cadastro de cidades, informando o UF, ou seja estado a que a mesma pertence. Prioridade: Alta
Cadastro de Notcias R F4 Descrio: Permitir atravs de uma interface simples o cadastro de notcias no site a determinados usurios. Prioridade: Alta
Cadastro de Artigos R F5 Descrio: Permitir que usurios cadastrados no sistema possam publicar artigos
84
Login R F6 Descrio: Permitir que o usurio possa realizar login no sistema com nveis de acesso. Prioridade: Alta
Categorias dos contedos R F7 Descrio: Permitir que seja possvel categorizar os contedos
(notcias/artigos/fotos/videos) para melhor indexao dos dados e eficincia na busca. Prioridade: Alta
RF8 Descrio:
Cadastro de Tipos de Contrataes Permitir que um funcionrio cadastre os tipos de contrataes ligados a ele.
Prioridade: Alta
RF9 Descrio:
Atividades Permitir que o professor cadastre atividades bem como dados relacionados a esta, para que assim o aluno possa ter conhecimento de tais e maior controle escolar.
Prioridade: Mdia
RF10 Descrio:
Multimidia Permitir que estudantes e professores postem de forma segura fotos e vdeos no site da instituio.
Prioridade: Mdia
RF11
Eventos
85
Descrio:
Permitir que a instituio insira banners e demais dados pertinentes a determinados eventos no site, com fins lucrativos ou no.
Prioridade: Baixa
RF12
escrio:
rioridade:
Fonte: HELFENSTEIN; HSEL; RITTER, 2011.
RNF1 Descrio:
Pesquisa avanada O sistema dever disponibilizar pesquisas avanadas no mdulo web e desktop.
Categoria:
Funcionalidade
Obrigatoriedade: Recomendvel
RNF2 Descrio:
Relatrios O Sistema em ambos os mdulos dever oportunizar o usurio a criar relatrios diversos.
Categoria:
Funcionalidade
Obrigatoriedade: Obrigatrio
RNF3 Descrio:
Login com nveis de acesso dinmico O sistema dever disponibilizar um login com acesso em nveis para determinados grupos de usurios (tipos de usurios), este login determinar as limitaes e poderes para com os dados no sistema.
Categoria:
Segurana
Obrigatoriedade: Recomendvel
Fonte: HELFENSTEIN; HSEL; RITTER, 2011.
86
Tabela 3: Requisitos de domnio RN01 Verificao da disposio moral dos artigos e notcias
Descrio: Verificao quanto concordncia textual, veridicidade dos dados, e apresentao da ideia de maneira correta em aspectos gerais Fonte: Domnio do Negcio
RN02
Descrio: Verificao quanto a procedncia e adequao dos contedos multimdia, como fotos e vdeos publicados no site. Fonte: Domnio do Negcio
O banco de dados foi desenvolvido com base na anlise de requisitos, a partir de tal estudo foi elaborada uma lista com uma srie de pontos a serem implementados no sistema, bem como foi desenvolvida uma avaliao dos problemas que envolveriam implementar tal soluo e a relao com o tempo para desenvolvimento, que relativamente curto para desenvolver uma aplicao de maior porte.
Este banco de dados nico, ou seja, deve atender a todos os mdulos do sistema, web e desktop, dessa forma por razes de portabilidade (integrao com demais IDEs de desenvolvimento e plataformas operacionais) e visando o objetivo final que ser implementado de forma real, o banco escolhido foi o MySQL. De forma terica este banco estar executando em um servidor vitual e os sistemas desenvolvidos estaro acessando este banco, fazendo cadastros, excluses e damais interaes com os dados.
87
A figura 5 demonstra o banco de dados desenvolvido para atender a todos os mdulos do sistema; suas principais caractersticas sero explanadas a seguir atravs das ilustraes especficas do banco (MER).
A figura 6 demonstra a principal tabela do banco de dados; a tabela de pessoas recebe informaes de vrias outras tabelas, tais como tipos de pessoas, turnos, setores, localizao, turma, tipo de contratao entre outras, sendo que entre estes relacionamentos h condies para o preenchimento de determinados campos, pois, um estudante no obrigatriamente precisa cadastrar seu CPF, o que no ocorre no caso de um professor, mas ambos so cadastrados na mesma tabela. Por esta razo as chaves estrangeiras em sua maioria podem ser nulas; a obrigatoriedade em us-las foi desenvolvida na programao.
88
Tambm
nesta
tabela
uma
relao
(especializao
de
pessoas)composta para tipos de pessoas, devido a uma pessoa poder ter dois tipos (exemplo: um estudante, que maior de idade e responsvel por si mesmo, ou seja, deve ser cadastrado como estudante, mas ao mesmo tempo tambm responsvel).
O exemplo anterios tambm se encaixa em outro problema que foi resolvido com auto-relacionamento, j que de outra forma no seria possvel relacionar pessoas umas as outras se estas estariam cadastradas na mesma tabela. (exemplo: ao realizar uma busca por um estudante, necessrio que se visualize nos resultados o responsvel por este estudante, que, pode ser outro usurio da mesma tabela, ou ele prprio), por isso foi necessrio ento desenvolver uma forma de auto-relacionamento entre campos da mesma tabela. Est forma foi idealizada em aula com orientao dos professores, em especial o professor Fauzi de Moraes Shubeita.
O banco de dados como j citado deve suportar tanto o mdulo desktop quanto o mdulo web, dessa forma, ao modelar o banco de dados ocorreu um
89
nmero considervel de ligaes entre tabelas de diferentes mdulos, e por questes de padronizao e organizao foram serapadas/organizadas as tabelas referentes a os seus mdulos, sendo que o modulo web e a maioria de suas tabelas, esto organizadas na parte superior da figura (vide figura 13), enquanto o mdulo desktop est organizado na parte inferior, e as tabelas principais (presentes nos dois mdulos) esto na parte central.
O mdulo web contm tabelas que armanezaram dados do site, tais como artigos, locais de imagens, nomes de lbuns de fotos e vdeos, banners dentre outros; j o mdulo desktop armazenar informaes necessrias para o funcionamento do mdulo web em certa parte, como cadastro de usurios (necessrios na autoria de lbuns e notcias), cadastro de professores
(especializados na tabela de pessoas) que administraro as notas dos alunos para que este possa visualizar as mesmas, tambm no mdulo web sero montadas as turmas, definidos os turnos de trabalho, horrios, logins dentre outros.
Torna-se
necessrio
ento,
que
ambos
os
mdulos
funcionem
90
3.3
O CodeGear Delphi foi a IDE de desenvolvimento utilizada para a contruo do mdulo desktop do Software de gesto escolar, o Software desenvolvido nesta IDE ser o gerenciador principal do mdulo desktop, tendo acesso a maior parte das tabelas do banco de dados. O desenvolvimento nesta ferramenta de deu atravs da programao na linguagem Object Pascal.
91
O sistema contempla o cadastro dos principais dados do banco,ou seja, necessrios para o funcionamento do outros mdulos do sistema, tais como pessoas.
A interface do sistema foi desenvolvida no Software Adobe Photoshop CS5, na interface os principais dados esto organizados em abas laterais, esto destacados os principais Buttons e funes do sistema, j no menu superior podem ser encontrados todos os cadastros e funes.
3.4
O website desenvolvido em PHP tem como principal caracterstica tcnica o implementao de um sistema gerenciador de contedo para todo o website, notcias, artigos, fotos, vdeos, menus dentre outros. Este sistema utiliza o banco de dados MySQL, configurado no servidor Debian.
92
Como j citado neste projeto, o website tem como principal funo exibir a instituio e os destaques da mesma melhorando a comunicao e a integrao com a comunidade escolar.
Tendo como base as novas tcnicas de programao do segundo semestre, o sistema web foi desenvolvido utilizando a estrutura e a organizao de OOP e MVC, ou seja, um sistema com orientao a objetos, com classes e funes especializadas, e multi-camadas, com cada camada sendo responsvel pela realizao de uma terefa atravs do controle de todas as camadas por uma principal.
O mdulo web em PHP composto por duas interfaces principais, uma administrativa, acessvel apenas a professores e funcionrios da instituio bem como o webmaster e outra interface voltada para o usurio, onde so exibidas as notcias e fotos, onde o usurio consegue interagir. Estas interfaces foram desenvolvidas interamente a mo, sem utilizao de templates, foram
desenvolvidas utilizando HTML 4.01, HTML 5, JavaScript e CSS 2 e CSS3. Ambas as interfaces sero tratadas mais especificamente a seguir.
A interface administrativa responsvel pelo cadastro do contedo no website, ou seja, atravs desta o administrador poder popular o site com notcias, artigos, e contedos diversos.
A interface administrativa composta por cadastros para o controle das principais tabelas do sistema, como artigos e notcias e pessoas, estas tabelas podem ser acessadas atravs de um menu superior ou atravs da pgina inicial que contm acessos rpidos.
93
Para o cadastro de notcias e artigos foi utilizado o componente CKEditor que permite que o contedo salvo no banco de dados seja um HTML formatado, dessa forma facilitando a exibio.
Para o cadastro de imagens e lbum de fotos foram utilizas tcnicas atuais, como HTML 5, possibilitando que o upload de imagens seja fcil e rpido mesmo com vrias imagens.
94
Ainda, para a parte de comentrios das notcias, foi integrado ao sistema o DISQUS, um gerenciador de comentrios com suporte a login e vrias redes sociais, que inclui um sistema de moderao prtico e funcional, permitindo ainda que o usurio compartilhe seus comentrios em redes sociais. Figura 20: DISQUS Administrao
95
A interface do usurio, se basea principalmente na listagem do contedo cadastrado, dessa forma, na pgina inicial so apresentados previews das notcias e artigos cadastrados, contendo informaes relevantes como autor, data e categoria.
Ao acessar os links da pgina inicial o usurio direcionado a pginas especializadas, na qual pode ler o contedo completo, bem como comentar e compartilhar o contedo em redes sociais, atravs de APIs de compartilhamento como Twitter e Facebook e o sistema de comentrios DISQUS.
96
A Figura 23 demostra um servio denominado DISQUS no qual oferece uma ampla integrao com Redes Sociais como Twitter, Faceboock. DISQUS amplamente utilizado por programadores pois pode ser facilmente integrado com vrias linguagens; o DISQUS no processo gerenciamento de comentrios para as noticias do website conta ainda com uma interface administrativa prpria que possibilita a moderao dos comentrios, compartilhamento em redes sociais e acesso a dados de estatsticas de comentrios em cada notcia.
Para o desenvolvimento deste sistema, foi utilizada uma linguagem de programao C#, que muita conhecida nos dias de hoje, principalmente na internet com a extenso aspx. Gerenciada pela Microsoft, o Visual Studio 2010 um programa muito simples de se trabalhar, isso acontece por ser desenvolvida inteiramente para a utilizao do C#.
O Sistema Gerenciador de Contedo e mdulos de Gesto Escolar, tem como principal objetivo facilitar a divulgao de contedos e notcias pela Instituio alm de divulgar lbuns multimdia sobre os eventos decorrentes atravs da mesma,
97
assim fazendo uma ligao mais fidelizada com os seus colaboradores, ou seja, criar uma interao entre os alunos e a Instituio.
A pgina inicial do sistema contm umas sries de previews (textos curtos) de notcias, artigos e informaes gerais da instituio, alm de banner comunicativos e vrios lbuns multimdia como a figura 24 mostra:
Na parte superior direita do site, localiza-se a parte de login do Sistema. O usurio cadastrado no site utiliza o seu cdigo com a instituio e a senha adquirida na hora do cadastro para se logar, depois de o usurio digitar o login e a senha e clicar em acessar, ele tem a chance de escolher qual seu nvel de acesso (Administrador, Professor, Funcionrio ou Estudante) conforme cadastrado.
98
Depois de logado, o usurio tem condies de alterar alguns de seus dados cadastrais alm de gerenciar notcias, artigos e lbuns referentes ao dia a dia da instituio.
3.5
Englobando a rea de redes de computadores e hardware atravs dos conceitos de virtualizao e utilizao de ferramenteas intermedirias como VMware Workstation e VirtualBox, foram desenvolvidas durante as aulas e para o projeto mquinas virtuais com instalaes de verses Server e Desktop do Microsoft Windows e o Debian Server, atravs destas, foi possvel estudar ferramentas como RAID, e configues de servies Servidor x Cliente na teoria e implementar na prtica vrios servios web.
3.5.1.1 Debian
A instalao do Debian 6.0 tem um pouco de semelhana a do Ubuntu Server, necessrio configurar as parties para instalao, selecionar demais configuraes referente a servios a serem utilizados no servidor.
99
No Debian 6.0 foram configurados o servidor de compartilhamento de arquivos Samba o Apache para hospedagem do website PHP o MySQL, PHPMyAdmin, SSH, bem como compartilhada a estrutura de pastas em qual o site PHP esta hospedada. Tambm foi desenvolvido um Shell Script para que quando o servidor Debian inicializava o endereo de IP seria 10.1.1.253.
A instalao do Windows Server 2003 simples, semelhante a do Windows XP, necessrio configurar as parties para instalao, selecionar o layout do teclado e setar senhas e id de usurios.
No Windows Server 2003 foram configurados o banco de dados e o servidor de usurios da rede desenvolvida atras do Active Directory, bem como a estrutura de pastas em hierarquia de permisses para os devidos grupos. Tambm foram configurados servios com DHCP, FTP e acesso remoto.
100
O Windows Seven Professional foi instalado para servir de mquina cliente, ou seja, esta mquina foi inserida no grupo criado pelo servidor, e nesta executam os Softwares desenvolvidos, sem a IDE de desenvolvimento ou o banco de dados local. Figura 27: Windows Seven - Acesso ao site DNS
No Windows seven ainda, foi possvel verificar o funcionamento dos servios em execuo no servidor, como o DNS configurado atravs do servio Bind no Debian, o qual possibilitava acessar um endereo atravs de nome na URL do navegador e no por IP.
3.6
MODELAGEM 3D
Durante o semestre foram desenvolvidas durante as aulas modelagens com foco no detalhamento dos objetos, utilizando novos meios de renderizao, luzes cmeras e animaes.
101
Foi proposto ao grupo o desenvolvimento de um cenrio de um quarto em 3D o qual deveria ser renderizado utilizando Metal Ray, texturas da paleta Arch e Design, ainda o quarto deveria ter objetos de decorao bem como luzes e cmeras. Dessa forma foi desenvolvida uma animao que demonstra o cenrio em geral.
102
3.8
SITE/BLOG PESSOAL
internet
uma
forma
muito
importante
de
expresso
compartilhamenteo de conhecimento, dessa forma parte da documentao das atividades foi publicada atravs dos blogs/sites pessoais dos estudantes, no na forma exclusiva de informaes que destacam a instituio, mas sim na forma de tutoriais e artigos, produzidos para a leitura da grande massa. Dessa forma foram produzidos contedos sobre algumas matrias, os quais foram postados nos blogs de cada um dos integrantes do grupo. Estes contedos foram demonstrados na banca para o conhecimento dos professores e avaliadores.
Para conferir novas atualizaes nos respectivos blogs dos estudantes basta acessar:
103
CONCLUSO
Neste semestre com o aprendizado de novas ferramentas e novas mtodos de programao, como OOP, tanto em C# quanto em PHP foi possvel perceber um aumento no grau de dificuldade, mas ao mesmo tempo foi visvel durante o prprio desenvolvimento do projeto que o grau de profissionalismo com essa maneira de desenvolver tambm maior, bem como o desempenho de execuo do aplicativos e sites, que podem ser facilmente modificados.
O semestre foi recheado de matrias de lgica e programao, algumas com padres e formas de trabalho diferentes das ferramentas e metodologia anteriormente estudadas. Um outro item de importante de destaque, e, que requeriu bastante tempo e reflexo foi o banco de dados, que teve de ser modelado conforme os padres da empresa a ser atendida, no caso, o banco se tornou bastante complexo em relao aos anteriores aumentando os problemas na camada de programao e interferindo na experincia do usurio.
Dessa forma, analisando os objetivos iniciais, e tudo que pode ser desenvolvido durante o semestre, percebe-se que com pequenas execesses, o aumento na produtividade e a evoluo do grupo foram grandes, dessa forma mais resultados puderam ser demonstrados em prtica do que anteriormente, incluindo o desenvolvimento de sistemas que sero utilizados realmente de acordo como foi planejado e analisado pelos estudantes durante o desenvolvimento.
104
Como nos demais semestres, a prtica e o desenvolvimento terico tanto do projeto como das atividades feitas durante as aulas somaram-se muito interessantes e vlidas para preparao profissional. Dessa forma todo o empenho e tempo utilizado foram importantes para o aprendizado dos componentes do grupo.
REFERNCIAS
ALECRIM, Emerson. MySQL, SWITCH, Apache. <http://www.infowester.com > Acesso em: 25 de mai de 2011.
Disponvel
em:
ALVAREZ, Miguel Angel. Aptana Studio. Disponvel em: <http://www.criarweb.com/artigos/aptana-studio.html> Acesso em: 04 de mar de 2011. ALVAREZ, Miguel. HTML. Disponvel em: <http://www.criarweb.com/artigos/7.php> Acesso em: 29 de abr de 2011. ANGELO, Fbio. Site. Disponvel em: <http://fa-angelo.blogspot.com/2010/05/sitesitio-website-websitio-sitio-na.html> Acesso em: 05 de mar de 2011. ANSELMO Fernando Procedimento. Disponvel em: <http://www.scribd.com/doc/334974/Biblia-Delphi-7>Acesso em: 07 de jun de 2011. APACHE. Apache Web Server. Disponvel em: <http://httpd.apache.org/docs/1.3/misc/FAQ.html#what> Acesso em: 13 de out de 2011. AVILA, Henrique Redes. Disponvel em: <http://www.henriqueavila.com/redes/index.html> Acesso em: 07 de jun de 2011. BADDINI, Francisco. Windows Server.Microsoft Windows Server 2003.Editora: rica. So Paulo 2005. BELEM, Tiago. Oque um Framework PHP? Disponvel em: <http://imasters.com.br/artigo/13718/php/frameworks_no_php_o_que_quando_por_q ue_e_qual> Acesso em 28 de jun de 2011 BRAGA, Christiano, HAEUSLER, Hermann Anlise de Sistemas. Disponvel em: <http://www.mat.unb.br/~ayala/EVENTS/CBraga.pdf> Acesso em:25 de mai de 2011.
106
CAMARGO, Studio Informtica Topologia de Redes. Disponvel em: <http://www.camargostudio.com.br/servicos/planejamento-estrutura-administracaorede.php> Acesso em: 04 de mar de 2011. CEZAR, Caio. Adobe Dreamweaver. Disponvel <http://caiocezar.hd1.com.br/historia.htm> Acesso: 12 de abr de 2011. em:
CNET. Case Studio. Disponvel em: <http://download.cnet.com/Case-Studio-2/300010254_4-10517119.html> Acesso em: 29 de abr. de 2011. COMPANY, Fbio. VMware. Disponvel em: <http://www.fabiocompany.com.br/tecnologia/?p=205> Acesso em: 04 de mar de 2011. CONVERSE, Tim. PARK, Joyce. PHP a Bblia. Editora: Campus. Rio de Janeiro 2003. DEV BRASIL: VISUAL STUDIO Disponvel em: <http://devbrasil.net/profiles/blogs/perguntas-rapidas-sobre-o > Acesso em 29 de Set de 2011. DICIONRIO DE MARKETING. Layout. Disponvel em: <http://dicionariodemarketing.powerminas.com/dic_marketing_l.htm> Acesso em: 29 de abr de 2011. EDUCAO, Secretaria. XAMPP. Disponvel em: <http://ambiente.educacao.ba.gov.br/ambientes-de-apoio/ambiente/exibir/id/16> Acesso em: 04 de mar de 2011. EMBARCADERO, Delphi 2010. Disponivel em: <http://baixeprogramas.com/embarcadero-delphi-2010-lite-v3-6-136mb-rtm-v14-03513-24210> Acesso em: 07 de jun de 2011. ETI Eventos. Disponveis em: <http://www.cassao.eti.br/portal/conceito-dealgoritmo>Acesso em: 07 de jun de 2011. GUIA DO HACKER. 3D Studio Max. Disponvel em: <forum.guiadohacker.com.br/showthread.php?t=2084> Acesso em: 23 de out de 2011. GOOGLE. XML. Disponivel em: <http://www.google.com/support/calendar/bin/answer.py?hl=pt-BR&answer=37107> Acesso em: 04 de mar de 2011. HENRIQUE, Guilherme. Polgonos. Disponvel em: <guilhermehenrique.pbworks/w/page/11946967/poligonos> Acesso em: 23 de out de 2011.
107
DAVID, Frayze, Marcio. Programao Orientada a Objetos. Disponvel em: <http://www.hardware.com.br/artigos/programacao-orientada-objetos/> Acesso em: 13 out de 2011. HUDSON. Lgica de Programao. Disponvel em: <http://www.sabercss.com/index.php?option=com_content&view=article&id=59&Item id=73> Acesso em: 28 de jun de 2011. ICMC, USP Mtodos HTTP. Disponvel em: <http://www.icmc.usp.br/ensino/material/html/metodos.html> Acesso: 29 de abr de 2011. JUNIOR, Wagner Meira. MURTA, Cristina Duarte. CAMPOS, Srgio Vale Aguiar. NETO, Dorgival Olavo Guedes. Editora: Campus. Rio de Janeiro 2002. JURANDIR, Propriedades. Disponvel em: <http://ewb.tpa.com.br/delphi/baixar/delphi_02.asp> Acesso em: 07 de jun de 2011. KIOSKEA. WAN. Disponvel em: <http://pt.kioskea.net/contents/initiation/wan.php3> Acesso em: 04 de mar de 2011. LANGA, Sara Alvarez. Banco de Dados. Disponvel em: <http://www.criarweb.com/artigos/introducao-banco-de-dados.html> Acesso em: 04 de mar de 2011. LAURIE, Victor. CLI. Disponvel em: <http://commandwindows.com/> Acesso em: 04 de mar de 2011. LEITO Antnio, Linguagem de Programao. Disponvel em: <http://www.dca.fee.unicamp.br/courses/EA072/lisp9596/node2.html>Acesso em: 07 de jun de 2011. LIMA, Evandro Cesar Banco de Dados. Disponvel em: <http://www.sobresites.com/bancodedados/index.htm> Acesso em: 07 de jun de 2011. LGICAS Funes. Disponvel em: <omi.mct.gov.mz/material/algoritm.doc>Acesso em: 07 de jun de 2011. LUIS, SQL. Disponvel em: <http://www.luis.blog.br/o-que-e-sql.aspx> Acesso em: 04 de mar de 2011. MANDARINO, Marco Antnio Servidores. Disponvel em: <http://www.mandarino.pro.br/OutrosSites/Wk3/e2/introdu%C3%A7%C3%A3o.htm> Acesso: 07 de jun de 2011. MAR, Marcelo. W3C. Disponvel em: <http://www.bymarcelo.com.br/feed/> Acesso em: 04 de mar de 2011.
108
MARANHO, Adriano Pereira SGDB. Disponvel em: <http://adrianomaranhao.files.wordpress.com/2011/02/bdii_aulasieii.pdf> Acesso em: 05 de mar de 2011. MARCUS VBP. Layout. Disponvel <http://marcusvbp.com.br/site/glossario>Acesso em: 29 de abr de 2011. MARIMOTO, Carlos Maquina Virtual. Disponivel <http://www.hardware.com.br/termos/vmware> Acesso: 29 de abr de 2011. em:
em:
MATTHEIS, Fiorella. Script. Disponvel em: <http://www.linuxtotal.org/viewtopic.php?f=68&t=522> Acesso em: 05 de mar de 2011. MATTOS, Diogo Menezes Ferrazani. Virtualizao. Disponvel em: <http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2008_2/diogo/Definaoquevirtualiz ao,MonitordeMquinaVir.html> Acesso em: 10 de jun de 2011. MICROSOFT, Corporation Windows Server 2008. Disponivel em: <http://technet.microsoft.com/pt-br/windowsserver/bb310558> Acesso em: 10 de jun de 2011. MICROSOFT. SQL Server. Disponvel em: <http://msdn.microsoft.com/ptbr/library/ms173053.aspx> Acesso em: 04 de mar de 2011. MINASI, Mark. Windows XP Professional. Editora: Campus. Rio de Janeiro 2002. MORAES, Paulo Srgio Variveis, Constantes. Disponvel em: <http://www.scribd.com/doc/272527/Logica-de-Programacao>Acesso em: 07 de jun de 2011. MORIMOTO, Carlos. DHCP, DNS, HAN, HUB, HUB e SWITCH, IIS, IPV4, IPV6, LAN, MAC, MAN, MySQL, Servidor, TCP/IP. Disponvel em: <http://www.hardware.com.br/termos> Acesso em: 05 de mar de 2011. MOYA, David. Adobe Premiere. Disponvel premiere.softonic.com.br/> Acesso em: 04 de mar de 2011. em: <http://adobe-
em:
NILO, Anderson Navegador Web. Disponvel em: <http://www.professornilo.xpg.com.br/downloads.html> Acesso: 29 de abr de 2011. OFICINA DA NET. CSS, Hardware. Disponvel <http://www.oficinadanet.com.br> Acesso em: 05 de mar de 2011. OLIVEIRA, Jos Valente de Dicionrio de Dados. Disponvel <http://w3.ualg.pt/~jvo/ep/dd.pdf> Acesso em: 25 de mai de 2011. em:
em:
109
PHP GROUP. Oque PHP? Disponvel em: <http://php.net/manual/pt_BR/introwhatis.php> Acesso em: 12 de jun de 2011. PHP-GTK Brasil PHP-GTK. Disponvel em: <http://www.php-gtk.com.br/home> Acesso: 29 de abr de 2011. SAMPAIO, Alberto e Isabel Informtica. Disponvel em: <http://www.miniweb.com.br/atualidade/Tecnologia/sebalgprog.pdf> Acesso em: 07 de jun de 2011. SCRIBD, Topologia de Redes, Rede Anel, Anel, Barramento e Estrela. Disponvel em: <http://pt.scribd.com/doc/402365/Topologias-de-Rede> Acesso em: 07 de jun de 2011. SILVA, Samy, Maurcio. CSS, Web Standards. Disponvel em <http://maujor.com/> Acesso em 05 de mar de 2011 SIMOURA, Bruno Celio Modelo ER. Disponivel em: <http://www.artigonal.com/tiartigos/processo-de-carga-modelo-relacional-base-dw-991828.html> Acesso: 29 de abr de 2011. STROPARO, Elder Normalizao de Dados. Disponivel em: <http://elderstroparo.blogspot.com/2011/02/normalizacao-de-dados.html> Acesso em: 05 de mar de 2011. UFRJ, Rede Disponvel em: <http://www.gta.ufrj.br/grad/anteriores98/netwareguilherme/netware2.html> Acesso em: 05 de mar de 2011. UOL, Padronizao. Disponvel em: <http://botelhojk.vilabol.uol.com.br/armp/armp1semestre/Apostilas/padronizacao.htm> Acesso: 29 de abr de 2011. VIDAL, Josue. Active Directory. Disponvel em: <http://imasters.com.br/artigo/4735/servidores_windows/entendendo_active_director y/> Acesso em: 04 de mar de 2011. VINICIUS, Marcus. Linguagens de Programao. Disponvel em: <http://www.vemconcursos.com/opiniao/index.phtml?page_id=440> Acesso em: 29 de abr de 2011. VIVA O LINUX. Linux. Disponvel em: <http://www.vivaolinux.com.br/linux/> Acesso em: 12 de out de 2011. WELLING, Luke. THOMSON, Laura. PHP, Array. PHP e MySQL Desenvolvimento Web. Editora: Campus. Rio de Janeiro 2003. ZOU, Solues Web Hospedagem de Sites. Disponvel em: <http://www.zoudesign.com.br/O-que-e-hospedagem-de-sites.aspx> Acesso: 28 de jun de 2011.
110
ASP.NET. ASP.NET. Disponvel em: <http://www.asp.net/get-started> Acesso: 18 de ago de 2011. CSHARP, Functions C#. Disponvel em: tutorials.com/basics/functions/>Acesso em: 23 de ago de 2011. <http://csharp.net-
MICROSOFT, Propriedades C#. Disponvel em: <http://msdn.microsoft.com/ptbr/library/x9fsa0sw.aspx> Acesso em: 23 de ago de 2011. OFICINA DA NET. C#, SQL Server, NetBeans. Disponvel <http://www.oficinadanet.com.br> Acesso em: 23 de ago de 2011. em:
ANDROID, BRASIL Android. Disponvel em:<http://www.androidbrasil.com/noticias/android/166-o-que-e-android> Acesso: 23 de agosto de 2011. AMBIENTE DESIGN, Computao Grafica. Disponvel em:<http://www.um.pro.br/index.php?c=/computacao/definicao> Acesso: 23 de agosto de 2011. HTML STAFF, Classes. Disponvel em:<http://www.htmlstaff.org/ver.php?id=1792> Acesso: 23 de agosto de 2011. ORACLE. Java. Disponvel em: <http://www.java.com/pt_BR/download/faq/whatis_java.xml> Acesso em: 23 de ago de 2011. PEREIRA, Ana. O que JAVA? Disponvel em: <http://www.tecmundo.com.br/2710o-que-e-java-.htm> Acesso em: 23 de ago de 2011. ESCULTOPINTURA: Cenas 3D Disponveis em: <http://www.escultopintura.com.br/Tutoriais/Tutorial_Principios_Animacao_3d/3_Con ceitos_Gerais/Conceitos_Gerais.htm> Acesso em 31 de Agost de 2011. FEITOSA, Ailton: Polgonos. Disponvel em: <http://www.infoescola.com/geometria/poligonos/> Acesso em 31 de Agost de 2011. JORNAL LIVRE: Texturas. Disponvel em: <http://www.jornallivre.com.br/190975/oque-e-textura.html> Acesso em 31 de Agost de 2011. 3D STUDIO MAX: Modelagem 3D, Camera. disponvel <http://3dstudiomax1.blogspot.com/2011/03/modelagem-3d-studio-max.html> Acesso em 31 de Agost de 2011. em: