UNIVERSIDADE NOVA DE LISBOA FCT – Departamento de Engenharia Electrotécnica Secção de Robótica e Manufactura Integrada Modelação de Dados em Engenharia 2002 / 2003 Trabalho 1 Modelação de um Sistema de Informação Sensorial 4 aulas x 3 horas + 12 horas extra 1. INTRODUÇÃO Este trabalho destina-se a proporcionar aos alunos um contacto com os conceitos básicos acerca do projecto/modelação de bases de dados, tendo em vista a sua posterior utilização em actividades enquadradas no seio da Engenharia Electrotécnica. Concretamente, o estudo e a implementação do problema proposto neste trabalho servirão para fazer uma abordagem aos seguintes conceitos, que constituem as fases de um projecto de criação de uma base de dados: Estudo do problema apresentado. Especificação de um diagrama de Entidades e Relacionamentos (DER) que satisfaça os requisitos do problema. Transformação desse modelo numa base de dados relacional, utilizando o SQL. Implementação de questões (querys) e vistas (views) de forma a implementar as funcionalidades pretendidas no problema. Implementação de um conjunto de interfaces amigáveis para a visualização e manipulação dos dados armazenados na BD (ODBC). 2. APRESENTAÇÃO DO PROBLEMA Considere o seguinte cenário: Após a ocorrência de diversos actos de vandalismo (furtos, incêndios, destruição de equipamento,...), perpetrados por pessoas desconhecidas, nos recintos da Faculdade, a Presidência (da referida Faculdade) incumbiu um grupo de trabalho (do qual você faz parte) para efectuar um estudo, no sentido de melhorar o sistema de segurança existente, de forma a evitar a repetição de tais ocorrências. Após exaustiva análise, o referido grupo concluiu que a solução para este problema seria conseguida através de um processo de reengenharia sobre o actual sistema de segurança. Concretamente, o sistema existente poderia melhorar o seu desempenho, se lhe fosse adicionado um sistema pericial (SP) que, devido à sua capacidade para efectuar inferências, aumentaria a eficácia de todo o sistema, em termos de Gestão da Segurança. No entanto, para que esse SP possa ser integrado com o sistema existente e funcionar adequadamente, é necessário substituir a base de dados (BD) actual por outra mais adequada. Esta substituição é deveras importante, pois a BD existente não é mais do que um sistema convencional de processamento de ficheiros que, conforme se sabe, caracteriza-se por possuir diversas desvantagens, sendo uma delas, a sua fraca capacidade de se integrar com outros sistemas. É neste problema concreto que você e a sua equipa terão que trabalhar. Especificamente, terão que modelar uma BD que armazene a informação (eventos ocorridos) no sistema de segurança, sendo essa informação posteriormente disponibilizada ao SP. Para que a integração com as diversas componentes do sistema de segurança seja efectiva, a implementação da BD terá ser efectuada num Sistema de Gestão de Base de Dados (SGBD) adequado. © Secção de Robótica e Manufactura Integrada 1 de 4 2.1 - Requisitos do problema Na modelação da referida BD é necessário considerar as seguintes especificações que caracterizam o sistema de segurança e a localização deste: A faculdade está organizada por edifícios. Cada edifício contém recintos. Os recintos podem ser: salas de aulas, salas de conferências, anfiteatros, corredores, refeitórios, etc. Todos os recintos possuem sensores de distintos tipos, estrategicamente colocados. Cada sensor caracteriza-se por possuir quatro valores fixos de activação: valor de suspeita fraca, valor de suspeita forte, valor de suspeita média e valor de pânico. Além dos sensores instalados, existem ainda sensores adicionais, que estão armazenados e que vão servir para uma eventual substituição de sensores que eventualmente fiquem avariados. 2.2 – Funcionalidades pretendidas Neste cenário, durante o processo de modelação deverão ainda ser consideradas as seguintes funcionalidades: Registar situação suspeita (ocorrência - registo conjunto de toda a informação sensorial). Acrescentar/Editar/Visualizar cada sensor presente na BD. Visualização da ocorrência mais recente (data, hora e informação relevante) Média mensal de ocorrências para um determinado tipo de ocorrência (entradas ilegais, incêndio, etc…)? Qual o sensor com mais ocorrências de registos desde uma data / hora? (*) (*) – Acrescente os itens que considerar necessários/úteis. O realismo da BD criada, através da adição destes itens, permite valorizar o trabalho. 3. IMPLEMENTAÇÃO A solução para este problema implica necessariamente que se utilizem os princípios subjacentes ao projecto de engenharia. Neste caso, isto consiste em efectuar uma sequência de procedimentos que conduzam à obtenção de um modelo para o problema apresentado. Basicamente, atinge-se este objectivo, começando por efectuar uma análise cuidadosa dos requisitos funcionais implícitos no problema apresenta. Essa análise culminará num modelo que representa formalmente o problema apresentado inicialmente, permitindo uma implementação “assistida” do mesmo (ver conceito de CASE). 3.1 – Fases de Modelação Durante a modelação deste problema (obtenção do seu DER) é necessário considerar as seguintes fases do projecto: 1. Identificação das entidades presentes no problema (recintos, sensores, ocorrências,...). 2. Determinação dos atributos de cada entidade e as correspondentes propriedades desses atributos. 3. Identificação dos relacionamentos existentes entre essas entidades. 4. Construção do DER. 3.2 - Transformação do DER numa BD Após obtido um DER para o problema proposto, passa-se para a fase de transformação desse diagrama numa base de dados relacional. Para efectuar essa transformação, executam-se os seguintes passos: 1. Para cada “entidade forte” cria-se uma tabela, sendo os seus os campos definidos a partir dos atributos que constam no DER. Deverá existir um atributo chave para cada relação (tabela). © Secção de Robótica e Manufactura Integrada 2 de 4 2. Para cada “entidade fraca”, cria-se uma relação que consista em todos os atributos dessa entidade e que também inclua as colunas para as chaves primárias pertencentes às entidades das quais depende a entidade fraca (ou seja, definir as “foreign keys”). 3. Definição das questões (querys) e vistas (views) necessárias para cumprir os requisitos do problema apresentado. 3.3 - Ferramentas a utilizar Durante a execução deste trabalho utilizar-se-ão as seguintes ferramentas: ERWin – Permite definir diagramas ER (DER). Também transforma os DER em bases de dados de forma automática. ODBC - para especificar o acesso às bases de dados (no ambiente Microsoft Windows) C++ ou Java – Pequena ilustração sobre como fazer um programa que consiga aceder à base de dados. 4. RELATÓRIO 4.1 - Conteúdo O relatório deve reflectir a compreensão dos conceitos envolvidos no trabalho. Pode seguir o formato padrão disponibilizado em: http://www.uninova.pt/~jrosas/recomendacoes.zip 4.2 – Elementos de Valoração Alguns elementos que permitem valorizar o trabalho são: Capacidade de síntese, incluindo o recurso a “linguagens gráficas”. Capacidade crítica e de avaliação dos elementos em análise (não fazer meras transcrições de blocos de texto da bibliografia utilizada) Capacidade de inovação e empreendedorismo. Capacidade de explicação / justificação dos resultados obtidos. Capacidade de generalização – “visualização” de potencial aplicação a outros contextos. 4.3 – Elementos de Reflexão Esta secção consiste em considerações mais reflexivas que poderão servir como “inspiração” para a escrita do relatório para este trabalho. No final do trabalho, as seguintes questões deverão poder ser respondidas: O que se entende por modelação. Noção de modelo. Conceito de abstracção (ilustrando com pormenores específicos do problema apresentado) A utilidade da modelação no contexto da Engenharia. O carácter ambíguo, redundante e incompleto da linguagem natural como formalismo de modelação. As características que um formalismo modelação (ou linguagem) deve possuir para que possa representar modelos, de forma adequada. © Secção de Robótica e Manufactura Integrada 3 de 4 5. PLANO DE AULAS 1ª aula: Docente: Apresentação do trabalho e das ferramentas a utilizar. Alunos: Análise e Desenho da BD. Diagramas de Entidades e Relações 2ª aula: Docente: Revisão dos conceitos relaccionados com SQL. Alunos: Implementação da primeira versão da BD. 3ª aula: Docente: Resumo dos conceitos relaccionados com ODBC / JDBC. Triggers. Alunos: Inclusão de Triggers na BD. Primeiros exercícios com ODBC / JDBC. 4ª aula: Docente: Acompanhamento dos alunos na conclusão do trabalho. Alunos: Finalização do trabalho. Docentes: Teórica: Professor Associado com Agregação Luis Camarinha-Matos, [email protected] Assistente Rui Rodrigues, [email protected] Prática: Assistente João Rosas, [email protected] Assistente Tiago Cardoso, [email protected] © Secção de Robótica e Manufactura Integrada 4 de 4