Você está na página 1de 110

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

PROGRAMA DE PÓS-GRADUAÇÃO EM TECNOLOGIA JAVA

ANTONIO ZANETTI

TRABALHO DE CONCLUSÃO DE CURSO

Cornélio Procópio / 2009


ANTONIO ZANNETTI

SISTEMA GERENCIADOR DE NOTÍCIAS E EVENTOS COM


APLICAÇÃO DE CONCEITOS DE USABILIDADE E
ACESSIBILIDADE

Trabalho de Conclusão de Curso


apresentado como requisito para obtenção
do título de Tecnólogo em Análise e
Desenvolvimento de Sistemas pela
Universidade Tecnológica Federal do Paraná
– Campus Cornélio Procópio.

Orientador: Professor Professor Rodrigo


Cunha Palácios

Cornélio Procópio / 2009


DEDICATÓRIA

Dedico este trabalho,

Ao meu pai (in memorian), que por toda sua vida sempre me ensinou os bons
princípios e a ser um homem reto e com humildade.

Ao meu irmão pelo apoio dado e pelos momentos de descontração.

A minha família pelo apoio e também pelas cobranças, com as quais me


deixaram mais forte e capaz.

Aos amigos e professores da UTFPR pelos bons momentos e aprendizados.

À Rafa, que se tornou mais que uma parceira de site, mas minha amiga
pessoal.

À Aline, pelo apoio que me deu e por ter me feito acreditar nas minhas próprias
forças.
Aos amigos de eventos, pelas alegrias compartilhadas e pelo apoio nos
momentos que mais precisei.

AGRADECIMENTOS

À Deus, por ter me proporcionado vencer mais uma etapa, por estar presente
em todos os momentos da minha vida e iluminar meu caminho.

Ao meu pai Delvair, pelos bons ensinamentos que me ensinou por toda a vida,
ensinando-me a ser um homem reto, justo, humilde, capaz e de bom coração.

À minha família, pelo apoio e também, pela cobrança exercida, ensinando-me a


ser um homem capaz.

Ao meu orientador, Professor Rodrigo Cunha Palácios, que acreditou na


realização deste trabalho, desde a elaboração da proposta, corrigindo-o para
que o resultado fosse o melhor possível e principalmente pela paciência.

Aos amigos da UTFPR, Helton, Ricardo, Cleverson, José Ramos, Leandro, e


Digital, pelos momentos felizes, pelas festas, pelos desafios que superamos
juntos, e principalmente pela amizade.

À Rafaela, pela amizade e por ser mais que minha parceira de site, minha
amiga, dando forças nos momentos que mais precisei e também pela confiança
depositada em mim, mesmo sobre duas rodas.

Aos amigos do Cornélio Digital, e de festas pelos momentos mais felizes da


minha vida, pelos momentos de apoio em que mais precisei, pela confiança e
também por acreditarem em meu trabalho.

À Ana Cláudia e à Lucila, que se tornaram mais que amigas, minhas irmãs de
caminhada, e que tantas vezes teve que me dar força emocional, nos
momentos em que mais me senti triste ou sozinho.

A todos os mencionados e muitos outros que estiveram presentes direta ou


indiretamente durante a vida acadêmica, meus sinceros agradecimentos.
EPÍGRAFE

Para conhecermos os amigos é necessário passar pelo


sucesso e pela desgraça. No sucesso, verificamos a
quantidade e, na desgraça, a qualidade.
(Confúcio)

O sucesso é ir de fracasso em fracasso sem perder


entusiasmo.
(Winston Churchill)

Determinação coragem e autoconfiança são fatores


decisivos para o sucesso. Se estivermos possuídos por
uma inabalável determinação conseguiremos superá-los.
Independentemente das circunstâncias, devemos ser
sempre humildes, recatados e despidos de orgulho.
(Dalai Lama)
RESUMO

O presente trabalho apresenta o desenvolvimento de um sistema de


gerenciamento de notícias e eventos com aplicação de conceitos para
promover usabilidade e acessibilidade. A metodologia de desenvolvimento é
baseada no Processo Unificado UML para a modelagem do sistema, linguagem
PHP, e banco de dados Mysql.

Palavras chave: Website, acessibilidade, usabilidade, sistema de


gerenciamento de notícias, sistema de gerenciamento de conteúdo.
ABSTRACT

This issue presente the development content mangement system web with
thechiniques to promote acessibility and usability. The methodology of
development is based on Unified Process, UML to modeling system, language
PHP and Mysql as database.

Key words: website, acessibility, usability, Contente Management System,


CMS.
LISTA DE FIGURAS
Figura 4.1.1 Processo Unificado 18
Figura 5.1.1 Arquitetura de Comunicação do Sistema SISGNEV 23
Figura 5.2.1 Página Inicial do SISGNEV 24
Figura 5.2.2 Página de Cadastro de Usuários 25
Figura A.3.1 Representação dos Atores do sistema e Seus 39
Relacionamentos Inicial do Sistema
Figura C.1.2.1 Diagrama de Caso de Uso – Visão Geral 43
Figura C.1.2.2 Diagrama de Caso de Uso: Controlar Acesso 44
Página de Solicitações de Usuários
Figura C.1.2.3 Diagrama de Caso de Uso: Gerenciar Usuário 44
Figura C.1.2.4 Diagrama de Caso de Uso – Gerenciar Solicitação 45
Figura C.2.1 Visão geral do Sistema Desenvolvido 46
Figura C.3.1 Diagrama de Banco de Dados 47
Figura C.5.1 Diagrama de Seqüência – Efetuar Login 52
Figura C.5.2 Diagrama de Seqüência - Efetuar Logout 53
Figura C.6.1 Diagrama de Máquina de Estado – Solicitação de 53
Cadastro de Usuário
Figura C.7.1 Diagrama de Atividades – Cadastrar Usuário 54
Figura C.7.2 Diagrama de Atividades – Editar Publicidade 54
LISTA DE TABELAS

Tabela 4.1.1 Artefatos a serem gerados na execução dos workflows 18


Tabela 7.1 Cronograma de Desenvolvimento do Trabalho 32
Tabela B.2.1 Requisitos Funcionais 41
Tabela B.3.1 Requisitos Não Funcionais 42
Tabela C.4.1 Script Para Geração do Banco de Dados 48
11.1.1C1.1.1
Tabela C.8.1 Controlar Acesso 55
Tabela C.8.2 Gerenciar Usuário 57
Tabela C.8.3 Gerenciar Páginas 66
Tabela C.8.4 Gerenciar Anexos 71
Tabela C.8.5 Gerenciar Notícias 73
Tabela C.8.6 Gerenciar Publicidade 78
Tabela C.8.7 Gerenciar Enquetes 83
Tabela C.8.8 Gerenciar Áudios 88
Tabela C.8.9 Gerenciar Vídeos 93
Tabela D.1 Idenficação dos Riscos 99
Tabela D.2 Análise, Planejamento e Acompanhamento dos Riscos 100
LISTA DE SIGLAS, ACRÔNIMOS E ABREVIATURAS

CMS Content Management System

FCD Final Committee Draft

HTML Hyper Text Markup Language

HTTP HyperText Markup Language

ISO International Organization Standardization

MVC Model View Controller

OMG Object Management Group

PHP Hypertext Preprocessor

SGBD Sistema Gerenciador de Banco de Dados

SQL Structured Query Language

UML Unified Modeling Language

UP Unified Process
INTRODUÇÃO

Numa sociedade, que ao longo dos anos, tem a internet como um meio
de comunicação, propagação de informações, divulgação e e-learning, a web,
tem assumido papel fundamental na sociedade da informação atual,
disponibilizado um volume crescente de informações aos visitantes por meio de
websites, páginas estáticas ou dinâmicas. [1] Neste contexto, assim como a
importância estratégica dos websites tem crescido, gerenciar essas
informações tornou-se uma tarefa complicada, principalmente quando usuários
com baixo conhecimento em desenvolvimento web são responsáveis por esta
tarefa.
Sendo assim, este trabalho apresenta o desenvolvimento de um
sistema gerenciador de conteúdo web aplicando conceitos de usabilidade e
acessibilidade, através do qual é realizado todo o gerenciamento do website,
controle de notícias, usuários, áudios e vídeos com o propósito de proporcionar
uma melhor agilidade na inclusão, edição, e exclusão dos mesmos, no
desenvolvimento de um site contendo acessibilidade e usabilidade significa que
os usuários não terão restrição para fazer a navegação.

OBJETIVO

O principal objetivo deste trabalho é descrever o estudo sobre um


Sistema Gerenciador de Notícias e Eventos com Aplicação de Conceitos
de Usabilidade e Acessibilidade, apresentando as suas características e
seu desenvolvimento.

MOTIVAÇÃO

Com base na pesquisa feita para o levantamento de informações sobre


aplicações, que tem como propósito o gerenciamento de conteúdo, percebeu-
se que existe uma série de sistemas com este paradigma de desenvolvimento,
porém a grande maioria dos jornais de menor porte ainda não possui seu
conteúdo disponibilizado eletronicamente.
O trabalho proposto terá como objetivo o desenvolvimento de uma
ferramenta visando auxiliar a integração e automatização de todos os
processos relacionados à criação, personalização, controle de acesso e
manutenção do conteúdo para um jornalismo on line. Possibilitando usuários
com pouco conhecimento técnico sobre tecnologia web, disponibilizando
mecanismos para prover o gerenciamento do conteúdo web de um noticiário
on line, aplicando na interface os mesmos conceitos de usabilidade e
acessibilidade, e proporcionando a inserção e atualização rápida e eficaz dos
diversos meios de mídias possíveis em um noticiário on-line: texto, áudio e
vídeos.

ORGANIZAÇÃO DO TRABALHO

Este Trabalho de Conclusão de Curso está organizado, como descrito


na seqüência.

No capítulo 1, é apresentada a introdução, objetivo e a motivação para a


elaboração do trabalho de conclusão de curso.

O Capítulo 2 traz a revisão bibliográfica, esta necessária para a melhor


compreensão do tema apresentado. Aborda conceitos, tais como usabilidade,
acessibildade e trabalhos relacionados à proposta deste trabalho.

O Capítulo 3 apresenta a descrição do sistema desenvolvido –


SISGNEV. Abordando a arquitetura adotada suas características e conceitos
aplicados: acessibilidade, usabilidade e gerenciamento de conteúdo.

O Capítulo 4 mostra a metodologia utilizada para o desenvolvimento


deste trabalho, bem como a descrição das atividades realizadas.

O Capítulo 5 descreve as tecnologias e os recursos de hardware e


software utilizados durante o desenvolvimento.

O Capítulo 6 apresenta as considerações finais, mostrando as


dificuldades encontradas e os trabalhos futuros.
Os apêndices exibem todos os artefatos gerados durante o
desenvolvimento deste trabalho. A organização dos mesmos é descrita a
seguir.

O Apêndice A apresenta a identificação dos atores que interagem com o


sistema.

O Apêndice B exibe o levantamento e especificação dos requisitos


funcionais e não funcionais deste trabalho.

O Apêndice C mostra os diagramas e especificações de caso de uso


levantadas para este trabalho.

O Apêndice D finalmente exibe a análise de risco.

No Anexo A, apresenta-se a proposta realizada para este trabalho de


conclusão de curso.
INTRODUÇÃO

Pela definição da International Organization for Standardization, a


Usabilidade Web é a extensão na qual um produto pode ser usado por usuários
específicos para alcançar objetivos específicos com efetividade, eficiência e
satisfação em um contexto de uso específico.
A usabilidade está diretamente ligada ao diálogo na interface e é a
capacidade do software em permitir que o usuário alcance suas metas de
interação com o sistema. Ser de fácil aprendizagem, permitir utilização eficiente
e apresentar poucos erros são os aspectos fundamentais para a percepção da
boa usabilidade por parte do usuário.
A usabilidade está relacionada aos estudos de Ergonomia e de
Interação Humano-computador, permite que o usuário alcance os objetivos
iniciais de interação e é avaliada em termos de finalização de uma tarefa e
também em termos de qualidade do resultado obtido.
Eficiência,refere-se à quantidade de esforço e de recursos necessários
para se chegar a um determinado objetivo. Os desvios que o usuário faz
durante a interação e a quantidade de erros cometidos podem servir para
avaliar o nível de eficiência do site em relação a usabilidade web.
A satisfação é a mais difícil de medir e quantificar, pois está
relacionada com fatores subjetivos. De maneira geral, satisfação se refere ao
nível de conforto que o usuário sente ao utilizar a interface e qual a aceitação
como maneira de alcançar seus objetivos.

2.1 O Pai da Usabilidade

Jakob Nielsen - consultor respeitado, o guru da usabilidade é tão


funcional que se pode falar bem e mal dele ao mesmo tempo. É famoso por
muitos de seus conceitos de usabilidade e pela construção do site da forma
mais simples. Muitos discutem a ótica de Jakob Nielsen, o "defensor do
usuário".
Quem visita o site Useit.com encontra uma página tão simples que
passa a acreditar que errou de endereço.
"Muitos de meus leitores acessam de locais onde as velocidades de
conexão são baixas", disse Nielsen à Reuters sobre seu modesto site, a bíblia
de usabilidade, que tem 200 mil leitores em todo o mundo.
Existe um livro chamado "Homepage: Usabilidade: 50 Websites
Desconstruídos" por Jakob Nielsen. O mesmo trata dos princípios de
usabilidade na web. Nielsen também é autor de um outro livro bacana chamado
"Projetando Websites".

Interface Homem Máquina


A interface faz parte do sistema computacional e determina como as
pessoas operam e controlam o sistema. Quando a interface é bem projetada,
ela é compreensível, agradável e controlável; os usuários se sentem satisfeitos
e responsáveis pelas ações.
É fácil notar a importância do assunto, pois todos somos usuários de
interfaces. Às vezes utilizamos sistemas e nem lembramos que existe uma
interface, outras vezes, tudo que se quer é encontrar o botão de sair.
A interface homem-máquina é uma preocupação da indústria muito
antes de se falar em interface de programas de computador. Existe muita
experiência adquirida sobre o assunto, como por exemplo, a utilização de mais
de um perfil do operador (usuário) e níveis de conhecimento ou experiência
(iniciante, intermediário e expert).
A tecnologia de construção de interfaces tem sido influenciada
principalmente pelos seguintes fatores:
• Disseminação do uso de sistemas e equipamentos micro-
processados;
• Aumento da complexidade dos sistemas;
• Preocupação com a qualidade do software dentro da característica
de usabilidade (conforme as definições da Norma ISO/IEC 9126-1).
Usabilidade

Apesar de, em sua essência ter raízes na Ciência Cognitiva, o termo


usabilidade começou a ser usado no início da década de 80, principalmente
nas áreas de Psicologia e Ergonomia, como um substituto da expressão “user-
friendly” traduzido para o português como “amigável”, a qual era considerada
vaga e excessivamente subjetiva.

Definição de usabilidade

