UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola...

60
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit´ ecnica Departamento de Engenharia Eletrˆonica e de Computa¸ ao Sistema de controle e acesso ao banco de dados SISTEMA PROMO PRISCILLA LUSIE COELHO VELOZO POLI UFRJ Maio de 2010

Transcript of UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola...

Page 1: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

Escola Politecnica

Departamento de Engenharia Eletronica e de Computacao

Sistema de controle e acesso ao banco de dados

SISTEMA PROMO

PRISCILLA LUSIE COELHO VELOZO

POLI

UFRJ

Maio de 2010

Page 2: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Sistema de controle e acesso ao banco de dados

SISTEMA PROMO

Priscilla Lusie Coelho Velozo

Projeto de Graduacao apresentado ao Curso de

Engenharia Eletronica e de Computacao da Es-

cola Politecnica, Universidade Federal do Rio de

Janeiro, como parte dos requisitos necessarios a

obtencao do tıtulo de Engenheiro.

Orientador: Sergio Barbosa Villas Boas

Rio de Janeiro

Maio de 2010

Page 3: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Sistema de controle e acesso ao banco de dados

SISTEMA PROMO

Priscilla Lusie Coelho Velozo

PROJETO DE GRADUACAO SUBMETIDO AO CORPO DOCENTE DO CURSO

DE ENGENHARIA ELETRONICA E DE COMPUTACAO DA ESCOLA POLITEC-

NICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE

DOS REQUISITOS NECESSARIOS PARA A OBTENCAO DO GRAU DE EN-

GENHEIRO ELETRONICO E DE COMPUTACAO.

Examinado por:

Prof. Sergio Barbosa Villas Boas, Ph. D.

Prof. Sergio Palma da Justa Medeiros, D. Sc.

Prof. Jorge Lopes de Souza Leao, Dr. Ing.

RIO DE JANEIRO, RJ - BRASIL

MAIO de 2010

Page 4: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

Escola Politecnica - Departamento de Eletronica e de Computacao

Centro de Tecnologia bloco H Cidade Universitaria Rio de Janeiro - RJ

Este exemplar e de propriedade da Universidade Federal do Rio de Janeiro, que

podera incluı-lo em sua base de dados, armazenar em computador, microfilmar ou

adotar qualquer forma de arquivamento.

E permitida a mencao, reproducao parcial ou integral e a transmissao entre bibli-

otecas deste trabalho, sem modificacao de seu texto, em qualquer meio que esteja

ou venha a ser fixado, para pesquisa academica, comentarios e citacoes, desde que

sem finalidade comercial e que seja feita a referencia bibliografica completa.

Os conceitos expressos neste trabalho sao de responsabilidade do(s) autor(es) e

do(s) orientador(es).

iv

Page 5: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Velozo, Priscilla Lusie Coelho

Sistema de controle e acesso ao banco de dados - Sistema Promo

/ Priscilla Lusie Coelho Velozo. - Rio de Janeiro: UFRJ/Escola

Politecnica, 2010.

XV, 45p.:il.;29,7cm.

Orientador: Sergio Barbosa Villas Boas

Projeto de Graduacao - UFRJ/ POLI/ Engenharia Eletronica e

de Computacao, 2010.

Referencias Bibliograficas: p. 25.

1. Chamada. 2. Programa. 3. Episodio. 4. Claquete. I. Boas, Ser-

gio. II. Universidade Federal do Rio de Janeiro, UFRJ, Engenharia

Eletronica e de Computacao. III. Tıtulo.

v

Page 6: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

DEDICATORIA

Aos meus queridos pais Rita Lusie e Luiz Velozo,

as minhas irmas Patrıcia e Pamela Lusie,

ao meu marido Bruno Amparo e

ao meu filho Nicolas Amparo

com muito amor e carinho.

vi

Page 7: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

AGRADECIMENTOS

Dedico este trabalho a todos os meus amigos, professores e familiares que me

ajudaram e me motivaram, incentivando meus estudos e me dando forca para driblar

os obstaculos.

Em especial, gostaria de dedicar este trabalho ao colega Andre Cotrim que par-

ticipou da fase inicial deste projeto e me ajudou sempre que necessario.

Agradeco a amiga Isabel Sant’Anna pelas constantes tardes e noites de estudos,

aos amigos Alberto Wagner, Alberto Jorge, Letıcia Lemos, Julia Simoes, Ana Fer-

nanda, Amanda Alves, entre outros, pelas horas de estudo e pelas palavras incenti-

vadoras que me deram como amigos e como colegas de classe.

Tambem nao poderia deixar de agradecer a alguns professores que sempre foram

tao solıcitos e fundamentais para a minha formacao pessoal e profissional: primeira-

mente, ao meu orientador Sergio Barbosa Villas Boas por ter acreditado em mim e

aceitado o desafio de me orientar. Em seguida, aos professores Marcelo Luiz Dru-

mond Lanza, Antonio Claudio, Jomar Gozzi, Sergio Palma, Joarez Monteiro, Carlos

D’Avila, Ricardo Rhomberg, Mauros Queiroz, entre outros.

Muito obrigada aos meus pais por terem investido em mim e dedicado boa parte

de seu tempo e energia. Este projeto e uma tentativa de retribuir tanto esforco e

confianca. Tambem agradeco ao meu marido Bruno Amparo e ao meu filho Nicolas

Amparo que me deram o suporte necessario para enfrentar os dias ruins e dividiram

comigo os dias felizes. E a minha irma Patrıcia Lusie e ao seu marido Herve Costa

que tanto me ajudaram durante a minha gravidez e depois que meu filho nasceu.

Agradeco aos meus colegas de trabalho Cicinio Maia, Roberto Castro, Bianca

Silva, Cesar Ribeiro, Oswaldo Lima e varios outros por me ajudarem de alguma

forma a estudar para uma prova ou a dividir meu tempo de trabalho com alguma

tarefa da faculdade que estivesse pendente.

Por fim, agradeco ao povo brasileiro por financiar meu Curso Superior.

vii

Page 8: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

RESUMO

O departamento Promocoes da Rede Globo de Televisao e o setor responsavel pela

elaboracao das Chamadas dos produtos da empresa. Chamada e toda propaganda de

um produto interno da televisao: programas, filmes, novelas, series, etc. Portanto, e

necessario um sistema que facilite a organizacao e manutencao dos dados referentes

