Vous êtes sur la page 1sur 75

1

CAPTULO 1 INTRODUO Ao longo dos anos, desde o seu surgimento, a Internet vem, expressivamente, ganhando espao como um poderoso ambiente de desenvolvimento de aplicaes distribudas. Gradativamente, as limitaes do potencial que caracteriza essa rede esto sendo cada vez mais superadas pela troca de experincias mais efetivas de navegao, alm de uma maior interatividade e riqueza nas interfaces. O crescimento do segmento web para o desenvolvimento de aplicaes foi o fator fundamental da motivao deste trabalho. Apesar deste segmento ainda estar em pleno desenvolvimento, a variedade de tecnologias disponveis no mercado possibilitam a criao de aplicaes robustas que se aproximam s aplicaes desktop desenvolvidas atualmente. O objetivo deste trabalho o de destacar os fundamentos para o desenvolvimento de aplicaes para Web, e bem como os conceitos de orientao a objetos, processo unificado para o desenvolvimento de software e o desenvolvimento de uma proposta de Website para o Departamento de Computao da UCG. A motivao para a execuo deste projeto deve-se ao desejo de aplicar os meus conhecimentos de desenvolvimento na rea web aliados necessidade de criao de um Website para o Departamento de Computao da UCG. Este trabalho inicia-se discutindo sobre o surgimento e desenvolvimento da Internet, porm o objetivo no esgotar o assunto e sim, introduzir o tema. Ao longo do captulo 2 so apresentadas diversas tecnologias utilizadas para o desenvolvimento de aplicaes web, bem como algumas razes que motivaram a escolha de algumas destas tecnologias. O captulo tambm aborda a importncia do desenvolvimento utilizando orientao a objetos, a modelagem de dados atravs da linguagem UML, alm do processo de desenvolvimento de software. O captulo 3 apresenta a descrio do projeto da proposta de Website do Departamento de Computao da UCG. O captulo 4 ilustra a concluso alcanada com o estudo e desenvolvimento deste projeto.

CAPTULO 2 AMBIENTE DE DESENVOLVIMENTO WEB Desde o seu surgimento, a Internet vem passando por mudanas cada vez mais significativas. Dessa forma, a Internet hoje considerada o meio de comunicao que mais cresce no mundo, alm de ser o mais rpido e eficiente. A Internet nasceu durante os tempos de Guerra Fria, quando era conhecida como ArpaNet, e servia como mecanismo de comunicao entre as bases militares dos Estados Unidos. Com o fim da Guerra Fria, a ArpaNet tornou-se to intil aos olhos dos militares que eles j no a consideravam to importante para mant-la sobre sua guarda. A partir desta deciso vrios cientistas tiveram acesso a essa rede para realizarem estudos sobre essa nova tecnologia. Foi o marco inicial para a popularizao da Internet. [1] Inicialmente, a Internet serviu somente como uma ferramenta para que membros de governo e instituies educacionais se comunicassem. Com o advento da World Wide Web, a Internet tornou-se um ambiente multimdia, amigvel para o usurio. Originalmente, a Internet tornou-se um ambiente de criao para os entusiastas criarem seus sites pessoais, mas medida que cada vez mais pessoas tornavam-se adeptos, a Internet transformou-se em um forte recurso informacional para o homem comum. Quando o nmero de pessoas on-line alcanou uma massa crtica, vrias empresas que ofereciam produtos e servios comearam a se movimentar para ganhar o seu espao na rede mundial de computadores. [2] 2.1 Pginas Web Estticas e Dinmicas Enquanto a Internet amadurecia em um mercado vivel, o projeto de sites da Web mudou no passo. Nos primeiros dias da World Wide Web, o HTML era utilizado para criar pginas da Web estticas. Hoje, porm, com o avano das tecnologias Web, as pginas estticas j se tornaram bastante obsoletas. [2] O HTML no uma linguagem de programao, e sim, uma linguagem descritiva que tem como objetivo dar formato ao texto e s imagens que se pretende visualizar no navegador. De fato, o HTML no permite realizar um simples clculo matemtico ou criar uma pgina a partir de uma base de dados. Na verdade, o HTML pode ser bastante til se for utilizado em uma pequena escala, mas devido suas limitaes, totalmente invivel a sua utilizao para desenvolver sistemas web que necessitam de dinamismo. [3]

A partir dessa deficincia do HTML que se fez necessrio o emprego de outras linguagens muito mais versteis e de uma aprendizagem relativamente mais complicada, capazes de responder de maneira inteligente s demandas do navegador e que permitem a automatizao de determinadas tarefas tediosas e irremediveis, tais como atualizao de informaes, integrao com uma base de dados, entre outras. Estas linguagens capazes de recriar, a partir de certos scripts, uma infinidade de pginas automatizadas so as protagonistas deste conceito de pginas dinmicas. Uma linguagem de script uma sintaxe particular utilizada para executar comandos em um computador. Um programa composto de comandos de uma linguagem de script particular referido como um script. [2] 2.1.1 Modelo Cliente-Servidor A utilizao de pginas Web dinmicas necessita essencialmente de um modelo cliente-servidor. Esse tipo de modelo pode ser definido como uma ao conjunta de dois computadores com o objetivo de realizar uma tarefa. Um computador cliente solicita algumas informaes necessrias de um computador servidor. O servidor retorna essas informaes e o cliente interage com elas. [2] A Internet funciona sob um modelo cliente-servidor, onde o servidor um computador que fornece servios especficos para Web em particular. O cliente, na Internet, um navegador Web. Quando uma pgina esttica visitada por meio de um navegador Web, conforme ilustra a figura 2.1, ocorrem os seguintes passos: 1. O cliente (o navegador Web) localiza o servidor Web especificado pela primeira parte da URL (www.nomedosite.com); 2. O cliente ento solicita a pgina Web esttica especificada pela segunda parte do URL (/index.htm). 3. O servidor Web envia o contedo daquele arquivo particular para o cliente no formato de HTML; 4. O cliente recebe o HTML enviado pelo servidor e o apresenta para o usurio.

O cliente solicita uma pgina da Web do servidor

Cliente

O servidor retorna a pgina da Web para o cliente

Servidor

Figura 2.1 Modelo de uma requisio esttica em um servidor Web [2] Nessa transao, o servidor Web age de forma passiva, ou seja, ele fica inativo espera de uma solicitao de um cliente por uma pgina Web esttica. Depois de solicitada, a pgina enviada pelo servidor web ao cliente e ento volta ao estado de espera inativo at que uma prxima solicitao seja feita. Atravs destas aes, somente pginas estticas podem ser enviadas para o cliente. Para que pginas dinmicas sejam enviadas necessrio que o servidor Web desempenhe um papel mais ativo. Uma pgina web dinmica constituda geralmente pela combinao de HTML e cdigo programtico. Esse cdigo pode ser escrito em diversas linguagens diferentes. O servidor Web tem que processar esse cdigo programtico antes de enviar o HTML para o cliente. Quando um navegador Web solicita uma pgina dinmica, conforme ilustra a figura 2.2, ocorrem os seguintes passos: [2] 1. O cliente (o navegador Web) localiza o servidor Web especificado pela primeira parte da URL (www.nomedosite.com); 2. O cliente ento solicita a pgina dinmica especificada pela segunda parte da URL (/index.php); 3. O servidor Web l o arquivo e processa o cdigo; 4. Depois que a pgina for completamente processada pelo servidor web, a sada enviada no formato de HTML para o cliente; 5. O cliente recebe o HTML enviado pelo servidor e a renderiza para o usurio. O cliente no pode dizer a diferena entre uma pgina Web dinmica e uma pgina esttica porque, em ambos os casos, o retorno da requisio ao servidor uma pgina em HTML. Quando o servidor Web processa a pgina dinmica, todo o cdigo programtico

interpretado pelo servidor, ou seja, nenhuma parte do cdigo programtico enviada para o cliente.
O cliente solicita o arquivo da pgina dinmica

Mecanismo de Script

Cliente

O servidor retorna texto de HTML para o cliente

Servidor

O servidor localiza o arquivo no disco rgido e o analisa sintaticamente, removendo todo o script e substituindo-o por texto de HTML.

Figura 2.2 Modelo de interao cliente/servidor para pginas dinmicas [2]

