Академический Документы
Профессиональный Документы
Культура Документы
Varginha, 2008
Projeto de Concluso de Curso apresentado ao programa do curso de Bacharelado em Cincia da Computao do Centro Universitrio do Sul de Minas, como requisito parcial para a obteno do ttulo de Bacharel em Cincia da Computao
Varginha, 2008
FOLHA DE APROVAO
Monografia apresentada ao curso de Cincia da Computao do Centro Universitrio do Sul de Minas UNIS/MG, como pr-requisito para obteno do grau de bacharel pela Banca Examinadora composta pelos membros:
( ) Aprovado ( ) Reprovado
Data 25/11/2008
OBS.:
Dedicamos este projeto a todos os que nos ajudaram direta e indiretamente durante todo o seu desenvolvimento, e a ns mesmos, que nos esforamos ao mximo para concluir mais esta etapa.
Agradecimentos
Agradecemos primeiramente a Deus, por ter nos dado fora e perseverana para concluir este projeto, aos nossos familiares, pelo incentivo, compreenso e companheirismo e ao nosso orientador, coordenador e colegas de trabalho por tirar dvidas e procurar nos ajudar nas etapas mais crticas.
RESUMO
Nesta monografia descrita a criao de um prottipo de uma aplicao comercial, cujo foco principal o conceito de Usabilidade, onde a interao entre usurio e sistema tratada como o ponto mais importante do desenvolvimento. O projeto consiste na utilizao deste prottipo especificamente em uma vdeolocadora, sendo que deve ser disponibilizado em quiosques dentro do prprio estabelecimento, para que os clientes da locadora possam ter acesso a ele, entrando com sua identificao e efetuando vrios tipos de consultas de filmes, podendo eles prprios efetuar locaes e reservas, com a utilizao de recursos multimdia como a apresentao de trailers. Tudo isso de uma forma independente, sem necessitar de ajuda do atendente para lhe apresentar os filmes. No desenvolvimento do projeto, foram utilizados conhecimentos adquiridos nas reas de Engenharia de Software, que auxiliou na organizao da parte estrutural, UML, que possibilitou uma viso panormica de como modelar o sistema; programao, utilizando ferramentas para a implementao do software; Banco de Dados, utilizando a linguagem SQL atravs de comandos que facilitam o gerenciamento das informaes; e Interface Homem-Mquina, que o principal foco, procurando interagir com o usurio da melhor forma possvel.
Lista de Figuras
FIGURA 1 DIVERGNCIAS ENTRE ENGENHARIA DE SOFTWARE E IHM .....................................................17 FIGURA 2 - CICLO DE VIDA CLSSICO (FONTE: DCA, 2008)........................................................................19 FIGURA 3 - ORIENTAO OBJETO (FONTE: AUTOR).................................................................................24 FIGURA 4 - APLICAO DE UM DIAGRAMA E-R (FONTE: PONTES, 2008) ..................................................25 FIGURA 5 - DIAGRAMA DE CASO DE USO (FONTE: DSC, 2008)...................................................................27 FIGURA 6 - DIAGRAMA DE CLASSE (FONTE: VOXXEL, 2008)....................................................................28 FIGURA 7 - ASSOCIAES (FONTE: AUTOR) ................................................................................................29 FIGURA 8 - DIAGRAMA DE ATIVIDADE (FONTE: LINHA, 2008)..................................................................31 FIGURA 9 - MODELO EM REDE (FONTE: KORTH E SILBERSCHATZ, 1995) ............................................32 FIGURA 10 - MODELO HIERRQUICO (FONTE: DEVMEDIA, 2008) ...........................................................32 FIGURA 11 - NVEIS DE ABSTRAO (FONTE: KORTH E SILBERSCHATZ, 1995) ...................................33 FIGURA 12 - TIPOS DE CARDINALIDADE (FONTE: AUTOR) ..........................................................................34 FIGURA 13 - DIAGRAMA E-R (FONTE: KORTH E SILBERSCHATZ, 1995)...............................................35 FIGURA 14 - TABELAS DE UM BD RELACIONAL (FONTE: ENG, 2008) ........................................................35 FIGURA 15 - FORM CRIADO NO DELPHI (FONTE: AUTOR) ............................................................................45 FIGURA 16 - CODE EDITOR (FONTE: AUTOR) ..............................................................................................46 FIGURA 17 - COMPONENT PALETTE (FONTE: AUTOR) .................................................................................46 FIGURA 18 - OBJECT TREEVIEW E OBJECT INSPECTOR (FONTE: AUTOR) ....................................................47 FIGURA 19 - CONEXO NO SQLCONNECTION (FONTE: AUTOR) .................................................................48 FIGURA 20 - DATAMODULE E OS COMPONENTES DE CONEXO (FONTE: AUTOR) ......................................48 FIGURA 21 - ADICIONANDO CAMPOS NO CLIENTDATASET (FONTE: AUTOR)..............................................49 FIGURA 22 - LIGAO NO DATASOURCE (FONTE: AUTOR) .........................................................................49 FIGURA 23 - MODELO DE PROTOTIPAGEM (FONTE: PRESSMAN, 1995) ....................................................50 FIGURA 24 - VISUAL PARADIGM COMMUNITY EDITION. .............................................................................52 FIGURA 25 - DIAGRAMA DE CASO DE USO ..................................................................................................53 FIGURA 26 - DIAGRAMA DE CLASSE ............................................................................................................54 FIGURA 27 - DIAGRAMA DE ATIVIDADE ......................................................................................................55 FIGURA 28 - INTERFACE DO IBEXPERT .......................................................................................................56 FIGURA 29 - DOMNIOS CRIADOS NO BANCO ...............................................................................................57 FIGURA 30 - TABELAS E RELACIONAMENTOS DO BD ..................................................................................58 FIGURA 31 DATAMODULE E DEMAIS COMPONENTES DE CONEXO ..........................................................62 FIGURA 32 - TELA DE BUSCA .......................................................................................................................64 FIGURA 33 - TELA DE DETALHES DO FILME .................................................................................................66 FIGURA 34 - EXIBIO DA SINOPSE DO FILME .............................................................................................67 FIGURA 35 - PLAYER QUE EXECUTA OS TRAILERS .......................................................................................68 FIGURA 36 - RESERVA DO FILME .................................................................................................................69 FIGURA 37 - TELA DE LOCAO..................................................................................................................70
Sumrio
RESUMO ....................................................................................................................................................6 1 INTRODUO...............................................................................................................................10 1.1 OBJETIVOS ...............................................................................................................................10 1.1.1 Geral...................................................................................................................................10 1.1.2 Especfico ...........................................................................................................................10 1.2 JUSTIFICATIVA .........................................................................................................................11 1.3 ORGANIZAO DA MONOGRAFIA ............................................................................................11 2 REFERENCIAL TERICO..........................................................................................................12 2.1 AUTOMAO COMERCIAL...............................................................................................12 2.1.1 Benefcios e Dificuldades ...................................................................................................12 2.1.2 Contexto Atual ....................................................................................................................12 2.2 INTERFACE HOMEM-MQUINA ......................................................................................14 2.2.1 O Computador na Relao homem-mquina .....................................................................14 2.2.2 Definio e importncia das interfaces ..............................................................................14 2.2.3 Fatores que influenciam a construo de interfaces ..........................................................15 2.2.4 Objetivos de IHM................................................................................................................15 2.2.5 Desafios de IHM.................................................................................................................15 2.2.6 Usabilidade.........................................................................................................................16 2.2.7 Ergonomia ..........................................................................................................................16 2.2.8 Principais diferenas entre IHM e Engenharia de software ..............................................17 2.3 ENGENHARIA DE SOFTWARE ..........................................................................................18 2.3.1 Importncia do software.....................................................................................................18 2.3.2 Aplicaes do Software ......................................................................................................19 2.3.3 Ciclo de Vida Clssico da Engenharia de Software...........................................................19
2.3.3.1 2.3.3.2 2.3.3.3 2.3.3.4 2.3.3.5 2.3.3.6 Anlise e Engenharia de Sistemas ........................................................................................... 20 Anlise de Requisitos de Software .......................................................................................... 20 Projeto ..................................................................................................................................... 20 Codificao ............................................................................................................................. 20 Testes ...................................................................................................................................... 20 Manuteno............................................................................................................................. 20
O Processo de Gerencia de Projetos..................................................................................21 Administrao de Projetos .................................................................................................21 Objetivos do Planejamento de Projetos..............................................................................22 Modelos de Processo ..........................................................................................................22 Escopo do Software ............................................................................................................22 Software Comercial ............................................................................................................22 Importncia do Software em Aplicao Comercial .......................................................23 Anlise Orientada a objeto ............................................................................................23
Conceitos da Orientao a Objetos.......................................................................................... 23 Identificao de Objetos.......................................................................................................... 24 Especificao de atributos....................................................................................................... 25
2.3.12
2.3.12.1
2.5 BANCO DE DADOS ..............................................................................................................32 2.5.1 Principais Caractersticas de um BD .................................................................................33 2.5.2 Abstrao de dados ............................................................................................................33 2.5.3 Modelagem de Dados .........................................................................................................34 2.5.4 Modelagem Lgica .............................................................................................................35
2.5.4.1 2.5.4.2 Banco de dados relacional....................................................................................................... 35 lgebra Relacional.................................................................................................................. 36 Views ...................................................................................................................................... 37
2.5.5
2.5.5.1
Arquitetura Cliente/ Servidor .............................................................................................40 Sistema Gerenciador de Banco de Dados (SGDB).............................................................40 Firebird...............................................................................................................................40
Principais Caractersticas ........................................................................................................ 41 Usurios de peso ..................................................................................................................... 41
2.5.8.1 2.5.8.2
2.6.3
DESENVOLVIMENTO .................................................................................................................50 3.1 MODELOS DE PROCESSO DE ENGENHARIA DE SOFTWARE ........................................................50 3.1.1 Comunicao......................................................................................................................51 3.1.2 Criao e modelagem do projeto rpido............................................................................51 3.1.3 Construo do prottipo.....................................................................................................51 3.1.4 Implantao, Entrega e Feedback ......................................................................................51 3.2 MODELAGEM UML..................................................................................................................52 3.2.1 Ferramenta utilizada ..........................................................................................................52 3.2.2 Construo dos diagramas.................................................................................................53
3.2.2.1 3.2.2.2 3.2.2.3 Diagrama de caso de uso......................................................................................................... 53 Diagrama de classe.................................................................................................................. 53 Diagrama de atividades ........................................................................................................... 54
3.3 CONSTRUO DO BANCO DE DADOS .........................................................................................56 3.3.1 Ferramentas utilizadas .......................................................................................................56 3.3.2 Criao de domnios e tabelas ...........................................................................................57 3.3.3 Gerao de autonumerao ...............................................................................................58 3.3.4 Utilizao de Stored Procedures ........................................................................................59 3.3.5 Consultas partir de Views................................................................................................60 3.4 IMPLEMENTAO DA APLICAO ............................................................................................61 3.4.1 Ferramenta Utilizada .........................................................................................................61 3.4.2 Conexo com o BD .............................................................................................................61 3.4.3 Interface da Aplicao........................................................................................................63 3.4.4 Tela de Busca .....................................................................................................................64 3.4.5 Tela de Detalhes do Filme..................................................................................................66 4 CONCLUSO .................................................................................................................................71 4.1 4.2 5 6 DIFICULDADES ENCONTRADAS ................................................................................................71 TRABALHOS FUTUROS .............................................................................................................71
REFERNCIAS BIBLIOGRFICAS ..........................................................................................72 ANEXOS..........................................................................................................................................74 6.1 6.2 6.3 ANEXO 1 FEEDBACK DO CLIENTE..........................................................................................74 ANEXO 2 IMPLEMENTAO DO TECLADO VIRTUAL ..............................................................76 ANEXO 3 CONSTRUO DE UM PLAYER DE VDEO ................................................................78
1 INTRODUO
Atualmente, a automao comercial vem apresentando um crescimento considervel, juntamente com ela a complexidade das interfaces, onde vrios indivduos tm acessos aos terminais comerciais, sendo que cada um possui um perfil distinto e tambm apresenta dificuldades diferentes. Pois, enquanto um grupo de usurio consegue interagir com uma interface mais complexa, outros usurios encontram dificuldades na interao, causando insatisfao e desconforto. Com esta necessidade de acompanhar a evoluo da tecnologia sem deixar de lado a preocupao sobre o modo de interao entre usurio e sistema, o desenvolvimento de aplicaes voltadas para um pblico com caractersticas variadas precisa cada vez mais ser focado na Usabilidade e na Ergonomia. Desenvolver aplicaes utilizando estes conceitos como base, resulta na construo de uma interface simples, clara e objetiva, fazendo com que a interao com o usurio acontea de uma forma natural, cmoda e satisfatria, diminuindo a ocorrncia de erros, otimizando a utilizao e fazendo com que o sistema seja bem aceito pelos seus usurios.
1.1 Objetivos
1.1.1 Geral
Desenvolver uma interface clara e objetiva, que faa com que o usurio a utilize de forma independente e interaja com a aplicao de uma forma natural e intuitiva, com clareza e objetividade, buscando sempre a comodidade e a satisfao do usurio ao ter contato com esta interface.
1.1.2 Especfico
Utilizar os conceitos de Interface Homem-Mquina, no desenvolvimento da interface da aplicao, principalmente usabilidade, otimizando a interao com o usurio; Aplicar modelagem UML, construindo diagramas e estabelecendo uma viso do sistema para que possa ser implementado corretamente;
10
Utilizao da Engenharia de Software, onde atravs de modelos de processo, testar, avaliar e estruturar o prottipo, tendo metas de organizao.
1.2 Justificativa
Em algumas aplicaes voltadas para atendimento a um pblico variado, como por exemplo, de caixas eletrnicos, possvel notar a grande insatisfao dos usurios, que nem sempre conseguem interagir corretamente com o sistema, onde so induzidos a fazer escolhas erradas, pela falta de clareza, causando transtorno e fazendo com que o usurio evite utilizar o sistema. Devido a essas dificuldades encontradas por alguns usurios, foi desenvolvido este projeto, onde se preza pela qualidade da interao entre o usurio e o sistema, construindo uma interface planejada para que esta interao exista de forma natural e objetiva.
11
2 REFERENCIAL TERICO
2.1 AUTOMAO COMERCIAL
O termo automao comercial pode ser definido como a transformao de tarefas manuais repetitivas em processos automticos executados por uma mquina, com intuito de tomar tais tarefas mais geis e eficientes, na rea comercial. (AUTOMAO, 2008) A automao comercial faz parte na vida da sociedade moderna devido ao grande nmero de empresas que utilizam esta tecnologia, contudo nem todos esto cientes dos seus benefcios. Um estabelecimento automatizado estar preparado para atender com mais qualidade o exigente consumidor, o atendendo com mais agilidade e preciso, e possibilitando uma maior comodidade, tanto para a empresa quanto para o cliente. A misso da automao comercial proporcionar empresa um gerenciamento mais eficiente, tornando possvel uma anlise geral da empresa, auxiliando na tomada de decises com o objetivo de fazer com que a empresa cresa.
12
correta para que se torne uma ferramenta poderosa de gesto do negocio. O nmero de estabelecimentos comerciais automatizados vem praticamente dobrando a cada ano, e a um ritmo acelerado. Atualmente, um dos setores mais promissores para o mercado de tecnologia, movimentando em torno de um bilho de reais por ano no pas, sendo 60% do mercado de negcios especficos para automao comercial representados pelas empresas IBM e Itautec Philco. (AUTOMAO, 2008).
13
14
tarefas. Anlise dos requisitos, dos usurios, das tarefas, concepo, especificao e prototipao da interface e avaliao da utilizao do prottipo. Estamos cada vez mais dependentes de computadores e dispositivos eletrnicos seja pra trabalho ou at mesmo para nossas atividades pessoais. Essas atividades necessitam de uma facilidade de uso destes dispositivos, juntamente com interfaces difceis no so desenvolvidas como se deveria, sendo desperdiado o tempo e necessitando de um treinamento. Um srio problema est ligado a pessoas que investem muito com tecnologia da informao e no obtendo resultados agradveis devido ao fato de no ter focado em uma interface amigvel.
15
2.2.6 Usabilidade
Segundo Nielsen (apud. Rocha e Baranauskas, 2003, p. 28), nos sistemas computacionais, a Usabilidade um dos critrios que definem a aceitabilidade de um sistema. No se constri uma interface tima apenas com idias prprias, os usurios muitas vezes interpretam mal os elementos da interface, fazendo uso das tarefas de um modo diferente do que foi projetado. Para isso deve-se sempre trabalhar baseado no entendimento do usurio e de suas tarefas. A definio da usabilidade de um sistema computacional pode ser identificada de diversas maneiras, como por exemplo, a facilidade de aprendizagem, pois o sistema necessita de uma aprendizagem fcil, para que ocorra uma rpida interao. A facilidade de memorizao de suas funcionalidades uma conseqncia da facilidade de aprendizagem. Outros exemplos de usabilidade so: a eficincia no seu uso, fazendo com que o usurio desenvolva sua tarefa com bastante produtividade e uma pequena taxa de erros durante a utilizao de um sistema. Outro aspecto que identifica a Usabilidade a satisfao subjetiva do usurio com o sistema, isto , se a forma com que o usurio interage com o sistema agradvel e faz com que ele goste de utiliz-lo.
2.2.7 Ergonomia
Ergonomia a qualidade de como um dispositivo adaptvel ao indivduo que o opera e a tarefa que realiza, podendo considerar que a ergonomia est na origem da usabilidade. A ergonomia tem como objetivo fazer com que diversas ferramentas tenham seu design adequado s necessidades do usurio, maximizando a eficincia e confiabilidade, e aumentando a satisfao e conforto do usurio perante esta ferramenta. (ROCHA e BARANAUSKAS, 2003).
16
2.2.8
padronizao, confiabilidade, consistncia, portabilidade e integrao do sistema. Entretanto, ainda possvel identificar algumas divergncias entre os mtodos de Engenharia de Software e IHM. A Engenharia de Software trata dos aspectos funcionais do sistema, enquanto IHM trata dos aspectos de interao com o usurio. (RETONDARO, 2008). A figura 1 ilustra a diferena entre as duas reas:
17
18
19
2.3.3.3 Projeto
O projeto de software consiste em processo de vrios passos que se concentra em quatro atributos distintos do programa: estrutura de dados, arquitetura do software, detalhes procedimentais e caracterizao de interface.
2.3.3.4 Codificao
A parte de codificao necessita de uma linguagem legvel por mquina, esta etapa de codificao executa essa tarefa, se o projeto for executado detalhadamente, a codificao pode ser executada mecanicamente.
2.3.3.5 Testes
A partir do momento que o cdigo for gerado, inicia-se a parte de testes do programa. Estes testes so feitos nas instrues internas do software e tambm nos aspectos funcionais externos, ou seja, as entradas devem corresponder resultados reais com as necessidades exigidas.
2.3.3.6 Manuteno
A manuteno feita depois de ser entregue ao cliente, onde se deve: ao fato de ter encontrado erros, mudanas no seu ambiente externo, mudanas para adaptar ao sistema operacional ou dispositivo perifrico ou acrscimo de cliente.
20
a) Complexidade o projeto: Tem um forte efeito sobre a incerteza que inerente ao planejamento. b) Tamanho do projeto: outro fator importante que pode afetar a preciso e a eficcia das estimativas. c) O grau de estrutura do projeto: Tambm exerce um efeito sobre os riscos da estimativa. d) Disponibilidade de informaes histricas: Tambm determina os riscos da realizao de estimativas.
21
22
2.3.10
O software com o passar do tempo passa a construir uma tecnologia chave, sendo usada nas mais diversas reas, dentre elas ser citada as aplicaes comerciais, a indstria de computador passa a ser um dos ramos de negcio mais competitivo do planeta, onde o componente software torna-se a fora prevalecente em termos de inovao tecnolgica. Os princpios de engenharia de software levam a um software otimizado fazendo com que as aplicaes comercias sejam confiveis, fceis de compreender e levando ao cliente conforto perante os produtos, deixando tambm o proprietrio com uma melhor viso de seu comercio, tendo um controle satisfatrio e obtendo uma economia de tempo e financeiro em relao a diminuio de empregados.
2.3.11
No fim da dcada 1980, a anlise orientada a objeto na modelagem de dados comeou a surgiu com intensidade de uma forma poderosa e prtica auxiliando no desenvolvimento do software, criando projetos para aplicaes de todos os tipos. Hoje, a anlise orientada a objeto est fazendo um lento, firme, progresso como mtodo de anlise por seus prprios mritos e como complementos a outros mtodos de anlise.
2.3.11.1
Para entender o ponto de vista orientado a objeto, necessrio considerar um exemplo de objeto do mundo real, como exemplo a cadeira sendo um objeto da instncia mobiliria onde essa classe possui os conjuntos de atributos dentre eles est, custo, dimenses, peso. Supe agora que se deseja montar uma nova classe dentro da classe mobiliria, chamada camesa, sendo uma mistura de cama e mesa herdando os atributos de mobilirio. Conforme a figura seguinte:
23
2.3.11.2
Identificao de Objetos
Ao determinar um, objeto deve-se examinar a declarao do problema, ao executar uma anlise gramatical da narrativa de processamento do sistema a ser construdo. Os objetos fazem parte de uma classe onde herdam atributos da mesma, ao pensar em uma classe bar, faz uma anlise do sistema que fazem funcionar esta classe e logo se definem os objetos que fazem parte do sistema, mesa, cadeira, balco, caixa e produtos. Segundo Pressman, (1995), os objetos podem ser: a) Entidades externas: reproduzem ou consomem informaes a serem usadas por um sistema baseado em computador, como por exemplo, outros sistemas, dispositivos, pessoas. b) Coisas: fazem parte do domnio de informao do problema, como relatrios, displays, cartas, cartazes. c) Ocorrncias ou eventos: ocorrem dentro do contexto de operao do sistema, por exemplo, uma transferncia de propriedade ou a concluso de uma srie de movimentos de rob. d) Papis (funes): desempenhadas por pessoas que interagem com o sistema, como por exemplo, gerente, engenheiro, vendedor. e) Unidades organizacionais: que so pertinentes a uma organizao, como diviso, grupo, equipe. f) Lugares: que estabelecem o contexto do problema e a funo global do sistema, por exemplo, piso de fbrica ou rea de descarga.
24
g) Estruturas: que definem uma classe de objetos ou, ao extremo, classes relacionadas de objetos, por exemplo, sensores, veculos de quatro rodas ou computadores.
2.3.11.3
Especificao de atributos
Os atributos especificam o objeto selecionado para incluso no modelo de anlise, eles do as caractersticas que definem o objeto esclarecendo aquilo que o objeto significa no contexto do espao do problema.
2.3.12
Modelagem de Dados
A tcnica de modelagem de dados concentra-se unicamente nos dados,
representando uma grande rede de dados de um determinado sistema. Modelagem de dados muito importante devido ao relacionamento dos dados ser muito complexa, os dados dentro da modelagem so independentes, ou seja, os processos que transformam os dados no afetam sua modelagem.
2.3.12.1
Diagramas Entidade-Relacionamento
Para Pressman, (1995) a notao fundamental para a modelagem de dados o diagrama entidade-relacionamemto (E-R). Os objetos de dados so representados por um retngulo que ligados por relacionamento que possuem um formato de losango, esses ligamentos possuem linhas que identificam a quantidade, exemplo um funcionrio pode vender muitos carros. Objetividade especifica na busca dos dados faz a diferena com relao aos outros modelos DBMS. A figura a seguir mostra um diagrama E-R:
25
relacionamentos entre as classes onde as classes subjacentes derivam em subclasses mais complexas. Uma classe bsica contm todos os atributos que so compartilhados entre as classes derivadas da classe base. Subclasses usam atributos compartilhados existentes, reimplementam atributos compartilhados ou criam novos atributos.
26
27
a) Propriedades As propriedades correspondem aos campos de uma classes, esses campos possuem caractersticas dos objetos que se parecem com duas notaes distintas: Atributos e associaes. Embora elas se paream diferentes em um diagrama, na realidade elas so a mesma coisa.
28
b) Atributos Atributos fazem a descrio de uma propriedade como uma linha de texto dentro da caixa de classe em si. A forma completa de um atributo a seguinte: Visibilidade nome: Tipo multiplicidade = valor-por-omisso {lista de propriedades} Exemplo: nome: String [1] = Sem Ttulo {readOnly}.
c) Associaes Segundo Fowler (2005) Associao uma linha cheia entre duas classes, direcionada da classe de origem para a classe destino. O nome da propriedade fica no destino final da associao, junto com sua multiplicidade. O destino final da associao vincula classe que o tipo da propriedade. Conforme a figura abaixo:
d) Multiplicidade Multiplicidade a relao dos objetos identificando por exemplos quantos pedidos um cliente poder fazer ou vrios clientes podem fazer mais de um pedido ou at mesmo vrios clientes podem fazer um pedido. As multiplicidades vistas mais comumente so: 1 ( Um pedido deve ter exatamente um cliente) 0...1 (Um cliente corporativo pode ter ou no um nico representante de vendas)
29
* (Um cliente no precisa fazer um pedido e no existe nenhum limite superior para um nmero de pedidos que um cliente pode fazer- zero ou mais pedidos.)
e) Operaes Operaes so exatamente as aes das classes, essas operaes correspondem aos mtodos presentes em uma classe.
f) Generalizao Generalizao corresponde a uma classe principal onde as subclasses possuem alguns atributos dessa classe, um exemplo claro o que envolve pessoas fsicas e jurdicas de uma empresa. Elas possuem diferenas, porm muitas semelhanas, as semelhanas podem ser colocadas em uma classe geral: Cliente (o supertipo), com cliente pessoa fsica e cliente pessoa jurdica como subtipos.
30
Este diagrama de atividades mostra a primeira ao consultar produto em seguida tem o tringulo de deciso se o produto existe ou no, se existir voc altera o produto se no cadastra produto logo aps vem a separao em que a classe alterar e cadastrar pode estar na mesma classes, onde atravs desses divisores podemos separar as atividades de acordo com as classes, sendo a ultima ao gravar produto.
31
32
No entanto, nenhum dos modelos citados anteriormente se tornou padro, mas sim o modelo de dados relacional criado na dcada de 70 por Edgar Frank Codd, que separou a estrutura lgica do mtodo de armazenamento fsico do BD. Em 1976, Peter Chen props o modelo Entidade Relacionamento (E-R), figura que possibilitou ao projetista focar apenas na utilizao dos dados, deixando de lado estrutura lgica da tabela.
33
34
O modelo E-R representado graficamente pelo diagrama EntidadeRelacionamento, que fornece um conceito generalizado sobre a estruturao dos dados no sistema. A figura seguinte mostra um diagrama E-R.
35
A DML inclui uma linguagem de consulta, que se baseia na lgebra relacional, onde se utilizam comandos para insero, remoo e alterao de tuplas em um banco de dados. Em SQL o comando SELECT utilizado para selecionar tuplas e atributos em uma ou mais tabelas, como mostra a forma bsica a seguir: SELECT <lista de atributos> FROM <lista de tabelas> WHERE <condies> Inseres e atualizaes de registros em SQL so feitos a partir da utilizao dos comandos INSERT INTO e UPDATE, respectivamente. As formas gerais a seguir mostram como so feitos estas operaes nas tuplas de um banco de dados relacional: Insero: INSERT INTO <nome da tabela> <(lista de colunas)> VALUES <(lista de valores)>; Atualizao: UPDATE <tabelas> WHERE <condio>.
2.5.5.1 Views
Conforme Korth e silberschartz, as Views ou vises so definidas como um mecanismo utilizado para tomar mais simples as consultas do BD, estabelecendo a consulta que ir computar a viso. O exemplo a seguir mostra a criao de uma View: CREATE VIEW <nome da viso> AS SELECT <lista de atributos> FROM <lista de tabelas>
2.5.5.2 Generators
Um Generator uma ferramenta que retorna um valor incrementado toda vez que chamado. So independentes de transaes e podem ser usados de vrias maneiras. Segue um exemplo de como um generator criado: CREATE GENERATOR GEN_CLIENTE_ID; SET GENERATOR GEN_CLIENTE_ID TO 1;
37
2.5.5.3 Triggers
De acordo com Korth e Silberschartz (1995), uma trigger, tambm conhecida como gatilho, consiste em um comando que executado de forma automtica pela aplicao como consequncia de uma alterao no banco de dados. Na construo de uma trigger necessrio especificar as condies em que a trigger ser acionada e as aes que sero executadas aps o seu acionamento. Em SQL uma trigger criada utilizando cdigo conforme o exemplo a seguir. CREATE TRIGGER <nome_da_trigger> FOR <nome_da_tabela> ACTIVE <condio_de_ativao> POSITION 0 AS BEGIN <corpo_da_trigger> END Atravs das triggers, operaes podem ser executadas sempre que determinador eventos ocorrem em uma tabela ou view, como antes da insero em uma tabela (Before Insert), aps a insero (After Insert), antes de efetuar uma alterao (Before Update), depois da alterao (After Update), antes de uma excluso (Before Delete) ou depois da excluso (After Delete). Uma das principais utilizaes das triggers para implementar um mecanismo de auto-incremento, como mostra o seguinte exemplo: CREATE TRIGGER P_CONTAS_BI FOR P_CONTAS ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.COD IS NULL) THEN NEW.COD = GEN_ID(GEN_P_CONTAS_ID,1); END
38
Comandos SQL tambm podem ser utilizados dentro de uma stored procedure, sendo possvel a utilizao de variveis locais ou parmetros de entrada. O exemplo seguinte mostra a utilizao de um comando SQL na stored procedure: CREATE PROCEDURE INSERIR_CLIENTE ( ID_CLIENTE INTEGER, NOME_CLIENTE CHAR (30)) AS BEGIN INSERT INTO CLIENTE (ID_CLIENTE, NOME_CLIENTE) VALUES (:ID_CLIENTE, :NOME_CLIENTE); END
39
Para utilizar uma stored procedure em uma aplicao Delphi, por exemplo, necessrio que sejam passados os parmetros de entrada e que o comando ExecProc seja executado, conforme o cdigo a seguir: procedure TForm1.btnGravarClick(Sender: TObject); begin with spCliente do begin Params[0].AsInteger := cdsClienteID_CLIENTE.AsInteger; Params[1].AsString := cdsClienteNOME_CLIENTE.AsString; ExecProc; end; end;
2.5.8 Firebird
Segundo (Cantu, 2005), com a abertura de seu cdigo fonte do InterBase em julho de 2000, tornando-o Free e Open Source, a comunidade de usurios criou um novo banco de dados, o Firebird, compatvel com o padro SQL-ANSI-92. Entretanto, a Borland continuou desenvolvendo uma verso comercial do InterBase, esta no teria o cdigo aberto e nem seria free, o que causou uma migrao
40
de usurios para o Firebird, pois aps a criao de novas verses e atualizaes no seu cdigo ao contrrio do InterBase o Firebird se mostrou uma melhor opo por estar em pleno desenvolvimento e pela garantia de continuar sendo Open Source.
41
2.6 PROGRAMAO
No desenvolvimento de softwares necessrio que sejam definidas seqncias de instrues que executam tarefas at atingir um objetivo ou soluo de um determinado problema. (MORAES, 2000)
2.6.1 Algoritmo
Segundo Moraes (2000), algoritmos so seqncias finitas de comandos e instrues que, quando obedecidos, levam a execuo de uma tarefa e alcanam um objetivo proposto. Os algoritmos so independentes das linguagens de programao, pois para serem escritos utilizado o pseudocdigo, uma linguagem simples e de fcil entendimento, que no executado em um sistema real. O exemplo a seguir mostra um algoritmo escrito utilizando pseudocdigo: INICIO LEIA (A); LEIA (B); LEIA (C); MEDIA (A + B + C) / 3;
42
extremamente rudimentar, sendo totalmente expressa em forma binria ou hexadecimal, o que torna seu entendimento mais difcil de ser assimilado. Tambm necessita de um cuidado especial para se estabelecer os posicionamentos dos dados e instrues na memria do computador.
2.6.2.2 Traduo
Existem dois mtodos de traduo da linguagem de programao utilizada para a linguagem de mquina, que so a compilao e a interpretao. (WIKIPEDIA, 2008) Na compilao, o cdigo traduzido antes que o programa seja executado, gerando um arquivo executvel, como nas linguagens Pascal e C, por exemplo; enquanto na interpretao a traduo feita durante a execuo do programa, um exemplo disso a linguagem Java.
43
No mecanismo de seqncia, o programa executado passo a passo, de forma que tarefas so executadas seqencialmente; na seleo onde se encontram as estruturas de deciso; na iterao so utilizadas as estruturas de repetio (DCA, 2008). Conforme Leite e Rahal (2002), a Programao Orientada a Objeto (POO), uma classificao utilizada para linguagens que implementam os conceitos bsicos de abstrao, encapsulamento, herana e polimorfismo. Na POO, o programador deve criar um conjunto de classes que iro definir os objetos que sero utilizados no desenvolvimento do software, sendo que cada classe dever determinar os mtodos, que definem as aes que os objetos iro executar, e os atributos, ou seja, as caractersticas de um determinado objeto.
44
Blocos de Procedimentos e Funes so utilizados para implementar os mtodos vinculados a cada objeto, sendo que os procedimentos no retornam um valor especfico, enquanto as Funes so obrigadas a retornar algum valor. Como Object Pascal considerada uma Linguagem Orientada a Objeto, ela tem a capacidade de trabalhar com objetos, pertencentes a classes j existentes ou criadas pelo prprio programador. O exemplo a seguir mostra a declarao de um objeto TForm1, que uma instncia da classe TForm: type TForm1 = class (TForm);
45
No Code Editor onde se gera todo o cdigo-fonte do projeto. Ao ser aberto um novo projeto, na pgina do editor de cdigos do Delphi gerado automaticamente uma Unit com o arquivo de cdigo (.PAS). A figura abaixo mostra um Code Editor:
Os componentes so elementos que sero utilizados no desenvolvimento da interface da aplicao, eles esto localizados na palheta de componentes (Component Palette). Os objetos da palheta so divididos em grupos de acordo com sua funcionalidade, conforme mostra a figura 17. A linguagem Delphi torna possvel a criao de novos componentes, assim como a remoo, adio de componentes e criao de novas pginas na palheta de componentes.
O Object Inspector composto por duas pginas: Properties e Events, onde so exibidos as propriedades e os eventos, respectivamente, que podem ser utilizados para personalizar os componentes. O Object TreeView, tem como sua principal funo exibir os componentes do formulrio de uma forma hierrquica, com ele possvel ter uma viso mais ampla dos componentes tornando mais simples alterar a hierarquia entre os componentes e encontr-los mais rapidamente. Ambos so mostrados na figura seguinte:
46
47
Aps configurar a conexo, dever ser inserido no DataModule o componente SQLDataSet, tambm da palheta dbExpress, este componente ligado na conexo criada atravs da propriedade SQLConnection. Na propriedade Command Text do SQLDataSet, pode ser criado um cdigo SQL como um select, que ir trazer os campos da tabela que sero utilizados na aplicao. Na palheta DataAccess se encontram os outros componentes que sero utilizados, como o DataSetProvider, o ClientDataSet e o DataSource, este ser adicionado diretamente no form da aplicao. A figura seguinte mostra um DataModule com os componentes necessrios para uma conexo simples:
48
O DataSetProvider ligado no SQLDataSet atravs da propriedade DataSet, depois liga-se o ClientDataSet no DataSetProvider indicando-o na propriedade Provider Name .Depois de ligar os componentes, com um duplo clique no ClientDataSet, abre-se uma janela onde sero includos os campos trazidos pelo select, clicando com o boto direito e escolhendo a opo Add all Fields, conforme a figura seguinte:
Com a adio dos campos no ClientDataSet, o componente DataSource necessita ser ligado a ele, pois o ltimo nvel antes que seja ligado aplicao. Os componentes da palheta DataControls, como DBEdit, DBText, DBGrid so os componentes do Delphi capazes de serem ligados ao banco de dados. Atravs da propriedade DataSource, indicado qual o DataSource que ser utilizado pra conectar ao banco e na propriedade DataField informado a qual campo o componente DataControl estar ligado, como mostra a figura.
49
DESENVOLVIMENTO
50
3.1.1 Comunicao
Na fase de comunicao, foi feita uma reunio com o cliente, no caso o dono de uma vdeo-locadora que no ainda no informatizada, para a definio do objetivo geral do software, coleta de requisitos e identificao das necessidades conhecidas. Nessa reunio definiu-se que o software seria voltado para utilizao dos clientes da locadora e que necessitaria da aplicao de conceitos de usabilidade para a construo de sua interface.
51
O software possui uma verso para testes, que expira em 30 dias, a Professional Edition for Windows 6.3 e uma verso gratuita com recursos limitados, a Community Edition. A verso escolhida foi a Communit Edition, pois os recursos que ela apresenta atendem totalmente as necessidades do projeto em desenvolvimento.
52
3.2.2.2 Diagrama de classe O diagrama de classe a parte do trabalho que mostra a interao dos objetos que compem o sistema, onde teremos o objeto cliente fazendo reserva de filmes, sendo que cada um desses objetos possuem seus devidos atributos, esses atributos vo
53
classificar cada um deles, eles tambm possuem mtodos para desenvolver sua funo especifica no sistema. Na figura abaixo podemos ver tambm a multiplicidade dos relacionamentos, os asteriscos significam muitos para um ou muitos para muitos, onde um cliente poder fazer vrias reservas de vrios filmes, sendo que vrios filmes podem estar em uma mesma categoria ou censura e vrios filmes podem ter o mesmo preo. Os objetos categoria, censura, tipo preo e tipo filme so uma composio da classe filmes, sendo que se a classe filme for excluda, automaticamente as outras classes que esto unidas a ela tambm sero.
54
sistema. Se a opo escolhida for fazer a locao, ele poder alugar outro filme ou concluir a locao. Caso escolha alugar outro filme, dever passar por todos os passos anteriores, e caso escolha concluir a locao, o cliente efetua o pagamento e termina a atividade de locao.
55
56
A utilizao do IBExpert para administrar o banco de dados facilita e agiliza as operaes nas tabelas, como consultas simples e complexas, criao de stored procedures, triggers, generators, dentre outros. A biblioteca utilizada para acesso aos dados no Firebird a fbclient.dll, que uma biblioteca especfica para trabalhar com Firebird.
Depois da definio dos domnios, foram criadas nove tabelas: a) CLIENTES: armazena os clientes do estabelecimento; b) FILMES: armazena todos os filmes que a locadora possui; c) CATEGORIA: categorias ou gneros dos filmes como, por exemplo: comdia, ao, terror, etc. d) CENSURA: mostra a censura do filme, ou seja, a partir de qual classificao etria ele voltado, como 12 anos, 18 anos, livre, etc. e) TIPO_PRECO: o tipo de faixa de preo que o filme se encaixa, como por exemplo: promoo, lanamento, preo padro da locadora; f) TIPO_FILME: o tipo de unidade do filme se um DVD (unitrio), se uma coleo com trs DVDs; g) RESERVAS: a tabela que armazena as reservas de um filme, quando no se encontra disponvel, o cliente pode reserv-lo para alug-lo quando estiver disponvel. 57
h) LOCACAO: indica qual cliente efetuou a locao, sendo que os filmes alugados so armazenados na tabela LOCACAO_ITENS. i) LOCACAO_ITENS: indica os filmes alugados. A figura abaixo mostra todas as tabelas do banco, indicando seus campos, chaves primrias e estrangeiras e os relacionamentos existentes entre elas.
Aps a criao das sequences, foi preciso cirar os gatilhos, ou triggers, para que antes da insero dos elementos nas tabelas, sejam gerados um novo id, utilizando as sequences criadas anteriormente e incrementando o valor 1. A seguir mostrado o
58
cdigo SQL utilizado para criar uma trigger para auto incremento no campo ID_FILME da tabela FILMES. CREATE TRIGGER FILMES_BI FOR FILMES ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.ID_FILME IS NULL) THEN NEW.ID_FILME = GEN_ID (SEQ_FILMES_ID, 1); END
59
VALUES ( NEXT VALUE FOR SEQ_CATEGORIA_ID, :NOME_CATEGORIA); END As excluses dos registros de uma tabela so feitas no banco de dados conforme o cdigo seguinte, que mostra a excluso de uma reserva do banco de dados. CREATE PROCEDURE RESERVAS_D ( ID_RESERVA INTEGER) AS BEGIN DELETE FROM RESERVAS WHERE (ID_RESERVA = :ID_RESERVA); END
60
61
Como os procedimentos de excluso, alterao e incluso dos dados foram criados dentro do prprio banco, na aplicao apenas sero passados os parmetros necessrios para que as stored procedures do BD faam estas operaes. Ao concluir a conexo, foram criados os mtodos para as operaes de incluso, alterao e excluso, onde so passados os parmetros. O cdigo a seguir mostra um fragmento do mtodo para incluso e atualizao na tabela de reservas: with spReserva do begin Params[0].AsInteger := cdsReservasID_RESERVA.AsInteger; params[1].AsInteger := cdsReservasID_CLIENTE.AsInteger; params[2].AsInteger := cdsReservasID_FILME.AsInteger; params[3].AsDate := cdsReservasDATA_RESERVA.AsDateTime; Params[4].AsDate := cdsReservasVALIDADE_RESERVA.AsDateTime; params[5].AsString := cdsReservasSTATUS.AsString; ExecProc; end;
62
O mtodos que fazem as passagens de parmetros para incluso e alterao, so implementados nos eventos BeforePost de cada ClientDataSet, ou seja, antes que as modificaes sejam gravadas no banco.
63
Para que a interao com o usurio seja feita independente dos meios que sero usados para utilizar a aplicao, foi criado um teclado virtual, que composto por um
64
teclado numrico, um teclado de letras maisculas, pontuao, e outros smbolos e um teclado de funes, como as teclas espao e apagar. Todas as funcionalidades baseadas nos conceitos de Usabilidade, principalmente na facilidade de aprendizado e na eficincia e satisfao do usurio. A tela de busca por ttulo a tela padro de busca, sendo que o cliente pode escolher o tipo de busca desejada. Quando o cliente escolhe fazer um tipo de busca, o componente ClientDataSet ligado no DataSource utilizado fechado e depois aberto, para se caso algum filme for includo na maquina do servidor, este poder aparecer atualizado na aplicao do cliente, os teclados ficam visveis e os ndices dos PageControls mudam de acordo com a escolha. Clicando no boto de busca desejado, o DBGrid preenchido com os dados relacionados pesquisa. O preenchimento do grid implementado no evento OnChange do Edit, onde enquanto algum texto digitado o DBGrid preenchido em tempo real e o resultado do texto buscado indicado no prprio DBGrid. Quando se escolhe um gnero como parmetro de busca, os filmes relacionados a este gnero so filtrados, aparecendo no grid de filmes. A propriedade Filter do ClienDataSet possibilita a implementao desta operao, pelo fato de quando o usurio der um duplo clique no grid de gneros, uma varivel receber o valor do campo ID_GENERO do gnero desejado, logo depois o Filter do ClientDataSet referente aos filmes receber o valor armazenado na varivel, assim filtrando todos os filmes do gnero escolhido. O cdigo a seguir mostra como a propriedade Filter do Client utilizada: dmLocacao.CdsBuscaFilme.Filter := 'ID_CATEGORIA = '+ IntToStr(codGenero); ShowMessage(dmLocacao.CdsBuscaFilme.Filter); dmLocacao.CdsBuscaFilme.Filtered := True; Os outros tipos de busca tambm utilizam a propriedade Filter, como a busca por ator/ atriz, por diretor, ano de lanamento e as buscas avanadas. Aps efetuar a busca, o cliente pode dar um clique duplo no filme escolhido, esta ao seta o TabSheet da pgina de detalhes do filme, ou seja, a pgina de locaes. Este mtodo implementado no evento duplo clique do DBGrid de filmes, onde verificado se existem trailer e sinopse cadastrada no banco. Para visualizar o cdigo-fonte referente s funcionalidades do teclado virtual consultar o Anexo 2.
65
66
A capa do filme uma imagem armazenada no diretrio da aplicao, sendo que no banco gravada o caminho do diretrio. Quando o filme selecionado, feita uma verificao se existe ou no no banco o caminho da imagem da capa do filme. Se existir, carrega a imagem da capa, seno carrega uma imagem padro. O cdigo a seguir mostra como feita esta verificao: if (dmLocacao.cdsBuscaFilme.fieldByName('LOCAL_IMG').AsString) <> '' then imgCapaFilme.Picture.LoadFromFile(dmLocacao.cdsBuscaFilme.fieldByName ('LOCAL_IMG').AsString) else imgCapaFilme.Picture.LoadFromFile('C:\Locadora\capa\default.jpg'); A visualizao da sinopse feita atravs do componente RichEdit onde so exibidos textos no formato Rich Text (.rtf), estes arquivos tambm so armazenados no diretrio da aplicao e no banco de dados est gravado o caminho do diretrio e no o prprio arquivo. A verificao feita de um modo semelhante ao da imagem, apenas mudando o campo da tabela FILMES que deve ser verificado. A figura a seguir mostra a tela de detalhes do filme na parte de sinopse:
Com os trailers o mecanismo de armazenamento o mesmo que o das sinopses, gravando apenas o caminho do diretrio no banco. Para tornar possvel que o usurio
67
assista a vdeos diretamente dentro do software, foi preciso construir um player prprio, utilizando os componentes DSPack, que so o FilterGraph e o VideoWindow, que uma espcie de tela onde o vdeo exibido. O Anexo 3 mostra o cdigo-fonte utilizado para construir um player de vdeo, utilizando os componentes DSPack. O player que executa os vdeos foi construdo utilizando alm dos componentes DSPack, outros componentes nativos do Delphi: um SoundLevel, pra controlar o volume do som; uma TrackBar, para navegar pelo vdeo; uma ToolBar onde foram inseridos os botes de navegao (play, pause, stop, tela cheia) A figura seguinte ilustra o player de vdeo construdo para rodar os trailers.
Os botes do lado esquerdo so os componentes que efetuam locao e reserva. Quando o usurio seleciona um filme para ver seus detalhes, ele tem a opo de aluglo, reserv-lo, ou simplesmente voltar e buscar outro filme. Caso o filme no esteja disponvel no momento, o cliente poder efetuar uma reserva, vlida por um determinado perodo. O sistema verifica se o filme est disponvel pelo campo STATUS da tabela FILMES, sendo que quando estiver gravado o caractere D neste campo porque o filme est disponvel.
68
Esta reserva poder conter apenas um filme por vez, sendo que durante a visualizao dos detalhes do filme que se pode reserva-lo, clicando no boto reservar e confirmando numa caixa de dilogo. A figura seguinte mostra a operao de reserva de filmes.
Se a opo for a locao, o filme ser adicionado na tabela que indica quais os filmes esto sendo alugados, a tabela LOCACAO_ITENS, com isso utilizou-se a relao Mestre / Detalhe, onde a locao o Mestre e os itens so os detalhes. Quando o filme adicionado na locao, o usurio tem a opo de alugar mais algum filme ou concluir a locao. Se a opo for alugar mais filmes, a aplicao ir voltar para a tela de busca onde ser escolhido o prximo filme. Caso o cliente deseje concluir a locao, ser calculado o total e um recibo ser gerado na tela e impresso, contendo o nome do cliente, a data da locao, a data prevista para devoluo, o cdigo da locao, que gerado sequencialmente, os detalhes da locao, isto , os filmes que foram alugados e o valor a ser pago. Aps a emisso deste recibo, o cliente se dirige ao caixa e o entrega ao funcionrio da locadora, que ir conferi-lo e entregar os filmes escolhidos ao cliente.
69
A figura seguinte mostra a operao de locao de filmes, na tela em que mostrado os detalhes da locao, como a data e os filmes que sero alugados.
70
4 CONCLUSO
A rea de usabilidade de sistemas ainda um campo relativamente pouco explorado atualmente, pelo fato de existirem uma grande quantidade de softwares que no se encaixam nos conceitos de usabilidade. Atravs do desenvolvimento deste projeto, pode-se afirmar que ele trouxe muitos benefcios, pois mostra como uma interface pode ser construda utilizando os conceitos de usabilidade, sem aumentar o custo da implementao do software, melhorando a interatividade com o usurio e otimizando o atendimento aos clientes, com diminuio de filas. Permitiu-se tambm o entendimento da importncia da modelagem do sistema utilizando UML, servindo de base para a construo do banco de dados e da aplicao e tambm de seguir os conceitos de Engenharia de Software, para aumentar a qualidade do software. Por fim, o desenvolvimento do projeto fez com que adquirssemos um grande conhecimento sobre as disciplinas estudadas e aprendssemos a trabalhar em equipe, o que contribuiu para um crescimento profissional e pessoal.
71
5 REFERNCIAS BIBLIOGRFICAS
ANSELMO, Fernando A. F., Borland Delphi: Desvendando o Caminho das Pedras. 1995-1997.
CANTU, Carlos Henrique. Firebird Essencial. Rio de Janeiro, Editora Cincia Moderna Ltda. 2005.
FARRER, Harry. et al. Algoritmos Estruturados. Rio de Janeiro. LTC Livros Tcnicos e Cientficos Editora S.A. 1989.
KORTH, Henry F.; SILBERSCHATZ, Abraham. Sistemas de Banco de Dados, 2 edio, So Paulo, Makron Books. 1995. 72
LEITE, Mrio; RAHAL Jr., Nelson Abu Sanra. (Agosto de 2002) Programao Orientada a Objeto: uma abordagem didtica. Disponvel em: <http://www.ccuec.unicamp.br/revista/infotec/artigos/leite_rahal.html>.
OLIVEIRA, Wilson Jos de. Banco de Dados InterBase com Delphi. Florianpolis. Visual Books.. 2000.
PRESSMAN, Roger S.. Engenharia de software. 3 edio. So Paulo. Makron Books, 1995.
ROCHA, Helosa V. da; BARANAUSKAS, Maria Ceclia C. Design e Avaliao de Interfaces Humano-Computador. Campinas. Nied/Unicamp. 2003.
73
6 ANEXOS
6.1 Anexo 1 Feedback do Cliente
Na fase de implantao, entrega e feedback do Modelo de processo de Prototipagem, ocorreu uma nova entrevista com o cliente, o senhor Leandro, proprietrio da Locadora Central, situada em Trs Coraes, onde ele ressaltou a importncia do sistema para seu estabelecimento, onde seus clientes muitas vezes solicitam ajuda para procurar e escolher um filme, pedindo a opinio dos funcionrios sobre o filme e at para que ligassem o aparelho de DVD, para mostrar trechos dos filmes que lhes interessavam, tornando o atendimento mais lento, acumulando muitas pessoas na fila de atendimento. Ao analisar o sistema, ele comentou que a disponibilidade da sinopse e principalmente dos trailers, faria com que o cliente ficasse mais a vontade para fazer a escolha do filme desejado. E a opo do prprio cliente poder efetuar a locao e a reserva do filme, diminuiria consideravelmente o acmulo de pessoas na fila de atendimento em sua locadora, agilizando e otimizando o atendimento ao pblico, poupando os seus clientes de qualquer transtorno desnecessrio. Os clientes da vdeo-locadora se identificaram muito com a interface, comentando a sua clareza e simplicidade, que no gera dvidas sobre a utilizao de suas ferramentas e no os induzem a cometer erros, e principalmente a facilidade de aprendizagem, pois, segundo eles, por ser uma interface simples de se utilizar, as suas funcionalidades so memorizadas mais rapidamente fazendo com que eles consigam utiliz-la sem ajuda de um atendente, de forma independente, o que gera mais conforto, satisfao e confiabilidade do usurio para com o sistema. Porm os clientes opinaram na questo em que poderia ainda aumentar um pouco o tamanho dos botes do player de vdeo que toca o trailer do filme, melhorando a interao no caso de utilizao de telas touch-screen. Foram identificados novos requisitos e novas necessidades, como a implantao de uma parte administrativa para o gerente e demais funcionrios da locadora terem um controle das locaes e reservas efetuadas atravs de relatrios e tambm fazerem cadastros dos filmes, clientes e outras informaes necessrias. Tambm foi identificada a necessidade de melhorar a segurana do software, pedindo a confirmao do login do
74
usurio sempre que ele for fazer mais de uma operao, evitando que os usurios faam locaes e reservas no nome de outros usurios. O software pode ser modificado de acordo com as informaes coletadas, entrando novamente no ciclo do paradigma da prototipagem, visando a evoluo do prottipo at que se torne inteiramente pronto para ser comercializado.
75
O mtodo seguinte implementa a insero de um espao entre os caracteres, que na verdade uma string vazia. // tecla espaco procedure TfrmLocacao.btnEspacoClick(Sender: TObject); begin
76
case pageBusca.TabIndex of //verifica em qual tabsheet se encontra 0:begin if edtTituloFilme.Focused = true then //verifica se o foco esta no edit edtTituloFilme.Text := edtTituloFilme.Text + ' ' //insere um espaco vazio na frente //do conteudo do edit else begin edtTituloFIlme.SetFocus; //senao coloca o foco do cursor no edit edtTituloFIlme.Text := edtTituloFIlme.Text + ' '; //insere o espaco end; edtTituloFilme.SelStart := length(edtTituloFilme.Text); //manda o cursor pra frente //do ltimo caractere end;
O mtodo a seguir relacionado ao evento que apaga os caracteres do Edit: // pressionar a tecla APAGAR (backspace) procedure TfrmLocacao.btnBackspaceClick(Sender: TObject); begin case pageBusca.TabIndex of 0:begin if edtTituloFilme.Focused = true then edtTituloFilme.Text := Copy (edtTituloFIlme.Text,1,length (edtTituloFIlme.Text) -1) else begin edtTituloFilme.SetFocus; edtTituloFilme.Text := Copy(edtTituloFIlme.Text,1,length(edtTituloFIlme.Text) -1); end; edtTituloFilme.SelStart := length(edtTituloFilme.Text); end;
77
// clique no boto play, ativa a propriedade play do filterGraph procedure TfrmLocacao.btPlayClick(Sender: TObject); begin FilterGraph.play; TravaBotoesLocacao; end;
//clique no boto pause, ativa a propriedade pause do filterGraph procedure TfrmLocacao.btPauseClick(Sender: TObject); begin FilterGraph.Pause; end;
// clique boto stop, para o trailer e volta na tela geral de descrio do filme // habilitando novamente os botes de navegao procedure TfrmLocacao.btStopClick(Sender: TObject); begin FilterGraph.Stop; DestravaBotoesLocacao; pageFilme.TabIndex := 0; btnGeral.Enabled:= False; if (dmLocacao.cdsBuscaFilme.fieldByName('LOCAL_VIDEO').AsString) <> '' then btnTrailer.Enabled:=True else btnTrailer.Enabled:=False;
78
// boto tela cheia, faz a mesma coisa que duplo clique na tela de video procedure TfrmLocacao.btFullScreenClick(Sender: TObject); begin VideoWindow.FullScreen := not VideoWindow.FullScreen; btFullScreen.Down := VideoWindow.FullScreen; end;
//quando muda a posio do soundLevel, altera tambm a prop. Volume do FilterGraph procedure TfrmLocacao.SoundLevelChange(Sender: TObject); begin FilterGraph.Volume := SoundLevel.Position; end;
//mostra o tempo do vdeo na barra de status, conforme posio do TrackBar procedure TfrmLocacao.TrackBarTimer(sender: TObject; CurrentPos, StopPos: Cardinal); begin StatusBar.SimpleText := format('Position: %s Duration: %s', [TimeToStr(CurrentPos / MiliSecPerDay), TimeToStr(StopPos / MiliSecPerDay)]) end;
//-------------------------------------------------------------------------------------------------------
79