a estas Chamadas: o Sistema PROMO.

O processo de elaboracao de uma Chamada consiste em:

• Redacao - elaboracao de um texto onde o locutor e o narrador e os A/V (audios

e vıdeos) sao as falas dos personagens

• Edicao - ilustracao do texto com takes do programa a ser vendido e alguns

efeitos graficos

• Sonorizacao - mixagem dos diferentes sons e inclusao de melodias

• Videografismo - efeitos graficos mais elaborados

Logo, o Sistema tem o intuito de armazenar em um banco de dados todas as

Chamadas com informacoes uteis e essenciais ao processo de elaboracao da mesma.

Para isto, o programa foi escrito em C++ e utiliza o Banco de Dados PostGreSQL,

a biblioteca SQLAPI para a comunicacao com o banco de dados e a biblioteca

wxWidgets para a criacao da interface.

Palavras-Chave: chamada, programa, episodio, claquete.

viii

Page 9: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

ABSTRACT

The Promotional department of “Rede Globo de Televisao” is the sector respon-

sible for elaborating Calls of the company’s products. A Call is any kind of adver-

tisement of an internal product: shows, movies, soap operas, series, etc.

Therefore, a system that facilitates the organization and maintenance of the data

referent to the Calls is needed: The PROMO System.

The elaboration’s process of a Call consists of:

• Composing - the process of elaborating a text in which the speaker is the

narrator and the A/Vs (audios and videos) are the character’s speech.

• Edition - text illustration with takes of the program to be sold and some small

graphics effects

• Sound Process - mixing diferent sounds and addition of melodies to the Call

• Videographism - more elaborated graphics effects

So, the system has the aim of storing in a database all the Calls with usefull

and essential information for the process of its elaboration. For that, the program

was written in C++ and uses the Database PostGresSQL, the library SQLAPI to

communicate with the database and the library wxWidgets to create the interface.

Key-words: call, program, episode, clapboard

ix

Page 10: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

SIGLAS

KLOC - Kilo Lines Of Code

RMMM - Risk Mitigation, Monitoring and Management

SHA - Secure Hash Algorithm

TVG - Rede Globo de Televisao

UFRJ - Universidade Federal do Rio de Janeiro

x

Page 11: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Sumario

1 Introducao 1

1.1 Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Delimitacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.6 Descricao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Especificacao de Requisitos de Software 5

2.1 Descricao Geral: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Perspectiva do Produto: . . . . . . . . . . . . . . . . . . . . . 5

2.1.2 Funcoes do Produto: . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.3 Caracterısticas do Usuario: . . . . . . . . . . . . . . . . . . . . 6

2.1.4 Restricoes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.5 Postergar Requisitos: . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Requisitos Especıficos: . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1 Interfaces Externas: . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1.1 Interfaces dos Usuarios: . . . . . . . . . . . . . . . . 7

2.2.1.2 Interfaces de Comunicacao: . . . . . . . . . . . . . . 8

2.2.2 Requisitos Funcionais . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.2.1 Casos de Uso: . . . . . . . . . . . . . . . . . . . . . . 8

2.2.2.2 Diagrama de casos de Uso: . . . . . . . . . . . . . . 11

2.2.2.3 Diagrama de Classes: . . . . . . . . . . . . . . . . . . 12

2.2.3 Requisitos de Desempenho: . . . . . . . . . . . . . . . . . . . 12

2.2.4 Atributos: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

xi

Page 12: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

2.2.5 Seguranca: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Projeto 14

3.1 Decomposicao: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1.1 Decomposicao em Modulos: . . . . . . . . . . . . . . . . . . . 14

3.1.1.1 Sistema: . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1.1.2 Usuario: . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1.1.3 Chamada: . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1.1.4 Programa: . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.1.5 Status: . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.2 Decomposicao em Processos Concorrentes: . . . . . . . . . . . 15

3.1.3 Decomposicao em Dados: . . . . . . . . . . . . . . . . . . . . . 15

3.1.3.1 Usuario: . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.3.2 Programa: . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.3.3 Episodio: . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1.3.4 Chamada Episodio: . . . . . . . . . . . . . . . . . . . 16

3.1.3.5 Chamada: . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1.3.6 Status: . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Descricao das Dependencias: . . . . . . . . . . . . . . . . . . . . . . . 18

3.2.1 Dependencias entre Modulos: . . . . . . . . . . . . . . . . . . 18

3.2.2 Dependencias entre Dados: . . . . . . . . . . . . . . . . . . . . 18

3.3 Descricao das Interfaces: . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.3.1 Interfaces dos Modulos: . . . . . . . . . . . . . . . . . . . . . . 18

3.3.1.1 Interface Grafica: . . . . . . . . . . . . . . . . . . . . 18

3.3.1.2 Banco de Dados: . . . . . . . . . . . . . . . . . . . . 19

4 Programa 20

4.1 Promo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.2 Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.3 UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.4 Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5 Conclusao 24

xii

Page 13: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Bibliografia 25

A MANUAL DO USUARIO 26

A.1 Requisitos: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

A.2 Menu: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

A.3 Login: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

A.4 Programa: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

A.4.1 Adicionar Programa: . . . . . . . . . . . . . . . . . . . . . . . 31

A.4.2 Adicionar Episodio: . . . . . . . . . . . . . . . . . . . . . . . . 32

A.4.3 Listar Programas: . . . . . . . . . . . . . . . . . . . . . . . . . 33

A.5 Chamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

A.5.1 Adicionar Chamada: . . . . . . . . . . . . . . . . . . . . . . . 34

A.5.2 Listar Chamadas: . . . . . . . . . . . . . . . . . . . . . . . . . 35

A.5.3 Buscar Chamadas: . . . . . . . . . . . . . . . . . . . . . . . . 36

A.5.4 Editar Chamadas: . . . . . . . . . . . . . . . . . . . . . . . . . 37

A.6 Administracao: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

A.6.1 Adicionar Usuario: . . . . . . . . . . . . . . . . . . . . . . . . 38

A.6.2 Excluir Usuario: . . . . . . . . . . . . . . . . . . . . . . . . . . 38

A.7 Usuario: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

A.7.1 Alterar Senha: . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

B Documentacao do Sistema Promo 41

xiii

Page 14: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Lista de Figuras

1.1 Processo de criacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Diagrama de Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2 Diagrama de Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.1 Modelo Conceitual de Dados . . . . . . . . . . . . . . . . . . . . . . . 18

