Você está na página 1de 16

Universidade Federal de Ouro Preto - UFOP Instituto de Cincias Exatas e Biolgicas - ICEB Departamento de Computao - DECOM

Sistema Web para Departamentos

Aluno: Rafael Simes Coelho de Souza Matricula: 10.1.4077 Orientadora: Luclia Camaro de Figueiredo

Ouro Preto 1 de outubro de 2010

Universidade Federal de Ouro Preto - UFOP Instituto de Cincias Exatas e Biolgicas - ICEB Departamento de Computao - DECOM

Sistema Web para Departamentos

Proposta putao, Preto, concluso

de

monograa

apresentada de

ao

curso de Bacharelado em Cincia da ComUniversidade como da requisito disciplina Federal parcial Ouro a II para

Monograa

(BCC391).

Aluno:Rafael Simes Coelho de Souza Matricula: 10.1.4077 Orientadora: Luclia Camaro de Figueiredo

Ouro Preto 1 de outubro de 2010

Resumo
Resumo

Palavras-chave: Programao Web. Banco de Dados.

Sumrio
1 Introduo 2 Justicativa 3 Objetivos
3.1 3.2 Objetivo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos especcos . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 2 3
3 3

4 Metodologia
4.1 4.2 4.3 4.4 Atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tcnicas, Padres e Frameworks para desenvolvimento do projeto 4.3.1 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 . . . Gerenciamento do desenvolvimento do sistema . . . . . . . . . . . . . . Arquitetura do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linguagem PHP Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . Framework de implementao

4
4 4 4 5 6 6 6 7 8 8 9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Servidor Gerenciador de Banco de Dados . . . . . . . . . . . . . Adobe Dreamweaver EasyPHP Navegadores WEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Cronograma de atividades

10

Lista de Figuras Lista de Tabelas


1 Cronograma de Atividades. . . . . . . . . . . . . . . . . . . . . . . . . 10

1 Introduo
A Internet vem sendo utilizada cada vez mais como plataforma para a difuso de idias e conhecimento. Esta grande gama de informaes deve ser organizada em sistemas que viabilizem uma navegao plena por este contexto. A abordagem adotada na execuo deste trabalho se restringe necessidade de criao de um Sistema WEB voltado para os Departamentos da Universidade Federal de Ouro Preto. O trabalho que est sendo desenvolvido se encontra no seguinte endereo:

http://www.em.ufop.br/deciv
Desenvolver este portal possibilitou o exerccio de conhecimentos nas reas de banco de dados, IHC e gerncia de projeto, alm de ampliar meus horizontes em relao programao voltada para a Internet.

2 Justicativa
Foi observada a carncia de sites em determinados departamentos da UFOP e tambm a diculdade que docentes tinham para acessar as informaes relativas a certos departamentos, sendo por muitas vezes refns dos administradores do site para a atualizao de informaes relativas ao Departamento e aos prprios professores. Departamento da UFOP. Surgiu ento a idia de desenvolver um sistema genrico que pudesse ser adaptado para qualquer

3 Objetivos
3.1 Objetivo geral

Desenvolver um sistema web para departamentos de uma universidade, que inclua facilidades para a difuso de notcias e eventos relativos aos departamentos, para a construo automtica de pginas pessoais de docentes, para a elaborao de outros tipos de pginas que promovam o intercmbio dos docentes com os discentes.

3.2 Objetivos especcos

Aplicar conhecimentos adquiridos no curso de Bacharelado em Cincia da Computao por meio do desenvolvimento de um sistema de software que seja de utilidade para docentes e discentes da UFOP.

Aprofundar conhecimentos, tcnicas e habilidades para o desenvolvimento de sistemas, focando as seguintes reas:

    

Tcnicas de levantamento de requisitos de sistemas de software Tcnicas e padres de projeto de software Tcnicas de projeto de bancos de dados Tcnicas de projeto de interfaces Programao web

4 Metodologia
4.1 Atividades
O desenvolvimento do sistema proposto envolve as seguintes atividades: 1. Levantamento dos requisitos do sistema junto ao cliente. 2. Estudo dos requisitos e denio de funcionalidades do sistema, diagramas de casos de uso etc. 3. Estudo de tcnicas, padres e ferramentas a serem usadas para o desenvolvimento do sistema. 4. Projeto da arquitetura do sistema. 5. Modelagem de um SGBD que contemple a aplicao. 6. Prototipagem das telas da aplicao. 7. Denio e implementao de Classes, Scripts e folhas de estilo(CSS) que iro compor a aplicao. 8. Implantao e Testes. 9. Documentao do sistema. 10. Manuteno. Na disciplina de Monograa I foram concludas as atividades 1 a 6, e parcialmente desenvolvida a atividade 7. As demais atividades previstas para a concluso do trabalho sero desenvolvidas na Monograa II. Como atividade de complementao de estudos, que possa contribuir para uma melhor formao na rea, propomos ainda o estudo de novos frameworks de desenvolvimento de sistemas Web, tais como Django[ ] e Rubyonrails[ ].