Para evitar que o termo usabilidade se desgastasse, tal como ocorreu com
a expressão “user-friendly”, a que veio substituir, vários autores tentaram
definí-lo, porém utilizando algumas abordagens diferentes:
• definições orientadas ao produto – associadas às características
ergonômicas do produto;
• definições orientadas ao usuário – relacionadas ao esforço mental ou
atitude do usuário frente ao produto.
• definições baseadas no desempenho do usuário – associadas à forma
de interação do usuário, com ênfase na facilidade de uso e no grau de
aceitação do produto;
• definições orientadas ao contexto de uso – relacionadas às tarefas
específicas realizadas por usuários específicos do produto, em
determinado ambiente de trabalho.
A primeira norma que definiu o termo usabilidade foi a ISO/IEC 9126
(1991) sobre qualidade de software. Sua abordagem é claramente orientada ao
produto e ao usuário, pois considera a usabilidade como “um conjunto de
atributos de software relacionado ao esforço necessário para seu uso e para o
julgamento individual de tal uso por determinado conjunto de usuários.”
A partir dessa norma, o termo usabilidade ultrapassou os limites do
ambiente acadêmico da Psicologia Aplicada e da Ergonomia, passando a fazer
parte do vocabulário de outras áreas do conhecimento, tais como Tecnologia
da Informação e Interação Homem-Computador, tendo sido traduzido
literalmente para diversos idiomas.
O conceito de usabilidade evoluiu e foi redefinido na parte 1 da norma
ISO/IEC Final Commitee Draft (FCD) 9126-1, em 1998, incluindo nessa
oportunidade as necessidades do usuário. Essa norma define ainda outras
características de qualidade de software, como funcionalidade, confiabilidade,
eficiência, possibilidade de manutenção e portabilidade.
A norma ISO 9241-11 Guidance on Usability definiu usabilidade como “a
capacidade de um produto ser usado por usuários específicos para atingir
objetivos específicos com eficácia, eficiência e satisfação em um contexto
específico de uso.”

Conceitos da ISO 9241-11 (1998)

• Usuário – pessoa que interage com o produto.


• Contexto de uso – usuários, tarefas, equipamentos (hardware, software
e materiais), ambiente físico e social em que o produto é usado.
• Eficácia – precisão e completeza com que os usuários atingem objetivos
específicos, acessando a informação correta ou gerando os resultados
esperados. A precisão é uma característica associada à correspondência entre
a qualidade do resultado e o critério especificado, enquanto a completeza é a
proporção da quantidade-alvo que foi atingida.
• Satisfação – conforto e aceitabilidade do produto, medidos por meio de
métodos subjetivos e/ou objetivos.
• Eficiência – precisão e completeza com que os usuários atingem os
seus objetivos, em relação à quantidade de recursos gastos[6].
As medidas objetivas de satisfação podem se basear na observação do
comportamento do usuário (postura e movimento corporal) ou no
monitoramento de suas respostas fisiológicas. As medidas subjetivas, por sua
vez, são produzidas pela quantificação das reações, atitudes e opiniões
expressa as subjetivamente pelos usuários.
Um sistema interativo é considerado eficaz quando possibilita que os
usuários atinjam seus objetivos. A eficácia é a principal motivação que leva um
usuário a utilizar um produto ou sistema. Se um sistema é fácil de usar, fácil de
aprender e mesmo agradável ao usuário, mas não consegue atender a
objetivos específicos, ele não será usado, mesmo que seja oferecido
gratuitamente.
O segundo elemento da usabilidade é a eficiência, normalmente definida
quantitivamente por tempo de resposta, tempo total para realizar uma tarefa
específica ou ainda quantidade de erros.
O terceiro elemento, a satisfação do usuário, refere-se a percepções,
sentimentos e opiniões dos usuários a respeito de um sistema, normalmente
mapeados a partir de questionamentos escritos ou orais feitos aos próprios
usuários.
A usabilidade pode ser considerada uma qualidade de uso, isto é,
qualidade de interação entre usuário e sistema, que depende das
características tanto do sistema quanto do usuário. Em outras palavras, o
mesmo sistema pode ser excelente para algumas pessoas e inadequado ou
inaceitável para outras.
Além disso, a usabilidade também depende das tarefas específicas que
os usuários realizam com o sistema, assim como do ambiente físico (incidência
de luz, barulho, interrupções da tarefa, disposição do equipamento). Portanto, a
usabilidade é uma qualidade de uso de um sistema, diretamente associada ao
seu contexto operacional e aos diferentes tipos de usuários, tarefas, ambientes
físicos e organizacionais. Pode-se dizer então que qualquer alteração em um
aspecto relevante e do contexto de uso é capaz de alterar a usabilidade de um
sistema.
Usabilidade também pode ser definida como uma medida da qualidade
da experiência do usuário ao interagir com alguma coisa – seja um site na
internet, um aplicativo de software tradicional ou outro dispositivo que o usuário
possa operar de alguma forma.
Em seu livro Usability Engineering (NIELSEN, 1993) [2] descreve cinco
atributos da usabilidade: facilidade de aprendizado, eficiência de uso, facilidade
de memorização, baixa taxa de erros e satisfação subjetiva.
Facilidade de Aprendizado – o sistema deve ser fácil de aprender de tal
forma que o usuário consiga rapidamente explorá-lo e realizar suas tarefas com
ele.
Eficiência de uso – o sistema deve ser eficiente a tal ponto de permitir
que o usuário, tendo aprendido a interagir com ele, atinja níveis altos de
produtividade na realização de suas tarefas.
Facilidade de Memorização – após um certo período sem utilizá-lo, o
usuário não freqüente é capaz de retornar ao sistema e realizar suas tarefas
sem a necessidade de reaprender como interagir com ele.
Baixa taxa de erros – em um sistema com baixa taxa de erros, o usuário
é capaz de realizar tarefas sem maiores transtornos, recuperando erros, caso
ocorram.
Satisfação subjetiva – o usuário considera agradável a interação com o
sistema e se sente subjetivamente satisfeito com ele.
Consistência – tarefas similares requerem seqüências de ações
similares, assim como ações iguais devem acarretar efeitos iguais. Usar
terminologia, leiaute gráfico, conjunto de cores e fontes padronizados também
são medidas de consistência.
Flexibilidade – refere-se à variedade de formas com que o usuário e o
sistema trocam informações.
Na verdade, todos esses conceitos se interrelacionam e podem ser
medidos e observados em diferentes contextos.

Acessibilidade

Acessibilidade se refere à capacidade de produtos e ambientes serem


usados pelas pessoas.
No Brasil, o Decreto-Lei 5296 de 2 de dezembro de 2004, regula as Leis
n.ºs 10.048, de 8 de novembro de 2000, que dá prioridade de atendimento às
pessoas que especifica, e10.098 de 19 de dezembro de 2000, que estabelece
normas gerais e critérios básicos para a promoção de acessibilidade.

No contexto de informática, o termo acessibilidade é freqüentemente


associado à capacidade de um software padrão ser acessado e usado por
pessoas com necessidades especiais, mesmo que a forma de uso não seja
idêntica para todos.

Um software é considerado acessível a alguém se essa pessoa, mesmo


deficiente, conseguir usá-lo, realizar as mesmas funções e atingir os mesmos
resultados que outras pessoas não deficientes, com conhecimentos e
treinamento semelhantes. Em outras palavras acessibilidade é a habilidade de
um indivíduo acessar e usar um produto de modo eficaz e eficiente, atingindo
resultados equivalentes por meios diversos.

Por definição, acessibilidade é uma categoria de usabilidade. Um


software ou página web que não é acessível a uma determinada pessoa tão
pouco pode ser considerado eficaz, eficiente ou mesmo agradável a essa
pessoa. Assim como os fatores de usabilidade (flexibilidade e eficiência de uso;
controle do usuário; consistência entre outros), a acessibilidade está
relacionada ao contexto de uso, isto é, ao ambiente operacional de uso e às
tarefas, necessidades e preferências de usuários típicos.

Acessibilidade na web significa que qual quer pessoa usando qualquer


tipo de tecnologia de navegação (navegadores gráficos, textuais, especiais
para cegos ou para sistemas de computação móvel) deve ser capaz de visitar e
interagir com qualquer site, compreendendo inteiramente as informações nelas
apresentadas.

Barreiras à Compreensão de Páginas Web (Letourneau, 2000)

Barreira do idioma – a maioria dos sites é apresentada em um único


idioma.

Barreira do jargão – páginas da Web de uso geral devem apresentar


linguagem fácil, sem jargões técnicos.

Barreira do design – o uso de tabelas e planilhas, mesmo que com


conteúdo apenas textual, podem ser de difícil compreensão para pessoas que
utilizam software leitor de tela.

Barreira das ferramentas de autoria e conversão de páginas Web – as


marcações hipertextuais geradas automaticamente nem sempre são
acessíveis, assim como a apresentação de imagens sem texto alternativo.

Barreira da novidade – vários projetistas de sites utilizam os mais novos


aplicativos e linguagens, nem sempre disponíveis a todos os usuários.

Barreira do Desconhecido – vários projetistas de sites desconhecem a


problemática da acessibilidade.

Apesar de ser uma mídia de informação, muitos projetistas ainda tratam a web
como uma mídia puramente visual. O problema da acessibilidade na Web não
afeta apenas os usuários deficientes. Ao utilizarem as mais novas tecnologias
sem considerar sua acessibilidade, os projetistas web constroem barreiras que
excluem não só os deficientes, mas também as pessoas que utilizam
computadores e sistemas mais antigos ou dispositivos móveis para acesso à
Web, como telefones celulares e computadores portáteis. É perfeitamente
possível produzir um design dinâmico e atrativo que seja inteiramente
acessível. Portais web projetados de maneira inteligente beneficiam a todos –
não apenas aos deficientes.
GERENCIAMENTO DE CONTEÚDO

A importância estratégica dos websites tem crescido e o gerenciamento


adequado do conteúdo de forma eficiente se tornou uma das maiores
preocupações para os administradores. As soluções utilizadas anteriormente
eram freqüentemente organizacionais – um webmaster logo se tornaria um
webdesigner, desenvolvedor e produtor. Como as pessoas descobriram que
gastavam muito tempo, além do grau de dificuldade para atualizar o conteúdo
ou mesmo automatizar a publicação e também pela necessidade de
cooperação de outros redatores, foram desenvolvidas aplicações para resolver
este problema. Para fornecer um conteúdo atualizado de forma rápida e com
qualidade aos usuários finais, faz-se necessário a adoção destas aplicações
que abordam este novo conceito de desenvolvimento, gerenciamento de
conteúdo. Além disso, permite que usuários com conhecimento web limitado
possam manipular facilmente o conteúdo de um website, possuindo coerência,
fundamentação, esforço intelectual e operacional dos profissionais que nele
trabalham e agregam algum tipo de valor à informação[1].
Sendo assim, o Content Management System (CMS) ou Sistema
Gerenciador de Conteúdo (SGC) é um sistema dinâmico onde toda ou quase
toda parte do processo de gestão do conteúdo para criar e gerenciar conteúdo
em tempo real é realizada online, sem a necessidade de programação de
código, cujo objetivo é estruturar e facilitar a criação, administração,
distribuição, publicação e disponibilização da informação[2].
Um sistema de gerenciamento de conteúdo deve cobrir todo o
ciclo de vida de um website desde sua concepção até sua publicação. Deve
também fornecer ferramentas para administração e estrutura do website, da
aparência das páginas publicadas e da navegação para os usuários finais.
Pode-se dividir este tipo de aplicação em quatro categorias[3]:
• criação
• gerenciamento
• publicação
• apresentação
A criação do conteúdo e a atualização do mesmo são realizadas
por meio de um ambiente de fácil edição, possibilitando que esta ferramenta
seja feita por usuários leigos em tecnologia da informação.
O armazenamento do conteúdo é feito em algum meio
persistente, como arquivos em disco ou SGBD´s (Sistemas Gerenciadores de
Banco de Dados) ou arquivos em disco, otimizando assim o processo de
recuperação de informações.
METODOLOGIA E DESENVOLVIMENTO

Uma metodologia de desenvolvimento constitui-se de uma abordagem


organizada para se atingir um objetivo, possível por meio do cumprimento de
um conjunto de procedimentos preestabelecidos. Desta forma, o produto se
torna o componente mais importante de todo o processo de desenvolvimento.
A construção do módulo proposto neste trabalho será baseado no
Processo Unificado de desenvolvimento de software, utilizando-se como
linguagem de programação, banco de dados MySql e UML para a modelagem
do sistema.

4.1 Processo unificado

O Processo Unificado- (UP) - forma uma estrutura geral e adaptável para


o desenvolvimento de software, descreve os passos para alcançar determinado
objetivo. São três características que fazem com que o processo unificado seja
único[1]:
• Ser orientado por casos de uso:
• Apresenta a perspectiva de atender, especificamente, às necessidades
de cada usuário que interage com o sistema.
• Ter a arquitetura centrada

O papel da arquitetura no software é de natureza similar ao papel da


arquitetura na construção civil. As construções são observadas sob vários
pontos de vista: estrutura, serviços, condução de calor, encanamento,
eletricidade, etc. Da mesma forma, a arquitetura em um sistema de software é
descrita como sendo as diferentes visões desse sistema (ERIKSSON, et al,
1998; JACOBSON et al, 1999).
O conceito de arquitetura de software incorpora os aspectos estáticos e
dinâmicos 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
comunicação em rede, etc.), blocos de construção reusáveis disponíveis (por
exemplo, um framework para construção de interface gráfica com o usuário),
considerações de distribuição, sistemas legado e requisitos não funcionais
(performance, confiabilidade, etc.). Ela representa uma visão do projeto como
um todo, na qual as características mais importantes são colocadas em
destaque, deixando os detalhes de lado.
Como os casos de uso estão relacionados à arquitetura? Todo produto
tem função e forma e nenhum desses elementos sozinho é suficiente. Essas
duas forças devem ser balanceadas para obtermos um produto de sucesso.
Neste caso, a função corresponde aos casos de uso e a forma à arquitetura.
Por um lado, os casos de uso devem, quando construídos, encaixar-se na
arquitetura. Por outro, a arquitetura deve fornecer espaço para a construção de
todos os casos de uso necessários, agora e no futuro. Na realidade, ambos
devem ser desenvolvidos em paralelo.
Para encontrar essa forma, os arquitetos devem trabalhar a partir de
uma compreensão geral das funções chave do sistema, isto é, dos casos de
uso chave. Estes devem ficar em torno de 5 a 10% de todos os casos de uso,
mas são os mais significativos, aqueles que constituem o núcleo das funções
do sistema. Em termos simplificados, os arquitetos criam um esboço da
arquitetura iniciando com a parte que não é específica dos casos de uso (por
exemplo, a plataforma). Embora seja uma parte independente dos casos de
uso, o arquiteto deve ter uma compreensão geral destes antes da criação do
esboço. Depois, o arquiteto trabalha com um subconjunto dos casos de uso
identificados, aqueles que representam as funções chave do sistema em
desenvolvimento. Cada caso de uso selecionado é especificado em detalhes e
construído em termos de subsistemas, classes e componentes. À medida que
os casos de uso são especificados e atingem maturidade, mais detalhes da
arquitetura são descobertos. Isto, por sua vez, leva ao surgimento de mais
casos de uso. Este processo continua até que a arquitetura seja considerada
estável.