O servidor Web determina o tipo de ao que ir executar se uma requisio de pgina esttica ou uma requisio de pgina dinmica de acordo com a plataforma instalada no servidor Web. Existem diversas plataformas que oferecem recursos para o desenvolvimento de pginas dinmicas. Esta plataforma reconhece o tipo de linguagem de programao que est sendo utilizada na pgina (ASP, PHP, JSP, PEARL, etc.) e, ento, o servidor Web processa o cdigo programtico antes de enviar a sada em HTML para o cliente. 2.1.2 Linguagens de programao Web Atualmente no mercado, existem diversas linguagens de programao Web similares. Dentre elas esto o ASP (Active Server Pages) e o .NET da Microsoft, o PHP (PHP: Hypertext Preprocessor) do PHP Group, o ColdFusion da Adobe, o JSP (Java Server Pages) da Sun e o PERL da OReilly Associates. Apesar das vrias opes, este trabalho ir fazer enfoque sobre a linguagem PHP, que ser a linguagem utilizada na implementao do projeto.

2.1.2.1 PHP O PHP uma linguagem de criao de scripts do lado servidor, que pode ser incorporada em HTML ou utilizada como um binrio independente (embora a primeira utilizao seja muito mais comum). Assim como qualquer linguagem do lado do servidor, o

PHP pode ser visto como uma coleo de tags super-HTML ou pequenos programas que so executados dentro de pginas Web. [4] O nome PHP um acrnimo recursivo, que significa: PHP: Hypertext Preprocessor. Originalmente o produto foi chamado de Personal Home Page Tools, por causa disso muitas pessoas ainda acham que esse o verdadeiro significado do acrnimo. O criador do PHP o engenheiro de software chamado Rasmus Lerdorf. No final de 1994, Rasmus desenvolveu a primeira parte do PHP para sua utilizao pessoal. Trata-se de um envoltrio de CGI cuja finalidade era auxiliar no monitoramento das pessoas que acessavam seu site pessoal. Com a demanda de usurios que se deparavam com o seu trabalho, ele montou no ano seguinte um pacote chamado de Personal Home Page Tools (tambm conhecido como PHP Construction Kit). Foi o primeiro passo para que o PHP ficasse conhecido mundialmente. Em meados de 1997, a utilizao do PHP j podia ser vista em mais de 50.000 sites. [4] 2.1.2.2 Razes para usar PHP Dentre outras linguagens similares existentes no mercado, existem inmeras razes para optar pelo uso do PHP em desenvolvimento Web. Dentre elas, podemos citar algumas mais importantes: [4] Fcil aprendizado: em comparao com outras linguagens, o PHP mais fcil de aprender. Ao contrrio das pginas de servidores Java ou CGI baseado em C, no necessrio ter uma compreenso profunda sobre outras linguagens de programao mais conhecidas. Alm disso, muitas das funes especficas mais teis, tais como criar uma conexo com banco de dados ou definir um correio eletrnico a partir de um servidor IMAP, j esto pr-definidas. Pode-se dizer que o PHP apenas um pouco mais complicado que o HTML, mas provavelmente mais simples que JavaScript e certamente menos complexo do que o JSP ou o ASP.NET; Gratuidade: talvez uma das maiores vantagens do PHP seja o fato dele ser totalmente gratuito. Isso significa que ele no ir gerar custo algum para os desenvolvedores, nem na sua aquisio, nem durante o desenvolvimento e muito menos na concluso. Talvez esta seja uma das caractersticas mais marcantes desta linguagem, e, possivelmente, a preferida pelos desenvolvedores;

Multiplataforma: o PHP executado de forma nativa em todas as verses populares do Unix (incluindo o Mac OS) e Windows. A maioria dos servidores mundiais de HTTP trabalha sobre um desses dois sistemas operacionais. Alm disso, ele compatvel com os trs mais importantes servidores Web: o Apache HTTP Server para Unix e Windows, o Microsoft Internet Information Server e o Netscape Enterprise Server. Sem mencionar que ele tambm funciona bem em vrios outros servidores menos conhecidos; Estabilidade: quando se trata do PHP, a palavra estabilidade tem dois significados importantes: que o servidor no precisa ser reiniciado frequentemente e que a linguagem no sofre grandes alteraes que possam gerar incompatibilidade com outras verses. Alm do mais, o servidor Apache considerado um dos mais estveis em comparao ao tempo de funcionamento dos outros servidores; Rapidez de execuo: a execuo do PHP extremamente rpida. Apesar de sofrer uma pequena queda no desempenho por ser interpretado em vez de compilado, isso no compromete sua velocidade. Quando testado em alguns pequenos benchmarks, comprovou-se que o PHP pelo menos to rpido quanto o ASP ou o JSP na maioria das aplicaes; Cdigo-fonte aberto: o fato de o PHP fazer parte do conjunto de software de cdigofonte aberto traz grandes benefcios para os desenvolvedores Web. Alm de no sofrerem com limitaes e restries impostas por licenciamento, como ocorre com os softwares concorrentes, possvel tambm fazer e distribuir qualquer modificao sobre o software original sem sofrer nenhuma penalidade por isso; Interao com outros ambientes: a facilidade de comunicao com outros programas e protocolos oferece o mximo de flexibilidade para os usurios. Um dos pontos fortes do PHP a conectividade de banco de dados, com suporte de driver nativo para cerca de 15 dos sistemas gerenciadores de bancos de dados mais populares do mercado, sem contar o ODBC. Alm disso, o PHP tem suporte para um grande nmero de protocolos importantes como POP3, IMAP e LDAP. 2.2 Folhas de Estilo (CSS) Uma folha de estilos um conjunto de regras que informa a um programa, responsvel pela formatao de um documento, como organizar a pgina, como posicionar e expor o texto e, dependendo de onde aplicado, como organizar uma coleo de documentos.

A maior parte dos programas de editorao eletrnica e processadores de texto modernos trabalham com folhas de estilos. O processo consiste em definir um rtulo (nome do estilo) para um determinado pargrafo e em seguida alterar os seus atributos. Todo pargrafo que for rotulado com aquele estilo passar a exibir as caractersticas definidas anteriormente. Qualquer alterao nos atributos de um estilo afetar todos os pargrafos que estiverem rotulados com ele. Esta descrio, que se aplica a estilos em processadores de texto e programas de editorao eletrnica, tambm vale para a Web, onde conhecida como CSS (Cascading Style Sheets), ou folhas de estilo em cascata. [5] A utilizao das folhas de estilos oferece diversas vantagens, entre elas: Separao da apresentao e estrutura: Com isto possvel voltar a suportar browsers antigos que antes estavam condenados por no conseguirem ler a informao sem perdas. Com a informao toda armazenada no HTML (estrutura), a apresentao (estilo) seria uma camada a mais, alterando a disposio do texto, cores, etc., mas sem afetar a estrutura essencial da informao. Isto permite que uma pgina tenha vrios estilos e use scripts (programas embutidos) para decidir qual carregar (em funo do browser e da plataforma). Isto muito menos trabalho que fazer uma pgina para cada browser e plataforma, pois a atualizao feita apenas no HTML. Tambm, com isso, possvel ter uma folha de estilos especial somente para impresso, onde haveria informaes de quebra de pginas, etc.; Controle absoluto da aparncia da pgina: esse controle pode ser feito tanto no prprio documento como atravs de um arquivo externo separado. A segunda maneira a mais indicada, pois, ao invs de declarar a formatao dentro do documento, possvel apenas referenci-la atravs de um link para pgina que contm os estilos. Isso permite organizar melhor a formatao de todas as pginas, j que para alterar a aparncia da aplicao Web, basta apenas alterar o arquivo de folha de estilos (CSS); Pginas mais leves: com folhas de estilo possvel criar muitas pginas com um layout sofisticado que antes s era possvel usando imagens, tecnologias como Flash ou applets Java. Estas pginas eram sempre mais pesadas, pois precisavam carregar imagens, componentes, programas. Com CSS possvel definir texto de qualquer tamanho, posicion-lo por cima de outros objetos, ao lado ou por cima de texto e conseguir efeitos sofisticados a um custo (banda de rede) baixo. possvel ainda importar fontes (que o usurio talvez no tenha instalado);

Manuteno facilitada: uma folha de estilos serve para toda uma coleo de pginas, podendo ser usada para dar um estilo consistente a todo o site. Sendo aplicada em separado da informao e estrutura, no precisar ser atualizada todas as vezes em que a informao for mudada. A pgina pode ser atualizada em um editor HTML ou gerador de HTML simples, sem recursos de cor ou alinhamento, e ser formatada na hora em que for carregada pelo browser. possvel tambm fazer o contrrio: mudar o estilo sem alterar a informao, como ter uma pgina que sempre carrega com um estilo diferente. [6] Apesar da sua praticidade, o uso desta tecnologia deve ser feito com cuidado. Isso