A.1 Tela Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

A.2 Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

A.3 Adicionar Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

A.4 Adicionar Episodio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

A.5 Visualizar Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

A.6 Adicionar Chamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

A.7 Selecionar Programas / Episodios . . . . . . . . . . . . . . . . . . . . 34

A.8 Listar Chamadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

A.9 Buscar Chamadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

A.10 Alterar Chamadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

A.11 Adicionar Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

A.12 Excluir Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

A.13 Alterar Senha Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . 40

B.1 Classe Call - documentacao . . . . . . . . . . . . . . . . . . . . . . . 41

B.2 Classe Call - documentacao . . . . . . . . . . . . . . . . . . . . . . . 42

B.3 Classe Call - documentacao . . . . . . . . . . . . . . . . . . . . . . . 43

B.4 Classe Call - documentacao . . . . . . . . . . . . . . . . . . . . . . . 44

B.5 Classe Call - documentacao . . . . . . . . . . . . . . . . . . . . . . . 45

xiv

Page 15: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Lista de Tabelas

2.1 Casos de Uso - parte 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Casos de Uso - parte 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Casos de Uso - parte 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 10

xv

Page 16: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Capıtulo 1

Introducao

Este projeto e parte da sua documentacao iniciou-se durante o curso de Engenharia

de Software ministrado pelo Professor Antonio Claudio e contou com a participacao

dos alunos Andre Cotrim e Anderson Frazao.

O sistema a ser desenvolvido e um sistema de gerenciamento do banco de dados,

que sera usado por diversas pessoas, com diferentes graus de instrucao. Logo, deve

ser de facil utilizacao com telas simples e aparencia amigavel. Tambem deve ter

seus dados armazenados de forma segura, pois trata de informacoes confidenciais.

Portanto, cada usuario tera um login e senha para acesso ao Sistema, e a senha

devera ser encriptada. Como a princıpio, nao havera acesso remoto (via web), demais

ferramentas de seguranca nao serao utilizadas.

1.1 Tema

O tema do trabalho e um sistema computacional de gerenciamento de dados com

controle de acesso a partir do cargo do usuario (funcionario) na empresa. Escrito

em C++ e banco de dados PostGreSQL.

1.2 Delimitacao

O banco de dados deve ser instalado no mesmo computador que o programa, uma

vez que o banco de dados nao estara nem na rede Web nem na intranet por questoes

1

Page 17: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

de seguranca do sistema. Caso o programa venha a ser utilizado por mais de uma

maquina, deve-se montar uma rede interna ao departamento.

1.3 Justificativa

O Sistema atual de gerenciamento das Chamadas tem como usuarios apenas o

gerente e o assistente. Os demais profissionais dependem das informacoes passadas

por este ultimo. Sendo assim, se o assistente esta ocupado quando um profissional

termina sua tarefa, se esquecendo de lancar esta informacao no sistema ou de passar

para o profissional que ira continuar o outro turno, a tarefa pode ser repassada

novamente para outro profissional como se nao tivesse sido realizada.

O novo Sistema Promo continua sendo de responsabilidade do assistente, mas

tambem permite aos demais profissionais a alteracao de determinados conteudos

(de acordo com a funcao do profissional) e a visualizacao de todas as informacoes

pertinentes ao produto.

1.4 Objetivos

O projeto tem como objetivo o gerenciamento de todas as chamadas de programas

da empresa, contendo um banco de dados de todas as chamadas feitas e das que

ainda serao realizadas com informacoes uteis e essenciais ao processo de elaboracao,

como na figura 1.1 abaixo:

Figura 1.1: Processo de Criacao

2

Page 18: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

A cada estagio em que a chamada se encontra, o profissional da area deve indicar

em que fase ela esta (em andamento, finalizada ou aprovada). As fases indicam se

a etapa em questao esta em processo de producao (em andamento), se foi finali-

zada (finalizada) em ou se todas as etapas foram finalizadas e o gerente aprovou

(aprovada), liberando-a para exibicao.

O gerenciamento consiste na informacao do estagio em que cada chamada a ser

feita se encontra: em redacao, edicao, sonorizacao, etc., afim de auxiliar a comuni-

cacao entre os diversos profissionais envolvidos. E, quando a chamada e aprovada,

o assistente de edicao deve envia-la para exibicao.

1.5 Metodologia

Como o usuario alvo do sistema possui em geral o ensino medio completo, a

interface deve ser tao amigavel e intuitiva quanto possıvel. O Sistema Operacional

utilizado sera o Windows (2000, XP ou Vista) por ser o programa que a empresa (Tv

Globo) ja utiliza normalmente em seus computadores, porem a tecnologia utilizada

no programa permite facilmente o uso em Linux ou Macintosh.

O programa sera escrito em C++ [1] [2] por ser uma linguagem consolidada.

Os dados serao armazenados em Banco de Dados - PostgreSQL [3] (software livre

consolidado) e seu acesso se dara atraves da biblioteca SQLAPI [4] devido a sua

estabilidade e confiabilidade. A interface grafica do programa sera feita usando a bi-

blioteca wxWidgets [5], escolhida por ser gratuita, oferecer facilidades na construcao

de interfaces na plataforma de interesse, e pela experiencia em sua utilizacao.

A seguranca e um fator importante ja que trata de informacoes confidenciais e

cada funcionario tera acesso ao sistema de acordo com a sua funcao na empresa,

logo cada usuario devera ter um login e senha, sendo a senha encriptada.

O modelo de projeto utilizado e o em cascata [6] , modelo de desenvolvimento

de software sequencial no qual o andamento do processo flui constantemente para

frente. Para uma estimativa do tamanho do programa e, consequentemente do prazo

3

Page 19: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

necessario para a sua realizacao, sera utilizada a tecnica de medicao KLOC [7]. Para

a analise de riscos sera utilizado o metodo RMMM [8].

1.6 Descricao

No capıtulo 2 sao descritas as Especificacoes de Requisitos de Software: uma

analise inicial do software, contendo sua descricao geral, com a lista das suas princi-

pais funcoes, restricoes e lista de requisitos. Neste capıtulo tambem tem os diagramas

de casos de uso e diagramas de classes do Sistema.

No capıtulo 3, ha uma descricao mais detalhada do projeto, dividindo-o em mo-

dulos (ou melhor, classes) e em dados, e descrevendo suas dependencias e interfaces.

