stm – serviços técnicos e de manutenção analise preliminar rui manuel de sousa pena 1
TRANSCRIPT
STM – Serviços Técnicos e de Manutenção
Analise Preliminar
Rui Manuel de Sousa Pena
1
Í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
2
Í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
3
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.
• 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.
4
Interface Web
Camada de Acesso a B.D.
Templates Formulários
Base de Dados
Scripts/ “Aplication Core”
Planeamento da aplicação
5
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.
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.
Níveis de acesso
6
• 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
• 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
Lista de Operações Tarefas:
7
Diagrama de Estados Tarefas:
Planeada
Executada
Não Executada
Alterar Registo
Parcialmente Executada
Arquivada
Alterar Registo
Alterar Registo
Arquivar: Tempo ou Confirmação. Arquivar:
Confirmação.
Arquivar: Confirmação.
Registar: Não executadaRegistar::
ExecutadaRegistar: Parcialmente Executada
Alterar Dados
8
Operações - Estado Tarefas:
• Pesquisar- Consultar na lista de tarefas--------
• Detalhes
- Consultar detalhes da tarefa-------- Alterar dados tarefa-------------------- Apagar tarefa---------------------------- Registar tarefa-------------------------
• Imprimir
• 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
-------- 4,3,2,1
-------- 4,3,2,1-------- 3,2,1-------- 3,2,1-------- 4,3,2,1
-------- 4,3,2,1
Lista OperaçõesLista Operações AcessoAcessoPlaneada
9
Operações - Estado Tarefas:
Executada
• Pesquisar- Consultar na lista de tarefas--------
• Detalhes
- Consultar detalhes da tarefa-------- Apagar tarefa---------------------------- Alterar registo da tarefa--------------- Associar anomalia---------------------- Arquivar tarefa--------------------------
• Imprimir
• 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
-------- 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
Lista OperaçõesLista Operações AcessoAcesso
* Responsável pelo registo.* Responsável pelo registo.
10
Operações - Estado Tarefas:
• Pesquisar- Consultar na lista de tarefas--------
• Detalhes
- Consultar detalhes da tarefa-------- Apagar tarefa---------------------------- Alterar registo da tarefa--------------- Associar aviso--------------------------- Associar anomalia---------------------- Arquivar tarefa--------------------------
• Imprimir
• 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
-------- 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
Lista OperaçõesLista Operações AcessoAcesso
Parcialmente Executada
11
Operações - Estado Tarefas:
• Pesquisar- Consultar na lista de tarefas--------
• Detalhes
- Consultar detalhes da tarefa-------- Apagar tarefa---------------------------- Alterar registo da tarefa--------------- Associar aviso--------------------------- Associar anomalia---------------------- Arquivar tarefa--------------------------
• Imprimir
• 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
-------- 4
-------- 4-------- 3-------- 4-------- 4-------- 4-------- 3
-------- 4
Lista OperaçõesLista Operações AcessoAcesso
Não Executada
12
Operações - Estado Tarefas:
• Pesquisar- Consultar Lista em histórico--------
• Detalhes
- Consultar detalhes em histórico--- Apagar tarefa---------------------------
• Imprimir
• Pesquisar- Consultar Lista em histórico--------
• Detalhes
- Consultar detalhes em histórico--- Apagar tarefa---------------------------
• Imprimir
-------- 2,1
-------- 2,1-------- 2,1
-------- 2,1
-------- 2,1
-------- 2,1-------- 2,1
-------- 2,1
Lista OperaçõesLista Operações AcessoAcessoArquivada
13
Avisos
Estacionamento
Nível Acesso
Lista Acções
TarefasTarefa Periódica
Utilizador
Anomalia
UtilizadorLista AcçõesTarefaAvisoEstacionamentoAnomalia
Histórico Acções
0.1 0.1
1
N
1
1
N
N
N
N
1
N
0.1 0.1
N:1N:10.N:0.10.N:0.10.N:0.10.N:0.10.N:0.1
Modelo da Base de Dados
1
N
14
Atributos Tabela Tarefas:
• 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_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
TarefasTarefas
• Id_periodica (chave primaria)• Data_inicio• Data_fim• 2ª• 3ª• 4ª• 5ª• 6ª• Sábado• Domingo
• Id_periodica (chave primaria)• Data_inicio• Data_fim• 2ª• 3ª• 4ª• 5ª• 6ª• Sábado• Domingo
Tarefas_periódicaTarefas_periódica
15
Tarefas:Formulários
Campos do formulário: Listar Tarefas
-Descrição da tarefa- Prioridade da tarefa- Data/hora de execução
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
Dados do Registo de execução
- Estado da tarefa-Observações sobre a execução da tarefa-Aviso associado- Anomalia associada
Seleccionando uma tarefa da lista
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
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
16
Tarefas:Criar Nova Tarefa
Prioritária - Vigilante -
Descrição da tarefa:
Observações da tarefa:
NãoSim NãoSim
Criar Tarefa
Tarefa Única
Hoje Amanha Outro dia:
Hora:
Tarefa Periódica
2ª 3ª 4ª 5ª 6ª SAB DOMDe:
Até:
Hora:
17
Tarefas:Formulário Lista
Tarefas Semana Tarefas Mês Imprimir Histórico
.
.
.
.
.
.
.
.
.
Todas Vigilantes
Prioridade Descrição
Data
Hoje
.
.
.
.
.
.
.
.
.
Todas Vigilantes
Prioridade Descrição
Data
Atrasadas
18
Tarefas:Lista Semana ou Mês
.
.
.
.
.
.
.
.
.
Tdas
Tarefas Hoje Tarefas Mês Imprimir Histórico
Vigilantes
Prioridade Descrição Data
Segunda-Feira dia 10 de Março
Terça- Feira dia 11 de Março
19
Tarefas:Detalhes Planeada
Prioritária - SIM Vigilante -Sim Data Hora
Descrição da tarefa:
Observações da tarefa:
Autor: Criada em:
Tarefa por executar.
Alterar Tarefa Apagar TarefaRegistar Tarefa
Imprimir
20
Tarefas:Alterar Planeada
Prioritária - Vigilante - Data Hora
Descrição da tarefa:
Observações da tarefa:
Autor: Criada em:
NãoSim NãoSim
Guardar Alterações
Cancelar
21
Tarefas:Registar - Executada
Prioritária - SIM Vigilante -Sim Data Hora
Descrição da tarefa:
Observações da tarefa:
Autor: Criada em:
A tarefa executada com sucesso? Executei Parte NãoSim
Observações sobre a execução da tarefa:
Alguma anomalia? NãoSim
Confirmar
22
Tarefas:Registar - ParcialmentePrioritária - SIM Vigilante -Sim Data Hora
Descrição da tarefa:
Observações da tarefa:
Autor: Criada em:
A tarefa executada com sucesso? Executei Parte NãoSim
Porque?
Pretende colocar um aviso? NãoSim
Alguma anomalia? NãoSim
Confirmar
23
Tarefas:Registar – Não ExecutadaPrioritária - SIM Vigilante -Sim Data Hora
Descrição da tarefa:
Observações da tarefa:
Autor: Criada em:
A tarefa executada com sucesso? Executei Parte NãoSim
Porque?
Pretende colocar um aviso? NãoSim
Alguma anomalia? NãoSim
Confirmar
24
Tarefas:Detalhes Registada - Executada
Prioritária - SIM Vigilante -Sim Data Hora
Descrição da tarefa:
Observações da tarefa:
Autor: Criada em:
A tarefa executada com sucesso? Sim
Anomalia associada
Observações sobre a execução da tarefa:
Alterar Tarefa Apagar Tarefa Imprimir
25
Tarefas:Detalhes Registada Parcialmente/Não executada
Prioritária - SIM Vigilante -Sim Data Hora
Descrição da tarefa:
Observações da tarefa:
Autor: Criada em:
A tarefa executada com sucesso? Não
Aviso associado
Anomalia associada
Observações sobre a execução da tarefa:
Alterar Tarefa Apagar Tarefa Imprimir
26
Tarefas:Alterar Registada - Executada
Prioritária - SIM Vigilante -Sim Data Hora
Descrição da tarefa:
Observações da tarefa:
Autor: Criada em:
A tarefa executada com sucesso? Executei Parte NãoSim
Alguma anomalia? NãoSim
Observações sobre a execução da tarefa:
Guardar Alterações
27
Tarefas:Alterar Registada Parcialmente/Não executada
Prioritária - SIM Vigilante -Sim Data Hora
Descrição da tarefa:
Observações da tarefa:
Autor: Criada em:
A tarefa executada com sucesso?
Aviso associado
Anomalia associada
Observações sobre a execução da tarefa:
Guardar Alterações
Executei Parte NãoSim
28
Tarefas:Analise dos formulários
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.
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.
29
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.
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:Exemplo:
- getTaskList() - Retorna array(id=>array(descrição,estado,autor...)- getTaskById(Id)- updateTask()- deleteTask()
- 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]…
Camada de acesso a base de dados
30
Tarefas:Exemplo
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.
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.
31