porque nem todos os navegadores Web suportam totalmente as definies do CSS. Dessa forma, recomendvel sempre testar as folhas de estilo em diferentes navegadores de diferentes fabricantes, e, preferencialmente, em mais de uma verso, para garantir que o resultado esperado seja apresentado da forma desejada. [5] 2.3 JavaScript O JavaScript uma linguagem de programao do lado do cliente, ou seja, uma linguagem onde o navegador o responsvel pela carga de processamento. Graas a sua compatibilidade com a maioria dos navegadores modernos, a linguagem de programao do lado do cliente mais utilizado. Esta linguagem bastante semelhante ao Java, e foi criada em 1995 pela Netscape. Inicialmente, o JavaScript deveria atender a duas finalidades, mas com a mesma sintaxe. A primeira finalidade era como uma linguagem de script que pudesse ser usada por administradores de servidores Web para controlar o servidor e conectar as pginas a outros servios. A segunda finalidade seria proporcionar o melhoramento das pginas Web do lado do cliente. Uma destas melhorias, por exemplo, era a validao de formulrios no lado do cliente, evitando assim que o servidor ou o banco de dados ficasse encarregado desta tarefa, minimizando a troca de dados entre o navegador Web do cliente e o servidor. [7] Pode-se dizer que o JavaScript uma linguagem com muitas possibilidades, permite a programao de pequenos scripts, mas tambm de programas maiores, orientados a objetos, com funes, estruturas de dados complexas, etc. Ademais, Javascript coloca disposio do programador todos os elementos que formam a pgina web, para que este possa acess-los e modific-los dinamicamente. Esse dinamismo surge atravs da combinao com o CSS,

10

formando o Dynamic HTML (HTML Dinmica), ou DHTML. O dinamismo resultante permite que uma pgina Web seja modificada na prpria mquina cliente, sem necessidade de novos acessos ao servidor Web. [8]

2.4

Orientao a objetos O termo orientao a objetos uma organizao de software baseada na coleo de

objetos discretos que so incorporados a uma estrutura que contm comportamentos prprios. Esta abordagem de organizao significativamente diferente do modo de desenvolvimento tradicional de software, na qual as estruturas de dados e rotinas so desenvolvidas de forma apenas fracamente acopladas. [9] O entendimento da programao orientada o objetos depende de dois conceitos fundamentais: [9] Classe: a representao de um conjunto de objetos que possuem caractersticas em comum. Uma classe define os mtodos e os atributos de um objeto. Os atributos, conhecidos tambm como propriedades, indicam as informaes que podem ser armazenadas por um objeto de uma classe, representando o estado de cada objeto. Os mtodos, ou comportamentos, so procedimentos que constituem as aes e servios oferecidos por objetos de uma classe; Objeto: uma instncia de uma classe. Os objetos tm como objetivo promover um entendimento prximo ao mundo real, suportando uma base prtica para uma implementao a nvel de software. A programao orientada a objetos visa a identificao de um conjunto de objetos que melhor representa um sistema de software. Nesta abordagem, implementa-se qual conjunto de classes que iro definir os objetos presentes nesse sistema. Cada classe ir determinar os mtodos e os atributos de seus objetos, assim como o relacionamento com outros objetos. Os principais fundamentos da orientao objeto so: [9] Herana (ou generalizao): a capacidade pela qual uma classe abaixo na hierarquia de classes (subclasse) pode estender outra classe mais acima na hierarquia de classes (superclasse), herdando seus mtodos e atributos. Um caso particular de herana a herana mltipla, na qual uma subclasse possui mais de uma superclasse;

11

Encapsulamento: o mecanismo que permite separar os aspectos internos dos aspectos externos de um objeto. O encapsulamento protege o acesso direto (referncia) aos atributos de um objeto fora da classe onde foram declarados. Esta proteo consiste em se usar modificadores de acesso mais restritivos sobre os atributos definidos na classe. Depois devem ser criados mtodos para manipular de forma indireta os atributos da classe;

Abstrao: a habilidade em se considerar apenas os aspectos relevantes de um contexto, ignorando outras caractersticas que so consideradas menos importantes dentro do contexto. Em uma abordagem de orientao a objetos, uma classe considerada uma abstrao das entidades existentes dentro do domnio do sistema de software;

Polimorfismo: permite que duas ou mais referncias de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Dessa forma, um mesmo mtodo pode ser apresentado por vrias formas, de acordo com seu contexto. A deciso sobre qual mtodo que dever ser usado, pelo tipo da classe derivada, feita em tempo de execuo. O polimorfismo importante, pois permite que a semntica de uma interface seja efetivamente separada da implementao que a representa. O mtodo orientado a objetos para o desenvolvimento de software , certamente, uma

parte do fluxo principal, simplesmente por ter mostrado a sua importncia para a construo de sistemas em todos os tipos de domnios de problemas, abrangendo todos os graus de tamanho e complexidade. Alm disso, muitas linguagens, sistemas operacionais e ferramentas de desenvolvimento so orientados a objeto, o que fortalece a viso de mundo em termos de objetos. 2.5 UML A UML (Unified Modeling Language) uma linguagem diagramtica de modelagem de dados usada para especificao, visualizao, construo e documentao de sistemas complexos de software. Seu objetivo no indicar como um software deve ser desenvolvido, mas indicar apenas as formas que podem ser utilizadas para representar um software em diversos estgios de desenvolvimento. [9]

12

A UML oferece um formato padro para a criao de planos de arquitetura de projetos e sistemas, incluindo aspectos conceituais, tais como regras de negcios e funes do sistema, alm de itens concretos como as classes escritas em uma determinada linguagem de programao, esquemas de bancos de dados e componentes de software reutilizveis. Atravs da utilizao de diagramas, possvel gerar representaes de sistemas de software sob diferentes perspectivas. Alm disso, a UML facilita a comunicao entre todas as pessoas envolvidas no projeto de desenvolvimento de um grande sistema. [10] Apesar de que a modelagem permite a compreenso do sistema, nenhum modelo completamente suficiente. Sempre sero necessrios vrios modelos, conectados entre si, para tornar possvel o entendimento de qualquer aspecto. Em sistemas que fazem uso intenso de software, torna-se necessria uma linguagem capaz de abranger as diferentes vises relacionadas arquitetura do sistema, j que essa arquitetura evolui ao longo do ciclo de vida do desenvolvimento do software. A criao de modelos bem definidos servir como guia para a deciso de quais artefatos sero produzidos, quais atividades e trabalhadores sero envolvidos no projeto e como esses artefatos sero usados para medir e controlar o projeto como um todo. 2.5.1 Diagrama de caso de uso Um caso de uso descreve uma seqncia de aes que representam um cenrio principal e cenrios alternativos com o objetivo de demonstrar o comportamento de um sistema, atravs de interaes com atores. [9] Quando o desenvolvedor realiza o levantamento de requisitos com o usurio, h a necessidade de document-los, no apenas para o entendimento e validao de ambas as partes, mas tambm para servir como base no ambgua para toda a equipe de desenvolvimento. A documentao dos requisitos evita que informaes importantes se percam, sendo descobertas apenas ao apresentar o produto final ao usurio. Utilizando a modelagem de casos de uso, o primeiro passo no desenvolvimento do software separar as funcionalidades do sistema. Destas funcionalidades, devemos agrupar um conjunto de aes que tenham um objetivo bem definido. O caso de uso, por expressar os requisitos do sistema utilizado durante todo o processo de desenvolvimento. Os requisitos alm de serem a base para a criao dos modelos de anlise, projeto e implementao, tambm so usados como base para a criao de testes do sistema.

13

Os sistemas recebem e enviam informaes para o mundo externo atravs de suas fronteiras. O envio e recebimento destas informaes devem ficar sob a responsabilidade de algum ou de algo. Na modelagem de casos de uso, esse papel externo exercido por um ator. Um ator representa um conjunto de papis exercido por um usurio do sistema ao interagir com um determinado caso de uso. Um modelo de diagrama de caso de uso pode ser visto no exemplo apresentado a seguir:

Figura 2.3 Representao de um diagrama de caso de uso [9] responsabilidade do caso de uso demonstrar com quais atores o sistema interage. Essa identificao na fase de anlise fornece ao projetista, no futuro, base para a criao dos perfis de acesso ao sistema. 2.5.2 Diagrama de classes Aps a extrao dos objetos de aplicao dos requisitos, necessrio separar e classificar suas caractersticas, modelando, por conseguinte, as classes do sistema. A essncia do sistema no est apenas em suas classes, mas principalmente em seus relacionamentos. [9] Existem alguns conceitos que so de uso geral dentro de diagramas de classes e fornecem informaes adicionais a diversos elementos estruturais da UML, como por exemplo: relacionamentos, atributos, operaes, etc. Essas informaes constituem-se de detalhes preciosos para o projeto de sistema. Algumas caractersticas fundamentais que constituem o conceito de diagrama de classes so apresentadas abaixo: Visibilidade: a visibilidade identifica por quem uma propriedade (atributo ou operao) pode ser utilizada. O conceito semelhante ao conceito aplicado para definir a visibilidade de variveis e de outros elementos dentro das diversas linguagens