4.2 Tcnicas, Padres e Frameworks para desenvolvimento do projeto 4.3 Gerenciamento do desenvolvimento do sistema
Para o gerenciamento do desenvolvimento do sistema sero adotadas as prticas denidas no

Guia PMI-PMBOK[?].

Este guia identica um subconjunto do con-

junto de conhecimentos em gerenciamento de projetos que seria amplamente reconhecido como boa prtica na maioria dos projetos na maior parte do tempo, sendo em razo disso utilizado como base pelo Project Management Institute (PMI). O Guia PMI-PMBOK tambm fornece e promove um vocabulrio comum para se discutir, escrever e aplicar o gerenciamento de projetos possibilitando o intercmbio eciente de informaes entre os prossionais de gerncia de projetos. O guia baseado em processos, ou seja, uma subdiviso em processos foi adotada para descrever de forma organizada o trabalho a ser realizado durante o projeto. Essa

abordagem se assemelha empregada por outras normas como a ISO 9000 e a do Software Engineering Institute's, CMMI. Os processos descritos se relacionam e interagem durante a conduo do trabalho, a descrio de cada um deles feita em termos de:

Entradas (documentos, planos, desenhos etc.); Ferramentas e tcnicas (que se aplicam as entradas); Sadas (documentos, produtos etc.).

O desenvolvimento e gerenciamento do projeto ser baseado no Algumas caractersticas de Scrum so:

Padro Scrum[?].

O Scrum uma framework para desenvolvimento gil e Gerenciamento de Projetos.

Clientes se tornam parte da equipe de desenvolvimento (os clientes devem estar genuinamente interessados na sada); Entregas frequentes e intermedirias de funcionalidades 100% desenvolvidas; Planos frequentes de mitigao de riscos desenvolvidos pela equipe; Discusses dirias de status com a equipe; A discusso diria na qual cada membro da equipe responde s seguintes perguntas: O que z desde ontem? O que estou planejando fazer at amanh? Existe algo me impedindo de atingir minha meta?

Transparncia no planejamento e desenvolvimento; Reunies frequentes com os stakeholders (todos os envolvidos no processo) para monitorar o progresso; Problemas no so ignorados e ningum penalizado por reconhecer ou descrever qualquer problema no visto; Locais e horas de trabalho devem ser energizadas, no sentido de que trabalhar horas extras no necessariamente signica produzir mais.

4.3.1

Arquitetura do Sistema ?
O

A arquitetura do sistema baseada no padro MVC(Model View Controller)[ ].

MVC um padro de arquitetura de software que visa separar a lgica de negcio da lgica de apresentao, permitindo o desenvolvimento, teste e manuteno isolado de ambos. Com o aumento da complexidade das aplicaes desenvolvidas torna-se fundamental a separao entre os dados (Model) e o layout (View). Desta forma, alteraes feitas no layout no afetam a manipulao de dados, e estes podero ser reorganizados sem alterar o layout. O MVC resolve este problema atravs da separao das tarefas de

acesso aos dados e lgica de negcio, lgica de apresentao e de interao com o utilizador, introduzindo um componente entre os dois: o Controller. MVC usado em padres de projeto de software, mas MVC abrange mais da arquitetura de uma aplicao do que tpico para um padro de projeto. MVC muito visto em aplicaes para Web, onde a View geralmente a pgina HTML, e o cdigo que gera os dados dinmicos para dentro do HTML o Controller. E, por m, o Model representado pelo contedo de fato, geralmente armazenado em bancos de dados ou arquivos XML. Model A representao domnio especca da informao em que a aplicao opera. comum haver confuso pensando que Model um outro nome para a camada de domnio. Lgica de domnio adiciona sentido a dados crus (por exemplo, calcular se hoje aniversrio do usurio, ou calcular o total de impostos e fretes sobre um determinado carrinho de compras). Muitas aplicaes usam um mecanismo de armazenamento persistente (como banco de dados) para armazenar dados. MVC no cita especicamente a camada para acesso aos dados, porque subentende-se que estes mtodos estariam encapsulados pelo Model. View Renderiza o model em uma forma especca para a interao, geralmente uma interface de usurio. Controller Processa e responde a eventos, geralmente aes do usurio, e pode invocar alteraes no Model. l que feita a validao dos dados e tambm onde os valores postos pelos usurios so ltrados.