Ser iterativo e incremental.


O desenvolvimento de um produto comercial de software é uma grande
tarefa que pode ser estendida por vários meses, possivelmente um ano ou
mais. É mais prático dividir o trabalho em pedaços menores ou mini-projetos.
Cada mini-projeto é uma iteração que resulta em um incremento. Iterações são
passos em um fluxo de trabalho e incrementos são crescimentos do produto.
Os desenvolvedores selecionam o que deve ser feito em cada iteração
baseados em dois fatores. Primeiro, a iteração deve trabalhar com um grupo de
casos de uso que juntos estendam a usabilidade do produto em
desenvolvimento. Segundo, a iteração deve tratar os riscos mais importantes.
Um incremento não é necessariamente a adição do código executável
correspondente aos casos de uso que pertencem à iteração em andamento.
Especialmente nas primeiras fases do ciclo de desenvolvimento, os
desenvolvedores podem substituir um projeto superficial por um mais detalhado
ou sofisticado. Em fases avançadas os incrementos são tipicamente aditivos.
Em cada iteração, 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 iteração atinge seus objetivos, e isso normalmente ocorre, o
desenvolvimento prossegue com a próxima iteração, caso contrário, os
desenvolvedores devem rever suas decisões e tentar uma nova abordagem.
Há vários benefícios em se adotar um processo iterativo controlado,
entre os quais podemos destacar:
• Redução dos riscos envolvendo custos a um único incremento. Se os
desenvolvedores precisarem repetir a iteração, a organização perde somente o
esforço mal direcionado de uma iteração, não o valor de um produto inteiro.
• Redução do risco de lançar o projeto no mercado fora da data planejada.
• Identificando os riscos numa fase inicial o esforço despendido para
gerenciá-los ocorre cedo, quando as pessoas estão sob menos pressão
do que numa fase final de projeto.
• Aceleração do tempo de desenvolvimento do projeto como um todo,
porque os desenvolvedores trabalham de maneira mais eficiente quando
buscam resultados de escopo pequeno e claro.
• Reconhecimento de uma realidade freqüentemente ignorada: as
necessidades dos usuários e os requisitos correspondentes não podem
ser totalmente definidos no início do processo. Eles são tipicamente
refinados em sucessivas iterações. Este modelo de operação facilita a
adaptação a mudanças de requisitos.
Os três conceitos apresentados (dirigido a casos de uso, centrado em
arquitetura, iterativo e incremental) são igualmente importantes. Remover um
deles poderia reduzir drasticamente o valor do processo unificado, e agora que
eles foram introduzidos, pode-se observar o processo como um todo, seu ciclo
de vida, produtos, tarefas, fases e iterações.
O processo unificado consiste da repetição de uma série de ciclos
durante a vida de um sistema. Cada ciclo é concluído com uma versão do
produto pronta para distribuição. Essa versão é um conjunto relativamente
completo e consistente de artefatos, possivelmente incluindo manuais e um
módulo executável do sistema, que podem ser distribuídos para usuários
internos ou externos.
Cada ciclo consiste de quatro fases: início, elaboração, construção e
transição.
Cada fase é também subdividida em iterações, como discutido
anteriormente.

É formado por quatro fases [SCOTT 2003]:


Concepção: fase na qual se justifica a execução do projeto de
desenvolvimento de software. O objetivo é realizar o levantamento dos
requisitos essenciais do sistema e estabelecer o escopo do projeto;
Elaboração: fase na qual o sistema é detalhado o suficiente para
permitir um planejamento da fase de construção;
Construção: fase marcada pela produção de uma versão
completamente operacional do sistema;
Transição: fase na qual o sistema é colocado a disposição dos
usuários. Concentra a correção de defeitos e modificação para corrigir
problemas não-identificados anteriormente.
Uma das características importantes do Processo Unificado é que as
atividades técnicas são divididas em subprocessos chamados de fluxos de
trabalho (workflows). Os cinco workflows atravessam o conjunto das quatro
fases do Processo Unificado e estão resumidos a seguir:
Workflow de Requisitos: visa construir o modelo de casos de uso que
captura os requisitos funcionais do sistema que está sendo definido;
Workflow de Análise: tem como objetivo detalhar, estruturar e validar
os requisitos, de forma que estes possam ser usados como base para o
planejamento detalhado;
Workflow de Projeto: formula um modelo estrutural que descreve as
realizações físicas dos casos de uso. Serve como base para a
implementação;
Workflow de Implementação: visa realizar o desenho em termos de
componentes de código;
Workflow de Teste: seu objetivo é construir o modelo de teste que irá
verificar os resultados da implantação do sistema.
Podemos observar na figura 9.1.1 [ARLOW 2002] os conceitos de
iterações e melhor visualização das fases e os workflows do Processo
Unificado.

Figura 4.1.1: Processo Unificado

Na execução dos workflows serão gerados os artefatos expostos na


Tabela 4.1.1.
Tabela 4.1.1: Artefatos a serem gerados na execução dos workflows

Concepção Elaboração Construção Transição

Requisitos -Levantamento -Revisão e -Revisão dos


de requisitos Especificação casos de uso.
funcionais e não de casos de
funcionais; uso.
-Levantamento
de atores e casos
de uso.
Análise - Diagrama de -Diagrama de -Revisão do
casos de uso; Atividades; diagrama de
atividades e
-Análise de risco. -Diagrama de
classes de
classe de análise;
análise; - Revisão dos
riscos.
-Revisão dos
riscos.

Projeto -Plano de -Revisão do -Revisão do


Iterações; cronograma e cronograma e
plano de plano de
- Cronograma. iterações; iterações;
-Revisão do
-Diagrama de diagrama de
classes de classes de
projeto e projeto e
Modelagem do Modelagem do
Banco de Banco de
Dados; Dados.
-Diagrama de
Sequëncia;

-Projeto das
Interfaces.

Implementação -Implementação
do diagrama de
entidade e
relacionamento;

-Codificação do
sistema.

Teste -Testes caixa - Testes


preta. finais

Milestone Objetivo da Baseline para Aplicação em Entrega


Aplicação Construção ambiente de da
desenvolvimen Aplicação
to

4.1 Desenvolvimento

Neste capítulo são descritos os artefatos gerados durante o


desenvolvimento deste trabalho.

4.1.1 Concepção

A Fase de Concepção foi dividida em duas iterações. A primeira teve


fase no workflow de Requisitos gerando os seguintes artefatos:
Identificação dos atores (Figura A.3.1 na seção 3 do Apêndice A);
Diagrama de caso de uso com visão geral do sistema (Figura C.1.2.1
seção 2 do Apêndice C).
A segunda iteração foi marcada pela definição do escopo do sitema.
No workflow de Requisitos foi gerado o levantamento dos requisitos funcionais
e não funcionais. No workflow de Análise foram gerados os seguintes artefatos:
Refinamento dos casos de uso (Seção C 1.2 do Apêndice C);
Documentação da análise de risco (Apêndice D).

4.1.2 Elaboração

A Fase de Elaboração foi realizada, envolvendo os workflows de


Requisitos, Análise e Projeto.

Linguagem de modelagem unificada

A notação utilizada pela UML é padronizada pela OMG (Object


Management Group), pois facilita a compreensão de cada parte do sistema que
está sendo modelado, por qualquer pessoa que tenha conhecimento sobre a
linguagem [9].
As principais características são:
A UML é uma linguagem de modelagem, não uma metodologia;
Auxilia na utilização maximizada da "orientação a objetos";
Mantém a modelagem do sistema e, em decorrência, sua automação o
mais próximo possível de uma visão conceitual do mundo real;
Serve de base à decomposição e modelagem dos dados, que é o
elemento mais estável de todos aqueles que compõem um sistema de
informação;
Oferece maior transparência na passagem da fase de modelagem para
a construção (desenvolvimento) através da introdução de detalhes, não
requerendo uma reorganização do modelo.

Linguagem de programação

Será utilizada para a codificação do sistema, a linguagem de


programação PHP. PHP é uma linguagem de scripting com HTML - embebido.
Muita da sua sintaxe é "emprestada" do C, Java e Perl com um pequeno
conjunto de funcionalidades específicas. O objetivo da linguagem é permitir aos
programadores web escrever rapidamente páginas gerada dinamicamente.
[PHP.NET].
Suas características principais são [IMASTERS]:
Velocidade e robustez
Estruturado e orientação a objeto
Portabilidade - independência de plataforma - escreva uma vez, rode
em qualquer lugar;
Tipagem fraca
Sintaxe similar a Linguagem C/C++ e o PERL
Linguagem de programação de domínio específico
Sistema gerenciador de banco de dados

Será utilizado para o armazenamento e recuperação das informações o


SGBD MYSQL 5.4. Sendo que este possui inúmeras funcionalidades, dentre
elas destacam-se [MYSQLBRASIL]:
Stored Procedures;
Views;
Triggers;
Consistência de Tipos;
Information Schema;
Server Side Cursors;
Backup on-line (InnoDB);
Replicação unidirecional e bidirecional;
Full text search (máquina textual);
Integridade referencial / foreign key constraints (InnoDB,MaxD e
Cluster)
Controle de transações (InnoDB e Cluster), multi-versões e transações
ACID
Vários níveis de isolamento (InnoDB e MaxDB)
Controle de acesso por domínio
Clustering + Load balancing = High availability (alta disponibilidade)
Conexão segura entre cliente e servidor com SSL
Utilização no ambiente Windows e Linux.
SISGNEV – Sistema Gerenciador de Notícias e Eventos

5.1 ARQUITETURA DO SISTEMA

A Figura 5.1.1 apresenta a arquitetura geral do sistema elaborado


neste trabalho. O sistema constituído da união de dois módulos – Módulo
Administração do Sistema e Módulo Administração do Website – em que o
primeiro é responsável pelo gerenciamento do sistema, agregando as
funcionalidades de: controle de acesso, gerenciamento de usuários e
solicitações do website, enquanto o segundo é responsável pelo
gerenciamento da conta de website. O terceiro e último módulo é responsável
pela criação e montagem, contendo as funcionalidades de criação do website,
tais como: gerenciamento de páginas, anexos, publicidade, notícias , enquetes,
áudios e vídeos. Sendo que estes módulos são acessados através de um
servidor web e possuem como repositório das informações geradas, um
sistema de banco de dados.

Figura 5.1.1: Arquitetura de comunicação do sistema SISGNEV


5.2 DESCRIÇÃO DO SISTEMA

O SISGNEV apresenta uma estrutura que prove o gerenciamento do


conteúdo web de um website, aplicando na interface conceitos de usabilidade e
acessibilidade. Seu funcionamento acontece da seguinte forma: inicialmente
um usuário anônimo realiza o acesso a página principal do sistema, nesta
página ele pode realizar a navegação no menu localizado à esquerda, sendo
que entre as opções de menu encontra-se o formulário de solicitação de
cadastro do usuário, que será enviado ao administrador do sistema, este sendo
responsável por gerenciar as solicitações. As figuras 4.2.1 e 4.2.2 apresentam
respectivamente, a tela inicial do sistema e o formulário de solicitação de
cadastro de usuário.

Figura 5.2.1: Página Inicial do SISGNEV


Figura 5.2.2: Página de Cadastro de Usuários

A solicitação de cadastro é listada na página SOLICITAÇÕES DE


CADASTRO para o administrador de sistema. Nesta é possível realizar a
aceitação, visualização e recusa da solicitação.

Para efeitos de verificação de autenticidade, é enviado um e-mail à


caixa de e-mails do usuário que deve clicar no link enviado a fim de
comprovação de dados.
Ao ser aceita, a solicitação o usuário anônimo passa a ter o direito
a ser usuário registrado, podendo assim, realizar o login no sistema e
configurar seus dados no website. Sendo que estas alterações serão
armazenadas no banco de dados.

A partir deste momento o usuário pode realizar as operações restritas a


usuários cadastrados tais como votação em enquetes, avaliação de áudios e
vídeos e postagem de comentários.
Ao clicar no item Enquetes da Barra de Ferramentas são apresentadas
todas as enquetes cadastradas no site, sendo possível a criação, finalização e
exclusão de uma enquete.
Ao clicar no item Publicidades da Barra de Ferramentas são
apresentadas todas as publicidades cadastradas no site, sendo possível a
criação, edição e exclusão de uma publicidade.
Ao clicar no item Notícias da Barra de Ferramentas são apresentadas
todas as notícias cadastradas no site, sendo possível a criação, edição e
exclusão de uma publicidade.
Ao clicar no item Editar Dados da Conta da Barra de Ferramentas é
apresentada a conta em formato de edição para que o administrador do
website possa alterá-la.
Após ser criada a conta, um usuário anônimo poderá acessá-la por
meio da opção de menu Conta, que relaciona todos os links da conta criada.
Quando um usuário anônimo clicar no link, é apresentada a conta
criada.
Como dito anteriormente, o administrador do website é responsável por
gerenciar as solicitações de cadastro de usuário, porém não é limitado apenas
a estas funcionalidades, podendo também gerenciar todos os usuários do
sistema, além de executar as funcionalidades relacionadas aos demais perfis.

5.3 CONCEITOS APLICADOS

5.3.1 GERENCIAMENTO DE CONTEÚDO

O SISGNEV é um sistema baseado nos conceitos de gerenciamento


de conteúdo. Suas características são apresentadas a seguir:
• simplicidade e facilidade de utilização: se o website é fácil de utilizar, o
usuário tem maior produtividade e aprende mais rápido;
• a fim de delimitar o escopo do sistema desenvolvido foi estabelecido o
gerenciamento das informações contidas em um website: parcerias,
enquetes, notícias, áudios, vídeos, formulário de login.
• definição de estilo de formatação para o website:o sistema apresenta um
modelo de formatação padrão.
• manipulação on-line do sistema.
• suporte a internacionalização: por meio das tags para
internacionalização foram criadas as páginas PHPs.

5.3.2 CONCEITOS DE USABILIDADE NO SISTEMA SISGNEV

Para o desenvolvimento do sistema SISGNEV foram empregados os


seguintes conceitos:
• facilidade de aprendizagem por meio de uma interface padronizada;
• não utilização das tecnologias JavaScript e Flash para o
desenvolvimento da interface para que não ocorra o risco do usuário não
ter uma ferramenta que não as suporte;
• utilização da fonte “Arial”: este estilo de fonte juntamente com “Arial” e
“Times New Roman” são as mais legíveis e adequadas para um bom
entendimento do usuário;
• utilização de botões “Voltar”: facilita o retorno do usuário a determinado
ponto em que estava ou aparece após uma operação juntamente com
uma mensagem de confirmação, para que o mesmo retorne aos dados
atualizados;
• verificação e correção de links “quebrados”: prevenção de operações
inadequadas ou erros inesperados;
• feedback ao usuário das operações realizadas, por meio de mensagens:
é necessário apresentar ao usuário uma resposta de confirmação das
operações executadas;
• redirecionamento a uma página de erro, caso ocorra algum problema na
execução do sistema: a fim de se evitar possíveis transtornos aos
usuários, uma página de erro serve para o momento em que este
ocorra, esta indique e ofereça um direcionamento aos mesmos.[4]