No capıtulo 4, ha uma documentacao resumida do programa mostrando a sua

organizacao, namespaces e principais classes.

4

Page 20: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Capıtulo 2

Especificacao de Requisitos de

Software

2.1 Descricao Geral:

2.1.1 Perspectiva do Produto:

O sistema e independente de outros aplicativos, dependendo exclusiva e totalmente

do servidor de banco de dados.

2.1.2 Funcoes do Produto:

O sistema deve permitir:

• Cadastro de programas e seus respectivos episodios

• Visualizacao dos programas cadastrados

• Cadastro de chamadas

• Alteracao do cadastro de uma chamada

• Listagem das chamadas

• Busca de chamadas por claquete

• Busca de chamadas por data de pauta

5

Page 21: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

• Consulta e alteracao do status de cada fase de preparacao de cada chamada

(redacao, edicao, sonorizacao, videografismo)

• Consulta e alteracao do status de aprovacao final da chamada

• Controle de acesso a cada uma das funcoes acima por grupos funcionais de

usuarios

2.1.3 Caracterısticas do Usuario:

O usuario alvo do sistema possui em geral o ensino medio completo, e pode nao

ter muita familiaridade com sistemas de informacao; isto implica que a interface do

sistema deve ser tao amigavel e intuitiva quanto possıvel.

2.1.4 Restricoes:

O sistema pode ser executado com o Sistema Operacional Windows nas versoes:

Windows 2000, XP ou Vista. Porem a tecnologia utilizada no programa permite

facilmente o uso em Linux ou Macintosh.

A seguranca e um fator importante ja que trata informacoes confidenciais. Sendo

assim cada funcionario tem acesso ao sistema de acordo com a sua funcao na em-

presa, logo cada usuario possui um login e senha, e a senha e encriptada para ser

armazenada no banco de dados. Como o sistema nao tera uma versao web, pelo

menos a princıpio, demais ferramentas de seguranca nao serao necessarias.

2.1.5 Postergar Requisitos:

Requisitos que poderao ser incorporados em versoes futuras sao:

• Criacao da versao web do programa - uma forma de usa-lo remotamente;

• Expansao do sistema para multiusuarios;

• Geracao automatica de relatorios semanais enviados por e-mail aos gerentes;

6

Page 22: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

2.2 Requisitos Especıficos:

2.2.1 Interfaces Externas:

2.2.1.1 Interfaces dos Usuarios:

A interface do usuario e simples e amigavel. Toda a interface foi feita em wx-

Widgets com o auxılio da ferramenta wxFormBuilder. Abaixo estao listadas as telas

disponıveis:

i - Login - A pagina inicial faz a autenticacao no sistema. Para isto, basta que

o usuario digite seu login e senha.

ii - Inicial - Apos o login, o menu e habilitado, permitindo que o usuario acesse

as funcoes do Sistema:

iii - Adicionar Programa - Adiciona um programa ao banco de dados.

iv - Adicionar Episodio - Adiciona um episodio ao banco de dados relacionando-

o a um programa.

v - Listar Programas - Lista os programas e seus episodios cadastrados no banco

de dados.

vi - Adicionar Chamada - Adiciona uma chamada ao banco de dados.

vii - Listar Chamadas - Lista as chamadas cadastradas referentes a um episodio

(programa).

viii - Buscar Chamadas - Realiza as buscas das chamadas pela Claquete.

ix - Buscar Chamadas (Dt Pauta) - Realiza as buscas das chamadas pela Data

de Pauta.

x - Adicionar Usuario - Adiciona um usuario ao banco de dados.

xi - Remover Usuario - Remove um usuario do banco de dados.

xii - Alterar Senha - Altera a senha do usuario logado ao sistema.

Para maiores detalhes, vide Manual do Usuario.

7

Page 23: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

2.2.1.2 Interfaces de Comunicacao:

A interface de comunicacao de dados do software sera com o servidor de banco de

dados PostgreSQL.

2.2.2 Requisitos Funcionais

2.2.2.1 Casos de Uso:

Caso de Uso: Login

Atores: Todos os usuarios cadastrados

Descricao: Permitir acesso as funcoes do sistema apenas aos usuarios cadastrados.

As funcoes disponıveis dependerao da funcao do usuario que estiver fazendo login.

Caso de Uso: Cadastro de Programa

Atores: Gerente, Assistente de redacao, Redator

Descricao: Incluir um novo Programa ao banco de dados do sistema

Caso de Uso: Cadastro de Episodio

Atores: Gerente, Assistente de redacao, Redator

Descricao: Incluir um ou mais episodios a um Programa previamente cadastrado ao sistema.

Caso de Uso: Listagem de Programas

Atores: Todos os usuarios cadastrados

Descricao: Listar todos os programas e seus respectivos episodios cadastrados ao sistema.

Caso de Uso: Cadastro de Chamada

Atores: Gerente, Assistente de redacao, Redator

Descricao: Incluir uma nova Chamada referente a um ou mais programas cadastrados.

Caso de Uso: Listagem de Chamadas

Atores: Todos os usuarios cadastrados

Descricao: Listar todas as chamadas cadastradas no sistema.

Caso de Uso: Visualizar Chamada

Atores: Todos os usuarios cadastrados

Descricao: Visualiza os campos de uma determinada Chamada.

Tabela 2.1: Casos de Uso - parte 1

8

Page 24: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Caso de Uso: Busca de Chamadas

Atores: Todos os usuarios cadastrados

Descricao: Realizar a busca de uma chamada a partir de toda ou parte de sua claquete

Caso de Uso: Busca de Chamadas (Dt Pauta)

Atores: Todos os usuarios cadastrados

Descricao: Realizar a busca de uma chamada a partir da data de pauta

Caso de Uso: Alteracao de Chamada

Atores: Todos os usuarios cadastrados

Descricao: Alterar os campos de uma chamada ja existente (exceto Claquete)

Caso de Uso: Alteracao de Chamada - Claquete

Atores: Gerente, Assistente de redacao, Redator

Descricao: Alterar a Claquete de uma chamada ja existente

Caso de Uso: Alteracao de Status Redacao de uma Chamada

Atores: Redator, Assistente de Redacao

Descricao: A partir da inclusao de uma data Inicial ou Final, indica que o status

de redacao e ’em andamento’ ou ’concluıdo’ respectivamente.