4.4 Framework de implementao


Para implementar o sistema porposto, foi preciso denir um linguagem e um SGBD para gerenciar o banco de dados. As linguagens e demais ferramentas utilizadas na implementao do sistema so brevemente descritas a seguir. O sistema foi desenvolvido no ambiente do sistema operacional Windows XP, mas isso no muito importante, visto que a linguagem na qual o sistema foi desenvolvido  qualquer sistema e navegador WEB.

PHP[?]

 portvel a

4.4.1

Linguagem PHP PHP[?]


que uma linguagem de proA opo por

O sistema utiliza a linguagem de programao

gramao de domnio especico voltada para o desenvolvimento web.

utilizar essa linguagem pelo fato dela ter o poder de implementar uma soluo simples e eciente para o desenvolvimento web, por ser veloz, portvel, orientada a objeto e ter sintaxe simples e parecida a linguagem C.

4.4.2

Javascript ?

JavaScript[ ] uma linguagem de programao criada pela Netscape, em 1995, para criar programas ecarregados de realizar aes em uma pgina web. Trata-se de uma linguagem de programao do lado do cliente, porque o navegador que suporta a carga de processamento. Graas a sua compatibilidade com a maioria dos navegadores modernos, a linguagem de programao do lado do cliente mais utilizada.

Com Javascript possvel criar efeitos especiais nas pginas e denir interatividades com o usurio. O navegador do cliente o encarregado de interpretar as instrues Javascript e execut-las para realizar estes efeitos e interatividades, de modo que o maior recurso, e talvez o nico, com que conta esta linguagem o prprio navegador. Entre as aes tpicas que se podem realizar em Javascript temos duas vertentes. Por um lado os efeitos especiais sobre pginas web, para criar contedos dinmicos e elementos da pgina que tenham movimento, mudem de cor ou qualquer outro dinamismo. Por outro lado, Javascript nos permite executar instrues como resposta s aes do usurio, com o qual podemos criar pginas interativas com programas como calculadoras, agendas, ou tabelas de clculo. Javascript tem sintaxe semelhante a do Java, mas totalmente diferente no conceito e no uso:

Oferece tipagem dinmica - tipos de variveis no so denidos; interpretada, ao invs de compilada; Possui timas ferramentas padro para listagens (como as linguagens de script, de modo geral); Oferece bom suporte a expresses regulares (caracterstica tambm comum a linguagens de script).

Sua unio com o CSS conhecida como DHTML. Usando o Javascript, possvel modicar dinamicamente os estilos dos elementos da pgina em HTML. Dada sua enorme versatilidade e utilidade ao lidar com ambientes em rvore (como um documento HTML), foi criado a partir desta linguagem um padro ECMA, o ECMA-262, tambm conhecido como ECMAScript. Este padro seguido, por exemplo, pela linguagem ActionScript da Macromedia. Alm de uso em navegadores processando pginas HTML dinmicas, o JavaScript hoje usado tambm na construo do navegador Mozilla, o qual oferece para a criao de sistemas GUI todo um conjunto de ferramentas (em sua verso normal como navegador, sem a necessidade de nenhum software adicional), que incluem (e no apenas) um interpretador de Javascript, um comunicador Javascript <-> C++ e um interpretador de XUL, linguagem criada para denir a interface grca de aplicaes.

4.4.3

Servidor Gerenciador de Banco de Dados MySql[?] que um SGBD (Sistema

Para o banco de dados do sistema ser utilizado o

Gerenciador de Banco de Dados) de cdigo aberto e bastante avanado permitindo a utilizao de inmeros recursos na linguagem SQL. As principais caractersticas do MySql so:

Portabilidade (suporta praticamente qualquer plataforma atual); Compatibilidade (existem drivers ODBC, JDBC e .NET e mdulos de interface para diversas linguagens de programao, como Delphi, Java, C/C++, Visual basicPython, Perl, PHP, ASP e Ruby)

Excelente desempenho e estabilidade;