14

de programao. A diferena o conjunto de visibilidades possveis a abrangncia dessa viso; Multiplicidade: indica uma faixa de cardinalidade permitida a um elemento, isto , a quantidade de instncias possveis em um relacionamento. A multiplicidade consiste num subconjunto de um conjunto infinito de nmeros inteiros no-negativos; Escopo: a instncia de um objeto que possui caractersticas individuais; Esteretipo: um mecanismo de extensibilidade da UML que representa uma subclasse de um elemento j existente com o mesmo formato, porm com objetivos diferentes e bem definidos. Geralmente, quando necessrio distinguir um uso especfico para um elemento, utilizado esteretipos; Notas: so smbolos grficos que contm informao textual. So utilizados para especificar vrios tipos de informaes sobre os modelos, como: restries, comentrios, corpos de mtodos e valores de etiqueta. 2.5.3 Diagrama de seqncia O uso dos diagramas de seqncia indicado para a identificao de operaes de classes. Normalmente, durante o desenho dos diagramas, percebe-se as mensagens necessrias, e se elas no existirem como operaes de classe, podero ser includas neste momento. [9] O diagrama pode ser desenhado de forma gradativa, no qual a cada mensagem surgida, verifica-se a existncia de um objeto instanciado ou no, procedendo a sua criao, se necessrio. Condies so recursos interessantes no diagrama de seqncias, mas seu uso para separar cenrios totalmente distintos pode dificultar a compreenso do diagrama. O uso mais freqente para o diagrama de seqncias o de representar cenrios de um caso de uso. 2.6 Processo de desenvolvimento de software Processo de desenvolvimento de software um conjunto de passos parcialmente ordenados, constitudos por atividades, mtodos, prticas e transformaes, cuja finalidade alcanar um objetivo. Este objetivo normalmente est associado a um ou mais resultados concretos finais, que so produtos da execuo do processo. [12]

15

Um processo definido quando a documentao detalhada, especificando o que feito (produto), quando (passos), por quem (agentes), o que usado (insumos) e o que produzido (resultados). Os processos de desenvolvimento de software so estudados dentro da rea de Engenharia de software e so considerados um dos principais mecanismos para obteno de softwares de qualidade por cumprirem corretamente os contratos de desenvolvimento, sendo uma das respostas tcnicas adequadas para resolver os problemas de desenvolvimento de software. [13] As atividades de processo existentes no processo de desenvolvimento de software so: [13] Anlise de requisitos de software: esta a primeira tarefa para o incio da criao de um software. Visa levantar os requisitos de um desejado produto de software junto ao cliente. Esta atividade requer habilidade e experincia em engenharia de software, para que a extrao dos requisitos por parte do cliente tenha um entendimento claro, sem ambigidades e contradies; Especificao: a especificao descreve, de forma precisa, o software que ser produzido. Uma especificao bem sucedida depende fundamentalmente de um levantamento de requisitos bem sucedido; Arquitetura de Software: a arquitetura de um sistema de software trata da representao abstrata daquele sistema. Ela garante que o software que ser produzido ir atender todos os requisitos do produto. A etapa da arquitetura tambm direciona as interfaces entre os sistemas de software e outros produtos de software, como tambm com o hardware bsico ou sistema operacional; Implementao (codificao): A transformao de um projeto para um cdigo dever ser a parte mais evidente do trabalho da engenharia de software, mas no necessariamente a sua maior poro; Teste: esta atividade visa analisar o funcionamento e os resultados esperados do software, a fim de garantir o bom funcionamento do produto final; Documentao: uma das mais importantes atividades (e tambm uma das mais desprezadas) a documentao do projeto do software. O propsito da documentao fornecer um maior entendimento do sistema de software, permitindo que futuras manutenes e implementaes sejam realizadas de forma mais satisfatrias;

16

Suporte e treinamento: esta atividade de fundamental importncia para que os usurios se familiarizem com o novo ambiente do software produzido. preciso fornecer aos usurios todo o conhecimento necessrio para que possam usar o software, utilizando todos os recursos que foram disponibilizados; Manuteno: A manuteno e melhoria de software lidam com a descoberta de novos problemas e requerimentos. Ela pode tomar mais tempo que o gasto no desenvolvimento inicial do software. A maioria das manutenes para ampliar os sistemas para novas funcionalidades, as quais de diversas formas podem ser consideradas como um novo trabalho.

2.6.1 Processo unificado O Processo Unificado (PU) de desenvolvimento de software o conjunto de atividades necessrias para transformar requisitos do usurio em um sistema de software. Ele baseado em componentes, o que significa que o sistema construdo a partir de componentes de software que so interconectados atravs de interfaces bem definidas. O Processo Unificado utiliza a Linguagem UML no preparo de todos os artefatos do sistema. [14] O Processo Unificado apresenta as seguintes caractersticas: [12] dirigido por casos de uso: os casos de uso direcionam o processo de desenvolvimento, j que, baseados no modelo de casos de uso os desenvolvedores criam uma srie de modelos de projeto e implementao que os realizam efetivamente. Os responsveis pelos testes realizam seu trabalho com o propsito de garantir que os componentes do modelo de implementao cumpram corretamente os objetivos estabelecidos nos casos de uso. Desta forma, os casos de uso no somente iniciam o processo de desenvolvimento, mas tambm o mantm coeso; centrado na arquitetura: o conceito de arquitetura de software incorpora os aspectos estticos e dinmicos mais importantes do sistema. A arquitetura influenciada por muitos fatores, tais como a plataforma de software sobre a qual o sistema vai rodar (sistema operacional, sistema gerenciador de banco de dados, protocolos para comunicao em rede, etc.), blocos de construo reusveis disponveis (por exemplo, um framework para construo de interface grfica com o usurio), consideraes de distribuio, sistemas legado e requisitos no funcionais (performance, confiabilidade,

17

etc.). Ela representa uma viso do projeto como um todo, na qual as caractersticas mais importantes so colocadas em destaque, deixando os detalhes de lado; iterativo e incremental: iteraes so passos em um fluxo de trabalho e incrementos so crescimentos do produto. Em cada iterao, os desenvolvedores identificam e especificam os casos de uso relevantes, criam um projeto utilizando a arquitetura escolhida como guia, implementam o projeto em componentes e verificam se esses componentes satisfazem os casos de uso. Se uma iterao atinge seus objetivos, e isso normalmente ocorre, o desenvolvimento prossegue com a prxima iterao, caso contrrio, os desenvolvedores devem rever suas decises e tentar uma nova abordagem. O ciclo de vida de um produto tem um modelo em espiral, no qual cada projeto constitui um ciclo que entrega uma liberao do produto. O Processo Unificado no trata do que acontece entre ciclos. Os ciclos so divididos em fases, conforme ilustra a tabela 2.1 e a figura 2.4. Tabela 2.1 Fases do Processo Unificado [12] Fase Concepo Elaborao Construo Transio Descrio Fase na qual se justifica a execuo de um projeto de desenvolvimento de software, do ponto de vista do negcio do cliente. Fase na qual o produto detalhado o suficiente para permitir um planejamento acurado da fase de construo. Fase na qual produzida uma verso completamente operacional do produto. Fase na qual o produto colocado disposio de uma comunidade de usurios.

18

Figura 2.4 Estrutura do PU [11] Uma das caractersticas mais importantes do Processo Unificado que as atividades tcnicas so divididas em sub-processos chamados de fluxos de trabalho (workflows), conforme ilustra a tabela 2.2. Cada workflow que tem um tema tcnico especfico, enquanto as fases constituem divises gerenciais, caracterizadas por atingirem metas bem definidas. Tabela 2.2 Fluxos do Processo Unificado [12] Fluxo Requisitos Descrio Fluxo que visa obter um conjunto de requisitos de um produto, existente entre cliente e fornecedor. Fluxo cujo objetivo detalhar, estruturar e validar os requisitos, de maneira que possam ser usados como base para o planejamento de forma detalhada. Fluxo cujo objetivo formular um modelo estrutural do produto, que sirva de base para a implementao. Fluxo cujo objetivo realizar o desenho em termos de componentes de cdigo. Fluxo cujo objetivo verificar os resultados da implementao.

Anlise

Desenho Implementao Testes

19

Dentro de cada fase, os workflows obedecem a um grau de importncia e devem ser realizados seguindo uma srie de objetivos e marcos estabelecidos. Concludos, os objetivos e marcos da fase, realiza-se a iterao da mesma. Conforme so realizadas as iteraes das fases, os artefatos ganham forma dentro dos workflows, artefatos estes desejados e previamente estipulados pelo processo.

