Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
RESUMO
Palavras-chave: modelagem de banco de dados, programação orientada ao objeto,
desenvolvimento de produto, design de interface.
1. INTRODUÇÃO
O projeto consiste no desenvolvimento de um sistema de cadastro e busca de
informações de alunos, professores, trabalho e bancas para otimizar o preenchimento dos
documentos necessárias à realização das bancas de defesa. Atualmente os documentos
são preenchidos manualmente, de forma individual em processadores de textos o que
despende tempo além de dificultar a padronização gráfica dos materiais institucionais do
Programa. As informações são armazenadas em um banco de dados, manipuladas
diretamente pelo sistema. Através das interfaces gráficas o usuário poderá visualizar e
manipular as informações, navegando entre os cadastro de forma segura e objetiva. O
acesso às informações comuns a vários alunos e professores otimiza o processo, assim
como informações como início de trabalho e término de trabalho podem ser úteis para a
gestão dos trabalhos ativos no PG.
2. FUNDAMENTAÇÃO TEÓRICA
Além da herança, o paradigma da orientação a objetos possui mais três conceitos
fundamentais: abstração, encapsulamento e polimorfismo. Sendo a abstração, a
capacidade de focar nos pontos mais importantes do domínio de aplicação do sistema e
abstrair os detalhes menos relevantes. Uma classe tende a ser a abstração de entidades
existentes no mundo real, por exemplo, Aluno, Professor, Trabalho. Nessa representação
de um objeto real, três quesitos devem ser considerados: a identidade que será criada para
o objeto, as propriedades (características) do objeto e, os métodos.
Uma linguagem de programação OO contempla em si, conforme o nome indica, os
quatro pilares da OO anteriormente descritos: abstração, encapsulamento, herança e
polimorfismo (GASPAROTTO, 2014). Atualmente há uma grande quantidade de linguagens
de programação orientada a objetos no mercado, como Java, C# e C++. Cada uma delas
possui uma abordagem diferente do problema que as torna muito boas para alguns tipos
de aplicações e não tão boas para outros.
O projeto apresentado no presente artigo será desenvolvido em Object Pascal,
também conhecida como Delphi, devido ao nome de seu ambiente integrado de
desenvolvimento (IDE, do inglês Integrated Development Environment) que contém em si a
linguagem e o compilador. A linguagem Delphi é tida como uma linguagem acadêmica, por
ser mais acessível ao aprendizado (ANDRADE; TEIXEIRA, 2018). A escolha é baseada no
conhecimento básico da linguagem pelos integrantes da equipe de desenvolvimento do
projeto na linguagem, adquirido durante a disciplina no próprio Programa de
Pós-Graduação onde ocorre o desenvolvimento do projeto o PGDesign da Universidade
Federal do Rio Grande do Sul - UFRGS.
Um banco de dados relacional (BDR) é um mecanismo de persistência, ou seja,
permite a armazenagem de dados - e opcionalmente, implementa funcionalidades -
requeridas por aplicações construídas usando tecnologias procedurais ou, conforme este
projeto, Orientadas a Objeto(OO). O software que controla o armazenamento,
recuperação, exclusão, segurança e a integridade dos dados existe no banco de dados é
denominado Sistema Gerenciados de Banco de Dados Relacional (SGBDR). Os dados são
armazenados tabelas, organizadas em colunas ou instâncias. Cada coluna armazena um
tipo de dados com diferentes tipos (caracteres, números, datas, etc). Os dados de cada
instância de uma tabela são armazenados como uma linha, as entidades (SILBERSCHATZ;
KORTH; SUDARSHAN, 1999). Como exemplo, uma tabela nomeada "Alunos" pode ter
como colunas ID, Nome, Sobrenome, e uma linha na tabela conteria os dados, como "123,
"Ana", "Dias".
As funcionalidades que podem ser implementadas no SGBDRs são do tipo CRUD (do
inglês Create, Read, Update e Delete – que significa as operações de Inserção, Leitura,
Atualização e Exclusão de dados), para isso seria necessário submeter declarações escritas
na linguagem de programação SQL ou possuir uma IGA, que permitirá que qualquer tipo
de usuário acesse essas informações.
As tabelas criadas possuem relacionamentos que permitem acesso às informações
sem que estas fiquem agrupadas e armazenadas em um único registro. Isso quer que o
que o torna relacional é a maneira como os dados são armazenados e organizados no
banco de dados.
Quando inicia-se um projeto de banco de dados, inicialmente há um levantamento
dos requisitos necessários para a construção do produto final, identificando as principais
partes, objetos envolvidos, suas possíveis ações e responsabilidades, suas características e
como elas interagem. A partir das informações obtidas, desenvolve-se a modelagem dos
dados que serão utilizados para orientar o desenvolvimento efetivo do banco de dados em
uma linguagem. Sendo assim, a modelagem de dados consiste no processo anterior à
efetiva construção do banco de dados no software onde são determinadas a lógica e
estrutura do banco a ser posteriormente implementado. Este processo é divido em três
etapas de modelagem: conceitual, lógica e física. Na modelagem conceitual é
determinado a forma (conceitual) como os dados estarão dispostos no banco de dados, na
lógica de organização e a estrutura física dos dados são modelados na etapa seguinte.
Um projeto de desenvolvimento de banco de dados consiste basicamente em três
etapas: Levantamento dos Requisitos do sistema; Modelagem de Dados e a Implementação
do sistema em uma linguagem.
Para determinar as entidades (dados) existentes no BD, seus relacionamento e
atributos é possível utilizar a abordagem ER (Entidade-Relacional) ou MER (Modelo de
Entidade-Relacional) (DATE, 2004). Para representar essas informações, usa-se o Diagrama
Entidade Relacionamento (Diagrama ER ou ainda DER) como principal ferramenta de
visualização que descrever os objetos (entidades) envolvidos em um domínio de negócios,
com suas características (atributos) e como se relacionam (relacionamentos). O diagrama
ainda facilita a comunicação entre os integrantes da equipe, fornecendo uma linguagem
comum. A correta modelagem, e principalmente o uso do diagrama, permite registrar e
comunicar os principais aspectos do projeto do banco de dados (DATE, 2004) evitando
desde falhas e erros de concepção e análise, à problemas de comunicação entre a equipe.
Elaborado pelos autores adaptado em Meurer (2014)
A primeira fase, a E
stratégia, caracteriza-se por seus processos de identificação e
análise. Inicia sempre com a contextualização do projeto, transcorrem as análises,
resultando em uma lista de verificação constituída de restrições, requisitos e possibilidades
projetuais. Sendo assim, etapa fundamental para orientar o desenvolvimento do produto
nas etapas seguintes.
A projetação do produto propriamente dito, inicia-se na etapa de Escopo com o
começo da geração de alternativas e estas, neste momento, são de caráter linguístico. É
necessário organizar e classificar o produto e definir a hierarquia da informação,
ferramentas e transações. Na Estrutura começa a geração de alternativas desenhísticas já
estabelecendo todas as inter-relações, permissões e regras de interação. Na terceira etapa
que são geradas alternativas estruturais e arquiteturais para definir densidade e
organização da informação nas telas e da lógica-informacional inter-telas da IGA do
produto. No Esqueleto que se desenha as interação do usuário com o produto e para isso
leva-se consideração, diretrizes para usabilidade e acessibilidade. A E
stética é definida
pelo uso malhas (grids) para a diagramação e composição e uso dos elementos da
identidade gráfico-visual para definir o posicionamento da linguagem gráfico-visual e
layouts do produto. A identidade gráfico-visual do produto é então definida através das
escolhas de logografia, cronografia, tipografia, pictografia e iconografia.
Por fim, há o primeiro passo no desenvolvimento do modelo funcional navegável
para simular o funcionamento do produto, realizar testes de interação e análises
heurísticas seguido pela posterior implantação e /ou produção do produto final na etapa
final de Execução. Segundo Meurer (2014), na etapa final é executada a programação
visual de um modelo funcional navegável (MFN) que, conforme ressalta, não se trata de um
de um protótipo. Sendo um modelo dinâmico que apenas exemplifica as principais
funcionalidades do produto servindo para o cliente e usuário tenham uma visão geral de
como será o produto final. Após isso, começasse a programação computacional que
integra a superfície com o banco de dados através das regras de negócio (MEURER, 2014).
É importante ressaltar a importância da Definição dos papéis dentro do processo
de desenvolvimento deste tipo de produto. Considerando que projetos de média a alta
complexidade, é necessária a atuação de uma equipe interdisciplinar com a participação
de profissionais com diferentes formações responsáveis pelas diferentes camadas do
projeto. A primeira camada, a interface gráfica amigável (IGA) é a superfície do projeto de
responsabilidade do designer gráfico e do arquiteto da informação. A segunda camada (as
regras de negócios) define como o usuário irá interagir com o banco de dado, que é a
terceira camada do sistema a ser desenvolvido. A 2a e a 3a camada são planejadas pelo
analista de sistemas e projetadas pelo desenvolvedor.
Figura 3 - Camadas do projeto de produtos dígito-virtuais
Fonte: Elaborado pelos autores
A metodologia Projeto E (Meurer, 2014) ocupa-se com a terceira camada, a
superfície das interfaces gráficas, considerando os outros atores além do designer, como o
desenvolvedor e o arquiteto da informação em seu relacionamento de desenvolvimento
dessa camada. Ao final da última etapa executa-se um modelo funcional navegável (MFN),
que difere-se de um protótipo onde já existe programação computacional e em alguns
casos, um sistema de persistência, como um banco de dados. Sendo assim, um protótipo já
integra em seu desenvolvimento as camadas inferiores do produto que usualmente são
projetadas pelos outros atores em outro processo projetual independente do
desenvolvimento das interfaces gráficas.
3. PROCEDIMENTOS METODOLÓGICOS
Para o desenvolvimento do sistema partiu-se do “Projeto E” como macroestrutura
projetual, integrando atividades de modelagem de dados e desenhos do diagrama de
classes, juntamente com programação computacional das principais funções da aplicação.
Com isso, as três camadas do projeto (interface, regras de negócio e banco de dados) são
desenvolvidas orientadas pelo processo de design. A figura a seguir ilustra os
procedimentos realizados durante cada etapa assim como a integração do processo de
desenvolvimento das três camadas.
Conforme representado na figura, durante o Escopo, durante a estruturação e
definições estratégicas do projeto houve o desenvolvimento integrado das três camadas. A
modelagem dos dados executadas em suas três etapas (conceitual, lógica e estrutural) são
executadas na fase de Escopo e Estrutura juntamente com os wireframes e estrutura das
telas da interface. A programação das regras de negócio foram implementadas e testadas
durante o desenvolvimento do banco de dados e da interface o que permitiu importantes
trocas entre os membros da equipe e permitiu que decisões de projeto definidas, testadas
e validadas mais rapidamente.
Figura 4 - Projeto integrado para produtos dígito-virtuais
Fonte: Elaborado pelos autores
4. DESENVOLVIMENTO PROJETUAL
Detalhes das etapas de desenvolvimento são apresentados a seguir conforme os
procedimentos e métodos anteriormente apresentados.
4.1 ESTRATÉGIA
Composta por etapas de contextualização, análise, verificação com listagem de
restrições, requisitos e possibilidades projetuais do sistema. Na contextualização, foi
realizada a descrição do produto a ser desenvolvido, identificação do público-alvo e
utilizadores do sistema, descrição da situação inicial e final esperada para o projeto
(MEURER, 2014; MEURER; SZABLUK, 2009), seguida da análise das informações levantadas.
4.2 ESCOPO
No Escopo iniciou-se a Arquitetura da Informação do projeto (MEURER, 2014;
MEURER; SZABLUK, 2009) e dos dados que seriam cadastradas e manipuladas no sistema
de gerenciamento. Esses dados foram categorizados em instâncias, agrupados em classes
e representados por meio de um Diagrama ER, utilizando a linguagem UML. As classes,
enfim, deram origem à tabelas(tables), posteriormente implementadas no banco de dados
relacional e correspondendo às etapas conceitual e lógica da modelagem de dados.
fig. 5 - Representação gráfica da modelagem lógica dos dados
Fonte: Autores
Por fim, foi realizado um organograma de tarefas a fim de definir o escopo das telas
necessárias para a implementação do sistema, e, definiu-se a linguagem gráfico-visual
conforme diretrizes existentes no manual de identidade visual de marca, pertencente ao
Programa de Pós-Graduação em Design da UFRGS.
fig. 6 - Representação gráfica das atividades realizadas na etapa Escopo
Fonte: Autores
A etapa da estruturação parte da conversão das telas definidas durante a fase do
escopo em formulários do ambiente Delphi. Os formulários são uma interface entre
usuário e programa que utiliza de objetos gráficos para compor a aparência de uma
aplicação, quando é executada.
fig. 7 - Representação gráfica das atividades realizadas nas etapas Estrutura e Esqueleto
Fonte: os autores
No Delphi, foi estabelecido que cada formulário, correspondente às classes do
banco de dados, também fosse uma classe de objetos do Delphi, segundo o paradigma da
OO. Assim, ficou definida a criação de formulários “mães” para as telas de cadastro e de
consulta de cada uma dessas classes, sendo possível valer-se das relações de herança para
padronizar esses formulários, o que agilizou o processo de criação dos mesmos. Da mesma
forma, os procedimentos previstos para os componentes desses formulários, a exemplo
dos botões, também foram transmitidos por herança, caracterizando o polimorfismo.
fig. 8 - Representação gráfica da modelagem lógica dos dados
Fonte: os autores
Além do processo de formatação, foi necessário construir a conexão com o BDR,
com o uso de um Sistema de Gestão de Base de Dados (SGBD). No caso da aplicação, foi
utilizado o SGBD “mySQL”, e a sua conexão com o ambiente Delphi foi feita através de
driver nativo, o “FireDAC”, mais especificamente pelo componente “TADConnection”,
contido em sua biblioteca. P
ara essa operação foi reservado um formulário específico na
aplicação a fim de tratar especificamente das configurações da conexão.
Fig. 9 - Representação gráfica do wireframe e tela criada para a função Compor Banca
Por fim, a geração de documentos precisou da biblioteca de ferramentas do
“FastReport”, gerador de relatórios para o ambiente Delphi, com dois componentes. O
primeiro, “TfrxDBDataSet”, utilizado para conectar o FastReport às tabelas do banco de
dados a fim de incluir os atributos contidos nas mesmas no relatório a ser gerado. O
segundo, “TfrxReport”, é o componente que estrutura propriamente o relatório, permitindo
formatar o documento. Dessa forma foi possível criar o modelo de pôster e ata para as
bancas do PGDesign, com as informações atualizadas diretamente do BDR, permitindo a
automação da criação desses documentos pela aplicação.
O protótipo funcional cumpre os requisitos esperados para o mesmo, sendo essas
conectar-se ao banco de dados; gravar, editar e excluir dados nos formulários e no BDR;
buscar por professores, trabalhos e bancas de pós-graduação e, por fim, reunir e imprimir
informações em documentos necessários à execução da banca (posters e atas, conforme
apresentado na figura a seguir). Sendo assim, o propósito do protótipo foi alcançado:
certificar-se que as funcionalidades básicas da aplicação são funcionais e adequadas às
necessidades dos usuários, de forma que convém que a referida fase seja executada
apenas para a aplicação final. A próxima etapa a cumprir, seguindo a estrutura
metodológica definida será a Estética, na qual pretende-se implementar os elementos da
identidade gráfico-visual do PGDesign/UFRGS, bem como, ajustes percebidos após
execução do protótipo.
Fig. 10 - Documentos de banca de pós-graduação gerados pelo o protótipo funcional
5. CONSIDERAÇÕES FINAIS
Este trabalho teve por fim o projeto de um sistema para gerenciamento de
informações e geração de documentos acadêmicos e o desenvolvimento do protótipo
funcional desta. O desenvolvimento do projeto envolveu uma pesquisa teórica em artigos
científicos e técnicos que discorrem a respeito de Orientação a Objetos (OO),
desenvolvimento de banco de dados e processos metodológicos de desenvolvimento de
projeto digitais. Pensando-se no desenvolvimento ágil deste tipo de projeto foi considerado
unificar o desenvolvimento do projeto das três camadas do desenvolvimento de software e
um único processo metodológico. Para isso, utilizou-se como base a metodologia projetual
o Projeto proposto por Meurer & Szabluk (2009) e revista por Meurer (2014), e o processo
de desenvolvimento de banco de banco, proposto por três etapas sendo a principal, a
modelagem de dados. É relevante ressaltar que a modelagem de dados integrada ao
desenvolvimento das interfaces gráficas por meio de uma metodologia de design pode
melhorar a elaboração de interfaces de sistemas de manipulação de informações
Devido ao cumprimento dos objetivos almejados e a aplicação já completar sua
principal da aplicação, o presente projeto atendeu de forma objetiva e clara suas propostas
iniciais, indo além e apresentando uma arquitetura de métodos e procedimentos que de
forma experimental integrou o desenvolvimento das três camadas da aplicação. Sendo
assim, apresenta-se uma composição de um processo metodológico de adaptação de
procedimentos e métodos específicos que poderá servir de estudo a possíveis trabalhos.
REFERÊNCIAS
ANDRADE, R. M.; TEIXEIRA, F. G. A Programação como elemento potencializador do
processo de Design de Interface. Revista Brasileira de Expressão Gráfica, v. 6, n.2, 2018.
BINDER, R. V. Testing object-oriented systems: Models, patterns, and tools, v. 1.
Addison Wesley Longman, Inc., 1999.
DATE, C. J.. Introdução A Sistemas De Bancos De Dados. 8. ed. Rio de Janeiro: Elsevier,
2003
DERSHEM, H. L.; JIPPING, M. J. Programming Languages, Structures and Models. 2ª ed.
Boston: PWS Publishing Company, 1999.
FISCHER, A. E.; GRODZINSKY, F. The Anatomy of Programming Languages. Englewood
Cliffs, New Jersey: Prentice Hall, 1993.
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. 3.
ed. São Paulo: Makron Books, 1999