Caso de Uso: Alteracao de Status Edicao de uma Chamada

Atores: Editor, Assistente

Descricao: A partir da inclusao de uma data Inicial ou Final, indica que o status

de edicao e ’em andamento’ ou ’concluıdo’ respectivamente.

Caso de Uso: Alteracao de Status Sonorizacao de uma Chamada

Atores: Sonoplasta, Assistente

Descricao: A partir da inclusao de uma data Inicial ou Final, indica que o status

de sonorizacao e ’em andamento’ ou ’concluıdo’ respectivamente.

Tabela 2.2: Casos de Uso - parte 2

9

Page 25: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Caso de Uso: Alteracao de Status Videografismo de uma Chamada

Atores: Videografista, Assistente

Descricao: A partir da inclusao de uma data Inicial ou Final, indica que o status

de videografismo e ’em andamento’ ou ’concluıdo’ respectivamente.

Caso de Uso: Aprovacao final da Chamada

Atores: Gerente

Descricao: Permitir a alteracao do status final de uma chamada partir da inclusao de uma

data de aprovacao. O status so pode ser concluıdo apos os status de

edicao, sonorizacao e videografismo estarem concluıdos

Caso de Uso: Adicionar Usuario

Atores: Administrador, Gerente

Descricao: Permitir a inclusao de um novo usuario ao sistema.

Caso de Uso: Remover Usuario

Atores: Administrador, Gerente

Descricao: Permitir a exclusao de um usuario do sistema.

Caso de Uso: Alterar Senha

Atores: Todos os usuarios cadastrados

Descricao: Permitir a alteracao de senha de um usuario cadastrado.

Caso de Uso: Logout

Atores: Todos os usuarios cadastrados

Descricao: Permitir a saıda segura do sistema, retornando a tela de login

Caso de Uso: Sair

Atores: Todos os usuarios cadastrados

Descricao: Permitir a saıda segura do sistema (o programa sera fechado e suas

funcoes bloqueadas).

Tabela 2.3: Casos de Uso - parte 3

10

Page 26: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

2.2.2.2 Diagrama de casos de Uso:

Figura 2.1: Diagrama de Casos de Uso

11

Page 27: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

2.2.2.3 Diagrama de Classes:

Figura 2.2: Diagrama de Classes

2.2.3 Requisitos de Desempenho:

O tempo de resposta, em geral, sera pequeno. Exceto, talvez, para as oper-

acoes de listagem ou busca de chamadas ou programas, pois dependera do volume

de dados armazenado no banco de dados.

Inicialmente, o produto podera ser usado por apenas um 01(um) usuario.

2.2.4 Atributos:

• Amigabilidade: o Sistema PROMO tera uma interface de facil utilizacao. Ao

seguir os poucos comandos apresentados na tela, o usuario conseguira salvar e

12

Page 28: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

carregar as informacoes.

• Manutenıvel: por ter suas funcoes bem definidas, o Sistema garante uma maior

facilidade de correcao a erros tornando o sistema adaptavel a quaisquer tipos

de mudancas.

• Seguranca: cada funcionario tera acesso ao sistema de acordo com a sua funcao

na empresa, logo cada usuario devera ter um login e senha, e a senha sera

encriptada.

2.2.5 Seguranca:

Para a codificacao da senha, foi usado o Hash SHA-1 com saıda de 160 bits em

representacao hexadecimal. Como e sabido, a partir do resultado de um codigo hash,

nao se e possıvel descobrir a senha, garantindo a seguranca necessaria ao sistema.

O SALT, um conjunto de caracteres adicionados a senha, e um inteiro randomico

de 16 bits, representados em hexadecimal tambem.

13

Page 29: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Capıtulo 3

Projeto

3.1 Decomposicao:

3.1.1 Decomposicao em Modulos:

O sistema foi decomposto em modulos, sendo cada modulo equivalente a uma

classe. Vide o Diagrama de Classes 2.2.

3.1.1.1 Sistema:

A classe Sistema e a principal do projeto: relaciona as chamadas, os programas e

o usuario logado ao sistema.

3.1.1.2 Usuario:

A classe Usuario representa um usuario do sistema com seu login e senha, e indica

sua respectiva permissao ao sistema, atraves do seu cargo na empresa.

3.1.1.3 Chamada:

A classe Chamada consiste no objetivo final do projeto. Ela possui as informacoes

referentes a uma chamada: o(s) programa(s) ao qual esta associada, o tıtulo da

chamada, seu texto, ilustracao, etc.

14

Page 30: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

3.1.1.4 Programa:

A classe Programa contem as informacoes do programa ao qual uma chamada

pertence tais como o tıtulo, subtıtulo e a data de exibicao. As Chamadas sao feitas

para divulgarem os Episodios a serem exibidos de um Programa.

3.1.1.5 Status:

A classe Status possui a data de inıcio e fim de cada etapa do processo de elabo-

racao de uma chamada, representando o andamento (status) da mesma.

3.1.2 Decomposicao em Processos Concorrentes:

Nao ha processo concorrente no modelo de aplicacao do projeto em questao: o

programa e “stand-alone”.

3.1.3 Decomposicao em Dados:

3.1.3.1 Usuario:

Entidade que contem os detalhes dos usuarios.

Atributos:

• Codigo Usuario

• Login

• Senha

• Funcao (cargo)

3.1.3.2 Programa:

Entidade que contem os programas para o qual uma ou mais chamadas serao

elaboradas.

Atributos:

• Codigo Programa

• Nome

15

Page 31: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

3.1.3.3 Episodio:

Contem os episodios que serao exibidos de um programa.

Atributos:

• Codigo Episodio

• Codigo Programa

• Subtıtulo do episodio

• Data de Exibicao

3.1.3.4 Chamada Episodio:

Relaciona as entidades chamada e Episodio, uma vez que uma chamada pode

estar associada a mais de um Episodio, ou ate mesmo a mais de um Programa, e

um Episodio pode ter mais de uma chamada.

Atributos:

• Codigo Chamada Episodio

• Codigo Episodio

• Codigo Chamada

3.1.3.5 Chamada:

Entidade que possui todas as chamadas dos programas do sistema.

Atributos:

• Codigo Chamada

• Codigo Status

• Claquete

• Data de Pauta

• Texto

• Ilustracao

• Data Aprovada

16

Page 32: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

3.1.3.6 Status:

Indica se cada etapa do processo de elaboracao de uma chamada foi ou nao con-

cluıdo.

Atributos:

• Codigo Status

• Data de Inıcio da Redacao

• Data de Fim da Redacao

• Redator

• Data de Inıcio da Sonorizacao

• Data de Fim da Sonorizacao

• Sonoplasta

• Data de Inıcio da Edicao

• Data de Fim da Edicao

• Editor

• Data de Inıcio do Grafismo

• Data de Fim do Grafismo

• VideoGrafista

17

Page 33: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

3.2 Descricao das Dependencias:

3.2.1 Dependencias entre Modulos:

As dependencias entre modulos sao as relacoes entre as classes. Vide Diagrama

de Classes 2.2.

3.2.2 Dependencias entre Dados:

Figura 3.1: Modelo Conceitual de Dados

3.3 Descricao das Interfaces:

3.3.1 Interfaces dos Modulos:

3.3.1.1 Interface Grafica:

Toda a comunicacao com o usuario sera atraves de uma interface grafica. Atraves

dela, o usuario podera utilizar tudo o que o sistema PROMO disponibiliza. As telas

18

Page 34: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

de interface do usuario encontram-se no Manual do Usuario A.

As classes utilizadas para a criacao das telas em wxWidgets foram geradas au-

tomaticamente com o auxılio da ferramenta wxFormBuilder e estao documentadas

junto com a documentacao do programa. Para maiores detalhes sobre as classes da

biblioteca wxWidgets utilizadas, vide a documentacao da mesma [9].

3.3.1.2 Banco de Dados:

No banco de dados, serao armazenados todos os dados do Software sendo atual-

izado a cada modificacao de um usuario ou um administrador.

Para nos comunicarmos ao banco de dados, usaremos as classes da biblioteca

SQLAPI:

• SAConnection - conexao com o banco de dados

• SACommand - executa a query no banco de dados

• SAException - trata as excecoes

Para maiores detalhes, vide a documentacao da biblioteca [10].

19

Page 35: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Capıtulo 4

Programa

A documentacao do programa foi gerada pelo Doxygen [11] nas extensoes .html,

.chm e .pdf. Vide a copia de parte da documentacao B de uma classe para ilustracao

do seu formato. A documentacao na ıntegra se encontra no CD anexado ao projeto

junto com o Programa.

O programa se divide em quatro namespaces principais: Promo, Core, Print, UI.

• O namespace Promo e o principal e contem o aplicativo em si.

• O namespace Core contem as classes referentes as entidades do Sistema.

• O namespace UI contem as classes referentes a interface grafica (paineis e

dialogos). As telas foram criadas atraves da ferramenta wxFormBuilder, que

gera as classes bases. Estas localizam-se no arquivo ui.cpp e ui.h. As demais

classes sao derivacoes das classes bases implementando o correto funciona-

mento da tela e sobrescrevendo alguns metodos quando necessarios.

Por exemplo: a classe addProgramPanel e a classe base para o caso de uso

Cadastrar Programa, composta apenas pela criacao do painel e de seus com-

ponentes; a classe PromoAddProgramPanel e a classe “filha” e nela contem os

membros necessarios para o funcionamento da tela.

• O namespace Print contem as classes necessarias a impressao do arquivo.

Para maiores detalhes sobre as classes utilizadas e seus membros vide a documen-

tacao do programa. Vide abaixo as principais classes de cada namespace:

20

Page 36: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

4.1 Promo

• PromoApp - Deriva a Classe wxApp e e o aplicativo em si.

4.2 Core

Contem as Classes abaixo:

• Call - entidade Chamada

• CallEpisode - entidade Chamada Episodio

• CallStatus - entidade Status

• Episode - entidade Episodio

• Program - entidade Programa

• ProgramEpisode - classe auxiliar para ajudar a construcao de uma arvore

(wxTreeCtrl) com os Programas e seus Episodios.

• System - contem as funcoes de conexao dos Sistema com o banco de dados e

com o computador onde o programa roda

• User - entidade Usuario

4.3 UI

Classes principais:

• PromoAddCallPanel - implementa o caso de uso 2.1 Cadastro de Chamada.

• PromoAddEpisodePanel - implementa o caso de uso 2.1 Cadastro de Episodio.

• PromoAddProgramPanel - implementa o caso de uso 2.1 Cadastro de Pro-

grama.

• PromoAddUserPanel - implementa o caso de uso 2.3 Adicionar Usuario.

• PromoChangePasswordPanel - implementa o caso de uso 2.3 Alterar Senha.

21

Page 37: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

• PromoEditCallPanel - implementa o caso de uso 2.2 Alteracao de Chamada.

• PromoFindCallsDtPanel - implementa o caso de uso 2.2 Busca de Chamadas.

• PromoFindCallsPanel - implementa o caso de uso 2.2 Busca de Chamadas (Dt

Pauta).

• PromoIntegerClientData - classe auxiliar para adicionar dado a um item de

uma lista (wxListBox).

• PromoListCallsPanel - implementa o caso de uso 2.1 Listagem de Chamadas.

• PromoListEpisodesDialog - implementa o caso de uso 2.1 Listagem de Progra-

mas exibindo os episodios referentes a um determinado programa.

• PromoListProgramsPanel - implementa o caso de uso 2.1 Listagem de Progra-

mas exibindo os programas cadastrados.

• PromoLoginPanel - implementa o caso de uso 2.1 Login.

• PromoMainWindow - a classe mae (MainWindow) deriva a classe wxFrame,

onde serao exibidas as telas.

• PromoNofunctionPanel

• PromoPanel - classe para criacao do painel em si. Deriva a classe wxPanel.

• PromoRemoveUserPanel - implementa o caso de uso 2.3 Remover Usuario.

• PromoSelectProgramDialog - caixa de dialogo auxiliar para a selecao de um

episodio.

• PromoTreeItemData - classe auxiliar para a inclusao de dado a um item de

uma arvore (wxTreeCtrl).

• PromoViewCallPanel - implementa o caso de uso 2.1 Visualizar Chamada.

22

Page 38: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

4.4 Print

• DC - Deriva a classe wxDC e contem informacoes para desenhar uma Chamada

na tela (em Visualizar Impressao) ou imprimi-la.

• PromoPrint - Deriva a classe wxPrintout necessaria para a impressao de um

arquivo.

23

Page 39: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Capıtulo 5

Conclusao