20

CAPTULO 3 PROJETO 3.1 Introduo Considerando a Internet como crescente meio de comunicao e ambiente de desenvolvimento, alm das vrias tecnologias que renem diversos recursos para a criao de aplicaes Web, ser desenvolvido o site do Departamento de Computao da UCG. Aps uma anlise tcnica entre vrios produtos existentes no mercado, constatou-se que existem diferentes estruturas disponveis para criao e gerenciamento de sites web. Entretanto, o objetivo deste projeto o desenvolvimento de uma estrutura similar s existentes no mercado, utilizando-se todos os conhecimentos acerca dos recursos apresentados, visando a construo de uma ferramenta verstil, com uma interface simples e bastante amigvel. O Site do Departamento de Computao da UCG tem como objetivo disponibilizar contedo e informaes pertinentes a alunos, professores e visitantes. Alm disso, o sistema de gerenciamento de contedo oferece ao usurio final uma ferramenta prtica e de fcil manuseio que permitir o gerenciamento completo das informaes do Website. O Site ser constitudo por um conjunto de mdulos comuns e essenciais para qualquer sistema web, alm dos mdulos especficos desenvolvidos para atender verdadeira necessidade dos usurios finais. Desta forma, qualquer usurio poder gerenciar o contedo do sistema web de maneira fcil e prtica, sem a necessidade de conhecimentos tcnicos. 3.2 Detalhamento do projeto O Site do Departamento de Computao da UCG ser desenvolvido utilizando tecnologia Web, com linguagem de programao PHP e suporte ao sistema gerenciador de banco de dados MySQL. As razes que motivaram a escolha desta linguagem de programao para o desenvolvimento deste projeto foram a estrutura de servidores e ambientes j existentes na instituio para a implantao do website, alm das razes j mencionadas no item 2.1.2.2 do captulo 2. A escolha do banco de dados MySQL tambm deve-se ao ambiente j existente, como tambm sua leveza e agilidade na manipulao de dados. A documentao em anexo constituda pela Viso geral do sistema, Documento de levantamento de requisitos, Diagrama geral de caso de uso, Expanso de alguns casos de uso

21

e Estrutura do sistema. O documento de viso geral do sistema apresenta um relato resumido com os principais tpicos que o website deve fornecer. O documento foi desenvolvido atravs de reunio entre o engenheiro de software e os usurios envolvidos no desenvolvimento do projeto. Os requisitos apresentados no Documento de levantamento de requisitos foram levantados com base no documento de viso geral do sistema, juntamente com pesquisas realizadas em alguns websites de departamentos de computao e informtica existentes na internet. Alm disso, foi realizado o estudo de alguns gerenciadores de contedo existentes no mercado. O Diagrama geral de caso de uso apresenta a fronteira do sistema juntamente com a modelagem dos requisitos, permitindo uma viso geral dos relacionamentos entre requisitos e atores. O anexo seguinte demonstra a expanso de alguns casos de uso juntamente com seu respectivo diagrama de seqncia. As especificaes sobre a estrutura do sistema podem ser verificadas no ltimo anexo do projeto. A estrutura de arquivos do sistema dividida em mdulos. Cada mdulo est subdivido em diretrios especficos, proporcionando melhor organizao e maior acessibilidade para os usurios do Website. As funes referentes aos mdulos esto organizadas em arquivos separados, sendo reunidas dentro de um diretrio de configuraes. Alm disso, dentro do diretrio de configurao esto reunidas funes gerais que so utilizadas em todo o sistema, alm de arquivos que definem as configuraes do sistema. Este tipo de organizao visa promover maior facilidade de manuteno no sistema. O documento demonstra como so organizados os diretrios do website e qual o contedo de cada um deles. A estrutura em mdulos e os arquivos que os compe so demonstrados atravs do diagrama de pginas do website e do diagrama de pginas do administrador de contedo. O diagrama do banco de dados apresenta a modelagem do banco de dados relacional utilizada no website. No diagrama possvel visualizar todas as tabelas do banco de dados, seus relacionamentos e os campos que compe as tabelas. A tabela abaixo apresenta uma relao de todas as tecnologias e componentes utilizados na implementao do website e os recursos de hardware e software necessrios para o uso do sistema.

22

Linguagem de desenvolvimento utilizada Sistema Gerenciador de Banco de Dados Requisitos de hardware

PHP 5.0 MySQL Server 4.1 Processador Pentium IV 1.9 Ghz ou similar 256 MB RAM Servidor Apache 2.0.55 ou superior - Sistema Operacional Microsfot Windows ou Linux - Internet Explorer 3.0 ou superior

Requisitos de software do servidor Requisitos de software do cliente

23

CAPTULO 4 CONCLUSO Atualmente, existem diversas tecnologias que contriburam para o avano do desenvolvimento de aplicaes Web. Consideramos que de fundamental importncia o conhecimento destas vrias tecnologias para reunir o maior nmero de recursos possveis para a implementao de um produto de software em ambiente web. Percebemos tambm que algumas tecnologias apresentam uma variedade de vantagens sobre outras, o que contribuiu para a escolha de algumas tecnologias especficas. O desejo com este trabalho de contribuir com o aprimoramento do meu aprendizado acadmico e com os alunos do curso de Cincia da Computao, possibilitando a elaborao de um manual de pesquisa e, at, de referncia para o desenvolvimento para Web e bem como instigar uma viso mais crtica a respeito deste tema. A implementao do projeto visa apresentar um melhor entendimento da aplicao destas tecnologias, alm de oferecer uma aplicao que contribua para o entendimento das mesmas e facilite o trabalho de desenvolvedores web.

24

REFERNCIAS BIBLIOGRFICAS 1. BOGO, KELLEN CRISTINA. A Histria da Internet - Como Tudo Comeou.... Site Kplus, 01/07/2000. Disponvel em: http://kplus.cosmo.com.br/materia.asp?co=11&rv=Vivencia Acessado em: 01/11/2007 2. MITCHELL, SCOTT; ATKINSON JAMES. Aprenda em 21 dias ASP Active Server Pages 3.0. Rio de Janeiro: Campus, 2000. 3. Manual de Pginas Dinmicas. Site Criar Web Disponvel em: http://www.criarweb.com/manuais/paginas_dinamicas/ Acessado em: 01/11/2007 4. CONVERSE, TIM; PARK, JOYCE. PHP A Bblia. Rio de Janeiro: Campus, 2003. 5. SCHMITT, CHRISTOPHER; TRAMMELL, MARK; MARCOTTE, ETHAN. Professional CSS - Cascading Style Sheets for Web Designs. Indianapolis: Wiley Publishing, Inc., 2005. 6. RENATA HIROMI MINAMI MIYAGUSKU. Desvendando os Recursos do CSS. Rio de Janeiro: Digerati Books, 2007. 7. GOODMAN, DANNY. JavaScript A Bblia. Rio de Janeiro: Campus, 2001. 8. ZAKAS, NICHOLAS C. Professional JavaScript For Web Developers. Indianapolis: Wiley Publishing, Inc., 2005. 9. MELO, ANA CRISTINA. Desenvolvendo Aplicaes com UML Do conceito implementao. Rio de Janeiro: Brasport, 2002. 10. MEDEIROS, ERNANI. Desenvolvendo Aoftware com UML 2.0. So Paulo: Makron Books, 2004. 11. ARLOW, JIM; NEUSTADT, ILA. UML and the Unified Process: Practical Object Oriented, Analysis & Design. London: Addison Wesley, 2002. 12. FILHO, WILSON DE PDUA PAULA. Engenharia de Software - Fundamentos, Mtodos e Padres. Rio de Janeiro: LTC Editora SA, 2001. 13. Processo de desenvolvimento de software. Site Wikipdia, a enciclopdia livre. Disponvel em: http://pt.wikipedia.org/wiki/MVC Acessado em: 18/11/2007 14. JACOBSON, I. et al. The unified software development process. Reading: AddisonWesley, 1999.

25