RECOMENDAÇÕES DE ACESSIBILIDADE
Para o desenvolvimento do sistema SISGNEV foram empregadas as
seguintes diretivas:
1. Fornecer alternativas equivalentes ao conteúdo sonoro e visual:
• Para sons e áudios, fornecer descrição textual. Para imagens de
vídeo, fornecer descrição sonora ou textual. Levar em consideração
que imagens, vídeo e áudio, podem facilitar a compreensão do
conteúdo, como por exemplo, uma seqüência de imagens para
explicar algo, um vídeo de uma pessoa traduzindo o contéudo para a
linguagem de sinais.
2. Não recorrer apenas à cor:
• Assegurar que todas as informações veiculadas com cor estejam
também disponíveis sem cor. Se a cor for o único meio utilizado para
transmitir informações, as pessoas que não diferenciam cores, bem
como os usuários de monitores monocromáticos e dispositivos não
coloridos, não receberão essas informações;
3. Utilizar corretamente marcações de folhas de estilo:
Todas as páginas foram formatadas utlizando a folha de estilo
“estilo.css”, facilitando a manutenabilidade da interface;
4. Indicar claramente qual idioma utilizado:
Marcação do idioma permite que a mudança de idioma em um
documento seja identificada por sintetizadores de voz e os dispositivos Braille
que podem passar automaticamente para o outro idioma. A identificação foi
realizada por meio do atributo “lang” no HTML.
5. Criar tabelas passíveis de transformação harmoniosa beneficia
diretamente as pessoas que acessam tabelas por meios sonoros ou que vêem
apenas uma parte da página de cada vez.
• Foram indentificados nas tabelas de dados os cabeçalhos de linha e
coluna;
• Utilização do atributo “summary” do elemento TABLE;
6. Assegurar que as páginas dotadas de novas tecnologias sejam
transformadas harmoniosamente: criar um website deve-se levar em
consideração que o mesmo possa ser acessado por meio de navegadores
mais antigos e/ou usuários que optem por desativar as novas funcionalidades.
• Foi evitada a utilização de algumas tecnologias, principalmente
javascript;
• Embora exista o comprometimento do design, as telas do sistema
podem ser lidas sem o recurso da folha de estilo;

7. Assegurar o controle do usuário sobre as alterações temporais do


conteúdo:
• Não foram criadas atualizações automáticas periódicas por meio da
inclusão de “HTTP-EQUIV=refresh”. O usuário deve sempre estar no
comando das atualizações da página em que estiver navegando;
8. Assegurar a acessibilidade direta de interfaces de usuário
integradas.
• Esta diretiva é praticamente resultado das outras.
9. Projetar páginas considerando a independência de dispositivos
garante ao usuário controle sobre quais dispositivos utilizará para acessar a
página desejada.
• Criação de uma seqüência lógica de tabulação para percorrer links
formulários.
10. Utilizar soluções de transição.
• Não há sobreposição de páginas;
• Existem rótulos para os formulários;
11. Utilizar tecnologias e recomendações do W3C.
• Utilização de folhas de estilo;
12. Fornecer informações de contexto e orientações:
• Divisão das informações em blocos para melhor
entendimento do usuário;
13. Fornecer mecanismos de navegação claros.
• Identificação dos links navegados pelos usuários;
14. Assegurar a clareza e a simplicidade dos documentos.
• Utilização de linguagem clara e simples;
• Padronização da interface das páginas principal e
secundária [4].
TECNOLOGIAS UTILIZADAS

6.1 RECURSOS DE HARDWARE

Os recursos de hardware utilizados no processo de desenvolvimento deste


trabalho foi um microcomputador AMD Athlon 64x2 Dual, 2,61GHz, 896 Mb
RAM, 160 GB HD.

6.2 RECURSOS DE SOFTWARE

6.2.1 SISTEMA GERENCIADOR DE BANCO DE DADOS


Para o armazenamento e recuperação das informações foi utilizado
como SGBD Mysql 5.0. Este banco de dados possui inúmeras funcionalidades,
dentre elas destacam-se:
• Expansibilidade e Flexibilidade;
• Alto Desempenho;
• Alta Disponibilidade;
• Suporte Transacional Robusto;
• Capacidade Web e de Armazenagem de Dados;
• Forte Proteção de Dados;
• Desenvolvimento abrangente de aplicações;
• Facilidade de Gestão;
• Liberdade Open Source e Suporte 24 horas por dia;
• Os mais baixos custos de propriedade.

6.2.2 LINGUAGEM DE PROGRAMAÇÃO


Para a codificação do sistema foi utilizada a linguagem de programação
PHP. PHP é uma linguagem para programar scripts do lado do servidor, que se
incrustam dentro do código HTML. Esta linguagem é gratuita e de
multiplataforma. As principais características desta linguagem são:
• Velocidade;
• Robustez;
• Sintaxe similar à Linguagem C/C++ e Perl;
• portabilidade com independência de plataforma, onde você escreve
somente uma vez e isso rodará em qualquer lugar;
• Bem estruturada;
• Orientação ao objeto
• Tipagem fraca.

6.2.3 OUTROS RECURSOS

• Sistema operacional Windows 2000;

• DBDesigner 4: Ferramenta de modelagem do banco de dados;

• Quanta 1.0: Ferramenta de desenvolvimento de páginas HTML/PHP;

• Apache HTTP Server v2.2.11

• PhpMyAdmin 3.1.5: Ferramenta gráfica para a criação de banco de


dados;

• Visual Paradigma for UML 5.2 Standart Edition: Ferramenta de


Modelagem de diagramas da UML;

• BrOffice 3.1.0: Software editor de texto;

• Open Workbench: Software para a construção e acompanhamento de


cronogramas;

• Microsoft Internet Explores 6, 7 e 8: navegadores web da Microsoft;

• Mozilla Firefox 3: navegador da Mozilla;

• Google Chrome: navegador da Google;


CRONOGRAMA
O cronograma apresentado na tabela 7.1 refere-se a todas as
atividades realizadas para o desenvolvimento deste trabalho.
Atividades Jul/2009 Ago/09 Set/2009 Out/2009 Nov/2009
Revisão
Bibliográfica
Redação
Monografia
Requisitos
Análise
Projeto
Implementação
Testes
FASES 1ª 2ª ELABORAÇÃO CONSTRUÇÃO TRANSIÇÃO
Iteração Iteração
CONCEPÇÃO

Tabela 7.1 – Cronograma de Desenvolvimento do Trabalho


CONSIDERAÇÕES FINAIS

Ao final deste trabalho de conclusão de curso foi apresentado um


sistema visando auxiliar a integração e automatização de todos os processos
relacionados ao controle de acesso e manutenção de conteúdo de um website.
Possibilitando aos usuários com conhecimento técnico reduzido sobre
tecnologia web, um mecanismo capaz de prover o gerenciamento de conteúdo
web de um website para criar uma estrutura do mesmo, aplicando na interface
conceitos de usabildiade e acessibilidade. As funcionalidades implementadas
para o mesmo foram: gerenciamento de enquetes, áudios, vídeos, páginas,
publicidades e notícias.

8.1 DIFICULDADES ENCONTRADAS

O período de desenvolvimento foi marcado por alguns problemas que


comprometeram o cronograma inicial proposto:
• Tempo para a realização do trabalho: devido a trabalho e atividades
extra-classe, o segundo semestre de 2009 foi marcado por tempo
limitado para a execução do trabalho, comprometendo o cronograma;
• Tecnologias: foi necessário estudo sobre desenvolvimento web,
acessibilidade e usabilidade para aplicar da melhor forma possível neste
trabalho.

8.2 TRABALHOS FUTUROS

Fica listado abaixo algumas sugestões a serem implementadas para a


evolução do sistema:

• Gerenciamento de galeria de fotos;

• Gerenciamento de sorteios e promoções

• Personalização dos arquivos.css disponibilizados pelo sistema;

• Gerenciamento de atividades dos usuários registrados.


REFERÊNCIAS BIBLIOGRÁFICAS
[1] DIAS, C. Usabilidade na Web: Criando portais mais acessíveis. 2 ed: Rio
de Janeiro:AltaBooks, 2007.

[2] NIELSEN, Jakob. Usability Engineering. Boston: Academic Press, 1993.

[3] DOS SANTOS MORATELLI, Alexandre. Sistema de Gerenciamento de


Conteúdo Para Ambiente Web. Disponível em: <
http://www.inf.furb.br/seminco/2002/artigos/Moratelli-seminco2002-
18.pdf/ >

[4] ISO-9241. Ergonomic requirements for office work with visual display
terminals, part 11: Guidance on Usability. 1998

[5] PORQUE PROJETOS SOCIAIS?. Disponível em: <


http://www.scribd.com/doc/96011/Por-que-projetos-sociais/ >

[6] PAULA FILHO, Wilson de Pádua. Engenharia de Software: fundamentos,


métodos e padrões. 2 ed. Rio de Janeiro: LTC 2003.

[7] SCOTT, Kendall. O processo Unificado Explicado. Porto Alegre:


Bookman, 2003.

[8] ARLOW, J. UML and the Unified Process: pratical object-oriented


analysis end design. United States of America: Addison-Wesley, 2002.

[9] CONNALEN J. Desenvolvendo aplicações Web com UML. 2 ed. Rio


Janeiro: Campus, 2003.
BIBLIOGRAFIA
ALMEIDA NETO, M. F. de. Acessibilidade e Responsabilidade Fiscal para
Portais de Órgãos Públicos.2007. Monografia Curso de Tecnologia em
Análise e Desenvolvimento de Sistemas – Hotel Tecnológico, Universidade
Tecnológica Federal do Paraná (UTFPR). Cornélio Procópio, PR, 2009.

O DESAFIO DO GERENCIAMENTO DE CONTEÚDO NA WEB. Disponível


em:< http://www.base64.com.br/pages.php?recid=266 >. Acesso: em 16
out.2009.

Fazendo uma Web Acessível: o uso adequado das cores. Disponível em:
<http://www.criarweb.com/artigos/fazendo-web-acessivel-uso-adequado-
cores.html>. Acesso : em 21/set.2009.

GUTMANS, A., BAKKEN, S., RETHANS, D. Livro PHP 5 - Programação


Poderosa. Rio de Janeiro: Alta Books, 2005.

Metodologia de Desenvolvimento de Sitemas Baseados em OO. Disponível


em: <http://www.unibratec.com.br/revistacientifica/n2_artigos/n2_lima_rr.pdf >.
Acesso : em 18/out.2009.

PHP: Hypetext Preprocessor. Disponível em:<http://www.php.net/>. Acesso


em: 10 nov. 2009.

SICA, Carlos. PHP Orientado a Objetos – Fale a Linguagem da Internet. Rio


de Janeiro: Ciência Moderna, 2006 .

O QUE É UM SISTEMA DE GESTÃO DE CONTEÚDO. Disponível em:


<http://www.paradigma.com.br/>. Acesso: em 09 de nov.2009.

GERENCIAMENTO DE CONTEÚDO PARA DESIGNERS. Disponível em:


<http://webinsider.uol.com.br/index.php/2004/12/03/ Acesso em: 20 set. 2009.

PHP. Um Simples Tutorial. Disponível em: <


http://br2.php.net/manual/pt_BR/tutorial.php>. Acesso em: 18 out. 2009.

MYSQLBRASIL. MySql. Disponível em: <http://www.mysqlbrasil.com.br/>.


Acesso em: 18 mai. 2009.
SCOTT, Kendall. O processo Unificado Explicado. Porto Alegre: Bookman,
2003.

SISTEMA DE GERENCIAMENTO DE CONTEÚDO EM PHP. Disponível em:<


http://www.imasters.com.br/artigo/2926/>. Acesso em 15 out.2009.

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Disponível em: <


http://www.cp.utfpr.edu.br/>. Acesso em: 19 de out. 2009.

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Disponível em: <


http://www.ld.utfpr.edu.br/>. Acesso em: 19 de out. 2009.

PAULA FILHO, Wilson de Pádua. Engenharia de software: fundamentos,


métodos e padrões. 2 ed. Rio de Janeiro: LTC 2003.

XOOPS. Disponível em: <http://www.xoopsbr.org>. Acesso em: 18 de out.


2009.
APÊNDICE A – Identificação dos Atores
Este documento define os papéis desempenhados por cada um dos atores que
interagem com o sistema.

A.1 Introdução
Atores são usuários e/ou outros meios externos que desenvolvem algum papel
em relação ao sistema. Os meios externos são hardwares e/ou softwares que,
assim como os usuários, geram informações para o sistema ou necessitam de
informações geradas a partir do sistema.

Existem atores que podem desempenhar mais de um papel no sistema,


quando se pensar em atores é sempre bom pensar neles como papéis em vez
de pensar como pessoas, cargos, máquinas. No sistema podem ter usuários
com diferentes permissões, para isto é necessário criar um ator para cada
diferente tipo de permissões. Os atores são quem desempenham os casos de
uso, um mesmo ator pode estar em um ou mais casos de uso. Cada ator deve
possuir um nome cujo terá relação direta com a sua função, possuirá uma
descrição que definirá o que ele faz e com quem ele interage.

A.1.1 Objetivo
Apresentar os atores do sistema, os relacionamentos existentes entre eles,
suas funções e como interagem com o sistema.

A.1.2 Escopo
Os atores correspondem a todos os perfis de usuários que interagem
com o sistema. Este documento está vinculado ao desenvolvimento do sistema
SISGNEV.

A.1.3 Organização do Documento


A estrutura organizacional deste documento é realizada da seguinte
forma: a seção A.2 apresenta o nome dos atores e a descrição do seu perfil de
acesso. A seão A.3 mostra a representação gráfica e os relacionamentos entre
os atores do sistema.

A.2 Descrição dos Atores


Esta seção apresenta a descrição de todos os atores que interagem com o
sistema.
A.2.1 Usuário Anônimo

O usuário anônimo é o ator que possui o perfil de acesso mais restrito. Suas
permissões de acesso às funcionalidades do sistema são limitadas à
navegação na página inicial do sistema, envio de e-mail de contato e acesso ao
formulário de solicitação de cadastro de usuário.

A.2.2 Usuário Registrado


O usuário registrado é o ator que possui acesso ao sistema. Entretanto
suas permissões de acesso também são limitadas, estas são: acesso ao
sistema através de login e senha, visualização da página principal do perfil de
acesso “usuário registrado”.