O projeto atendeu bem ao objetivo proposto: facilitar o processo de producao

de uma Chamada de forma clara e precisa. A linguagem e as bibliotecas utilizadas

foram plenamente satisfatorias e robustas.

Para versoes posteriores, ha indicacoes do que pode ser feito em 2.1.5.

O programa sofreu varios testes e utilizou tecnicas para agilizar o acesso a um dado

no banco de dados e sua manipulacao. Todavia, seria bem interessante retesta-lo

apos um certo tempo de uso (talvez apos o primeiro ano de utilizacao) para verificar

o tempo de acesso ao banco de dados e, consequentemente, o tempo de resposta do

programa, uma vez que o banco ja estaria carregado com uma consideravel carga de

dados 1.

Enfim, o projeto contribuiu muito para a minha formacao pessoal e profissional e

foi muito interessante ve-lo terminado e sendo utilizado para um fim concreto.

11 chamada de 2/2 h; 3 ilhas em funcionamento 24h/dia, logo 12960 Chamadas/ano aproxi-

madamente

24

Page 40: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Referencias Bibliograficas

[1] C++. http://www.cplusplus.com, 2009. (acessado em 05/05/2009).

[2] C++. http://en.wikipedia.org/wiki/C++, 2009. (acessado em 05/05/2009).

[3] PostGreSQL. http://www.postgresql.org, 2009. (acessado em 05/05/2009).

[4] SQLAPI. http://www.sqlapi.com, 2009. (acessado em 05/05/2009).

[5] JULIAN SMART, K. H., CSOMOR, S., Cross-Platform GUI Programming with

wxWidgets. Prentice Hall.

[6] Modelo de projeto - Cascata. http://www.del.ufrj.br/ ac/eel873.htm, 2009.

(acessado em 05/05/2009).

[7] Tecnica para medicao - SLOC. http://www.del.ufrj.br/ ac/eel873.htm, 2009.

(acessado em 05/05/2009).

[8] Metodo para gerenciamento, suavizacao e monitoramento de riscos - RMMM.

http://www.del.ufrj.br/ ac/eel873.htm, 2009. (acessado em 05/05/2009).

[9] Documentacao da biblioteca wxWidgets. http://www.wxwidgets.org/docs/tutorials.htm,

2009. (acessado em 05/08/2009).

[10] Documentacao da biblioteca SQLAPI. http://www.sqlapi.com/OnLineDoc/index.html,

2009. (acessado em 05/10/2009).

[11] Doxygen. http://www.stack.nl/ dimitri/doxygen/index.html, 2010. (acessado

em 20/05/2010).

25

Page 41: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Apendice A

MANUAL DO USUARIO

Introducao

Este manual e elaborado com o intuito de orientar o usuario na utilizacao do

sistema. Assim sera possıvel conhecer todas as funcoes que o sistema PROMO

oferece e como utiliza-las.

O sistema visa o gerenciamento do banco de dados das chamadas produzidas pelo

setor Promocoes da Rede Globo de Televisao. Assim os funcionarios poderao cadas-

trar uma nova chamada, consultar chamadas ja cadastradas e alterar ou acrescentar

novas informacoes sobre a chamada em andamento a medida em que esta vai sendo

produzida.

26

Page 42: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Informacoes Tecnicas

A.1 Requisitos:

Sistema Operacional

O Sistema PROMO pode ser utilizado nos seguintes sistemas operacionais:

• Windows 2000;

• Windows XP;

• Windows Vista;

Banco de Dados

Deve possuir o banco de dados PostGreSQL instalado na mesma maquina onde

esta instalado o programa. Checar configuracao do banco com o ADMINIS-

TRADOR!

27

Page 43: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Modo de Funcionamento

Primeiramente o usuario acessara o sistema clicando no ıcone promo.exe.

Assim sera aberta a tela de login inicial. Dependendo do tipo de usuario, ele podera

usar as funcionalidades que serao explicadas a seguir:

A.2 Menu:

Figura A.1: Tela Inicial

No menu sao exibidas as funcionalidades do sistema. De acordo com a oper-

acao desejada, basta clicar no item com o botao esquerdo do mouse ou utilizar as

teclas de atalho no teclado (indicadas ao lado do item no menu). Vide abaixo as

funcoes de cada item:

28

Page 44: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

1. Arquivo

• Logout - Fecha a conexao do usuario logado, permitindo que outro usuario

faca login no sistema.

• Imprimir - Imprime o documento visualizado. Esta opcao esta apenas

disponıvel em Visualizar Chamada e Busca de Chamadas (Dt Pauta).

• Sair - Fecha a conexao do usuario logado e o sistema.

2. Programa

• Adicionar Programa - Adiciona um programa ao banco de dados.

• Adicionar Episodio - Adiciona um episodio ao banco de dados o relacio-

nando a um programa.

• Listar Programas - Lista os programas e seus episodios cadastrados no

banco de dados.

3. Chamadas

• Adicionar Chamada - Adiciona uma chamada ao banco de dados.

• Listar Chamadas - Lista as chamadas cadastradas referentes a um episo-

dio (programa).

• Buscar Chamadas - Realiza as buscas das chamadas pela Claquete.

• Buscar Chamadas (Dt Pauta) - Realiza as buscas das chamadas pela

Data de Pauta.

4. Administracao - apenas o administrador pode realizar estas operacoes.

• Adicionar Usuario - Adiciona um usuario ao banco de dados.

• Remover Usuario - Remove um usuario do banco de dados.

5. Usuario

• Alterar Senha - Altera a senha do usuario logado ao sistema.

29

Page 45: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Telas:

A.3 Login:

Figura A.2: Login

A pagina inicial faz a autenticacao no sistema. Para isto, basta que o usuario

digite seu login e senha nos campos destinados a login e senha respectivamente.

O usuario inicial e o admin e a senha e admin. Os demais usuarios devem ter seus

logins e senhas previamente cadastrados no banco de dados pelo ADMINISTRADOR

do sistema.

Modo de operacao:

Digite o login (obrigatorio);

Digite a senha (obrigatorio);

Clique em Entrar ;

30

Page 46: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

A.4 Programa:

A.4.1 Adicionar Programa:

Figura A.3: Adicionar Programa

Esta funcao e acessada selecionando ”Adicionar Programa”no menu acima.

Permite o cadastro de um programa com o seguinte campo:

• Tıtulo (obrigatorio) - Uma frase, o nome do Programa;

Modo de operacao:

Digitar o tıtulo;

Clicar em Salvar.

31

Page 47: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

A.4.2 Adicionar Episodio:

Figura A.4: Adicionar Episodio

Esta funcao e acessada selecionando ”Adicionar Episodio”no menu acima.

Para que esta funcao funcione corretamente, e necessario que o Programa ao qual o

episodio sera associado tenha sido previamente cadastrado.

Permite o cadastro de um episodio com os seguintes campos:

• Programa (obrigatorio) - Lista com todos os Programas previamente cadastra-

dos. Basta selecionar o Programa desejado para criar um episodio do mesmo.

• Tıtulo do Episodio (obrigatorio) - Em geral, e o nome do programa (ou um

subtıtulo) com a data de exibicao.

• Data de Exibicao - data em que o episodio sera exibido; data no formato DDM-

MAAAA.

Modo de operacao:

Selecionar um Programa;

Digitar o tıtulo;

Digitar a data de exibicao (opcional) ou altera-la com a ajuda das setinhas;

Clicar em Salvar.

32

Page 48: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

A.4.3 Listar Programas:

Figura A.5: Visualizar Programa

Esta funcao e acessada selecionando ”Listar Programas”no menu acima. Per-

mite a visualizacao de todos os programas cadastrados no sistema. Ao selecionar um

programa, e possıvel tambem visualizar os episodios cadastrados referentes a este

programa.

Modo de operacao:

Na lista de Programas, selecione o programa desejado;

Clique em Listar episodios... - Abrira uma tela com os episodios do programa

selecionado. Para sair desta tela, basta clicar em Sair.

33

Page 49: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

A.5 Chamada

A.5.1 Adicionar Chamada:

Figura A.6: Adicionar Chamada

Figura A.7: Selecionar Programas / Episodios

Esta funcao e acessada selecionando ”Adicionar Chamada”no menu acima.

Permite o cadastro de chamadas com os seguintes campos:

• Claquete (obrigatorio);

• Data de Pauta;

• Programa(s);

34

Page 50: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

• Ilustracao;

• Texto;

Modo de operacao:

Digite a Claquete (campo obrigatorio);

Digite a data ou selecione uma data ao clicar na setinha;

Para adicionar um programa, basta clicar em Adicionar que sera exibida uma tela

com os programas e seus episodios. Basta selecionar um episodio (ou clicar 2 vezes

com o botao esquerdo do mouse) e clicar em OK para adiciona-lo a lista;

Se quiser remover um programa, basta seleciona-lo e clicar em Remover;

Digitar o texto de ilustracao;

Digitar o texto da chamada;

A.5.2 Listar Chamadas:

Figura A.8: Listar Chamadas

Esta funcao e acessada selecionando ”Listar Chamadas”no menu acima. Per-

mite a visualizacao das chamadas referentes a um episodio / programa.

35

Page 51: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Modo de operacao:

Selecione um programa em Programa; Apos esta selecao, a lista de episodios sera

carregada com os itens referentes a este programa.

Selecione um episodio; A lista das chamadas sera carregada em seguida.

A.5.3 Buscar Chamadas:

Figura A.9: Buscar Chamadas

Esta funcao e acessada selecionando ”Buscar Chamadas”no menu acima e per-

mite a busca de uma chamada pela sua Claquete. Basta escrever parte da claquete

ou o tıtulo inteiro da chamada desejada e o programa lista as chamadas encontradas.

Modo de operacao:

Digite parte da Claquete ou o tıtulo inteiro;

Clique em Buscar;

Se quiser edita-la:

• basta selecionar a chamada desejada

• clicar em Editar

36

Page 52: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Se quiser Visualiza-la:

• basta selecionar a chamada desejada

• clicar em Visualizar

A.5.4 Editar Chamadas:

Figura A.10: Alterar Chamadas

Essa tela permite a alteracao dos campos de uma chamada. Acessada pelas

telas ”Listar Chamadas”, ”Buscar Chamadas”e ”Buscar Chamadas (Dt Pauta)”ao

clicar em Editar....

Modo de operacao:

Vide adicionar chamada

Altere os campos necessarios;

Clique em Salvar ;

37

Page 53: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

A.6 Administracao:

A.6.1 Adicionar Usuario:

Figura A.11: Adicionar Usuario

Esta funcao e acessada selecionando ”Adicionar Usuario”no menu acima.

Nessa tela, e criado um novo usuario. A funcao (cargo) do usuario deve ser in-

formada selecionando-a na caixa de listagem drop-down. O acesso ao banco de

dados e determinado pela funcao do usuario.

Modo de operacao:

Digite um login (obrigatorio);

Selecione o cargo do profissional (obrigatorio);

Digite uma senha;

Digite em confirmar senha a mesma senha digitada anteriormente;

Clique em Adicionar ;

A.6.2 Excluir Usuario:

Para acessar esta tela, basta selecionar ”Excluir Usuario”no menu acima.

Nessa tela e excluıdo um usuario existente. Apenas o ADMINISTRADOR pode

38

Page 54: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Figura A.12: Excluir Usuario

excluir um usuario.

Modo de operacao:

Selecione o login na lista drop down (obrigatorio);

Digite a senha do usuario ADMINISTRADOR (obrigatorio);

Digite em confirmar senha a mesma senha digitada anteriormente (obrigatorio);

Clique em Remover ;

39

Page 55: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

A.7 Usuario:

A.7.1 Alterar Senha:

Figura A.13: Alterar Senha Usuario

Para alterar a senha do usuario atualmente logado no sistema, selecione ”Al-

terar Senha”no menu acima.

Modo de operacao:

Digite a Senha atual do usuario atualmente logado (obrigatorio);

Digite a nova senha (obrigatorio);

Digite em confirmar senha a mesma senha (nova) digitada anteriormente (obri-

gatorio);

Clique em Alterar ;

40

Page 56: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Apendice B

Documentacao do Sistema Promo

Figura B.1: Classe Call - documentacao

41

Page 57: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Figura B.2: Classe Call - documentacao

42

Page 58: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Figura B.3: Classe Call - documentacao

43

Page 59: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Figura B.4: Classe Call - documentacao

44

Page 60: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit …UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Polit ecnica - Departamento de Eletr^onica e de Computa˘cao Centro de Tecnologia

Figura B.5: Classe Call - documentacao

45