GLOSSRIO Benchmark: um processo sistemtico e contnuo de avaliao dos produtos, servios e processos de trabalho de organizaes que so reconhecidas como representantes das melhores prticas, com a finalidade de introduzir melhorias na organizao. Browser: tambm conhecido como navegador web, um programa que permite seus usurios visualizarem e interagirem com pginas Web hospedadas em um servidor Web. Caso de uso: um tipo de classificador representando uma unidade funcional coerente provida pelo sistema, subsistema, ou classe manifestada por seqncias de mensagens intercambiveis entre os sistemas e um ou mais atores. Pode ser representado por uma elipse contendo, internamente, o nome do caso de uso. CGI: acrnimo para a expresso Common Gateway Interface. Consiste numa importante tecnologia que permite gerar pginas dinmicas permitindo a um navegador passar parmetros para um programa alojado num servidor web. Assim, designam-se por scripts CGI os pequenos programas que interpretam esses parmetros e geram a pgina depois de processlos. HTML: acrnimo para a expresso HyperText Markup Language. uma linguagem de marcao utilizada para produzir pginas na Web que so interpretadas por navegadores. HTTP: acrnimo para a expresso HyperText Transfer Protocol (Protocolo de Transferncia de Hipertexto) e um protocolo da camada de "Aplicao" do modelo OSI, utilizado para transferncia de dados na Internet. IMAP: acrnimo para a expresso Internet Message Access Protocol. um protocolo de gerenciamento de correio eletrnico superior em recursos ao POP3. Uma de suas maiores caractersticas que as mensagens ficam armazenadas no servidor, e o usurio pode ter acesso s suas pastas e mensagens em qualquer computador, tanto por Webmail como por cliente de correio eletrnico.

26

LDAP: acrnimo para a expresso Lightweight Directory Access Protocol. um protocolo utilizado para atualizar e pesquisar diretrios rodando sobre o protocolo TCP/IP. ODBC: acrnimo para a expresso Open Data Base Connectivity. uma tecnologia padro de programao para o acesso a banco de dados por meio de uma biblioteca de funes prdefinidas. POP3: acrnimo para a expresso Post Office Protocol. um protocolo utilizado no acesso remoto a uma caixa de correio eletrnico, no qual todas as mensagens contidas numa caixa de correio eletrnico possam ser transferidas seqencialmente para um computador local. URL: acrnimo para a expresso Universal Resource Locator. o endereo de um recurso disponvel em uma rede; seja a Internet, ou uma rede corporativa, uma intranet. XML: acrnimo para a expresso eXtensible Markup Language. uma metalinguagem que define regras para a criao de linguagem de marcao para exemplos codificados de um documento particular ou tipo de mensagem. Web / World Wide Web: nome dado rede de servidores da Internet que mantm documentos hipermdia, interligados entre si por hiperlinks e que formam uma grande teia de informaes espalhadas pelo mundo.

27

ANEXOS

SITE DO DEPARTAMENTO DE COMPUTAO DA UCG

28

ANEXO A VISO GERAL DO SISTEMA 1) Introduo: Aps a reunio inicial realizada entre o Engenheiro de Software, o Sr. Fredy Fortes dos Santos, e os professores do Departamento de Computao, o Sr. Vicente Paulo de Camargo e o Sr. Antnio Csar Baleeiro Alves, foi estabelecido este documento para informar as necessidades gerais do Site do Departamento de Computao da UCG. 2) Contexto: O Departamento de Computao da UCG deseja implementar um Website a fim de disponibilizar um mecanismo diferenciado de comunicao e informao para alunos, professores e visitantes. O Website atual da Universidade Catlica de Gois dispe de um espao no qual so fornecidas informaes sobre seus cursos e departamentos. Entretanto, este espao limitado e no oferece aos departamentos a possibilidade de publicar diferentes tipos de contedo que sejam do interesse de alunos, professores e visitantes. Em vista disto, o Departamento de Computao da UCG sentiu a necessidade da criao de um Website onde sero disponibilizados diversas informaes e recursos que podero ser facilmente gerenciadas atravs de um sistema de gerenciamento de contedo desenvolvido em ambiente web. Com o desenvolvimento do Website, o Departamento de Computao visa solucionar a necessidade apresentada, alm de promover uma melhor divulgao sobre o Departamento de Computao da UCG e seus cursos oferecidos. 3) Viso do Sistema: O website dever armazenar e controlar todo contedo e informao na forma digital, garantindo a integridade, autenticidade e confiabilidade de todo o contedo, protegendo contra todo o acesso, uso, alterao, reproduo e destruio no autorizada. O website dever proporcionar um ambiente agradvel e bem organizado para o visitante com o intuito de fornecer informaes de forma objetiva e concisa. O website dever possuir tambm um layout simples e limpo, valorizando a disponibilizao do contedo. O website dever ter um gerenciador de contedo que permitir o manuseio de todas as informaes inseridas no website. Esse gerenciador dever ficar localizado em uma rea restrita na qual apenas usurios cadastrados tero acesso. Por se tratar de um ambiente web, o gerenciador de contedo dever contar com um mecanismo de segurana para verificao e validao dos dados informados para impedir tentativas maliciosas de login.

29

As permisses de acesso ao painel de controle dependem do nvel do usurio. Para classificar os usurios quanto aos privilgios de acesso ao gerenciado de contedo, os usurios foram divididos em trs tipos: Nvel mximo: o usurio de maior nvel no sistema. Apenas este usurio tem permisso para cadastrar novos usurios. Ele tambm tem total permisso de gerncia do sistema; Nvel intermedirio: o usurio de mdio nvel no sistema. Este usurio tambm possui total permisso de acesso a qualquer mdulo, com exceo ao mdulo de cadastro de usurios; Nvel inferior: o usurio de nvel mais baixo no sistema. Este nvel atribudo aos usurios que so apenas professores. Dessa forma o usurio s ter acesso ao mdulo de administrao das informaes de professor.

O website dever criar relatrios de acesso dos usurios ao painel de controle, assim como relatrio de tentativas de acesso sem sucesso ao sistema. O website dever organizar os arquivos inseridos em diretrios especficos de acordo com o tipo e contedo do arquivo. Os arquivos disponibilizados para os usurios do sistema podero ser visualizados e/ou utilizados utilizando os prprios recursos do sistema operacional.

30