Pouco exigente quanto a recursos de hardware; Facilidade de uso; um Software Livre com base na GPL; Contempla a utilizao de vrios Storage Engines como MyISAM, InnoDB, Falcon, BDB, Archive. Suporta controle transacional; Suporta Triggers; Suporta Cursors (Non-Scrollable e Non-Updatable); Suporta Stored Procedures e Functions; Replicao facilmente congurvel; Interfaces grcas (MySQL Toolkit) de fcil utilizao cedidos pela MySQL Inc.

O sucesso do MySQL deve-se em grande medida fcil integrao com o PHP includo, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com, Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em aplicaes de misso crtica. A Wikipdia um exemplo de utilizao do MySQL em sites de grande audincia. O MySQL hoje suporta Unicode, Full Text Indexes, replicao, Hot Backup, GIS, OLAP e muitos outros recursos.

4.4.4

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 CS4. Suas verses iniciais serviam como um simples editor HTML WYSIWYG (What You See Is What You Get, ou O que voc v o que voc tem), porm as suas verses posteriores incorporaram um notvel suporte para vrias tecnologias web, tais como XHTML, CSS, JavaScript, Ajax, PHP, ASP, ASP.NET, JSP, ColdFusion e outras linguagens Server-side.

4.4.5

EasyPHP ?

Lanado em 1999, o EasyPHP[ ] foi o primeiro e nico pacote de software WAMP disponvel. EasyPHP instala servidor web de servios para o Windows e permite computador e de fcil desenvolvimento rpido de PHP e MySQL em localhost (tambm conhecido como 127.0.0.1 ). O pacote inclui um Apache servidor, a MySQL banco de dados , e o PHP extenso.

4.4.6

Navegadores WEB

Como ocorre conito em relao ao posicionamento de determinados elementos HTML no Internet Explorer, sero efetuados testes do Sistema Web em 2 tipos de navegadores:

Mozilla Firefox 3.6:

Mozilla Firefox um navegador livre e multi-plataforma

desenvolvido pela Mozilla Foundation com ajuda de centenas de colaboradores. A inteno da fundao desenvolver um navegador leve, seguro, intuitivo e altamente extensvel. A utilizao deste navegador ser para testar o sistema durante o desenvolvimento alm de ser a plataforma principal ao nal do desenvolmento do sistema.

Internet Explorer 8.0

Windows Internet Explorer, tambm conhecido pelas o

abreviaes IE, MSIE ou WinIE, um navegador de internet de licena proprietria produzido inicialmente pela Microsoft em 23 de agosto de 1995. navegador mais usado nos dias de hoje.

5 Cronograma de atividades
Na Tabela 1, xxx.

Atividades
Elaborao da Proposta de Monograa Testes da aplicao,planejamento Implementao dos mdulos restantes Redigir a Monograa Apresentao do Trabalho

Ago
X X

Set
X

Out
X X

Nov

Dez

X X

Tabela 1: Cronograma de Atividades.

10

Referncias
[1] Desconhecido. Adobe Dreamweaver.

Dreamweaver,

http://pt.wikipedia.org/wiki/Adobe_
Visitado em

Visitado em 05/06/2010, ano desconhecido.

[2] Desconhecido. EasyPhp.

http://pt.wikipedia.org/wiki/Easyphp,

05/06/2010, ano desconhecido. [3] Desconhecido. Gerncia de Projetos.

de_projetos,
[4] Desconhecido.

http://pt.wikipedia.org/wiki/Gerncia_ http://pt.wikipedia.org/wiki/Internet_
Visi-

Visitado em 07/05/2010, ano desconhecido. Internet Explorer.

Explorer,

Visitado em 06/06/2010, ano desconhecido. Javascript.

[5] Desconhecido.

http://pt.wikipedia.org/wiki/JavaScript,

tado em 18/05/2010, ano desconhecido. [6] Desconhecido. MVC-O padro de arquitetura de software. http: //www.oficinadanet.com.br/artigo/1687/mvc_-_o_padrao_de_arquitetura_ de_software, Visitado em 10/05/2010, ano desconhecido. MySql.

[7] Desconhecido.

http://pt.wikipedia.org/wiki/MySQL,

Visitado em

20/05/2010, ano desconhecido. [8] Desconhecido. O que Javascript.

http://www.criarweb.com/artigos/184.php,
Visitado

Visitado em 18/05/2010, ano desconhecido. [9] Desconhecido. Padro Scrum.

http://pt.wikipedia.org/wiki/Scrum,

em 07/05/2010, ano desconhecido.

11

Você também pode gostar