|
Neste documento vamos iniciar a descrição pela tela de entrada do sistema. Esta tela está apresentada na Figura 1. Note que existe uma tabela ocupando 100% da tela do navegador
Este documento de Projeto tem a finalidade de apresentar as telas que se mostram quando se navega pelo sistema de administração de dados de uma tabela. Foram usadas, como exemplo, as telas do sistema da tabela MEDICOS. O sistema de gerenciamento de dados da tabela 'medicos' é a referencia a ser seguida para o desenvolvimento do Projeto 2. As funcionalidades podem ser acessadas partindo da tela apresentada quando se executa o programa aplicativo [PA] com nome medicos.php. A tela está apresentada na figura 1. | |
|
O CATALOGO.PHP é o arquivo que contém as funções sistêmicas (usadas por todos os outros programas). O CATALOGO.PHP deve estar gravado no diretório anterior ao diretório que tem o mesmo nome da tabela que o aluno recebeu para desevolver os programas. O arquivo 'ESTILOS.CSS' deve estar gravado no mesmo diretório onde está o CATALOGO.PHP. Abaixo deste diretório deve ser criado um diretório com o NomeDaTabela. O Arquivo ESTILOS.CSS deve ser igual para todos os desenvolvedores e será disponibilizado no repositório de códigos no site da discplina. No diretório com o nome <NomeDaTabela> deve ser gravado o arquivo com nome <NomeDaTabela>.php. O arquivo <NomeDaTabela>.php deve ser um PA recursivo com dois marcadores de passagem. Um marcador com nome $acao que recebe o texto 'Navegar' na primeira entrada do PA. O outro marcador de controle deve ser nomeado $bloco. Este marcador controla em qual passada em cada valor de $acao se faz a execução do PA. Por exemplo a ação 'Incluir' é controlada em duas passadas no PA, na primeira monta um form e recebe a digitação dos valores e na segunda executa o controle da transação. A quantidade de passadas em uma mesma ação varia de acordo com a ação. Os exemplos estão apresentados na figura 1. A figura 1 apresenta o diretório ANTERIOR ao diretório <NomeDaTabela>. A Figura 2 apresenta o conteúdo do diretório <NomeDaTabela>. ] Em ambas as imagens a tabela de exemplo é 'medicos'. O arquivo <NomeDaTabela>.css deve conter TODAS as definições de seletores nomeados, seletores de classe e seletores identificados usados no sistema. Seguem-se, a partir daqui a descrição de cada ação controlada no PA. |
|
![]() Figura 1. Segmento de Tela mostrando os arquivos no diretório anterior ao diretório NomeDaTabela |
![]() Figura 2. Segmento de Tela mostrando os arquivos no diretório anterior ao diretório NomeDaTabela |
| AÇÃO: | |
|
Este arquivo deve ser de recursividade grau 2 (dois marcadores de passagem: um para a AÇÃO e outro para BLOCO da ação. A variável $acao pode será assumir os valores: 'Navegar', 'Incluir', 'Consultar', 'Alterar', 'Excluir' e 'Listar'; a variável $bloco poderá assumir os valores 1, 2 ou 3, dependendo de qual passagem acontecerá dentro de cada valor de $acao. Todas as indicações de uso de CSS devem ser feitas dentro do arquivo ESTILOS.CSS que está gravado no diretório ANTERIOR ao diretório onde está gravado o arquivo NomeDaTabela.php. A tela de 'Navegar' do sistema se apresenta como a figura 3. A tela apresenta um único campo para digitação do nome de um médico (ou parte do nome de um médico). Este argumento deve ser usado no bloco 2 da ação 'Navegar' para pesquisar os dados e montar uma caixa de seleção apresentando os dados pesquisados para uma posterior manutenção (alterando, excluindo ou consultando uma determinada linha da tabela). Ao se 'entrar' na aplicação, deve ser criada uma variável ( nome $salto ) para contabilizar os cliques de mouse em TODOS os formulários de interface com o usuário, de modo que, o acesso disponibilizado na palavra SAíDA execute a função history.go(-$salto) fazendo o efeito de SAIR da Aplicação. Note:
|
|
![]() Figura 1. Tela 'Navegar' do Sistema de Gerenciamento de Médicos |
![]() Figura 2. Tela 'Navegar' do PA-medicos depois de fazer uma 'Pesquisa' |
| AÇÃO: | |
| Acessado quando se clica no botão Esta funcionalidade tem dois blocos de controle (com valores de $bloco iniciando com '1' e a seguir no formulário apresentado na tela da figura 3, tendo o seu valor alterado para '2'. O formulário de entrada de dados para a tabela deve ter uma moldura contornando a tabela que acomoda duas colunas, a coluna da esquerda é um texto de orientação para o usuário e a coluna da direita o campo para entrada de dados. SE quiser é permitido o uso do atributo placeholder, entretanto seu uso NÃO descarta o texto da coluna da esquerda. Após o preenchimento dos dados no formulário o usuário deve ver a barra de botões na útima linha da tabela ocupando a coluna da DIREITA. A Barra de botões deve ser implementada como uma função sistêmica e será disponibilidada para uso SEM alteração. Após a gravação dos dados digitados a tela de confirmação deverá exibir o registro gravado, como mostrado no figura 4. |
|
![]() Figura 3. Tela 'Navegar' do Sistema de Gerenciamento de Médicos |
![]() Figura 4. Tela 'Navegar' do PA-medicos depois de fazer uma 'Pesquisa' |
| AÇÃO: | |
| Acessado quando se clica no botão Esta funcionalidade simplesmente usa a mesma função que monta a tabela mostrando os dados no final da Inclusão. Esta função é classificada como uma função LOCAL pois trabalha dados específicos de uma tabela. Esta função será disponibilizada como exemplo de codificação no repositório de código-fonte ou nos textos das tarefas no site da disciplina. |
|
![]() Figura 5.Tela com a tabela dos dados escolhidos na consulta. |
|
| AÇÃO: | |
| Acessado quando se clica no botão Esta funcionalidade tem dois blocos de controle (com valores de $bloco iniciando com '1' e a seguir no formulário apresentado na tela da figura 3, tendo o seu valor alterado para '2'. No 'case' do $bloco valendo 1 é apresentado um formulário como na figura 3. Isso já permmite determinar que o formulário de inclusão/alteração será 'montado' por uma função LOCAL. Os dados para alteração serão trazidos da correspondente linha os se escolhe o registro a alterar (figura 2). Depois de alterados os dados e confirmada a alteração, os dados alterados são exibididos como na figura 7 usando a função LOCAL que exibe os dados da tabela. Note que a barra de botões dessa funcionalidade (no 'rodapé' da tabela) aparece com uma disposição de DIFERENTE de botões dos apresentados em outras funcionalidades. Isso indica a existência de uma outra função sistêmica. |
|
![]() Figura 6. Tela com formulário par alterar dados do registro escolhido. Repare que o valor da CP NÃO deve ser alterado. |
![]() Figura 7. Tela de confirmação da ALTERAÇÃO do registro. Note: Tela IGUAL ao final da Inclusão, final da Consulta e meio da Exclusão. |
| AÇÃO: | |
| Acessado quando se clica no botão Esta funcionalidade tem dois blocos de controle. No primeiro mostra o detalhe do registro que será excluído. No segundo mostra uma mensagem confirmando a exclusão do registro da tabela. Repare que o valor da CP deve ser 'passado' da tela de escolha para a tela de confirmação e a seguir para o trecho que trata a transação. |
|
![]() Figura 8.Tela com formulário para escolher registro para excluir |
![]() Figura 9. Tela de confirmação do registro a excluir. |
| AÇÃO: | |
| Acessado quando se clica no botão Esta funcionalidade tem dois blocos de controle, mas $bloco assumirá 3 valores. No $bloco 1 (primeiro) mostra uma tela para escolha da ordenação e seleção de registros da Listagem. No $bloco 2 e 3 é emitida a listagem dos dados da tabela com os relacionamentos suficientes para combinar os dados da tabela com todas as outras tabelas que se conectam pelas chaves estrangeiras. A diferença entre os $bloco 2 e 3 é que no 2 a listagem é 'emitida' na tela da Aplicação e para o usuário é apresentado um formulário que permite a 'emissão' da mesma listagem para 'impressão'. SE o usuário escolher isso uma nova aba (branca) se abre e a mesma listagem é apresentada. O usuáro pode, então, executar a função de impressão no navegador. |
|
![]() Figura 11.Tela com formulário para Ordenação e Seleção de registros |
|
![]() Figura 12.Tela com formulário para Ordenação e Seleção de registros |
![]() Figura 13.Tela com formulário para Ordenação e Seleção de registros |