O documento apresenta um projeto de pesquisa para desenvolver um Sistema de Gerenciamento de Atividades Acadêmicas (SGA) que visa administrar resultados, trabalhos e atividades de estudantes ao longo da vida acadêmica. O projeto se concentrará na etapa de análise do sistema, produzindo documentos como escopo, casos de uso e requisitos, além de diagramas UML e um protótipo, para especificar detalhadamente as funcionalidades do SGA.
Análise e Modelagem do SGA - Sistema de Gerenciamento de Atividades Acadêmicas
1. Faculdade Católica Salesiana do Espírito Santo
Análise e Modelagem do SGA:
Sistema de Gerenciamento de Atividades Acadêmicas
Rubem Valadares de Almeida
Orientadora: Profa. Ms. Ludimila Monjardim Casagrande
Projeto de pesquisa apresentado ao
Programa Institucional de Iniciação
Científica (PIC/FCSES) da Faculdade
Católica Salesiana do Espírito Santo
em resposta ao edital CPIC/FCSES Nº
02/2011.
Vitória
Outubro de 2011
2. 1 Introdução
O presente trabalho propõe o desenvolvimento do SGA, um sistema de gerenciamento
de atividades acadêmicas, que tem como objetivo administrar os resultados, trabalhos
e atividades desenvolvidas ao longo da vida acadêmica de uma pessoa, possibilitando
ao usuário ampla visão sobre o seu desenvolvimento e integrando todo o conteúdo por
ela estudado.
É comum encontrar entre os estudantes aqueles que não tenham um resumo de suas
atividades, trabalhos e provas já realizados durante sua vida acadêmica. Não porque
não querem, mas pela dificuldade em armazenar fisicamente toda a quantidade de
documentos utilizados ao longo dos vários anos de estudo. Se pensarmos num cálculo
simples, começando pelo ensino médio mesmo, em uma escola que aplica provas
bimestrais são aplicadas aproximadamente 10 provas por bimestre (português,
matemática, física, química, etc.), somando temos aproximadamente 40 ao ano (mas
isso sem citar os trabalhos, recuperações, atividades extras, etc.). Por esse motivo não
é difícil entender porque muito raramente alguém consegue manter uma coleção dos
registros de suas atividades acadêmicas.
No entanto, questões como essas tendem a nos motivar no estudo de possibilidades
para um melhor aproveitamento de todo o conteúdo acadêmico já estudado. Mas
como armazenar, organizar, relacionar, gerir e tratar todas essas informações?
Em princípio a questão mais relevante não é simplesmente o armazenamento ou
manipulação de dados ou da informação propriamente dita e sim o conceito e a
importância que ela tem na vida do homem. Sendo assim, o objetivo maior é
estabelecer conexões e associações entre conteúdos que levem à criação de uma base
de conhecimento. Com base em estudos sobre os fundamentos de Sistemas de
Informação, podemos citar a definição de Audy et al. (2005) que diz: “A informação são
dados concatenados, que passaram por um processo de transformação, cuja forma e
conteúdo são apropriados para um uso específico”, onde dado consiste em um fato
bruto ou suas representações, que podem ou não ser úteis ou pertinentes para um
2
3. processo em particular.
Portanto a geração de informação e de uma base de conhecimento passa a ser a causa
e a motivação deste projeto, pois o valor da informação está diretamente ligado ao
modo com que esta auxilia o ser humano na tomada de decisões para alcançar metas
por ele estabelecidas. Por meio desse conceito iremos abordar a importância da
persistência das informações no dia a dia da vida acadêmica.
2 Justificativa
A justificativa primordial deste projeto concentra-se nos benefícios advindos de uma
gestão de conteúdo acadêmico. O usuário irá dispor de uma importante ferramenta de
apoio às suas experiências em pesquisa e desenvolvimento, pois possuirá um completo
acervo de todo o conhecimento adquirido e vivenciado em meio acadêmico.
Em meio à sobrecarga de informações que são adquiridas no dia a dia, sabemos que
pouco é realmente absorvido, pois no processo de transformação dos dados em
informação e conhecimento há inúmeros fatores que interferem no caminho. Daí a
importância de se utilizar uma ferramenta que dê apoio ao armazenamento, à
organização e à integração dessa informação.
Tendo em vista que informações são dados dotados de pertinência e propósito (Stair,
1998), destaca-se a importância em persisti-las de forma estruturada viabilizando e
facilitando a sua compreensão.
O desenvolvimento de um software para realizar o gerenciamento dessas informações
irá nos trazer um benefício significativo, pois teremos acesso fácil a conteúdos gerados
durante anos de estudo.
3 Objetivos
O objetivo principal é desenvolver um protótipo de software para o SGA, sistema que
visa gerenciar todo o conteúdo acadêmico que atualmente costuma ser salvo em
pastas e arquivos em discos rígidos ou pen drivers, quando encontra-se em formato
3
4. digital, ou guardado em armários, quando em papel. Além do conteúdo, também
pretende-se registrar no sistema as atividades acadêmicas desenvolvidas pelos
usuários. Sendo assim algumas das funcionalidades previstas para o SGA seriam: o
gerenciamento de instituições, cursos, disciplinas, provas, trabalhos, contatos e o
conteúdo de cada aula. O sistema também permitiria anexar arquivos, atribuir tarefas,
lembretes e definir o nível de importância de cada material armazenado.
Este projeto propõe o desenvolvimento de um sistema de informação, que, por
definição, é um sistema que abrange componentes inter-relacionados que coletam,
processam, armazenam e distribuem informações (Audy et al., 2005). No entanto, este
trabalho inicial concentra-se apenas no desenvolvimento da etapa de análise desse
sistema. A codificação do sistema propriamente dita seria resultado de um projeto
futuro, no qual seria necessário o envolvimento de um número maior de participantes
para que o software pudesse ser desenvolvido em tempo hábil.
Sendo assim, como resultados do trabalho de análise pretende-se desenvolver, além do
protótipo citado, um documento de declaração do escopo do projeto de software, um
documento de especificação de casos de uso e um documento de especificação de
requisitos, ou seja, o objetivo deste projeto é especificar detalhadamente o propósito e
as funcionalidades que devem estar presentes no sistema de gerenciamento
acadêmico a ser futuramente implementado.
4 Metodologia
Para desenvolver um sistema, primeiro é preciso entender o problema que esse
sistema pretende solucionar e a análise de sistemas dedica-se a isso, isto é, à
compreensão do problema.
Em um tradicional processo de desenvolvimento de software, também conhecido
como ciclo de vida de software, a análise é uma das primeiras etapas a serem
desenvolvidas, sendo antecedida apenas por uma etapa de planejamento do projeto
(Sommerville, 2005).
4
5. Sob a perspectiva da Engenharia de Software, área que se dedica a definir métodos,
processos, técnicas e ferramentas voltados para o desenvolvimento e para a
manutenção de software (Pressman, 2006), a análise de sistemas é um processo de
descoberta, refinamento, modelagem e especificação dos requisitos do software.
Durante a análise, o escopo, que costuma ser definido preliminarmente na etapa de
planejamento é refinado em detalhes e as funções e as interfaces do sistema são
especificadas.
A análise prevê a execução de uma série de atividades entre as quais podemos citar: o
levantamento e a análise de requisitos, a especificação de requisitos e a modelagem de
requisitos.
Neste projeto todas essas atividades serão desenvolvidas.
Na atividade de levantamento e análise de requisitos, os requisitos do futuro sistema
são descobertos e capturados sob a perspectiva dos futuros usuários. O resultado
desta atividade é a definição das funcionalidades e das restrições do software. A
técnica que será utilizada para isso é a prototipação, que é descrita em Pressman
(2006). Um protótipo é um projeto preliminar da interface gráfica do sistema no qual
são definidos os componentes ou módulos do software, a relação entre eles, os
elementos de interação com o usuário e as funcionalidades do sistema.
A atividade de especificação de requisitos consiste em documentar formalmente os
requisitos identificados na atividade anterior. Os instrumentos para isso são o
documento de declaração do escopo, o documento de especificação dos casos de uso e
o documento de especificação de requisitos.
O documento de declaração do escopo será elaborado conforme as diretrizes do Guia
PMBOK (PMBOK, 2004), guia que define o conjunto de conhecimentos em
gerenciamento de projetos do PMI, instituto de gerenciamento de projetos, órgão
internacional voltado para a área em questão. O escopo define a abrangência e os
limites de um projeto de software, isto é, o escopo determina o que fará parte e o que
não fará parte do sistema a ser desenvolvido. Essa definição é essencial para que seja
5
6. possível estimar o custo e o prazo para a execução do projeto.
O propósito do documento de especificação de casos de uso é a definição de atores ou
perfis de usuários e a descrição detalhada de cada caso de uso que compõe o sistema
que está sendo analisado e modelado.
Um caso de uso ou use case é uma sequência de ações ou interações que compõem
uma porção funcional do sistema e fornece ao usuário um resultado significativo. Em
outras palavras, um caso de uso é uma funcionalidade visível externamente, ativada
por um ator que pode ser um usuário ou outro sistema (Fowler, 2005).
A especificação de casos de uso é importante, pois favorece a compreensão e permite
estabelecer o comportamento desejado do sistema. Dessa forma, esse documento
deve ser utilizado como base para a validação da arquitetura de software a ser
adotada, para a organização e priorização das atividades de desenvolvimento e para a
especificação formal dos requisitos.
O modelo que será utilizado para o documento de especificação de casos de uso é
baseado no modelo proposto pelo processo RUP (IBM Rational Unified Process),
processo unificado de software da IBM (RUP, 2011).
O último produto da atividade de especificação de requisitos é o documento de
especificação de requisitos, que também será desenvolvido com base no modelo
proposto pelo processo RUP da IBM (RUP, 2011) e no padrão para a especificação de
requisitos sugerido pela IEEE (1998).
Em síntese, o documento de especificação de requisitos deve detalhar os requisitos do
software, tomando como base os documentos anteriores, de modo que eles possam
ser facilmente compreendidos e mapeados em elementos de projeto e de
implementação pelos seus desenvolvedores.
Para finalizar as atividades da análise de sistemas, será realizada a modelagem do
sistema usando técnicas da UML (Unified Modeling Language), criada por Booch et al.,
2000. A UML é uma linguagem de modelagem e ela provê diagramas que são usados
6
7. para a criação de representações ou abstrações do sistema que, por sua vez, auxiliam a
equipe de desenvolvimento a compreender melhor e a projetar esse sistema.
Mais especificamente, os diagramas da UML que serão utilizados neste trabalho são: o
diagrama de casos de uso e o diagrama de classes. A ferramenta de modelagem UML
que será utilizada é o Astah, que possui licença para uso gratuito.
O diagrama de casos de uso desenvolvido irá compor o documento de especificação de
casos de uso. O propósito principal de um diagrama de casos de uso é fornecer uma
visão geral do sistema e auxiliar na sua validação. Essa técnica utiliza uma linguagem ou
notação bastante simples que pode ser facilmente interpretada por usuários leigos.
Nos diagramas de casos de uso são identificados os atores do sistema e as
funcionalidades que cada ator pode executar com base em regras definidas pelo
negócio ou domínio da aplicação modelada.
O diagrama de classes, por sua vez, é um modelo conceitual e, portanto, define os
conceitos e os relacionamentos entre os conceitos da aplicação. Esse diagrama oferece
uma visão geral sobre os dados manipulados pelo sistema.
Em relação às ferramentas de apoio, além do Astah pretende-se utilizar o Visual Studio
Express 2010 para o desenvolvimento do protótipo da aplicação.
5 Cronograma
6 Resultados Esperados
Os resultados esperados deste projeto de pesquisa são os típicos resultados da etapa
de análise de sistemas no processo de desenvolvimento de software, isto é, o
documento de declaração do escopo, o documento de especificação dos casos de uso,
o documento de especificação de requisitos, os diagramas de casos de uso e de classes
da UML e o protótipo da aplicação.
7
8. Os produtos da análise devem:
▪ Estabelecer os objetivos e o escopo do projeto de software que está sendo
proposto, isto é, do SGA;
▪ Identificar as necessidades dos futuros usuários finais do sistema;
▪ Explicitar as funcionalidades que devem estar presentes no produto de software a
ser desenvolvido, em outras palavras, o documento deve deixar claro o que o
software deve fazer;
▪ Definir os limites do sistema;
▪ Detalhar os requisitos do software de modo que eles possam ser facilmente
compreendidos e mapeados em elementos de projeto e de implementação pelos
seus desenvolvedores;
▪ Prover a base para a estimativa de custo, tempo e esforço necessários para o
desenvolvimento do sistema;
▪ Prover a base para o planejamento de como o sistema será desenvolvido em
termos de subdivisão de trabalho ou iterações.
A partir da realização completa da etapa de análise de sistemas para o SGA espera-se
produzir a base necessária para a codificação propriamente dita desse sistema em um
projeto futuro.
Sendo assim, a principal contribuição deste projeto é a especificação formal de um
sistema de gerenciamento de atividades acadêmicas que deve oferecer como benéficos
aos seus usuários a facilidade de armazenar de forma organizada, estruturada e
integrada seus conteúdos acadêmicos, além de registrar as atividades acadêmicas
realizadas. A ferramenta proposta, portanto, consiste em um importante acervo de
conhecimento que pode auxiliar o usuário em seus trabalhos de pesquisa e
desenvolvimento.
8
9. 7 Referências Bibliográficas
AUDY, J. L. N.; ANDRADE, G. K.; CIDRAL, A. Fundamentos de sistemas de informação.
Porto Alegre: Bookman, 2005. 208 p.
BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML: Guia do usuário. 12 ed. Rio
de Janeiro: Campus, 2000. 472 p.
FOWLER, M. UML essencial: um breve guia para a linguagem-padrão de modelagem de
objetos. Porto Alegre: Bookman, 2005.
IEEE. 830-1998 IEEE Recommended Practice for Software Requirements Specifications.
IEEE, 1998.
PMBOK. Um guia do conjunto de conhecimentos em gerenciamento de projetos. Guia
PMBOK®. PMI - Project Management Institute. 3 ed. Pennsylvania: Ed. PMI, 2004.
PRESSMAN, Roger S. Engenharia de software. 6 ed. São Paulo: McGraw-Hill, 2006. 720
p.
RUP. IBM Rational Unified Process (RUP). Disponível em: http://www-
01.ibm.com/software/awdtools/rup/. Último acesso em: 28 de outubro de 2011.
SOMMERVILLE, Ian. Engenharia de software. 6 ed. São Paulo: Pearson Addison Wesley,
2005. 592 p.
STAIR, R. M. Princípios de sistemas de informação. 2 ed. Rio de Janeiro: LTC, 1998. 451
p.
9