A.2.3 Jornalista
O jornalista é o ator que possui acesso ao sistema e também a
permissões de envio de áudios, vídeos e noticias, entretanto suas permissões
de acesso também são limitadas, estas são: acesso ao sistema através de
login e senha, visualização da página principal do perfil de acesso “jornalista”,
edição de áudios, vídeos e noticias.

A.2.4 Administrador do Sistema


O administrador do sistema é o ator que possui acesso irrestrito a todas as
funcionalidades do sistema. Suas permissões de acesso são: acesso a página
de solicitações de cadastro de usuários – aceitar, recusar e ver solicitação-, à
páginas de edição de notícias, vídeos e áudios – configurar, editar, ativar,
desativar e excluir.

A.3 Relacionamentos
O ator administrador do sistema possui permissão de acesso de todos
os outros usuários. Isso quer dizer que, além de suas funções específicas, ele
também é administrador de website, usuário registrado e usuário anônimo. O
ator jornalista também possui acesso às funções de usuário registrado e
usuário anônimo. O ator usuário registrado também possui acesso às funções
de usuário anônimo. A figura A.3.1 é a representação dos atores e seus
relacionamentos, criada na ferramenta de modelagem UML, Visual Paradigm
for UML 7.1 Comunity Edition.
Figura A.3.1: Representação dos Atores do sistema e seus relacionamentos
APÊNDICE B – Levantamento de Requisitos
Este documento apresenta o levantamento de requisitos do sistema SISGNEV.
Estes requisitos foram elaborados através da experiência com um site
gerenciador de notícias e eventos.

B.1 Introdução
Os requisitos funcionais do usuário são caracterizados pelas funcionalidades
que o usuário deseja para seu sistema. Estes requisitos foram transformados
em casos de uso do sistema SISGNEV. Juntamente com os requisitos
funcionais foram levantados os requisitos não funcionais.

B.1.1 Objetivo
Registrar os requisitos funcionais e não funcionais do sistema SISGNEV.

B.1.2 Escopo
Os requisitos funcionais levantados neste documento originam os casos de uso
a serem implementados, assim como os requisitos não funcionais que
trabalham em conjunto com o primeiro e a especificação da interface do
sistema.

B.1.3 Organização do Documento

Este documento possui duas seções: seção B.2 apresenta os requisitos


funcionais, seção B.3 apresenta os requisitos não funcionais.

B.2 Requisitos Funcionais


Esta seção apresenta todos os requisitos funcionais relacionados ao sistema
SISGNEV, a tabela B.2.1 Requisitos Funcionais lista-os.
Tabela B.2.1: Requisitos Funcionais

RF Funcionalidade Prioridade

1 O sistema deve permitir o usuário efetuar login Essencial

2 O sistema deve permitir o usuário efetuar logout Essencial

3 O sistema deve permitir o usuário alterar a senha. Essencial

4 O sistema deve permitir enviar a senha do usuário por e- Essencial


mail

5 O sistema deve permitir ao administrador do sistema Essencial


gerenciar as solicitações de cadastro de usuários: aceitar,
recusar, ver solicitação e ver listagem

6 O sistema deve permitir ao administrador do sistema Essencial


gerenciar os usuários do sistema: editar, ativar, desativar e
excluir.

7 O sistema deve permitir ao administrador do sistema Essencial


gerenciar páginas: criar, editar, desativar, ativar e excluir.

8 O sistema deve permitir ao administrador do sistema Essencial


gerenciar a anexação de arquivos: anexar, ver listagem e
excluir.

9 O sistema deve permitir ao administrador do sistema Essencial


gerenciar enquetes: criar, finalizar, ver listagem e excluir.

10 O sistema deve permitir ao administrador do sistema Essencial


gerenciar publicidade: criar, editar, e excluir.

11 O sistema deve permitir ao administrador do sistema Essencial


gerenciar notícias: criar, editar, excluir, ver notícia e ver
listagem.

12 O sistema deve permitir ao administrador do sistema Essencial


gerenciar áudios: criar, editar, excluir, ver áudios e ver
listagem.

13 O sistema deve permitir ao administrador do sistema Essencial


gerenciar vídeos: criar, editar, excluir, ver vídeo e ver
listagem.

14 O sistema deve permitir ao usuário anônimo acessar a Essencial


página inicial do sistema, enviar e-mail de contato e solicitar
cadastro de usuário.

B.3 Requisitos Não Funcionais


Esta seção apresenta todos os requisitos não funcionais relacionados
ao sistema SISGNEV, a Tabela B.3.1 Requisitos Não Funcionais lista-os.

Tabela B.3.1: Requisitos Não Funcionais

ID Requisitos Categoria

NF01 O sistema deverá ser manipulado por meio de uma Usabilidade


interface gráfica para web.

NF02 O sistema deverá funcionar na internet. Ambiente

NF03 O sistema deverá utilizar o MYSQL como SGBD para Padronização


armazenamento e manipulação dos dados.

NF04 O sistema utilizará a linguagem de programação PHP Padronização


para desenvolvimento

NF05 O sistema deverá restringir o acesso dos usuários Segurança


conforme perfil de acesso.

NF06 O sistema deverá ser de fácil utilização, Inteligibilidade


possibilitando acesso de diversos níveis de
experiência de usuários. Usabilidade

NF07 O sistema deverá aplicar recomendações de Padronização


acessibilidade
Acessibilidade

NF08 O sistema deve possuir conteúdo compreensível e Acessibilidade


navegável.
Usabilidade

NF09 O sistema deverá ser desenvolvido considerando a Expansibilidade


possibilidade de expansão.
APÊNDICE C – Diagramas e Especificações de Caso de Uso
Este apêndice relaciona a documentação gerada para o sistema. Todos os
diagramas aqui apresentados foram gerados utilizando o software Visual
Paradigm For UML7.1 Comunity Edition. Neste documento também estão
relacionadas as especificações de caso de uso. É necessário esclarecer que
neste documento não constam todos os diagramas referentes ao sistema, os
que são apresentados nas seções a seguir, exceto os diagramas de caso de
uso.

C.1 Diagramas de Caso de Uso


Esta seção apresenta as especificações e os diagramas de casos de uso
criados para mostrar o sistema e interação com seus atores.

Figura C.1.2.1: Diagrama de Caso de Uso – Visão Geral


Figura C.1.2.2: Diagrama de Caso de Uso: Controlar Acesso

Figura C.1.2.3: Diagrama de Caso de Uso – Gerenciar Usuário


Figura C.1.2.4: Diagrama de Caso de Uso – Gerenciar Solicitação
C.2 Diagrama de Classes

C.2.1 Diagrama de Classes de Análise


O diagrama de Classes de Análise apresenta o sistema como um todo.
A Figura C.2.1 apresenta a visão geral do sistema desenvolvido.

Figura C.2.1 - Visão geral do Sistema Desenvolvido

C.3 Diagrama de banco de dados


Para a modelagem do diagrama de banco de dados apresentada na figura
C.3.1 foi utilizada o software Mysql Workbench.
Figura C.3.1: Diagrama de banco de dados
C.4 Banco de Dados MYSQL

Na tabela a seguir podemos visualizar o script para criação do banco de dados,


sendo que o mesmo foi gerado via exportação do modelo diagrama de banco
de dados criado no MySQL Workbench.
Tabela C.4.1 – Script Para Geração do Banco de Dados
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE
latin1_swedish_ci ;
USE `mydb`;

-- -----------------------------------------------------
-- Table `mydb`.`tb_publicidade`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tb_publicidade` ;

CREATE TABLE IF NOT EXISTS `mydb`.`tb_publicidade` (


`pb_codigo` INT NOT NULL ,
PRIMARY KEY (`pb_codigo`) )
ENGINE = InnoDB
COMMENT = 'Tabela de Publicidades';

-- -----------------------------------------------------
-- Table `mydb`.`tb_enquete`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tb_enquete` ;

CREATE TABLE IF NOT EXISTS `mydb`.`tb_enquete` (


`eq_codigo` INT NOT NULL ,
`eq_pergunta` VARCHAR(100) NULL ,
`eq_datainicio` DATE NULL ,
`eq_data_fim` DATETIME NULL ,
`eq_situacao` TINYINT(1) NULL ,
PRIMARY KEY (`eq_codigo`) )
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `mydb`.`tb_pagina`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tb_pagina` ;

CREATE TABLE IF NOT EXISTS `mydb`.`tb_pagina` (


`pg_codigo` INT NOT NULL ,
`eq_codigo` INT NULL ,
`pg_titulo` VARCHAR(45) NULL ,
`pg_resenha` VARCHAR(100) NULL ,
`pg_conteudo` VARCHAR(2000) NULL ,
`pg_datacriacao` DATE NULL ,
`pg_situacao` TINYINT(1) NULL ,
`pg_tipopagina` VARCHAR(2) NULL ,
`tb_enquete_eq_codigo` INT NOT NULL ,
PRIMARY KEY (`pg_codigo`) ,
INDEX `fk_tb_pagina_tb_enquete1` (`tb_enquete_eq_codigo` ASC) ,
CONSTRAINT `fk_tb_pagina_tb_enquete1`
FOREIGN KEY (`tb_enquete_eq_codigo` )
REFERENCES `mydb`.`tb_enquete` (`eq_codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `mydb`.`tb_usuario_registrado`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tb_usuario_registrado` ;

CREATE TABLE IF NOT EXISTS `mydb`.`tb_usuario_registrado` (


`ur_codigo` INT NOT NULL ,
`ur_nome` VARCHAR(45) NULL ,
`ur_ativo` TINYINT(1) NULL ,
`ur_perfil` VARCHAR(2) NULL ,
`ur_senha` VARCHAR(15) NULL ,
`ur_login` VARCHAR(18) NULL ,
`data_ultimo_acesso` DATE NULL ,
`ur_email` VARCHAR(40) NULL ,
`ur_data_cadastro` DATE NULL ,
`ur_foto` VARCHAR(30) NULL ,
`ur_fone` VARCHAR(30) NULL ,
`ur_cidade` VARCHAR(30) NULL ,
`ur_estado` VARCHAR(2) NULL ,
`ur_sexo` VARCHAR(2) NULL ,
`ur_data_nasc` DATE NULL ,
`ur_data_atualizacao` DATE NULL ,
`ur_rg` VARCHAR(10) NULL ,
`tb_pagina_pg_codigo` INT NOT NULL ,
PRIMARY KEY (`ur_codigo`, `tb_pagina_pg_codigo`) ,
INDEX `fk_tb_usuario_registrado_tb_pagina1` (`tb_pagina_pg_codigo` ASC) ,
CONSTRAINT `fk_tb_usuario_registrado_tb_pagina1`
FOREIGN KEY (`tb_pagina_pg_codigo` )
REFERENCES `mydb`.`tb_pagina` (`pg_codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `mydb`.`registro_logs`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`registro_logs` ;