ANEXO B DOCUMENTO DE LEVANTAMENTO DE REQUISITOS Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: REQ0001 Manter cadastro de usurios [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro dos usurios que tero acesso ao sistema. - Cdigo do usurio; - Senha; - Primeiro nome; - Sobrenome; - E-mail; - Nome de usurio; - Telefone; - Celular; - Nvel do usurio. - Primeiro nome; - Sobrenome; - E-mail; - Nome de usurio; - O nome de usurio deve ter no mximo 20 caracteres; - A senha deve ter no mnimo 6 e no mximo 12 caracteres; - No poder haver duplicidades usurios no sistema, o mesmo nome ser permitido, porm o mesmo nome de usurio no. - O sistema conta com trs nveis de usurios: nvel mximo, nvel mdio e nvel baixo; - Somente o usurio de nvel mximo pode manter o cadastro de usurios com nvel igual ou inferior ao dele. O sistema funciona em uma rea restrita onde somente usurios cadastrados podem ter acesso ao painel de controle.

Descrio: Entradas automticas:

Entradas informadas:

Obrigatrios:

Observaes :

Justificativa:

31 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: REQ0002 Efetuar login no sistema [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos

Descrio: Entradas automticas: Entradas informadas: Obrigatrios: Observaes:

Verifica os dados de login do usurio e permite sua entrada no sistema. Inexistente - Nome de usurio; - Senha. Todos No h observaes. Para que o usurio cadastrado acesse a rea restrita do sistema, necessrio informar seus dados de login para que seja criada uma sesso onde o mesmo ter sua entrada permitida no sistema.

Justificativa:

32 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: Obrigatrios: Observaes: Justificativa: REQ0003 Efetuar logout no sistema [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [x]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Encerra a sesso do usurio e realiza a sada do usurio do sistema. Inexistente Inexistente Inexistente No h observaes. Permitir a sada do usurio com segurana no sistema.

33 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: Obrigatrios: REQ0004 Validar login no sistema [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos Faz a validao das informaes de login para impedir a ocorrncia de tentativas de login malicioso no sistema. Inexistente - Nome de usurio; - Senha. Todos - O sistema dever verificar a ocorrncia do uso de SQL Injection; - O sistema dever verificar a ocorrncia do uso de Brute Force; - O usurio tem direito a cinco tentativas para entrar no sistema; - Caso o usurio exceda as cinco tentativas, seu acesso ser bloqueado pelo seu nmero de IP e ele s poder fazer uma nova tentativa no dia seguinte; - Toda tentativa maliciosa de login ser registrada e o sistema emitir um aviso via e-mail ao responsvel pelo sistema. Por se tratar de um sistema em ambiente web, necessrio a utilizao de tcnicas de validao dos dados de login para garantir a segurana do sistema..

Observaes:

Justificativa:

34 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0005 Manter cadastro de professores [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [x]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro dos professores. - Cdigo do professor - Titulao; - Qualificao; - rea de conhecimento; - E-mail de trabalho; - Site pessoal; - Currculo; - Foto. Nenhum - Cada professor responsvel pela insero destas informaes. - O professor precisa ser um usurio previamente cadastrado no sistema.

Entradas informadas:

Obrigatrios:

Observaes:

35 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: Obrigatrios: Observaes: Justificativa: REQ0006 Manter cadastro de titulao [ x ] Funcional [ ] No-funcional [x]1 [ ]2 [ ]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de titulao dos professores. - Cdigo da titulao - Titulao - Titulao No h observaes - O professor precisa ser um usurio previamente cadastrado no sistema.

36 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0007 Manter cadastro de notcias [ x ] Funcional [ ] No-funcional [ ]1 [x]2 [ ]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de notcias do web site. - Cdigo da notcia - Tipo (Destaque, no-destaque); - Categoria; - Ttulo; - Resumo; - Texto de chamada; - Data de publicao; - Texto; - Foto; - Fonte. - Tipo (Destaque, no-destaque); - Categoria; - Ttulo; - Resumo; - Texto de chamada; - Data de publicao; - Texto. - Caso o tipo da notcia seja destaque, o campo foto torna-se obrigatrio.

Entradas informadas:

Obrigatrios:

Observaes:

37 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: Obrigatrios: Observaes: REQ0008 Manter cadastro de categorias de notcias [ x ] Funcional [ ] No-funcional [ ]1 [x]2 [ ]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de categorias de notcias do web site. - Cdigo da categoria - Categoria. - Categoria. No h observaes

38 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0009 Manter cadastro de galeria de fotos [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de galerias de fotos do web site. - Cdigo da galeria de fotos - Ttulo; - Categoria; - Descrio; - Data de publicao. Todos No h observaes.

Entradas informadas:

Obrigatrios: Observaes:

39 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: REQ0010 Manter cadastro de fotos [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de fotos do web site. - Cdigo da foto - Galeria; - Foto; - Legenda. - Galeria; - Foto. - O cadastro de fotos depende do cadastro da galeria de fotos.

Obrigatrios: Observaes:

40 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: Obrigatrios: Observaes: REQ0011 Manter cadastro de enquetes [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de enquetes do web site. - Cdigo da enquete - Ttulo da enquete; - Data de publicao; - Opes de voto. Todos - O sistema pode permitir que a enquete aceite mais de um voto por pessoa em um mesmo dia ou no.

41 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0012 Manter cadastro de cursos [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [ ]3 [x]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de cursos do web site. - Cdigo do curso - Nome do curso; - Categoria; - Descrio; - Arquivo. - Nome do curso; - Categoria; - Descrio. - Os cursos cadastrados devero ter disciplinas vinculadas a ele.

Entradas informadas:

Obrigatrios:

Observaes:

42 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: Obrigatrios: Observaes: REQ0013 Manter cadastro de categoria de cursos [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [x]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de categorias de cursos do web site. - Cdigo da categoria - Categoria - Categoria No h observaes.

43 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: REQ0014 Manter cadastro de disciplinas [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [ ]3 [x]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de disciplinas do web site. - Cdigo da disciplina - Nome da disciplina; - Descrio; - Arquivo. - Nome da disciplina; - Descrio. No h observaes

Obrigatrios: Observaes:

44 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0015 Manter cadastro de links [ x ] Funcional [ ] No-funcional [x]1 [ ]2 [ ]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de links do web site. - Cdigo do link - Nome do link; - Categoria; - Endereo URL; - Imagem. - Nome do link; - Categoria; - Endereo URL. No h observaes

Entradas informadas:

Obrigatrios: Observaes:

45 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: Obrigatrios: Observaes: REQ0016 Manter cadastro de categorias de links [ x ] Funcional [ ] No-funcional [x]1 [ ]2 [ ]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de categorias de links do web site. - Cdigo da categoria - Nome da categoria - Nome da categoria No h observaes

46 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0017 Manter cadastro de artigos [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [x]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de artigos publicados por professores no web site. - Cdigo do artigo - Ttulo do artigo; - Cdigo do professor; - Data de publicao; - Texto do artigo; - Imagem. - Ttulo do artigo; - Cdigo do professor; - Data de publicao; - Texto do artigo. - O artigo cadastrado est obrigatoriamente vinculado a um cadastro de professor; - Cada professor responsvel pela insero manuteno dos seus artigos.

Entradas informadas:

Obrigatrios:

Observaes:

47 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0018 Manter cadastro de trabalhos de concluso [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [x]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de trabalhos de concluso de curso de alunos publicados por professores no web site. - Cdigo do trabalho - Ttulo do trabalho; - Cdigo do professor; - Cdigo da rea de desenvolvimento; - Alunos responsveis; - Descrio do trabalho; - Ano / Semestre referente; - Data de apresentao. Todos No h observaes

Entradas informadas:

Obrigatrios: Observaes:

48 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: Entradas informadas: Obrigatrios: Observaes: REQ0019 Manter cadastro de rea de conhecimento [ x ] Funcional [ ] No-funcional [ ]1 [x]2 [ ]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de reas de conhecimentos no web site. - Cdigo da rea - Nome da rea de conhecimento - Nome da rea de conhecimento No h observaes

49 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0020 Manter cadastro de resenhas de livros [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [x]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de resenhas de livros publicados por professores no web site. - Cdigo da resenha - Ttulo da resenha; - Cdigo do professor; - Data de publicao; - Texto da resenha; - Imagem. - Ttulo da resenha; - Cdigo do professor; - Data de publicao; - Texto da resenha. - A resenha cadastrada est obrigatoriamente vinculada a um cadastro de professor; - Cada professor responsvel pela insero manuteno das suas resenhas.

Entradas informadas:

Obrigatrios:

Observaes:

50 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0021 Manter cadastro de pesquisas [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [x]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de pesquisas no web site. - Cdigo da pesquisa - Nome da pesquisa; - Tipo da pesquisa; - Data de incio; - Data de trmino; - Alunos participantes; - Professores; - Objetivos; - Convnios. Todos No h observaes

Entradas informadas:

Obrigatrios: Observaes:

51 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0022 Manter cadastro de cursos de extenso [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [x]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de cursos de extenso no web site. - Cdigo do curso de extenso - Nome do curso; - Descrio; - Data de incio; - Data de trmino; - Alunos participantes; - Professores; Todos No h observaes

Entradas informadas:

Obrigatrios: Observaes:

52 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: Entradas automticas: REQ0023 Manter cadastro de projetos de extenso [ x ] Funcional [ ] No-funcional [ ]1 [ ]2 [x]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Trata da manuteno do cadastro de projetos de extenso no web site. - Cdigo do projeto de extenso - Nome do projeto; - Descrio; - Data de incio; - Data de trmino; - Coordenadores. Todos No h observaes

Entradas informadas:

Obrigatrios: Observaes:

53 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: REQ0024 Listar usurios cadastrados [ x ] Funcional [ ] No-funcional [ ]1 [x]2 [ ]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos

Descrio: Observaes:

Relatrio com a listagem de usurios cadastrados no sistema. necessria a disponibilizao de relatrios para consulta de informaes sobre o sistema.

54 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: REQ0025 Listar login de usurios [ x ] Funcional [ ] No-funcional [ ]1 [x]2 [ ]3 [ ]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos Relatrio com a listagem das informaes de login realizados pelos usurios cadastrados no sistema. necessria a disponibilizao de relatrios para consulta de informaes sobre o sistema.

Descrio: Observaes:

55 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: RNF0001 Interface e interao [ ] Funcional [ x ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos

Descrio:

O sistema dever oferecer ao usurio um ambiente administrativo com uma interface amigvel e intuitiva, a fim de proporcionar uma maior facilidade no manuseio do sistema. O sistema deve se adequar s necessidades e funcionalidades do cliente para promover sua facilidade de uso.

Observaes:

56 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: RNF0002 Documentao [ ] Funcional [ x ] No-funcional [ ]1 [ ]2 [ ]3 [x]4 [ ]5 Fredy Fortes dos Santos / Analista de requisitos necessrio fornecer toda documentao relativa ao desenvolvimento do sistema, como tambm o manual de funcionamento do mesmo para os usurios do sistema. A documentao e os manuais devem ser completos e explicativos, a fim de garantir o seu entendimento de forma clara e objetiva.

Descrio:

Justificativa:

57 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: Descrio: RNF0003 SGBD [ ] Funcional [ x ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos Deve utilizar o SGBD MySQL 4.1 ou superior

58 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: RNF0004 Sistema Operacional do servidor [ ] Funcional [ x ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos Sistema Operacional Linux com servidor web Apache 2.0.55 e linguagem PHP 5.0

Descrio:

59 Cdigo Identificador: Nome do Requisito: Tipo de Requisito: Prioridade: Responsvel / Cargo: RNF0005 Sistema Operacional do cliente [ ] Funcional [ x ] No-funcional [ ]1 [ ]2 [ ]3 [ ]4 [x]5 Fredy Fortes dos Santos / Analista de requisitos Sistema Operacional Microsoft Windows ou Linux, com acesso via browser

Descrio:

60

ANEXO C DIAGRAMA GERAL DE CASO DE USO

61

ANEXO D EXPANSO DE ALGUNS CASOS DE USO

Cdigo do caso de uso: UC0001 Nome do Caso de Uso: Efetuar login no sistema Descrio: Este caso de uso permite a entrada do usurio no sistema Ator(es): Usurio Pr-Condio: O usurio precisa estar cadastrado no sistema. Fluxo Principal 1. O usurio acessa a rea administrativa do website; 2. O sistema apresenta a tela de login; 3. O usurio informa seu nome de usurio e senha; [EV] 4. O sistema encontra o usurio e permite o acesso ao sistema; 5. Fim do caso de uso. Fluxo Alternativo 3a. O cadastro do usurio no encontrado 3a.1. O sistema registra a tentativa de login sem sucesso; 3a.2. O fluxo retorna para o item 3.

62

Diagrama de seqncia

63

Cdigo do caso de uso: UC0002 Nome do Caso de Uso: Manter cadastro de usurio e/ou professores Descrio: Este caso de uso permite cadastrar usurios e/ou professores no sistema. Ator(es): Usurio Pr-Condio: O usurio precisa estar logado no sistema. Fluxo Principal 1. O usurio seleciona a opo manter cadastro de usurio no menu; 2. O sistema apresenta o formulrio de cadastro; 3. O usurio informa os dados do usurio; [EV] 4. O usurio informa se o usurio professor; [EV] 5. O usurio executa o cadastro do usurio; 6. O sistema gera uma senha para o usurio cadastrado; 7. O sistema mostra uma mensagem de concluso de operao 8. Fim do caso de uso. Fluxo Alternativo 3a. O nome de usurio j est cadastrado 3a.1. O sistema exibe uma tela de erro com a informao; 3a.2. O fluxo retorna para o item 3. 4a. O usurio professor 4a.1. O sistema insere as informaes de usurio no cadastro de professor; 4a.2. O fluxo retorna para o item 4.

64

Diagrama de seqncia

65

Cdigo do caso de uso: UC0003 Nome do Caso de Uso: Editar perfil de professor Descrio: Este caso de uso permite editar o perfil do professor. Ator(es): Professor Pr-Condio: O usurio precisa ser professor cadastrado no sistema Fluxo Principal 1. O usurio seleciona a opo editar perfil de professor no menu; 2. O sistema apresenta o formulrio de cadastro; 3. O usurio informa os dados do professor; 4. O usurio tem a opo de fazer upload de arquivos; [EV] 5. O usurio executa o cadastro do perfil; 6. O sistema mostra uma mensagem de concluso de operao; 7. Fim do caso de uso. Fluxo Alternativo 4a. Adicionar arquivo de currculo 4a.1. O usurio faz o upload do arquivo; 4a.2. O fluxo retorna para o item 3. 4b. Adicionar arquivo de foto 4b.1. O usurio faz o upload da foto; 4b.2. O fluxo retorna para o item 3.

66

Diagrama de seqncia

67

ANEXO E ESTRUTURA DO SISTEMA

A) Diretrios A estrutura de todo o sistema est organizada em diretrios. Este tipo de organizao promove maior facilidade na manuteno do sistema. A estrutura de diretrios est definida conforme especificao abaixo: Configurao do sistema: config/lib: diretrio de configurao do sistema. Rene bibliotecas de funes, objetos e arquivos de configurao; functions: diretrio de funes gerais do sistema. Rene diversas funes que so usadas no sistema, dividas em arquivos separados por categorias; global: diretrio de parmetros do sistema. Rene todos os parmetros de configurao que so utilizados em todo o sistema; objects: diretrio de funes referentes aos mdulos do sistema. Rene diversas funes especficas de cada mdulo do sistema, dividas em arquivos separados pelo nome dos mdulos; Administrao do sistema: admin: diretrio de administrao do contedo do site. Rene todas as telas de interao do sistema, arquivos de execues de funes e arquivos de layout. Cada mdulo est dividido em diretrios contendo suas respectivas telas e arquivos de execuo; inc: arquivos de includes do sistema. Contm os arquivos que so referenciados em outras pginas; login: contm os arquivos de entrada no sistema que apresenta formulrio para efetuao o login; home: contm a tela inicial do sistema; minhaconta: contm os arquivos de consulta e edio das informaes da conta do usurio; usuarios: contm os arquivos de consulta, cadastro, edio e excluso de usurios; professores: contm os arquivos de consulta, cadastro, edio e excluso de informaes dos professores; noticias: contm os arquivos de consulta, cadastro, edio e excluso de notcias; galeria: contm os arquivos de consulta, cadastro, edio e excluso de galerias de fotos;

68

enquetes: contm os arquivos de consulta, cadastro, edio e excluso de enquetes; links: contm os arquivos de consulta, cadastro, edio e excluso de links; cursos: contm os arquivos de consulta, cadastro, edio e excluso de cursos; disciplinas: contm os arquivos de consulta, cadastro, edio e excluso de disciplinas; cursosextensao: contm os arquivos de consulta, cadastro, edio e excluso de cursos de extenso; projetosextensao: contm os arquivos de consulta, cadastro, edio e excluso de projetos de extenso; pesquisa: contm os arquivos de consulta, cadastro, edio e excluso de pesquisa; avisos: contm os arquivos de consulta, cadastro, edio e excluso de cursos de avisos; departamento: contm os arquivos de consulta, cadastro, edio e excluso do departamento; themes: contm os arquivos que compe o layout do sistema. so arquivos de imagens, de folhas de estilo (css) e scripts javascript;

Website: home: contm a pgina inicial do website; contato: contm a pgina de contato do website; cursos: contm a pgina de cursos e disciplinas dos cursos vinculados ao departamento de computao; departamento: contm a pgina de informaes do departamento e a pgina de downloads de arquivos referentes ao departamento; egressos: contm a pgina de cadastro de egressos no website; extenso: contm a pgina de cursos e projetos de extenso vinculado ao departamento de computao; galeria: contm a pgina de galeria de fotos do website; links: contm a pgina de links do website; notcias: contem a pgina de notcias publicadas pelo departamento de computao; pesquisa: contm a pgina de pesquisas vinculadas ao departamento de computao; professores: contm a pgina de perfil dos professores, artigos publicados, resenhas de livros e trabalhos de concluso de curso; css: contm os arquivos de folha de estilo (css) do site; imagens: contm os arquivos de imagem que compe o layout do site; websitefiles: contm os arquivos enviados para o site via upload separados por categoria.

69

B) Diagrama de pginas do website

70

contato

index.php enviarcontato.php index.php cursos.php index.php arquivos.php index.php enviarcadastro.php index.php votarenquete.php resultado.php

cursos

departamento

egressos

enquetes home extensao

index.php cursos.php projetos.php

galeria

index.php fotos.php index.php links.php index.php noticias.php index.php pesquisa.php index.php perfil.php artigos.php resenha.php downloads.php tcc.php

links

noticias

pesquisa

professores

71

C) Diagrama de pginas do administrador de contedo


index.php cadastro.php informacoes.php downloads.php index.php visualizar.php index.php cadastroenquete.php itensenquete.php index.php cadastrocursos.php cadastrodisciplinas.php index.php cadastrocursos.php cadastroprojetos.php index.php cadastrogaleria.php cadastrofotos.php index.php cadastro.php cadastro.php mudarsenha.php index.php cadastro.php cadastrocategorias.php

avisos

departamento

egressos

enquetes

ensino login home extensao

galeria

links

minhaconta

noticias

pesquisa

index.php pesquisa.php index.php perfil.php cadastroarquivos.php index.php cadastro.php

professores

usuarios

72

D) Diagrama do banco de dados

73

74

ANEXO F ESTRUTURA DO SISTEMA IMPLEMENTADO

O sistema implementado composto basicamente de funcionalodades para manuteno de cadastro de contedo que ir compor a base de dados do Website. A tela inicial apresenta um formulrio de entrada (login) para usurios cadastrados no sistema de administrao do Website. A mesma mostrada na Figura 7.1.

Figura 7.1 Tela de login do sistema de administrao do Website Atravs desta tela, somente usurios previamente cadastrados no site tero acesso ao sistema, informando o seu nome de usurio (login) e sua senha. Quando o usurio reconhecido pelo sistema ele redirecionado para tela principal do sistema, composta de um menu com as principais funcionalidades disponibilizadas, como mostra a Figura 7.2.

75

Figura 7.2 Tela principal do sistema

A) Menu Contedo