310 likes | 449 Vues
STM – Serviços Técnicos e de Manutenção. Analise Preliminar. Rui Manuel de Sousa Pena. Índice (1). Apresentação do projecto Planeamento da aplicação Níveis de acesso Entidade Tarefa: Lista de Operações Diagrama de Estados Divisão de operações por estado Planeada Executada
E N D
STM – Serviços Técnicos e de Manutenção Analise Preliminar Rui Manuel de Sousa Pena
Índice (1) • Apresentação do projecto • Planeamento da aplicação • Níveis de acesso • Entidade Tarefa: • Lista de Operações • Diagrama de Estados • Divisão de operações por estado • Planeada • Executada • Parcialmente Executada • Não Executada • Arquivada • Modelo Base de Dados • Atributos Tabelas
Índice (2) • Formulários • Criar nova tarefa • Consultar Lista (Hoje/Atrasadas) • Consultar Lista (Filtros – Semana/Mês) • Detalhes planeada • Alterar planeada • Registar – Executada • Registar – Parcialmente executada • Registar – Não Executada • Detalhes – Executada • Detalhes – Parcialmente executada/Não executada • Alterar – Executada • Alterar - Parcialmente executada/Não executada • Análise do formulários • Camada de acesso a base de dados • Exemplo
Apresentação do Projecto • Desenvolvimento de um sistema de informação para apoio à gestão das tarefas do pessoal auxiliar da FEUP. • O sistema deverá oferecer uma interface web simples e intuitiva. • Deverá ser acessível através de PDAs ou outros dispositivos móveis dentro do campus da FEUP. • O sistema deverá ser desenvolvido de modo a permitir a sua escalabilidade.
Planeamento da aplicação Interface Web Templates Formulários Scripts/ “Aplication Core” Camada de Acesso a B.D. Base de Dados
Níveis de acesso Os níveis de acesso serão distribuídos por uma lista de acções possíveis sobre o sistema. Esta lista é carregada com a autentificação do utilizador sendo usada como base na construção dos formulários e dando mais ou menos acesso consoante o caso.
Lista de Operações Tarefas: • Pesquisar • - Consultar lista de tarefas • Detalhes • - Consultar detalhes de uma tarefa • - Adicionar tarefa • - Apagar tarefa • - Alterar dados tarefa • - Registar tarefa • - Associar Aviso • - Associar Anomalia • - Alterar registo da tarefa • Imprimir
Diagrama de Estados Tarefas: Planeada Alterar Dados Registar: Não executada Registar:: Executada Não Executada Registar: Parcialmente Executada Executada Alterar Registo Alterar Registo Alterar Registo Parcialmente Executada Arquivar: Tempo ou Confirmação. Arquivar: Confirmação. Arquivar: Confirmação. Arquivada
Operações - Estado Tarefas: Planeada Lista Operações Acesso • Pesquisar • - Consultar na lista de tarefas-------- • Detalhes • - Consultar detalhes da tarefa------- • - Alterar dados tarefa------------------- • - Apagar tarefa--------------------------- • - Registar tarefa------------------------- • Imprimir -------- 4,3,2,1 -------- 4,3,2,1 -------- 3,2,1 -------- 3,2,1 -------- 4,3,2,1 -------- 4,3,2,1
Operações - Estado Tarefas: Executada Lista Operações Acesso • Pesquisar • - Consultar na lista de tarefas-------- • Detalhes • - Consultar detalhes da tarefa------- • - Apagar tarefa--------------------------- • - Alterar registo da tarefa-------------- • - Associar anomalia--------------------- • - Arquivar tarefa-------------------------- • Imprimir -------- 4,3,2,1 -------- 4,3,2,1 -------- 3,2,1 -------- 4*,3,2,1 -------- 4*,3,2,1 -------- 3,2,1 -------- 4,3,2,1 * Responsável pelo registo.
Operações - Estado Tarefas: Parcialmente Executada Lista Operações Acesso • Pesquisar • - Consultar na lista de tarefas-------- • Detalhes • - Consultar detalhes da tarefa------- • - Apagar tarefa--------------------------- • - Alterar registo da tarefa-------------- • - Associar aviso-------------------------- • - Associar anomalia--------------------- • - Arquivar tarefa-------------------------- • Imprimir -------- 4,3,2,1 -------- 4,3,2,1 -------- 3,2,1 -------- 4,3,2,1 -------- 4,3,2,1 -------- 4,3,2,1 -------- 3,2,1 -------- 4,3,2,1
Operações - Estado Tarefas: Não Executada Lista Operações Acesso • Pesquisar • - Consultar na lista de tarefas-------- • Detalhes • - Consultar detalhes da tarefa------- • - Apagar tarefa--------------------------- • - Alterar registo da tarefa-------------- • - Associar aviso-------------------------- • - Associar anomalia--------------------- • - Arquivar tarefa-------------------------- • Imprimir -------- 4 -------- 4 -------- 3 -------- 4 -------- 4 -------- 4 -------- 3 -------- 4
Operações - Estado Tarefas: Arquivada Lista Operações Acesso • Pesquisar • - Consultar Lista em histórico-------- • Detalhes • - Consultar detalhes em histórico-- • - Apagar tarefa--------------------------- • Imprimir -------- 2,1 -------- 2,1 -------- 2,1 -------- 2,1
Modelo da Base de Dados Avisos Tarefa Periódica Tarefas 0.1 0.1 0.1 0.1 Utilizador Lista Acções Tarefa Aviso Estacionamento Anomalia Histórico Acções N N Estacionamento 1 Utilizador Anomalia 1 N 1 N:1 N:1 0.N:0.1 0.N:0.1 0.N:0.1 0.N:0.1 0.N:0.1 N Nível Acesso 1 1 N N N Lista Acções
Atributos Tabela Tarefas: Tarefas Tarefas_periódica • Id_tarefa (chave primaria) • Data_Hora (em que foi criada) • Data (realização da tarefa não periódica) • Hora (realização da tarefa não periódica) • Descrição • Observações • Prioridade • Vigilante • Estado • Observações_executada • Observações_não_executada • #id_utilizador • #id_aviso • #id_periodica • #id_anomalia • Id_periodica (chave primaria) • Data_inicio • Data_fim • 2ª • 3ª • 4ª • 5ª • 6ª • Sábado • Domingo
Formulários Tarefas: Através da analise do diagrama de estados e da lista de acções associada a cada estado é possível construir um esboço preliminar das interfaces necessárias • Campos do formulário: Detalhes Tarefa • Descrição da tarefa • Prioridade da tarefa • Vigilante • Data/hora de execução • Autor • Data_hora em que foi planeada • Campos do formulário: Listar Tarefas • Descrição da tarefa • Prioridade da tarefa • Data/hora de execução Seleccionando uma tarefa da lista • Dados do Registo de execução • Estado da tarefa • Observações sobre a execução da tarefa • Aviso associado • Anomalia associada
Criar Nova Tarefa Tarefas: Prioritária - Vigilante - Tarefa Única Hoje Amanha Outro dia: Hora: Sim Sim Não Não Tarefa Periódica De: Hora: 2ª 3ª 4ª 5ª 6ª SAB DOM Até: Descrição da tarefa: Observações da tarefa: Criar Tarefa
Formulário Lista Tarefas: Hoje Atrasadas Todas Todas Vigilantes Vigilantes Prioridade Prioridade Descrição Descrição Data Data . . . . . . . . . . . . . . . . . . Tarefas Semana Tarefas Mês Imprimir Histórico
Lista Semana ou Mês Tarefas: Tdas Vigilantes Segunda-Feira dia 10 de Março Prioridade Data Descrição . . . . . . . . . Terça- Feira dia 11 de Março Tarefas Hoje Tarefas Mês Imprimir Histórico
Detalhes Planeada Tarefas: Hora Prioritária - SIM Vigilante -Sim Data Descrição da tarefa: Observações da tarefa: Autor: Criada em: Tarefa por executar. Alterar Tarefa Apagar Tarefa Registar Tarefa Imprimir
Alterar Planeada Tarefas: Prioritária - Vigilante - Data Hora Descrição da tarefa: Sim Sim Não Não Observações da tarefa: Autor: Criada em: Guardar Alterações Cancelar
Registar - Executada Tarefas: Hora Prioritária - SIM Vigilante -Sim Data Descrição da tarefa: Observações da tarefa: Autor: Criada em: Sim Não A tarefa executada com sucesso? Sim Executei Parte Não Observações sobre a execução da tarefa: Alguma anomalia? Confirmar
Registar - Parcialmente Tarefas: Hora Prioritária - SIM Vigilante -Sim Data Descrição da tarefa: Observações da tarefa: Autor: Criada em: Sim Sim Não Não A tarefa executada com sucesso? Sim Executei Parte Não Porque? Pretende colocar um aviso? Alguma anomalia? Confirmar
Registar – Não Executada Tarefas: Hora Prioritária - SIM Vigilante -Sim Data Descrição da tarefa: Observações da tarefa: Autor: Criada em: Sim Sim Não Não A tarefa executada com sucesso? Sim Executei Parte Não Porque? Pretende colocar um aviso? Alguma anomalia? Confirmar
Detalhes Registada - Executada Tarefas: Hora Prioritária - SIM Vigilante -Sim Data Descrição da tarefa: Observações da tarefa: Autor: Criada em: A tarefa executada com sucesso? Sim Observações sobre a execução da tarefa: Anomalia associada Alterar Tarefa Apagar Tarefa Imprimir
Detalhes Registada Parcialmente/Não executada Tarefas: Hora Prioritária - SIM Vigilante -Sim Data Descrição da tarefa: Observações da tarefa: Autor: Criada em: A tarefa executada com sucesso? Não Observações sobre a execução da tarefa: Aviso associado Anomalia associada Alterar Tarefa Apagar Tarefa Imprimir
Alterar Registada - Executada Tarefas: Hora Prioritária - SIM Vigilante -Sim Data Descrição da tarefa: Observações da tarefa: Autor: Criada em: Sim Não A tarefa executada com sucesso? Sim Executei Parte Não Observações sobre a execução da tarefa: Alguma anomalia? Guardar Alterações
Alterar Registada Parcialmente/Não executada Tarefas: Hora Prioritária - SIM Vigilante -Sim Data Descrição da tarefa: Observações da tarefa: Autor: Criada em: A tarefa executada com sucesso? Sim Executei Parte Não Observações sobre a execução da tarefa: Aviso associado Anomalia associada Guardar Alterações
Analise dos formulários Tarefas: • Os esboços permite-nos obter uma clara visão de que elementos dos formulários se repetem nos diferentes estados. • Existe uma clara divisão entre os dados da tarefa e os dados do registo dentro dos detalhes de uma tarefa. • Nos dados do registo existem alterações subtis mas que não justificam a criação de templates diferentes. • Com os esboços podemos fazer uma associação lógica a lista de acções sabendo que elementos vamos mostrar consoante as permissões do utilizador • Só um utilizador com a permissão adequada terá acesso aos botões “Alterar tarefa” e “Apagar tarefa” nos detalhes de uma tarefa planeada. • Um utilizador com permissões para criar tarefas poderá eventualmente alterar os dados da tarefa mesmo depois desta ter sido registada, enquanto que um utilizador com menos permissões só poderá alterar o registo.
Camada de acesso a base de dados • Criar uma camada intermédia entre a B.D. e a aplicação. • Evitar múltiplos acessos a base de dados • Aumentar a transparência do tratamento de dados e programação da aplicação. Exemplo: • - getTaskList() - Retorna array(id=>array(descrição,estado,autor...) • - getTaskById(Id) • updateTask() • deleteTask() Tarefas[Id][desc_tarefa][obser_tarefa][prioridade][vigilante][estado][autor][data_hora]…
Exemplo Tarefas: • Pseudo-código consultar lista de tarefas • Call a função getTaskList() – retorna Array com a lista de tarefas • Partir o array em 2 dois arrays, tarefas do dia e tarefas atrasadas • Passar os arrays ao smarty. Este carrega um template que inclui a estrutura do formulário lista, preenchendo dinamicamente as listas. • É feita uma pesquisa ao array que contem a lista de acções permitidas ao utilizador no sistema e verifica-se este tem acesso ao histórico. • - O botão do histórico é carregado ou não.