CREATE TABLE IF NOT EXISTS `mydb`.`registro_logs` (


`rl_codigo` INT NOT NULL ,
`ur_codigo` INT NULL ,
`rl_data` DATE NULL ,
`rl_hora` DATE NULL ,
PRIMARY KEY (`rl_codigo`) ,
INDEX `ur_codigo` (`ur_codigo` ASC) ,
CONSTRAINT `ur_codigo`
FOREIGN KEY (`ur_codigo` )
REFERENCES `mydb`.`tb_usuario_registrado` (`ur_codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `mydb`.`table1`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`table1` ;

CREATE TABLE IF NOT EXISTS `mydb`.`table1` (


)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `mydb`.`tb_noticias`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tb_noticias` ;

CREATE TABLE IF NOT EXISTS `mydb`.`tb_noticias` (


`nt_codigo` INT NOT NULL ,
`nt_titulo` VARCHAR(100) NULL ,
`resumo` VARCHAR(200) NULL ,
`conteudo` VARCHAR(10000) NULL ,
`nt_publicacao` DATETIME NULL ,
`tb_pagina_pg_codigo` INT NOT NULL ,
PRIMARY KEY (`nt_codigo`, `tb_pagina_pg_codigo`) ,
INDEX `fk_tb_noticias_tb_pagina1` (`tb_pagina_pg_codigo` ASC) ,
CONSTRAINT `fk_tb_noticias_tb_pagina1`
FOREIGN KEY (`tb_pagina_pg_codigo` )
REFERENCES `mydb`.`tb_pagina` (`pg_codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `mydb`.`tb_respostas`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tb_respostas` ;

CREATE TABLE IF NOT EXISTS `mydb`.`tb_respostas` (


`rp_codigo` INT NOT NULL ,
`eq_codigo` INT NULL ,
`rp_resposta` VARCHAR(50) NULL ,
PRIMARY KEY (`rp_codigo`) ,
INDEX `eq_codigo` (`eq_codigo` ASC) ,
CONSTRAINT `eq_codigo`
FOREIGN KEY (`eq_codigo` )
REFERENCES `mydb`.`tb_enquete` (`eq_codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `mydb`.`tb_anexo`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tb_anexo` ;

CREATE TABLE IF NOT EXISTS `mydb`.`tb_anexo` (


`ax_codigo` INT NOT NULL ,
`pagina_int_eq_codigo` VARCHAR(45) NULL ,
`pg_codigo` VARCHAR(45) NULL ,
`ax_extensao` VARCHAR(45) NULL ,
`ax_descricao` VARCHAR(45) NULL ,
`ax_data_criacao` DATE NULL ,
`tb_pagina_pg_codigo` INT NOT NULL ,
PRIMARY KEY (`ax_codigo`, `tb_pagina_pg_codigo`) ,
INDEX `fk_tb_anexo_tb_pagina1` (`tb_pagina_pg_codigo` ASC) ,
CONSTRAINT `fk_tb_anexo_tb_pagina1`
FOREIGN KEY (`tb_pagina_pg_codigo` )
REFERENCES `mydb`.`tb_pagina` (`pg_codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `mydb`.`tb_video`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tb_video` ;

CREATE TABLE IF NOT EXISTS `mydb`.`tb_video` (


`vd_codigo` INT NOT NULL ,
`pagina_int_eq_codigo` VARCHAR(45) NULL ,
`pg_codigo` VARCHAR(45) NULL ,
`vd_extensao` VARCHAR(45) NULL ,
`vd_descricao` VARCHAR(45) NULL ,
`vd_data_criacao` DATE NULL ,
`vd_duracao` TIME NULL ,
`tb_pagina_pg_codigo` INT NOT NULL ,
PRIMARY KEY (`vd_codigo`, `tb_pagina_pg_codigo`) ,
INDEX `fk_tb_video_tb_pagina1` (`tb_pagina_pg_codigo` ASC) ,
CONSTRAINT `fk_tb_video_tb_pagina1`
FOREIGN KEY (`tb_pagina_pg_codigo` )
REFERENCES `mydb`.`tb_pagina` (`pg_codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `mydb`.`tb_audio`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tb_audio` ;

CREATE TABLE IF NOT EXISTS `mydb`.`tb_audio` (


`au_codigo` INT NOT NULL ,
`pagina_int_eq_codigo` VARCHAR(45) NULL ,
`pg_codigo` VARCHAR(45) NULL ,
`au_extensao` VARCHAR(45) NULL ,
`au_descricao` VARCHAR(45) NULL ,
`au_data_criacao` DATE NULL ,
`tb_pagina_pg_codigo` INT NOT NULL ,
PRIMARY KEY (`au_codigo`, `tb_pagina_pg_codigo`) ,
INDEX `fk_tb_audio_tb_pagina1` (`tb_pagina_pg_codigo` ASC) ,
CONSTRAINT `fk_tb_audio_tb_pagina1`
FOREIGN KEY (`tb_pagina_pg_codigo` )
REFERENCES `mydb`.`tb_pagina` (`pg_codigo` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

C.5 Diagramas de Seqüência

A seguir são apresentados diagramas de seqüência gerados para este


trabalho.

Figura C.5.1: Diagrama de Seqüência - Efetuar Login


Figura C.5.2: Diagrama de Seqüência - Efetuar Logout

C.6 Diagrama de Máquina de Estados


Esta seção apresenta o diagrama de máquina de estado criado para
demonstrar o estado assumido pela solicitação de cadastro de usuário.

Figura C.6.1 Diagrama de Máquina de Estado – Solicitação de Cadastro de


Usuário

C.7 Diagrama de Atividades


O diagrama de atividades permite modelar o fluxo que acontece dentro dos
casos de uso identificados para a aplicação. A seguir estes são apresentados.
Figura C.7.1: Diagrama de Atividades – Cadastrar Usuário

Figura C.7.2: Diagrama de Atividades – Editar Publicidade


C.8 Especificação de Casos de Uso.

Tabela C.8.1: Controlar Acesso


UC1_Controlar Acesso

Identificador UC1.1

Nome: Efetuar Login

Ator Principal: Usuario Registrado

Ator Secundário:

Esse caso de uso descreve as atividades


Resumo:
envolvidas para efetuar o login no sistema

Pré-condições O usuário deve estar cadastrado na base de dados.

Ações do Ator: Ações do Sistema:

1. O usuário informa o
login e a senha

2. Clica em entrar

4. Consulta os dados informados.

5. Operação efetuada com sucesso.

6. Executa o caso de uso Inserir Registro de Login


(UC1.1)

7. Persiste os dados do usuário na sessão

8. Redireciona para a página principal do sistema


de acordo com o perfil de usuário.

Fluxo Alternativo:

Identificador: UC1.1 FA1

Algum dado informado está incorreto ou usuário


Resumo:
está inativo.

Ações do Ator: Ações do Sistema:

1. Incia no passo 4 do caso de uso UC1.1.

2. Operação não efetuada.


3. Sessão carregada com atributo de inválido.

4. Redirecionamento para a página principal.

5. Mensagem de "Usuário Não Autenticado"


notificando usuário.

Identificador: UC1.2

Nome: Efetuar Logout

Ator: Usuário Registrado

Esse caso de uso descreve as atividades


Resumo:
envolvidas para efetuar o logout no sistema.

Pré-condições: O usuário deve estar logado no sistema.

Ações do Ator: Ações do Usuário:

1. Clica na opção de
menu sair.

2. Sessão de usuário é removida.

3. Sistema efetua logout.

4. Redirecionamento para página principal.

Fluxo Alternativo

Identificador: UC1.2FA1

Resumo: Sistema inativo por determinado período de tempo.

Ações do Ator: Ações do Sistema:

1. Sistema permanece inativo por um determinado


período

2. Verifica que péríodo é superior ao permitido.

3. Inicia no passo 2 do caso de uso Efetuar Logout


(UC1.2)
Identificador: UC1.3

Nome: Inserir Registro de Login

Ator Principal: Usuário Registrado

Ator Secundário:

Esse caso de uso descreve as atividades


Resumo:
envolvidas para inserir o registro de login.

Pré-condições: O usuário deve estar cadastrado na base de dados.

Ações do Ator: Ações do Sistema:

1. Após validar os dados, é inserido um registro de


login do usuário na base de dados.

Tabela C.8.2: Gerenciar Usuário

UC2_ Gerenciar Usuário

Identificador: UC2

Nome: Gerenciar Usuários

Ator Principal: Administrador Sistema, Administrador Website

Ator Secundário:

Esse caso de uso descreve as atividades para


Resumo:
gerenciar os usuários do sistema.

- Verificar/Validar Campos;

- Cadastrar Usuário

- Ver Listagem;

- Ver Usuário
Casos de Uso:
- Alterar Dados Usuário

- Excluir Usuário

- Desativar Usuário

- Aceitar Usuário
- Recusar Usuário

Identificador UC 2.1

Nome: Verificar/Validar Dados

Resumo: Há campos sem preenchimento

Ações do Ator: Ações do Sistema:

1. Inicia no passo 2 do caso de uso


Verificar/Validar dados(UC2.1)

2. Analisa existência de algum campo inválido.

3. Emite mensagem informando o campo


inválido

Identificador: UC2.2

Nome: Cadastrar Usuário

Apresenta as atividades para realizar o


Resumo:
cadastro de um usuário

O usuário deve ter permissão de acesso à


Pré-Condições
página de Usuário

Ações do Ator: Ações do Sistema:

1. Clica em "Cadastrar
Usuário" na opção de menu
Usuários

2. Informa os dados referentes


ao novo usuário

3. Clica em cadastrar

4. Executa o arquivo CadUser.php, passando


como parâmetro o comando "CadUsu".

5. Executa o caso de uso Verificar/Validar


Dados (UC 2.1).
6. Executa o procedimento "Cadastrar Usuario"

7. Emite uma mensagem avisando que o


cadastro foi realizado com sucesso

8. Executa o caso de uso Ver Listagem (UC


2.3)

Identificador: UC2.3

Nome: Consultar Listagem Solicitações

Esse caso de uso descreve as atividades para


Resumo: carregar a listagem de solicitações de cadastro
de usuários.

O usuário ter permissão de acesso à pagina


Pré-condições:
principal

Ações do Ator: Ações do Sistema:

2 . Redirecionamento a página principal do


sistema
1. Executa caso de uso 3. Apresenta uma lista em formato de tabela
Controla Acesso (UC1) ordenada por data de solicitação do cadastro
do usuário, disponibilizando link para "aceitar
usuário" e "recusar usuário"

Identificador UC2.4

Nome: Ver Listagem

Descreve as atividades para carregar a


Resumo:
listagem de usuários

O usuário deve ter permissão de acesso à


Pré-condições
página de usuários

Ações do Ator Ações do Sistema:

2. Realiza consulta sobre os dados do usuário


1. Clica na opção de menu
desejado passando como parâmetro seu
Usuários.
código identificador(usucod).
3. Preenche os campos da página de cadastro
com os dados do usuário.

2. Consulta todos os usuários.

3. Apresenta uma lista em formato de tabela


ordenada pelo nome do usuário,
disponibilizando link para “editar”, “excluir”,
“ativar” ou “desativar” um usuário.

Identificador: UC2.5

Nome: Ver Usuário

Esse caso de uso descreve as atividades para


Resumo: carregar os dados referentes a um determinado
usuário

O usuário precisa ter permissão de acesso à


Pré-condições:
página de Usuários.

Ações do Ator: Ações do Sistema:

1. Clica no link "Editar" na


página de usuários.

2. Efetua uma consulta dos dados do usuário


escolhido passando como parâmetro seu
código identificador(usucod)

3. Preenche os campos da página de cadastro


com os dados do usuário.

Identificador: UC2.6

Nome: Editar Dados Usuário

Descreve as tarefas para editar os dados


Resumo:
referentes a um determinado usuário

Pré-condições O usuário precisa ter permissão de acesso à


página de Usuários

O usuário a ser alterado deve estar cadastrado


e deve ser selecionado para a alteração.

Os casos de uso UC2.4 e UC 2.5 foram


executados com sucesso.

Ações do Ator Ações do Sistema

1. Executar o caso de uso


Visualizar Listagem(UC2.4)

2. Executa o caso de uso


Visualizar Usuário(UC2.5)

3. Edita os dados

4. Clica em "Editar"

5. Executa o arquivo alterusu, passando como


parametro o valor para "edit"

6. Executa o caso de uso Visualizar/Validar


Dados(UC2.1)

9. Executa a funçaõ "editarUsuario"

10. Retorna uma mensagem avisando que a


alteração foi efetuada com sucesso.

11. Executa caso de uso Ver Listagem(UC2.4)

Identificador: UC2.7

Nome: Excluir usuário

Descreve as atividades realizadas para


Resumo:
exclusão de um usuário

O usuário deve ter permissão de acesso à


página de usuários.

O usuario a ser excluído deve estar cadastrado.


Pré-Condições: O usuário não estar vinculado a nenhuma
Soliciação ou Conta de Website.

O caso de uso UC2.4 foi executado com


sucesso.
O usuario a ser excluído deve estar inativo
(Caso de uso UC2.8)

Açoes do Ator: Açoes do Sistema:

1. Executa o caso de uso


Visualizar
Listagem(UC2.7)

2. Clica no link "Excluir".

3. Executa o arquivo Delusu.php, passando


como parâmetro o codigo do usuario (codusu)

4. Verifica se o usuário está ativo

5. Executa o caso de uso


Desativar Usuário(UC2.4)

6. Executa o metodo "excluirUsuario".

7. Exibe uma mensagem informando que a


exclusao foi efetuada com sucesso.

8. Executa caso de uso Visualizar Listagem


(UC2.1)

Identificador UC2.8

Nome: Desativar Usuário

Esse caso de uso descreve as atividades para


Resumo:
desativar um usuário

O Usuário deve ter permissão de acesso à


página de Usuários

O usuário a ser desativado deve estar


cadastrado.
Pré-Condições:
O caso de uso UC 2.4 foi executado com
sucesso.

O usuário a ser desativado deve estar ativo.


Caso de uso UC2.8)
Ações do Ator: Ações do Sistema:

1. Executa o caso de uso Ve


Listagem (UC2.7)

2. Clica no link "Desativar"

3. Executa o arquivo UsuFuncoes, passando


ocmo parametro o comando "desativar"

4. Executa o método "desativarUsuario"

5. Retorna uma mensagem informando que a


desativação foi efetuada com sucesso.

6. Executa caso de uso Ver Listagem(UC2.4)

Identificador: UC2.9

Nome: Ativar Usuário

Esse caso de uso descreve as atividades para


Resumo:
ativar um usuário

O usuário deve ter permissão de acesso à


página de Usuários.

O usuário a ser ativado deve estar cadastrado


Pré-condições: O caso de uso UC2.4 foi executado com
sucesso.

O usuário a ser ativado deve estar inativo (caso


de uso UC2.8)

Ações do Ator: Ações do Sistema:

1. Executa o caso de uso Ve


Listagem (UC2.4).

2. Clica no link "Ativar"

3. Executa o arquivo UsuFuncoes, passando


como parametro o comando "ativar"

4. Executa o metodo "ativarUsuario".


5. Retorna uma mensagem informando que a
ativação foi efetuada com sucesso.

6. Executa o caso de uso Ver Listagem (UC2.4)

Indentificador UC2.10

Nome: Solicitar Cadastro

Ator Principal: Usuário anônimo

Esse caso de uso descreve as atividades para


Resumo:
solicitação de cadastro de usuário.

Os campos para serem verificados devem estar


Pré-condição:
preenchidos.

Ações do Ator: Ações do Sistema:

1. Clica na opção de menu


"Solicite seu cadastro"

2. Informa os dados

3. Clica no botão "Solicitar"

4. Executa o arquivo FuncUsu.php, passando


como parâmetro o comenado "solcad".

5. Executa o caso de uso Verificar/Validar


Dados (UC2.1)

6. Executa o método
"CadastrarUsuarioSolicitante".

7. Retorna uma mensagem confirmando o


envio de solicitação

8. Redireciona a página de formulário de envio


de solicitação de cadastro.

Indentificador UC2.11

Nome: Aceitar Usuário


Ator Principal: Usuário anônimo

Esse caso de uso descreve as atividades para


Resumo:
aceitar um usuário.

O usuário deve ter permissão de acesso à


página principal.

O usuário a ser aceito deve ter solicitado


Pré-condições:
cadastro.

O caso de uso UC2.8 foi executado com


sucesso.

Ações do Ator: Ações do Sistema:

1. Executa o caso de uso Ve


Listagem (UC2.1)

2. Clica no link "Aceitar


Usuário"

3. Executa o arquivo FuncUsu, passando como


parâmentro o comando "aceitar".

4. Executa o método "aceitarUsuário"

5. Retorna uma mensagem informando que a


aceitação foi realizada com sucesso.

6. Executa caso de uso Ver Listagem (UC2.1).

Indentificador UC2.12

Nome: Recusar Usuário

Esse caso de uso descreve as atividades para


Resumo:
recusar um usuário

Pré-condições: O usuário deve ter permissão de acesso à


página principal.

O usuário a ser recusado deve ter solicitado


cadastro.

O caso de uso UC2.10foi executado com


sucesso.

Ações do Ator: Ações do Sistema:

1. Executa o caso de uso Ve


Listagem (UC2.11)

2. Clica no link "Recusar


Usuário"

3. Executa o arquivo FuncUsu, passando como


parâmentro o comando "recusar".

4. Executa o método "recusarUsuário"

5. Retorna uma mensagem informando que a


aceitação foi recusada com sucesso.

6. Executa caso de uso Ver Listagem (UC2.1).

Tabela C.8.3 - Gerenciar Páginas


UC3_Gerenciar
Páginas

Identificador: UC3

Nome: Gerenciar Páginas

Ator Principal: Administrador Website

Ator Secundário:

Esse caso de uso descreve as atividades para


Resumo:
gerenciar as páginas do website

- Verificar/validar campos;

- Criar páginas;

- Editar Páginas;
Casos de Uso:
- Excluir Página;

- Ativar Página;

- Desativar Página;
Identificador UC3.1

Nome: Verificar/Validar Dados

Esse caso de uso descreve as atividades para verificar


Resumo: se os campos obrigatórios foram preenchidos e
verificar ser os mesmos necessitam de validação.

Ações do Ator: Ações do Sistema:

1. Verifica se os campos obrigatórios foram


preenchidos.

2. Valida todos os campos que necessitam de


validação.

Fluxo Alternativo:

Identificador: UC3.1.1 FA1

Resumo: Existem campos que não foram preenchidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 1 do caso de uso Verificar/Validar


dados (UC7.1.1).

2. Verifica existência de algum campo obrigatório não


preenchido.

3. Exibe mensagem informando que o campo não foi


preenchido.

4. Não executa passo 2.

Fluxo Alternativo

Identificador: UC3.1.1 FA2

Resumo: Existem campos inválidos.

Ações do Ator: Ações do Sistema:

1. Inicia no passo 2 do caso de uso Verificar/Validar


dados (UC 7.1.1).

2. Verifica existência de algum campo inválido.


3. Exibe mensagem informando o campo inválido.

Identificador UC3.2

Nome: Criar Página

esse caso de uso descreve as atividades para criar


Resumo:
uma página.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Páginas.

Ações do Ator: Ações do Sistema:

1. Clica em "Criar
Página" na opção de
menu Página.

2. Informa dados
referentes a nova
página.

3. Clica em "Cadastrar"

4. Executa o arquivo Pagina, passando como


parâmetro o comando "addpagina".

5. Executa o caso de uso Verificar/Validar Dados


(UC3.1).

6. Executa o método "cadastrarPagina".

7. Retorna uma mensagem informando que a


criaçãofoi efetuada com sucesso.

Identificador: UC3.3

Nome: Editar Página

Esse caso de uso descreve as atividades para alterar


Resumo:
os dados referentes a uma determinada página

Pré-condições: O usuário deve ter permissão de acesso à página de


Página.
A página a ser alterada deve estar cadastrada e deve
ser selecionada para alteração.

Ações do Ator: Ações do Sistema:

1. Altera os dados

2. Clica em "Editar"

3. Executa o arquivo Pagina, passando como


parâmetro o comando "editar"

4. Executa o caso de uso Verificar/Validar Dados


(UC3.1).

5. Executa o método "editarPagina"

6. Retorna uma mensagem informando que a


alteração foi efetuada com sucesso.

Identificador: UC3.4

Nome: Excluir Página

Esse caso de uso descreve as atividades para excluir


Resumo:
uma página.

Pré-condições: O usuário deve ter permissão à página de Páginas

Ações do Ator: Ações do Sistema:

1. Clica no link "Excluir"

2. Executa o arquivo Pagina, passando como


parâmetro o comando "excluirpagina".

3. Executa o método "excluirPagina".

4. Retorna uma mensagem informando que a exclusão


foi realizada com sucesso.

Identificador: UC3.5

Nome: Desativar Página


Esse caso de uso descreve as atividades para
Resumo:
desativa uma página

O usuário deve ter permissão de acesso à página de


Pré-condições:
Páginas.

Ações do Ator: Ações do Sistema:

1. Clica no link
"Desativar"

2. Executa o arquivo Pagina, passando como


parâmetro o comando "desativarpagina"

3. Executa o método "desativarPagina".

4. Retorna uma mensagem informando que a


desativação foi realizada com sucesso.

Identificador: UC3.6

Nome: Ativar Página

Esse caso de uso descreve as atividades para ativar


Resumo:
uma página

Pré-condições: O usuário deve ter permissão para ativar uma página.

Ações do Ator: Ações do Sistema:

1. Clica no link "Ativar"

2. Executa o arquivo Pagina, passando como


parâmetro p comando "ativarpagina"

3. Executa o método "ativarPagina"

4. Retorna uma mensagem informando que a ativação


foi efetuada com sucesso.

Tabela C.8.4: Gerenciar Anexos

UC8_Gerenciar Anexos

Identificador: UC4
Ator Principal: Administrador Website

Ator Secundário:

Esse caso de uso descreve as atividades para


Resumo:
gerenciar os anexos do website

- Anexar Arquivo;

Casos de Uso: - Listar Arquivo;

- Excluir Arquivo;

Deve ter executado o caso de uso UC3_Gerenciar


Pré-condições:
Páginas

Identificador: UC4.1

Nome: Anexar Arquivo

Esse caso de uso descreve as atividades para


Resumo:
anexar um arquivo

O usuário deve ter permissão de acesso à página


Pré-condições:
de Anexos.

Ações do Ator: Ações do Sistema:

1. Clica em "Anexar
Arquivo" na opção de menu
Anexos.

2. Informa os dados
referentes ao novo anexo.

3. Clica em "Anexar"

4. Executa o arquivo Anexo, passando como


parâmetro o comando "addanexo".

5. Executa o método "cadastrarAnexo".

6. Retorna uma mensagem informando que a


criação foi efetuada com sucesso.
Identificador: UC4.2

Nome: Excluir Anexo

Esse caso de uso descreve as atividades para


Resumo:
excluir um anexo.

Pré-condições: O usuário deve ter permissão à página de Anexos

Ações do Ator: Ações do Sistema:

1. Executa o caso de uso


Lista Anexo(UC8.3)

2. Clica no link "Excluir"

3. Executa o arquivo Anexo, passando como


parâmetro o comando "excluiranexo".

4. Executa o método "excluirAnexo".

5. Retorna uma mensagem informando que a


exclusão foi realizada com sucesso.

Identificador: UC4.3

Nome: Listar Arquivo

Esse caso de uso descreve as atividades para


Resumo:
carregar a listagem de anexos.

O usuário deve ter permissão de acesso à página


Pré-condições:
de Anexos.

Ações do Ator: Ações do Sistema:

1. Clica na opção de menu


Anexos.

2. Consulta todos os anexos.

3. Apresenta uma lista em formato de tabela


ordenada pela data de criação disponibolizando
link para "excluir".

Tabela C8.5: Gerenciar Notícias


UC5_Gerenciar Notícias

Identificador: UC5

Nome: Gerenciar Notícias

Ator Principal Administrador Website.

Ator Secundário:

Esse caso de uso descreve as atividades para


Resumo:
gerenciar as notícias do website.

- Verificar/validar campos;

- Criar Notícia;

- Ver Listagem;
Casos de Uso:
- Ver Notícia;

- Editar Notícia;

- Excluir Notícia;

Identificador: UC5.1.1

Nome: Verificar/validar Dados

Esse caso de uso descreve as atividades para verificar


Resumo: se os campos obrigatórios foram preenchidos e
verificar se os mesmos necessitam de validação.

Os campos para serem verificados deve estar


Pré-condição:
preenchidos.

Ações do Ator Ações do Sistema:

1. Verifica se os campos obrigatórios foram


preenchidos.

2. Valida todos os campos que necessitam validação.

Fluxo Alternativo:

Identificador: UC5.1.1 FA1


Resumo: Existem campos que não foram preenchidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 1 do caso de uso Verificar/Validar


dados (UC9.1.1).

2. Verifica existência de algum campo obrigatório não


preenchido.

3. Exibe mensagem informando o campo que não foi


preenchido.

4. Não executa passo 2.

Fluxo Alternativo:

Identificador: UC5.1.1 FA2

Resumo: Existem campos inválidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 2 do caso de uso Verificar/validar


dados (UC9.1.1).

2. Verifica a existência de algum campo inválido

3. Exibe mensagem informando o campo inválido.

Identificador: UC5.2

Nome: Criar Notícia

Esse caso de uso descreve as atividades para criar


Resumo:
uma notícia.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Notícias

Ações do Ator: Ações do Sistema:

1. Clica em "Criar
Notícia" na opção de
menu Noticia.

2. Informa os dados
referentes a nova
notícia

3. Clica em
"Cadastrar".

4. Executa o arquivo Notica, passando como parâmetro


o comando "addnoticia".

5. Executa o caso de uso Verificar/Validar Dados


(UC5.1).

6. Executa o método "CadastrarNoticia".

7. Retorna uma mensagem informando que a criação


foi efetuada com sucesso.

Identificador: UC5.3

Nome: Editar Notícia

Esse caso de uso descreve as atividades para alterar


Resumo:
os dados referentes a uma determinada notícia.

O usuário deve ter permissão de acesso à página de


Notícias.

A notícia a ser alterada deve estar cadastrada e deve


Pré-condições:
ser selecionada para alteração.

Os casos de uso UC5.4 e UC5.5 foram executados


com sucesso.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC5.4)

2. Executa o caso de
uso Ver Usuário
(UC5.5)

3. Altera os dados.

4. Clica em "Editar".
Executa o arquivo Noticia, passando como parâmetro o
comando "editar".

6. Executa o caso de uso Verificar/Validar


Dados(UC5.1).

8 Executa o método "editarNoticia".

9 Retorna uma mensagem informando que a alteração


foi realizada com sucesso.

Identificador: UC5.3

Nome: Excluir Notícia

Esse caso de uso descreve as atividades para excluir


Resumo:
uma notícia.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Notícias.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC5.4).

2. Clica no link
"Excluir"

3. Executa o arquivo Noticia, passando como


parâmetro o comando "excluirnoticia".

4. Executa o método "excluirNoticia"

5. Retorna uma mensagem informando que a exclusão


foi realizada com sucesso.

Identificador: UC5.4

Nome: Ver Listagem

Esse caso de uso descreve as atividades para carregar


Resumo:
a listagem de notícias.
O usuário deve ter permissão de acesso à página de
Pré-condições:
Notícias.

Ações do Ator: Ações do Sistema:

1. Clica na opção de
menu Notícias.

2. Consulta todos as notícias.

3. Apresenta uma lista em formato de tabela ordenada


pela data de criação, disponibolizando link para
"editar", "excluir".

Identificador: UC5.5

Nome: Ver Notícia

Esse caso de uso descreve as atividades para carregar


Resumo:
os dados referentes a uma determinada notícia.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Notícias

Ações do Ator: Ações do Sistema:

1. Clica no link "Editar"


na página de notícias

2. Efetua uma consulta dos dados da notícia escolhida


passando como parâmetro seu codigo identificador (int
ntcodigo).

3. Preenche os campos da página de cadastro com os


dados da notícia.

Tabela C.8.6: Gerenciar Publicidade

UC6_Gerenciar Publicidade

Identificador: UC6

Nome: Gerenciar Publicidade

Ator Principal Administrador Website.


Ator Secundário:

Esse caso de uso descreve as atividades para


Resumo:
gerenciar as publicidades do Website.

- Verificar/validar campos;

- Criar Publicidade;

- Ver Listagem;
Casos de Uso:
- Ver Publicidade;

- Editar Publicidade;

- Excluir Publicidade;

Identificador: UC6.1

Nome: Verificar/validar Dados

Esse caso de uso descreve as atividades para


verificar se os campos obrigatórios foram
Resumo:
preenchidos e verificar se os mesmos necessitam de
validação.

Os campos para serem verificados deve estar


Pré-condição:
preenchidos.

Ações do Ator Ações do Sistema:

1. Verifica se os campos obrigatórios foram


preenchidos.

2. Valida todos os campos que necessitam validação.

Fluxo Alternativo:

Identificador: UC6.1 FA1

Resumo: Existem campos que não foram preenchidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 1 do caso de uso Verificar/Validar


dados (UC10.1.1).

2. Verifica existência de algum campo obrigatório não


preenchido.

3. Exibe mensagem informando o campo que não foi


preenchido.

4. Não executa passo 2.

Fluxo Alternativo:

Identificador: UC6.1. FA2

Resumo: Existem campos inválidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 2 do caso de uso Verificar/validar


dados (UC6.1).

2. Verifica a existência de algum campo inválido

3. Exibe mensagem informando o campo inválido.

Identificador: UC6.2

Nome: Criar Publicidade

Esse caso de uso descreve as atividades para criar


Resumo:
uma publicidade.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Publicidade.

Ações do Ator: Ações do Sistema:

1. Clica em "Criar
Publicidade " na opção
de menu Publicidade.

2. Informa os dados
referentes a nova
publicidade

3. Clica em "Cadastrar".
4. Executa o arquivo Publicidade, passando como
parâmetro o comando "addpublicidade".

5. Executa o caso de uso Verificar/Validar Dados


(UC6.1.1).

6. Executa o método "CadastrarPublicidade".

7. Retorna uma mensagem informando que a criação


foi efetuada com sucesso.

Identificador: UC6.2

Nome: Editar Publicidade

Esse caso de uso descreve as atividades para alterar


Resumo:
os dados referentes a uma determinada publicidade.

O usuário deve ter permissão de acesso à página de


Publicidade.

A publicidade a ser alterada deve estar cadastrada e


Pré-condições:
deve ser selecionada para alteração.

Os casos de uso UC6.4 e UC6.5 foram executados


com sucesso.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC6.4)

2. Executa o caso de
uso Ver Publicidade
(UC6.5)

3. Altera os dados.

4. Clica em "Editar".

5. Executa o arquivo Publicidade, passando como


parâmetro o comando "editarpublicidade".

6. Executa o caso de uso Verificar/Validar


Dados(UC6.1.1).
7 Executa o método "editarPublicidade".

8 Retorna uma mensagem informando que a


alteração foi realizada com sucesso.

Identificador: UC6.3

Nome: Excluir Publicidade

Esse caso de uso descreve as atividades para excluir


Resumo:
uma publicidade.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Publicidade.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC6.4).

2. Clica no link "Excluir"

3. Executa o arquivo Noticia.php, passando como


parâmetro o comando "excluirpublicidade".

4. Executa o método "excluirPublicidade"

5. Retorna uma mensagem informando que a


exclusão foi realizada com sucesso.

Identificador: UC6.4

Nome: Ver Listagem

Esse caso de uso descreve as atividades para


Resumo:
carregar a listagem de publicidades.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Publicidade.

Ações do Ator: Ações do Sistema:


1. Clica na opção de
menu Publicidade.

2. Consulta todas as publicidades.

3. Apresenta uma lista em formato de tabela


ordenada pela data de criação, disponibolizando link
para "editar", "excluir".

Identificador: UC6.5

Nome: Ver Publicidade

Esse caso de uso descreve as atividades para


Resumo: carregar os dados referentes a uma determinada
publicidade.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Publicidade.

Ações do Ator: Ações do Sistema:

1. Clica no link "Editar"


na página de
Publicidade.

2. Efetua uma consulta dos dados da publicidade


escolhida passando como parâmetro seu codigo
identificador (int_pb_codigo).

3. Preenche os campos da página de cadastro com


os dados da publicidade.

Tabela C.7: Gerenciar Enquetes

UC7_Gerenciar Enquetes

Identificador: UC7

Nome: Gerenciar Enquetes

Ator Principal Administrador Website.

Ator Secundário:
Esse caso de uso descreve as atividades para
Resumo:
gerenciar as enquetes do website.

- Criar Enquete;

- Excluir Enquete;
Casos de Uso:
- Finalizar Enquete;

- Ver Listagem;

Identificador: UC7.1

Nome: Verificar/validar Dados

Esse caso de uso descreve as atividades para verificar


Resumo: se os campos obrigatórios foram preenchidos e
verificar se os mesmos necessitam de validação.

Os campos para serem verificados deve estar


Pré-condição:
preenchidos.

Ações do Ator Ações do Sistema:

1. Verifica se os campos obrigatórios foram


preenchidos.

2. Valida todos os campos que necessitam validação.

Fluxo Alternativo:

Identificador: UC7.1 FA1

Resumo: Existem campos que não foram preenchidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 1 do caso de uso Verificar/Validar


dados (UC7.1).

2. Verifica existência de algum campo obrigatório não


preenchido.

3. Exibe mensagem informando o campo que não foi


preenchido.

4. Não executa passo 2.


Fluxo Alternativo:

Identificador: UC7.1. FA2

Resumo: Existem campos inválidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 2 do caso de uso Verificar/validar


dados (UC7.1).

2. Verifica a existência de algum campo inválido

3. Exibe mensagem informando o campo inválido.

Identificador: UC7.2

Nome: Criar Enquete

Esse caso de uso descreve as atividades para criar


Resumo:
uma enquete.

O usuário deve ter permissão de acesso à página de


Pré-condições: Enquete.

O caso de uso UC7.3 foi executado com sucesso.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso VerListagem
(UC7.4).

2. Clica no botão
"Criar"

3. Executa o caso de uso UC7.1.

4. Executa o arquivo EnqueteWebsite.php, passando


como parâmetro o comando "criarenquete".

5. Executa o método "criarenquete".

6. Retorna uma mensagem informando que a exclusão


foi feita com sucesso.

7. Executa caso de uso Ver Listagem (UC7.3).


Identificador: UC7.3

Nome: Ver Listagem

Esse caso de uso descreve as atividades para carregar


Resumo:
a listagem de enquetes.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Enquetes.

Ações do Ator: Ações do Sistema:

1. Clica no link
"Desativar".

2. Executa o arquivo Enquete.php passando como


parametro o comando "desativarenquete".

3. Executa o metodo "excluirEnquete".

5. Retorna uma mensagem informando que a exclusao


foi realizada com sucesso.

Pré-condições: Deve existir enquetes cadastradas para o website.

Ações do Ator: Ações do Sistema:

1. Executa caso de
uso Controlar Acesso
(UC1).

2. Redirecionamento a página de enquetes.

3. Clica no menu
"Enquetes"

4. Apresenta uma lista em formato de tabela ordenada


por data de criação da enquete, disponibilizando link
para "excluir enquete"

Identificador: UC7.4

Nome: Finalizar Enquete


Esse caso de uso descreve as atividades para finalizar
Resumo:
uma enquete.

O usuário deve ter permissão de acesso à página de


Pré-condições: Enquetes.

O caso de uso UC7.3 foi executado com sucesso.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC7.4).

2. Clica no link
"Finalizar Enquete"

3. Executa o arquivo EnqueteWebsite.php, passando


como parâmetro o comando "finalizarenquete".

4. Executa o método "finalizarenquete".

5. Retorna uma mensagem informando que a enquete


foi finalizada com sucesso.

6. Executa o caso de uso Ver Listagem (UC7.4).

Pré-condições: Deve existir enquetes cadastradas para o website.

Identificador: UC7.5

Nome: Excluir Enquete

Esse caso de uso descreve as atividades para excluir


Resumo:
uma enquete.

O usuário deve ter permissão de acesso à página de


Pré-condições: Enquetes.

O caso de uso UC11.4 foi executado com sucesso.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC11.4).
2. Clica no link "Excluir
Enquete".

3. Executa o arquivo EnqueteWebsite.php, passando


como parâmetro o comando "excluirenquete".

4. Executa o arquivo método "excluirenquete".

5. Retorna uma mensagem informando que a exclusao


foi realizada com sucesso.

6. Executa caso de uso Ver Listagem (UC7.3).

Tabela C.8. Gerenciar Áudios

UC8_Gerenciar Áudios

Identificador: UC8

Nome: Gerenciar Aúdios

Ator Principal Administrador Website.

Ator Secundário:

Esse caso de uso descreve as atividades para


Resumo:
gerenciar os aúdios do Website.

- Verificar/validar campos;

- Criar Aúdio;

- Ver Listagem;
Casos de Uso:
- Ver Aúdio;

- Editar Aúdio;

- Excluir Aúdio;

Identificador: UC8.1

Nome: Verificar/validar Dados

Resumo: Esse caso de uso descreve as atividades para


verificar se os campos obrigatórios foram preenchidos
e verificar se os mesmos necessitam de validação.

Os campos para serem verificados deve estar


Pré-condição:
preenchidos.

Ações do Ator Ações do Sistema:

1. Verifica se os campos obrigatórios foram


preenchidos.

2. Valida todos os campos que necessitam validação.

Fluxo Alternativo:

Identificador: UC8.1 FA1

Resumo: Existem campos que não foram preenchidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 1 do caso de uso Verificar/Validar


dados (UC8.1).

2. Verifica existência de algum campo obrigatório não


preenchido.

3. Exibe mensagem informando o campo que não foi


preenchido.

4. Não executa passo 2.

Fluxo Alternativo:

Identificador: UC8.1. FA2

Resumo: Existem campos inválidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 2 do caso de uso Verificar/validar


dados (UC8.1).

2. Verifica a existência de algum campo inválido

3. Exibe mensagem informando o campo inválido.

Identificador: UC8.2
Nome: Criar Aúdio

Esse caso de uso descreve as atividades para criar


Resumo:
um áudio.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Áudio

Ações do Ator: Ações do Sistema:

1. Clica em "Criar
Áudio" na opção de
menu Áudio.

2. Informa os dados
referentes ao novo
áudio

3. Clica em "Cadastrar".

4. Executa o arquivo Áudio, passando como


parâmetro o comando "addaudio".

5. Executa o caso de uso Verificar/Validar Dados


(UC8.1).

6. Executa o método "CadastrarAudio".

7. Retorna uma mensagem informando que a criação


foi efetuada com sucesso.

Identificador: UC8.3

Nome: Editar Áudio

Esse caso de uso descreve as atividades para alterar


Resumo:
os dados referentes a um determinado áudio

O usuário deve ter permissão de acesso à página de


Áudios.

O áudio a ser alterado deve estar cadastrado e deve


Pré-condições:
ser selecionada para alteração.

Os casos de uso UC8.5 e UC8.6 foram executados


com sucesso.
Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC8.4)

2. Executa o caso de
uso Ver Usuário
(UC8.5)

3. Altera os dados.

4. Clica em "Editar".

Executa o arquivo audio.php, passando como


parâmetro o comando "editar".

6. Executa o caso de uso Verificar/Validar


Dados(UC8.1).

8 Executa o método "editarAudio".

9 Retorna uma mensagem informando que a


alteração foi realizada com sucesso.

Identificador: UC8.4

Nome: Excluir Áudio

Esse caso de uso descreve as atividades para excluir


Resumo:
um áudio.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Áudios.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC8.4).

2. Clica no link "Excluir"

3. Executa o arquivo Audio.php, passando como


parâmetro o comando "excluiraudio".
4. Executa o método "excluirAudio"

5. Retorna uma mensagem informando que a


exclusão foi realizada com sucesso.

Identificador: UC8.5

Nome: Ver Listagem

Esse caso de uso descreve as atividades para


Resumo:
carregar a listagem de áudios.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Áudios

Ações do Ator: Ações do Sistema:

1. Clica na opção de
menu Audios.

2. Consulta todos os áudios.

3. Apresenta uma lista em formato de tabela ordenada


pela data de criação, disponibolizando link para
"editar", "excluir".

Identificador: UC8.6

Nome: Ver Áudio

Esse caso de uso descreve as atividades para


Resumo: carregar os dados referentes a uma determinada
áudio.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Áudios

Ações do Ator: Ações do Sistema:

1. Clica no link "Editar"


na página de áudios

2. Efetua uma consulta dos dados do áudio escolhido


passando como parâmetro seu codigo identificador
(int aucodigo).

3. Preenche os campos da página de cadastro com os


dados do áudio.

Tabela C.8.9: Gerenciar Vídeos

UC9_Gerenciar Notícias

Identificador: UC9

Nome: Gerenciar Vídeos

Ator Principal Administrador Website.

Ator Secundário:

Esse caso de uso descreve as atividades para


Resumo:
gerenciar os vídeos do website.

- Verificar/validar campos;

- Criar Vídeo;

- Ver Listagem;

Casos de Uso: - Ver Vídeo;

- Editar Notícia;

- Excluir Vídeo;

- Avaliar Vídeo

Identificador: UC9.1

Nome: Verificar/validar Dados

Esse caso de uso descreve as atividades para


Resumo: verificar se os campos obrigatórios foram preenchidos
e verificar se os mesmos necessitam de validação.

Os campos para serem verificados deve estar


Pré-condição:
preenchidos.

Ações do Ator Ações do Sistema:


1. Verifica se os campos obrigatórios foram
preenchidos.

2. Valida todos os campos que necessitam validação.

Fluxo Alternativo:

Identificador: UC9.1 FA1

Resumo: Existem campos que não foram preenchidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 1 do caso de uso Verificar/Validar


dados (UC9.1).

2. Verifica existência de algum campo obrigatório não


preenchido.

3. Exibe mensagem informando o campo que não foi


preenchido.

4. Não executa passo 2.

Fluxo Alternativo:

Identificador: UC9.1. FA2

Resumo: Existem campos inválidos

Ações do Ator: Ações do Sistema:

1. Inicia no passo 2 do caso de uso Verificar/validar


dados (UC9.1).

2. Verifica a existência de algum campo inválido

3. Exibe mensagem informando o campo inválido.

Identificador: UC9.1

Nome: Criar Vídeo

Esse caso de uso descreve as atividades para criar


Resumo:
um vídeo.

Pré-condições: O usuário deve ter permissão de acesso à página de


Vídeos

Ações do Ator: Ações do Sistema:

1. Clica em "Criar
Notícia" na opção de
menu Vídeo.

2. Informa os dados
referentes ao novo
vídeo

3. Clica em "Cadastrar".

4. Executa o arquivo Video.php, passando como


parâmetro o comando "addvideo".

5. Executa o caso de uso Verificar/Validar Dados


(UC9.1.1).

6. Executa o método "CadastrarVideo".

7. Retorna uma mensagem informando que a criação


foi efetuada com sucesso.

Identificador: UC9.2

Nome: Editar Vídeo

Esse caso de uso descreve as atividades para alterar


Resumo:
os dados referentes a um determinado vídeo.

O usuário deve ter permissão de acesso à página de


Vídeos.

O vídeo a ser alterado deve estar cadastradoe deve


Pré-condições:
ser selecionado para alteração.

Os casos de uso UC9.4 e UC9.5 foram executados


com sucesso.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC13.4)
2. Executa o caso de
uso Ver Usuário
(UC9.5)

3. Altera os dados.

4. Clica em "Editar".

Executa o arquivo Video.php, passando como


parâmetro o comando "editar".

6. Executa o caso de uso Verificar/Validar


Dados(UC9.1).

8 Executa o método "editarVídeo".

9 Retorna uma mensagem informando que a


alteração foi realizada com sucesso.

Identificador: UC9.3

Nome: Excluir Vídeo

Esse caso de uso descreve as atividades para excluir


Resumo:
uma vídeo.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Vídeo.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC9.4).

2. Clica no link "Excluir"

3. Executa o arquivo Vídeo.php, passando como


parâmetro o comando "excluirvideo".

4. Executa o método "excluirVideo"

5. Retorna uma mensagem informando que a


exclusão foi realizada com sucesso.
Identificador: UC9.4

Nome: Ver Listagem

Esse caso de uso descreve as atividades para


Resumo:
carregar a listagem de vídeos.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Vídeos.

Ações do Ator: Ações do Sistema:

1. Clica na opção de
menu Vídeos.

2. Consulta todos os vídeos.

3. Apresenta uma lista em formato de tabela ordenada


pela data de criação, disponibolizando link para
"editar", "excluir".

Identificador: UC9.5

Nome: Ver Vídeo

Esse caso de uso descreve as atividades para


Resumo:
carregar os dados referentes a um determinado vídeo.

O usuário deve ter permissão de acesso à página de


Pré-condições:
Vídeos

Ações do Ator: Ações do Sistema:

1. Clica no link "Editar"


na página de vídeos

2. Efetua uma consulta dos dados do vídeo escolhido


passando como parâmetro seu código identificador
(int vdcodigo).

3. Preenche os campos da página de cadastro com os


dados do vídeo.

Identificador: UC9.2
Nome: Editar Vídeo

Esse caso de uso descreve as atividades para alterar


Resumo:
os dados referentes a um determinado vídeo.

O usuário deve ter permissão de acesso à página de


Vídeos.

O vídeo a ser alterado deve estar cadastradoe deve


Pré-condições:
ser selecionado para alteração.

Os casos de uso UC9.4 e UC9.5 foram executados


com sucesso.

Ações do Ator: Ações do Sistema:

1. Executa o caso de
uso Ver Listagem
(UC13.4)

2. Executa o caso de
uso Ver Usuário
(UC9.5)

3. Altera os dados.

4. Clica em "Editar".

Executa o arquivo Video.php, passando como


parâmetro o comando "editar".

6. Executa o caso de uso Verificar/Validar


Dados(UC9.1).

8 Executa o método "editarVídeo".

9 Retorna uma mensagem informando que a


alteração foi realizada com sucesso.
APÊNDICE D – Análise de Risco

A atividade análise de risco procedeu em duas etapas. A primeira refere-se à


identificação dos Riscos, a segunda etapa envolveu atividades de Análise,
Planejamento e Acompanhamento dos Riscos. Ambos são apresentados,
respectivamente a seguir.

Tabela D.1.: Identificação dos Riscos

Etapa 1: Identificação dos Riscos

ID Descrição Tipo Probabilidade


Risco

RC01 Subestimar o cronograma do Projeto 10%


projeto

RC02 Mudança nos requisitos Requisito 2%

RC03 Não ter capacidade para Acessibilidade 1%


implementar conceitos de
acessibilidade

RC04 O conteúdo não ser navegável ou Usabilidade 1%


compreensível

RC05 Mudança na tecnologia Tecnologia 1%

RC06 Mudança na arquitetura Arquitetura 10%

RC07 Atraso na modelagem dos Modelagem 20%


diagramas

RC08 Falha de Hardware Hardware 0,5%

RC09 Falta de conhecimento da Tecnologia 1%


tecnologia

RC10 Atraso na codificação Tecnologia 10%

RC11 Execução de teste inadequados Segurança/Te 10%


cnologia/Arquit
etura

Tabela D.2: Análise, Planejamento e Acompanhamento dos Riscos


Etapa2: Análise, Planejamento e Acompanhamento dos Riscos

ID Risco Possível minimização

RC01 Verificação constante de todos os artefatos gerados em cada fase.

RC02 Levantamento de todos os possíveis requisitos durante a fase de


Elaboração e Concepção

RC03 Disponibilizar 10% do tempo destinado para pesquisa para estudar


os conceitos aplicados

RC04 Disponibilizar -3% do tempo para implementação de pesquisa,


estudo e teste do conteúdo.

RC05 Estudo da nova tecnologia, ocupando 02% do tepo de fase em que


for necessária a alteração

RC06 Análise consistente e eficiente da arquitetura com 03% da fase de


Concepção.

RC07 Disponibilizar 01% da fase seguinte para o término dos artefatos.

RC08 Mudança de hardware, backup, tempo máximo de 01% da fase em


que ocorrer

RC09 Aplicação de 10% do tempo disponibilizado na fase de Revisão


Bibliográfica

RC10 Aplicação do acréscimo de 02% de horas trabalhadas diariamente


para execução

RC11 Pesquisa de teste eficazes e eficientes, 03% de tempo acrescido


para execução.

RC12 Acréscimo de 03% nas horas trabalhadas diariamente.