Você está na página 1de 103

Anhanguera Educacional S.A.

Faculdade de Negócio e Tecnologia da Informação - FACNET


BACHARELADO EM SISTEMA DE INFORMAÇÃO - BSI

Armazém de Documentos – DocStr

ELISSON TAVARES
DIEGO MATEUS
JEFFERSON FRAGOSO
HILDEGARDE MACEDO
RAINER LOPES

Taguatinga - DF
2014
ELISSON TAVARES
DIEGO MATEUS
JEFFERSON FRAGOSO
HILDEGARDE MACEDO
RAINER LOPES

Armazém de Documentos – DocStr

Projeto supervisionado apresentado como


exigência parcial para obtenção do grau de
Bacharel em Sistemas de Informação, na
Anhanguera Educacional S.A., sob orientação do
prof. Esp. Guilherme Parente Costa.

Taguatinga - DF
2014
ELISSON TAVARES
DIEGO MATEUS
JEFFERSON FRAGOSO
HILDEGARDE MACEDO
RAINER LOPES

Armazém de Documentos – DocStr

Trabalho de Conclusão de Curso apresentado como exigência parcial para a obtenção do grau
de Bacharel em Sistemas de Informação da Anhanguera Educacional S.A.

Aprovado em ____ de ______________ de 2014

__________________________________________
Prof. Esp. Guilherme Parente Costa
Anhanguera Educacional S.A.
Orientador

__________________________________________
Prof. Esp. Fernando Gonçalves de Oliveira
Anhanguera Educacional S.A.
Avaliador

__________________________________________
Prof. Esp. Wesley Tschiedel
Anhanguera Educacional S.A.
Avaliador

Taguatinga - DF
2014
RESUMO

Este trabalho surgiu a partir da observação da necessidade de se gerenciar


documentos pessoais de uma forma simples e efetiva. Seu objetivo é descrever o
desenvolvimento do “Armazém de Documentos – DocStr”, um software capaz de
proporcionar esse gerenciamento de uma forma rápida e simples. De modo geral, serão
apresentados problemas e propostas de soluções. O trabalho será desenvolvido obedecendo-se
as diversas etapas documentais de produção de um software, como a visão do projeto, os
atores envolvidos no processo, as funcionalidades necessárias, as restrições e perspectivas do
sistema. Ao término será apresentado o produto final desenvolvido, com sua implementação e
testes de funcionamento.

Palavras-chave: Gerenciamento de Documentos – Sistema – Solução.


ABSTRACT

This work arose from the observation of the need to manage personal
documents in a simple and effective way. Your purpose is to describe the development of
"Document Store - DocStr" software capable of providing this management quick and easy
way. In general, problems and proposed solutions will be presented. The work will be
developed obeying the various stages of document production software, such as the project
vision, the actors involved in the process, the necessary functionality, constraints and
prospects of the system. At the end the final product developed with implementation and
operational tests will be presented.

Key-Words: Document Management - System - Solution.


SUMÁRIO

1. INTRODUÇÃO .....................................................................................................................1
2. DOCUMENTO DE VISÃO ..................................................................................................2
2.1. Introdução ...........................................................................................................................2
2.2. Definições, Acrônimos e Abreviações ................................................................................2
2.3. Enunciado do Problema ......................................................................................................3
2.4. Descrição dos Atores...........................................................................................................4
2.4.1 Stakeholders …..................................................................................................................4
2.4.2 Usuários …........................................................................................................................5
2.5. Visão Geral do Produto ......................................................................................................5
2.5.1. Perspectiva do Produto ....................................................................................................5
2.5.2. Resumos das Funcionalidades .........................................................................................5
2.5.3. Requisitos do Sistema ......................................................................................................6
2.5.4. Restrições do Produto ......................................................................................................6
3. MODELOS DO NEGÓCIO ..................................................................................................8
3.1. Diagrama de domínio .........................................................................................................8
3.1. Diagrama de Atividades .....................................................................................................9
4. MODELOS DE ANÁLISE ..................................................................................................24
4.1. Diagrama de Casos de Uso ...............................................................................................24
4.1.2. Diagrama de Casos de Uso Geral –DocStr ....................................................................25
4.2. Detalhamento dos Casos de Uso .......................................................................................26
4.2.1. Descrição do Caso de Uso – UC-01: Efetuar Login ......................................................26
4.2.2. Descrição do Caso de Uso – UC-02: Manter Documento .............................................30
4.2.3. Descrição do Caso de Uso – UC-03: Realizar Busca ....................................................35
4.2.4. Descrição do Caso de Uso – UC-04: Manter anexos ....................................................36
4.2.5. Descrição do Caso de Uso – UC-05: Manter Compartilhamento ..................................40
4.2.6. Descrição do Caso de Uso – UC-06: Manter Conta ......................................................44
4.2.7. Descrição do Caso de Uso – UC-07: Consultar Espaço Utilizado ................................47
4.2.8. Descrição do Caso de Uso – UC-08: Manter Usuário ...................................................49
4.2.9. Descrição do Caso de Uso – UC-09: Manter Parâmetro do sistema .............................56
4.2.10. Descrição do Caso de Uso – UC-10: Obter gráfico .....................................................59
4.2.11. Descrição do Caso de Uso – UC-11: Obter Relatório .................................................61
4.2.12. Descrição do Caso de Uso – UC-12: Visualizar documento compartilhado ...............62
4.2.13. Descrição do Caso de Uso – UC-13: Realizar LogOff ................................................65
4.3. Diagrama de Classes Geral do sistema – DocStr ..............................................................67
5. MODELAGEM DE DADOS ...............................................................................................68
5.1. Modelo de Entidades e Relacionamentos (MER Conceitual) ….......................................68
5.2. Modelo Relacional de Dados (Modelo do Banco de Dados) …........................................69
5.3. Dicionário de Dados ….....................................................................................................69
6. PROJETO DE ARQUITETURA ........................................................................................74
6.1. Listagem e descrição das tecnologias e ferramentas utilizadas pelo sistema ...................74
6.2. Listagem e descrição do ambiente que utilizará as tecnologias ........................................75
6.3. Arquitetura de implementação (modelo em camadas) ......................................................76
6.4. Diagrama de Implantação .......................................... ......................................................78
7. PROJETO DE INTERFACES ….........................................................................................79
8. REFERÊNCIAS TEÓRICAS …..........................................................................................87
9. CONCLUSÃO .....................................................................................................................91
10. REFERÊNCIAS BIBLIOGRAFIA ................................................................................. .92
LISTA DE FIGURAS

Figura 1 - Diagrama de Domínio...............................................................................................8


Figura 2 - Diagrama de Atividade Cadastrar-se........................................................................9
Figura 3 - Diagrama de Atividade Efetuar Login / Resgatar Senha.........................................10
Figura 4 - Diagrama de Atividade Adicionar Documento....................................................... 11
Figura 5 - Diagrama de Atividade Buscar Documento............................................................ 12
Figura 6 - Diagrama de Atividade Anexar Arquivo.................................................................13
Figura 7 – Diagrama de Atividade Visualizar / Download Arquivo........................................14
Figura 8 – Diagrama de Atividade Excluir Arquivo Anexo.....................................................14
Figura 9 – Diagrama de Atividade Editar Documento.............................................................15
Figura 10 – Diagrama de Atividade Excluir Documento ........................................................16
Figura 11 – Diagrama de Atividade Excluir Anexo.................................................................16
Figura 12 – Diagrama de Atividade Ativar Compartilhamento / Desativar / Add email.........17
Figura 13 – Diagrama de Atividade Visualizar Documento Compartilhado............................18
Figura 14 – Diagrama de Atividade Minha conta visualizar....................................................19
Figura 15 – Diagrama de Atividade Minha conta editar informações......................................19
Figura 16 – Diagrama de Atividade Minha conta – Uso do espaço.........................................20
Figura 17 – Diagrama de Atividade Minha conta excluir........................................................20
Figura 18 – Diagrama de Atividade Adm. Add. Privilégio é revogando Privilégio................21
Figura 19 – Diagrama de Atividade Administração - Bloquear e Desbloquear Contas...........21
Figura 20 – Diagrama de Atividade Administração de usuários - Busca rápida......................22
Figura 21 – Diagrama de Atividade Administração de usuários - remover conta....................22
Figura 22 – Diagrama de Atividade Dashboard.......................................................................23
Figura 23 – Diagrama de Atividade Parâmetros do sistema....................................................23
Figura 24 - Diagrama de Caso de Uso Geral............................................................................25
Figura 25 – Cenário Principal – Efetuar Login.........................................................................28
Figura 26 – Cenário Alternativo 1 – Recuperar Senha.............................................................29
Figura 27 – Cenário Alternativo 2 – Realizar Cadastro............................................................29
Figura 28 – Cenário Principal – Adiciona Novo Documento...................................................32
Figura 29 – Cenário Alternativo 1 – Visualizar Documento....................................................33
Figura 30 – Cenário Alternativo 2 – Editar Documento...........................................................33
Figura 31 – Cenário Alternativo 3 – Excluir Documento.........................................................34
Figura 32 – Cenário Alternativo 4 – Excluir Documentos Selecionados.................................34
Figura 33 – Cenário Principal – Realizar Busca.......................................................................36
Figura 34 – Cenário Alternativo 1 – Download de Arquivo.....................................................36
Figura 35 – Cenário Principal – Anexar Arquivo.....................................................................38
Figura 36 – Cenário Alternativo1 – Visualizar Anexo.............................................................39
Figura 37 – Cenário Alternativo2 – Excluir Anexo..................................................................39
Figura 38 – Cenário Alternativo3 – Fazer download do Anexo...............................................40
Figura 39 – Cenário Principal – Ativar compartilhamento.......................................................42
Figura 40 – Cenário Alternativo 1 – Adicionar e-mail a lista de compartilhamento................43
Figura 41 – Cenário Alternativo 2 – Excluir e-mail da lista de compartilhamento..................43
Figura 42 – Cenário Alternativo 3 – Desativar Compartilhamento..........................................44
Figura 43 – Cenário Principal – Visualizar Informações..........................................................46
Figura 44 – Cenário Alternativo 1 – Editar Informações..........................................................46
Figura 45 – Cenário Alternativo 2 – Excluir Conta..................................................................47
Figura 46 – Cenário Principal – Visualizar e imprimir Gráfico...............................................48
Figura 47 – Cenário Alternativo 1 – Download do gráfico......................................................49
Figura 48 – Cenário Principal – Visualizar Cadastros.............................................................52
Figura 49 – Cenário Alternativo 1 – Conceder Privilégio........................................................52
Figura 50 – Cenário Alternativo 2 – Revogar Privilégio..........................................................53
Figura 51 – Cenário Alternativo 3– Bloquear Cadastro...........................................................53
Figura 52 – Cenário Alternativo 4 – Desbloquear Cadastro.....................................................54
Figura 53 – Cenário Alternativo 5 – Excluir cadastro..............................................................54
Figura 54 – Cenário Alternativo 6 – Buscar Cadastro..............................................................55
Figura 55 – Cenário Alternativo 7 – Busca rápida...................................................................55
Figura 56 – Cenário Principal – Criar Parâmetro.....................................................................58
Figura 57 – Cenário Alternativo 1 – Editar Parâmetro.............................................................58
Figura 58 – Cenário Principal – Visualizar Gráficos (Dashboard) ..........................................60
Figura 59 – Cenário Alternativo 1 – Download do Gráfico (Dashboard) ...............................60
Figura 60 – Cenário Principal – Visualizar Relatório...............................................................62
Figura 61 – Cenário Principal – Visualizar docum. compartilhado e download de arq...........64
Figura 62 – Cenário Alternativo 1 – Visualizar Arquivo Anexo..............................................64
Figura 63 – Cenário Alternativo – Encerrar Sessão..................................................................65
Figura 64 – Cenário Principal – Realizar LogOff. ...................................................................66
Figura 65 – Diagrama de Classes Geral do sistema – DocStr..................................................67
Figura 66 – Modelo de Entidades e Relacionamentos..............................................................68
Figura 67 – Gráfico da Arquitetura MVC no Rails..................................................................77
Figura 68 – Diagrama de Implantação......................................................................................78
Figura 69 - Tela Inicial..............................................................................................................79
Figura 70 - Tela de Cadastro de Usuário..................................................................................79
Figura 71 - Tela de Login.........................................................................................................80
Figura 72 - Tela Visualizar arquivo compartilhado..................................................................80
Figura 73 - Tela Adicionar Documento....................................................................................81
Figura 74 - Tela Meus Documentos..........................................................................................81
Figura 75 - Tela Visualizar Documento....................................................................................82
Figura 76 - Tela administração de usuários..............................................................................82
Figura 77 - Tela editar documento............................................................................................83
Figura 78 - Tela editar conta - perfil.........................................................................................83
Figura 79 - Tela administração de usuários..............................................................................84
Figura 80 - Tela Relatórios.......................................................................................................84
Figura 81 - Tela visualizar perfil...............................................................................................85
Figura 82 - Tela Uso do Espaço................................................................................................85
Figura 83 - Tela de documentos compartilhados......................................................................86
Figura 84 - Tela descrição de documentos e compartilhamento e anexar................................86
1

1. INTRODUÇÃO

Os dias atuais são caracterizados por um paradoxo que apresentam dois


extremos de peso inquestionável: de um lado temos a necessidade do registro documental de
todos os nossos atos e de nossas informações, do outro lado temos uma questão que nos
obriga a gerenciar de forma eficaz todos esses documentos com redução de custos de
armazenagem, localização com eficiência das informações e ter o menor impacto possível ao
meio ambiente.
2

Dessa forma, propomos o Armazém de Documentos – DocStr: um gerenciador


de documentos pessoais em formato digital.
Com a adoção do conceito de armazenamento em nuvem, o sistema permitirá a
eliminação do uso de espaço em disco para diversos documentos em formato digital e, também,
da sua reprodução em papel. Através de uma classificação documental, a recuperação de tais
arquivos torna-se mais rápida e segura.
A proposta do DocStr se baseia em um ciclo com três estágios distintos:
ARMAZENAR: o documento digital é armazenado no servidor; CLASSIFICAÇÃO: por meio
de listas intuitivas, NÃO HÁ LISTAS, O DOCUMENTO É CLASSIFICADO PELO
PRÓPRIO USUÁRIO ATRAVÉS DE UMA DESCRIÇÃO, o documento é classificado;
RECUPERAÇÃO: sempre que necessário, por meio de pesquisas, o documento é recuperado e
disponibilizado ao usuário, tanto para visualização rápida quanto para download.

2. DOCUMENTO DE VISÃO

2.1. Introdução
Este documento apresenta uma solução de software para o projeto “Armazém de
Documentos - DocStr”, oferecido como proposta de Trabalho de Conclusão de Curso, como
exigência parcial para a obtenção do grau de Bacharel em Sistemas de Informação da
Anhanguera Educacional S.A.
3

Nele serão coletados, analisados e definidos as necessidades, as funcionalidades


e o alcance do projeto.
O DocStr propõe ao usuário o gerenciamento de documentos digitais a qualquer
momento, em qualquer lugar.
A intenção do DocStr não é criar documentos e sim proporcionar a gestão
organizada de documentos por meio de três etapas: armazenamento, classificação e
recuperação.

2.2. Definições, Acrônimos e Abreviações

A
ADMINISTRADOR: usuário com o grau total de controle sobre as funcionalidades do sistema.

B
BSI: Bacharel em Sistemas de Informação.

C
COOKIES: grupo de dados trocados entre o navegador e o servidor de páginas cuja função
principal é a de manter a persistência de sessões HTTP.
CSS3: Cascading Style Sheets 3.

D
DocStr: Sigla do Sistema Armazém de Documentos, sua concepção vem do nome em inglês,
Document Store.

F
FACNET: Faculdade de Negócios e Tecnologias da Informação.
M
MySQL – SGBD

O
Oracle - SGBD

H
4

HTML5: Versão do HyperText Markup Language, ou Linguagem de Marcação de Hipertexto.

J
Javascript: Linguagem de programação desenvolvida pela Netscape.

R
Ruby: Linguagem de programação com gerenciamento de memória automático, desenvolvida
no Japão em 1995, para ser usada como linguagem de script.
Ruby on Rails: Framework para desenvolvimento web.

S
SGBD: Sistema de Gerenciamento de Banco de Dados.
SQLite3: Software SGBD.

T
TCC: Trabalho de Conclusão de Curso: trabalho desenvolvido por grupos de alunos como
condição para a obtenção do grau de Bacharel em Sistemas de Informação;
TCC I: Trabalho de Conclusão de Curso I: primeira etapa do TCC, desenvolvido durante o 7º
semestre.
TCC II: Trabalho de Conclusão de Curso II: segunda etapa do TCC, desenvolvida e
apresentada no 8º semestre.

2.3. Enunciado do Problema


O problema Documentos digitais desorganizados
Afeta Qualquer pessoa que armazene documentos digitais para
posterior consulta
Cujos impactos são Perda de tempo na localização de documentos e
fragmentação/desperdício de espaço utilizado no meio
armazenado, decorrentes de duplicidades ou até mesmo de
documentos desnecessários
Uma solução de sucesso seria Permitir uma classificação e organização adequada aos
documentos digitais

O problema Acessar documentos pessoais a partir de qualquer lugar com


acesso à internet
Afeta Qualquer pessoa que armazene documentos localmente
5

Cujos impactos são Dependência do meio de armazenamento local, limitando o


acesso à informação
Uma solução de sucesso seria Permitir acesso à documentos via internet através de um
serviço seguro e rápido

O problema Falta de classificação de documentos digitalizados


Afeta Pessoas que digitalizam e armazenam documentos
Cujos impactos são Armazenamento inadequado de documentos digitalizados;
limita a localização de documentos e obriga ao usuário manter
a própria classificação dos documentos
Uma solução de sucesso seria Promover uma classificação prévia sobre os documentos
digitais

2.4. Descrição dos Atores


2.4.1 Stakeholders
IDENTIFICAÇÃO RESPONSABILIDADES STAKEHOLDERS
Orienta o grupo de
desenvolvimento quanto a ações
Orientador do Projeto Guilherme Parente Costa
necessárias para o correto
desenvolvimento do projeto.
Decidem sobre questões
Hildegarde Macedo, Rainer
Gerentes do Projeto estratégicas quanto aos rumos do
Lopes Miranda
projeto.
Definem e aprovam os requisitos e
especificações de negócio do Hildegarde Macedo, Rainer
Analistas de Requisitos
sistema, testam e homologam o Lopes Miranda
sistema.
Define a arquitetura a ser utilizada
Arquiteto do Projeto Rainer Lopes Miranda
no sistema.
Hildegarde Macedo, Diego
Projetista de Interfaces Define e implementa as interfaces
Matheus, Jefferson Fragoso e
do Projeto do sistema.
Elisson Tavares
Rainer Lopes Miranda, Diego
Implementa o sistema conforme
Programadores Matheus, Jefferson Fragoso e
suas especificações.
Elisson Tavares
6

2.4.2 Usuários
IDENTIFICAÇÃO RESPONSABILIDADES USUÁRIOS

Promove alterações em
Administrador do banco de dados, administra
Usuários privilegiados
sistema contas de usuários e
documentos.

Usuário final Usuários do sistema. Visitante

2.5. Visão Geral do Produto


2.5.1. Perspectiva do Produto
O DocStr proporcionará a qualquer visitante, mediante um cadastro prévio e
gratuito, o acesso às funcionalidades do gerenciamento de documentos. Inicialmente, haverá
um limite de 100MB por usuário, podendo ser ampliado mediante pagamento online. ESSA
FUNÇÃO NÃO FOI IMPLEMENTADA.

2.5.2. Resumos das Funcionalidades


FUNCIONALIDADE DESCRIÇÃO
Permite ao visitante se cadastrar no DocStr,
Cadastro de usuários premissa para o gerenciamento de
documentos.
Proporciona ao usuário o gerenciamento dos
Manter documento documentos (rótulos): inclusão,
visualização, alteração e exclusão.
Permite ao usuário realizar pesquisa através
de termos e palavras referentes aos
Realizar Busca
documentos (rótulos) e arquivos anexados já
existentes no sistema.
Proporciona ao usuário o gerenciamento dos
Manter Anexos arquivos anexados ao documento (rótulo):
inclusão, visualização, exclusão e download.
Permite ao usuário o gerenciamento do
compartilhamento de documento: Ativar e
Manter Compartilhamento
Desativar, Adicionar e Excluir e-mails ao
qual o documento é compartilhado.
Permite ao usuário visualizar e editar as
informações do seu perfil cadastrado no
Manter Conta
sistema ou excluir a sua conta de utilização
do sistema.
Consultar Espaço Utilizado Permite que o usuário visualize e efetue
7

download de gráficos com informações


sobre o espaço utilizado no sistema pelos
seus documentos.
Proporciona ao administrador o
gerenciamento sobre os cadastros dos
Manter Usuário usuários do sistema: Visualizar, conceder e
revogar privilégios, bloquear e desbloquear,
buscar informações e excluir cadastro.
Permite ao administrador gerenciar os
Manter Parâmetro do sistema parâmetros técnicos para o funcionamento
do sistema: incluir, alterar e excluir.
Permite ao administrador visualizar,
imprimir ou efetuar download de gráficos
Obter Gráfico
com informações detalhadas relevantes
sobre o uso do sistema por seus usuários.
Permite ao administrador visualizar
Obter Relatório informações relevantes sobre a utilização do
sistema.
Permite que usuários acessem, através de
Visualizar Documento Compartilhado
token, documentos compartilhados.

2.5.3 Requisitos do Sistema


O sistema está sendo desenvolvido em Ruby on Rails, versão 4.0, usando Ruby
2.0. Uma lista das gems necessárias consta no anexo ao documento. Como SGDB, o SQLite3.
ESTÁ SENDO UTILIZADO MYSQL 5.6. Todo esse aparato não é exclusivo de uma
plataforma, portanto, poderá ser utilizado qualquer sistema operacional que suporte tais
softwares.
É necessário um browser com suporte a HTML5 e CSS3; cookies e Javascript
ativados também são necessários ao funcionamento correto do sistema.

2.5.4. Restrições do Sistema

2.5.4.1. Criação e Edição de Arquivos

No DocStr não será possível criar ou realizar alterações no conteúdo dos


arquivos anexados, estes arquivos serão advindos de fontes externas.

2.5.4.2. Spoofing de arquivo

O Docstr não possui um avaliador de conteúdo de arquivo sofisticado, o qual


poderia impedir o ataque via “spoofing de arquivo”, que consiste na alteração da extensão do
arquivo enviado para um que seja permitido pelo sistema. Exemplo: alterar a extensão de um
arquivo executável (extensão .exe) para uma extensão de imagem, por exemplo JPEG ou PNG.
8

2.5.4.3. Extensões de arquivos permitidas

A seguir, as extensões de arquivos que são permitidas para upload:

TIPO MIME TYPE


Imagens ou similares 'image/jpg','image/jpeg','image/pjpeg','image/png','image/x-
png','image/gif'
PDF 'application/pdf'
Word ou similares 'application/msword','applicationvnd.ms-word',
'application/vnd.openxmlformats-
officedocument.wordprocessingml.document',
Excel ou similares 'application/msexcel','application/vnd.ms-excel',
'application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet',
Power Point ou similares 'application/mspowerpoint','application/vnd.ms-
powerpoint','application/vnd.openxmlformats-
officedocument.presentationml.presentation',
Arquivo texto ou similares 'text/plain'
9

3. MODELOS DO NEGÓCIO
3.1. Diagrama de Classe de domínio
Conforme a definição de Guedes (2009), o diagrama de classes apresenta uma
visão estática de como estão organizadas as classes. Neste diagrama a abstração de cada classe
com seus atributos e métodos individualmente corresponde à Modelagem de Vocabulário, onde
são definidas as classes que farão parte do diagrama. Já a definição de como as classes se
relaciona e colabora para a execução de um determinado processo corresponde à Modelagem
de colaboração.

Figura 1 – Diagrama de Domínio


10

3.2. Diagrama de Atividades


3.2.1. Cadastro no sistema. Confirma.

Figura 2 – Diagrama de Atividade Cadastrar-se


11

3.2.2. Efetuar Login / Resgatar Senha

Figura 3 – Diagrama de Atividade Efetuar Login / Resgatar Senha


12

3.2.3. Adicionar documento

Figura 4 – Diagrama de Atividade Adicionar Documento


13

3.2.4. Buscar Documento

Figura 5 – Diagrama de Atividade Buscar Documento


14

3.2.5. Anexar Arquivo (s)

Figura 6 – Diagrama de Atividade Anexar Arquivo


15

3.2.6. Arquivos visualizar e download.

Figura 7 – Diagrama de Atividade Arquivo (s) visualizar e download

3.2.7. Exclusão de arquivos e anexos


16

Figura 8 – Diagrama de Atividade Exclusão de arquivos e anexos


3.2.8. Editar Documento

Figura 9 – Diagrama de Atividade Editar Documento


17

3.2.9. Excluir Documento (s)

Figura 10 – Diagrama de Atividade Excluir Documento (s)

3.2.10 Meus documentos excluir anexo (s)


18

3.2.10. Ativar Compartilhamento / Desativar / Adicionando e-mail

Figura 12 – Diagrama de Atividade Ativar Compartilhamento / Desativar / Adicionando e-mail


19

3.2.11. Visualizar arquivo (s) compartilhado (s) / Download

Figura 13 – Diagrama de Atividade Visualizar Documento Compartilhado


20

3.2.13. Minha conta visualizar

Figura 14 – Diagrama de Atividade Minha conta visualizar

3.2.14. Minha conta editar informações

Figura 15 – Diagrama de Atividade Minha conta editar informações


21

3.2.15. Minha conta – Uso do espaço

Figura 16 – Diagrama de Atividade Minha conta – Uso do espaço

3.2.16. Minha conta excluir

Figura 17 – Diagrama de Atividade Minha conta excluir


22

3.2.17. Administração de usuários - adicionando Privilégio é revogando Privilégio

Figura 18 – Diagrama de Atividade Administração de usuários - adicionando Privilégio é revogando Privilégio

3.2.18. Administração de usuários - Bloquear e Desbloquear Contas

Figura 19 – Diagrama de Atividade Administração de usuários - Bloquear e Desbloquear Contas


23

3.2.19. Administração de usuários - Busca rápida

Figura 20 – Diagrama de Atividade Administração de usuários - Busca rápida

3.2.20. Administração de usuários - remover conta


24

Figura 21 – Diagrama de Atividade Administração de usuários - remover conta


3.2.21. Dashboard

Figura 22 – Diagrama de Atividade Dashboard

3.2.22. Parâmetros do sistema


Figura 23 – Diagrama de Atividade Parâmetros do sistema
25

4. MODELOS DE ANÁLISE

4.1. Diagrama de Casos de Uso


Um caso de uso representa as iterações das principais funcionalidades de um
sistema entre o usuário e o sistema. De acordo com Bezerra (2002), caso de uso é a
especificação de uma Sequência de interações entre um sistema e os agentes externos que
utilizam esse sistema.
Apresentamos abaixo o Diagrama de Caso de Uso Geral que ilustra os casos de
uso do “DocStr” e suas interações com os atores do sistema que “procura por meio de uma
linguagem simples possibilitar a compreensão do comportamento externo do sistema (em
termos de funcionalidades oferecidas por ele) por qualquer pessoa, tentando apresentar o
sistema por intermédio de uma perspectiva do usuário.” (Guedes, 2009).
26

4.1.2. Diagrama de Casos de Uso Geral - DocStr

Figura 24 - Diagrama de Caso de Uso Geral


27

4.2. Detalhamento do Caso do Uso


4.2.1. Descrição do Caso de Uso – UC-01: Efetuar Login
4.2.1.1. Objetivo
Este Caso de Uso permite ao ator cadastrado acessar as funcionalidades do
sistema.
4.2.1.2. Atores
Cliente.
Administrador.
4.2.1.3. Pré-condições
O ator deve estar cadastrado no sistema, exceto no caso de primeiro acesso onde
o ator estará solicitando seu cadastramento no sistema.
4.2.1.4. Pós-condições
O ator fica habilitado a utilizar as funcionalidades do sistema.
4.2.1.5. Fluxo Principal
1. Este caso de uso inicia quando o ator acessa a página do sistema e clica em
login.
2. O sistema apresenta a tela com os campos “E-mail” e “Senha”.
3. O ator preenche os campos e solicita acesso ao sistema. [FA 01] [FA 02]
4. O sistema valida os dados, autentica e libera acesso ao ator. [EXC 01]
5. O caso de uso se encerra.
4.2.1.6. Fluxos Alternativos
[FA 01]. Recuperar Senha.
1. O ator inicia o fluxo na página de login clicando no botão “Esqueci a senha”.
2. O sistema solicita o e-mail cadastrado.
3. O ator informa o e-mail e solicita o resgate da senha.
4. O sistema verifica se o e-mail está cadastrado. [EXC 02]
5. O sistema informa o envio de um e-mail com as instruções para reconfigurar
a senha.
6. O ator solicita acesso a página de alteração da senha através do link enviado
no e-mail de reconfiguração da senha.
7. O sistema apresenta a tela com os campos “Senha” e “Confirmação de
Senha”.
8. O ator informa os dados necessários.
28

9. O sistema valida os dados, exibe mensagem de conclusão da alteração e


redireciona para a página de login. [ECX 03]
10. O fluxo se encerra.
[FA 02] Realizar Cadastro
1. Este fluxo inicia quando o ator acessa a página do sistema e clica em
cadastra-se.
2. O sistema apresenta tela com os dados para preenchimento. (Tabela 1)
3. O ator preenche os dados e solicita o cadastramento. [FA 03]
4. O sistema verifica os campos e se os dados são validos. [EXC 04] [EXC 05]
5. O sistema apresenta uma mensagem informando que o cadastro foi efetuado,
e o envio de um e-mail para confirmação da conta cadastrada.
6. O ator solicita a confirmação de sua conta através do link contido no e-mail
recebido para confirmação da conta.
7. O sistema informa que a conta foi confirmada e direciona para a página
inicial.
8. O caso de uso se encerra.
4.2.1.7. Fluxos de Exceção
[EXC 01] E-mail ou senha incorreto.
1. Caso o sistema verifique que os dados informados não estão corretos, o
sistema apresenta a mensagem: “Usuário ou senha incorreto”.
2. O fluxo se encerra.
[EXC 02] E-mail não cadastrado
1. Caso o sistema verifique que o e-mail informado não possui conta cadastrada,
o sistema apresenta a mensagem: “Conta não cadastrada”.
2. O fluxo se encerra.
[EXC 03] Confirmação de senha incorreta.
1. Caso o sistema verifique que a confirmação da senha esteja incorreta, o
sistema informa o erro e não altera a senha.
2. O fluxo se encerra.
[EXC 04] Campos obrigatórios não preenchidos
1. Caso falte alguma informação de preenchimento obrigatório o sistema solicita
a correção do formulário dando enfoque nos campos que não podem ficar em
branco.
2. O fluxo se encerra.
29

[EXC 05] E-mail já cadastrado


1. Caso o e-mail informado já esteja cadastrado, o sistema não realiza a
operação, informa o motivo e solicita a alteração do formulário.
2. O fluxo se encerra.
4.2.1.8. Atributos e suas definições
Dados para cadastrar-se no sistema

Atributo Obrigatório Domínio Descrioção


Nome completo do
Nome completo Sim -
solicitante.
E-mail Sim - E-mail do solicitante.
Senha Sim - Senha para acesso.
Exatamente a mesma
Confirmação da
Sim - informada no campo
Senha
“Senha”.
Data de A data de nascimento
Sim -
Nascimento do solicitante.

Tabela 1 – Atributos e definições do Caso de Uso UC-01: Efetuar Login.

4.2.1.9. Diagrama de Sequencia


4.2.1.9.1. Cenário Principal

Figura 25 – Cenário Principal – Efetuar Login.


30

4.2.1.9.2. Cenário Alternativo 1 - Recuperar Senha

Figura 26 – Cenário Alternativo 1 – Recuperar Senha.

4.2.1.9.3. Cenário Alternativo 2 - Realizar Cadastro

Figura 27 – Cenário Alternativo 2 – Realizar Cadastro.


31

4.2.2. Descrição do Caso de Uso – UC-02: Manter Documento


4.2.2.1. Objetivo
Este caso de uso permite ao ator realizar as operações necessárias para manter os
documentos no sistema.
4.2.2.2. Atores
Cliente.
Administrador.
4.2.2.3. Pré-condições
O ator deverá estar logado no sistema.
4.2.2.4. Pós-condições
Não se aplica.
4.2.2.5. Fluxo Principal
1. Este caso de uso inicia quando o ator acessa a página principal da sua conta e
solicita adicionar um novo documento. [FA 01] [FA 02] [FA03] [FA 04]
2. O sistema apresenta tela com os dados para preenchimento. (Tabela 2)
3. O ator preenche os dados e clica em “Criar”.
4. O sistema verifica os campos e se os dados são válidos. [EXC 01] [EXC 02]
5. O sistema informa que o documento foi criado com sucesso e redireciona
para a página “Meus Documentos”.
6. O caso de uso se encerra.
4.2.2.6. Fluxos Alternativos
[FA 01] Visualizar documento
1. O ator inicia o fluxo clicando no “Nome” ou “Rótulo” do documento.
2. O sistema apresenta as informações do documento e as ações possíveis de se
realizar sobre o documento.
3. O fluxo se encerra.
[FA 02] Editar documento
1. O ator inicia o fluxo clicando no “Nome” ou “Rótulo” do documento.
2. O sistema apresenta as informações do documento e as ações possíveis de se
realizar sobre o documento.
3. O ator solicita alterar o documento clicando no botão “Editar”.
4. O sistema apresenta tela de edição do documento ou rótulo com os dados
atuais.
5. O ator altera as informações desejadas.
32

6. O sistema valida os dados e solicita confirmação da alteração. [EXC 01]


[EXC 02]
7. O ator confirma a operação.
8. O sistema informa a alteração dos dados.
9. O fluxo se encerra.
[FA 03] Excluir documento
1. O ator inicia o fluxo clicando no “Nome” ou “Rótulo” do documento. [FA
04]
2. O sistema apresenta as informações do documento e as ações possíveis de se
realizar sobre o documento.
3. O ator solicita excluir o documento clicando no botão “Excluir”.
4. O sistema solicita confirmação da exclusão.
5. O ator confirma a operação.
6. O sistema informa a exclusão do documento.
7. O caso de uso se encerra.
[FA 04] Excluir documento(s) selecionado(s)
1. O ator inicia o fluxo marcando o(s) documento(s) através da caixa de seleção
existente para cada documento.
2. O sistema mostra os documentos que estão selecionados através de um
“ícone”.
3. O ator clica no botão “Excluir selecionados”.
4. O sistema solicita confirmação da exclusão.
5. O ator confirma a operação.
6. O sistema informa a exclusão do(s) documento(s).
7. O fluxo se encerra.
4.2.2.7. Fluxos de Exceção
[EXC 01] Campos obrigatórios não preenchidos
3. Caso falte alguma informação de preenchimento obrigatório o sistema solicita
a correção do formulário dando enfoque nos campos que não podem ficar em
branco.
4. O fluxo se encerra.
[EXC 02] Título ou Rótulo Existente
3. Caso o Título ou rótulo do documento já esteja cadastrado, o sistema não
realiza a operação, informa o motivo e solicita a alteração do formulário.
33

4. O fluxo se encerra.
4.2.2.8. Atributos e suas definições
Dados para criação do documento

Atributo Obrigatório Domínio Descrioção


Título ou rótulo Nome, rótulo do
Sim -
do documento documento.
Data de emissão do
Data da emissão Não -
documento
Data de expiração ou
Data da expiração Não - vencimento do
documento
Informações sobre o
Descrição Não -
documento

Tabela 2 – Atributos e definições do Caso de Uso UC-02: Manter documento.

4.2.2.9. Diagrama de Sequência

4.2.2.9.1. Cenário Principal

Figura 28 – Cenário Principal – Adiciona Novo Documento.


34

4.2.2.9.2. Cenário Alternativo 1 - Visualizar Documento

Figura 29 – Cenário Alternativo 1 – Visualizar Documento.

4.2.2.9.3. Cenário Alternativo 2 - Editar Documento

Figura 30 – Cenário Alternativo 2 – Editar Documento.


35

4.2.2.9.4. Cenário Alternativo 3 - Excluir Documento

Figura 31 – Cenário Alternativo 3 – Excluir Documento.

4.2.2.9.5. Cenário Alternativo 4 - Excluir Documentos Selecionados

Figura 32 – Cenário Alternativo 4 – Excluir Documentos Selecionados.


36

4.2.3. Descrição do Caso de Uso – UC-03: Realizar Busca


4.2.3.1. Objetivo
Este caso de uso permite ao ator realizar busca de documentos ou anexos.
4.2.3.2. Atores
Usuário.
Administrador.
4.2.3.3. Pré-condições
O ator deverá estar logado no sistema.
4.2.3.4. Pós-condições
Não se aplica.
4.2.3.5. Fluxo Principal
1. Este caso de uso inicia quando o ator na página “Meus Documentos”, preenche o
campo para busca de documentos ou anexos e solicitar buscar.
2. O sistema apresenta tela com os resultados da pesquisa e as operações possíveis.
[EXC 01]
3. O ator solicita visualizar o documento. [FA 01]
4. O sistema apresenta o documento.
5. O caso de uso se encerra.
4.2.3.6. Fluxos Alternativos
[FA 01] Download de arquivo.
1. O ator solicita download de arquivo anexo.
2. O sistema abre uma janela do sistema operacional do ator.
3. O ator salva o arquivo.
4. O fluxo se encerra.
4.2.3.7. Fluxos de Exceção
[EXC 01] Nenhum resultado encontrado
1. O sistema apresenta tela informando que não foram encontrados resultados.
2. O fluxo se encerra.
4.2.3.8. Atributos e suas definições
Não se aplica.
4.2.3.9. Diagrama de Sequência
4.2.3.9.1. Cenário Principal
37

Figura 33 – Cenário Principal – Realizar Busca

4.2.3.9.2. Cenário Alternativo 1 - Download de Arquivo

Figura 34 – Cenário Alternativo 1 – Download de Arquivo

4.2.4. Descrição do Caso de Uso – UC-04: Manter anexos


4.2.4.1. Objetivo
38

Este caso de uso permite ao ator realizar as operações necessárias para manter os
arquivos anexados em seus documentos.
4.2.4.2. Atores
Cliente
Administrador
4.2.4.3. Pré-condições
O ator deverá estar logado no sistema.
4.2.4.4. Pós-condições
Não se aplica.
4.2.4.5. Fluxo Principal
1. O ator inicia o fluxo clicando no “Nome” ou “Rótulo” do documento.
2. O sistema apresenta as informações do documento e as ações possíveis de se
realizar sobre o documento.
3. O ator solicita anexar um arquivo clicando no botão “Selecionar Arquivo”.
[FA 01] [FA 02] [FA 03]
4. O sistema abre uma janela do sistema operacional do usuário.
5. O ator procura e seleciona o arquivo desejado e clica em “Anexar”.
6. O sistema informa que o arquivo foi anexado.
7. O fluxo se encerra.
4.2.4.6. Fluxos Alternativos
[FA 01] Visualizar Anexo
1. O ator inicia o fluxo clicando no “Nome” do arquivo anexado.
2. O sistema mostra o conteúdo do arquivo. [FA 03]
3. O fluxo se encerra.
[FA 02] Excluir Anexo
1. O ator inicia o fluxo marcando o(s) anexo(s) através da caixa de seleção
existente para cada anexo.
2. O sistema mostra o(s) anexo(s) selecionados através de um “ícone”.
3. O ator clica no botão “Excluir Selecionados”.
4. O sistema solicita confirmação da exclusão.
5. O ator confirma a operação.
6. O sistema informa a exclusão do(s) anexo(s).
7. O fluxo se encerra.
39

[FA 03] Fazer download do anexo


1. O ator inicia o fluxo clicando no botão de download.
2. O sistema abre uma janela do sistema operacional do usuário.
3. O usuário salva o arquivo.
4. O fluxo se encerra.
4.2.4.7. Fluxos de Exceção
Não se aplica.
4.2.4.8. Atributos e suas definições
Não se aplica.
4.2.4.9. Diagrama de Sequência
4.2.4.9.1. Cenário Principal

Figura 35 – Cenário Principal – Anexar Arquivo


40

4.2.4.9.2. Cenário Alternativo 1 - Visualizar Anexo

Figura 36 – Cenário Alternativo1 – Visualizar Anexo

4.2.4.9.3. Cenário Alternativo 2 - Excluir Anexo

Figura 37 – Cenário Alternativo2 – Excluir Anexo


41

4.2.4.9.4. Cenário Alternativo 3 - Fazer Download do Anexo

Figura 38 – Cenário Alternativo3 – Fazer download do Anexo

4.2.5. Descrição do Caso de Uso – UC-05: Manter Compartilhamento


4.2.5.1. Objetivo
Este caso de uso permite ao ator realizar operações sobre compartilhamento de
documentos.
4.2.5.2. Atores
Cliente
Administrador
4.2.5.3. Pré-condições
O ator deverá estar logado no sistema.
4.2.5.4 Pós-condições
Não se aplica
4.2.5.5. Fluxo Principal
1. O ator inicia o fluxo clicando no “Nome” ou “Rótulo” do documento.
2. O sistema apresenta as informações do documento e as ações possíveis de se
realizar sobre o documento.
42

3. O ator solicita compartilhar o documento clicando no botão de


compartilhamento. [FA 01] [FA 02] [FA 03]
4. O sistema solicita confirmação do compartilhamento.
5. O ator confirma a operação.
6. O sistema informa a ativação do compartilhamento, cria um token, e
apresenta um campo para adicionar o e-mail para qual o documento será
compartilhado.
7. O ator informa o e-mail e clica no botão “Adicionar e-mail”.
8. O sistema valida os dados e informa a adição do e-mail a lista de
compartilhamento. [EXC 01] [EXC 02]
9. O caso de uso se encerra.
4.2.5.6. Fluxos Alternativos
[FA 01] Adicionar e-mail a lista de compartilhamento

1. O ator solicita adicionar um e-mail a lista de compartilhamento, informando o


e-mail e clicando no botão “Adicionar e-mail”.
2. O sistema valida os dados e informa a adição do e-mail a lista de
compartilhamento. [EXC 01] [EXC 02]
3. O fluxo se encerra.
[FA 02] Excluir e-mail da lista de compartilhamento
1. O ator solicita a exclusão do e-mail da lista de compartilhamento clicando no
botão de exclusão.
2. O sistema informa a exclusão do e-mail da lista de compartilhamento.
3. O fluxo se encerra.
[FA 03] Desativar compartilhamento
1. O ator solicita desativar o compartilhamento clicando no botão para desativar
o compartilhamento do documento.
2. O sistema informa que a lista de e-mails que compartilham o documento será
excluída e solicita confirmação da desativação do compartilhamento.
3. O ator confirma a operação.
4. O sistema informa a desativação do compartilhamento.
5. O fluxo se encerra.
4.2.5.7. Fluxos de Exceção
[EXC 01] E-mail inválido
43

1. Caso o e-mail informado não esteja no formato padrão, o sistema não realiza
a operação e informa o motivo.
2. O fluxo se encerra.
[EXC 02] E-mail já cadastrado
1. Caso o e-mail informado já esteja cadastrado, o sistema não realiza a
operação e informa que o e-mail já está cadastrado na lista.
2. O fluxo se encerra.
4.2.5.8. Atributos e suas definições
Não se aplica
4.2.5.9. Diagrama de Sequência
4.2.5.9.1. Cenário Principal

Figura 39 – Cenário Principal – Ativar compartilhamento


44

4.2.5.9.2. Cenário Alternativo 1-Adicionar e-mail a lista de compartilhamento

Figura 40 – Cenário Alternativo 1 – Adicionar e-mail a lista de compartilhamento

4.2.5.9.3. Cenário Alternativo 2 – Excluir e-mail da lista de compartilhamento

Figura 41 – Cenário Alternativo 2 – Excluir e-mail da lista de compartilhamento


45

4.2.5.9.4. Cenário Alternativo 3 – Desativar Compartilhamento

Figura 42 – Cenário Alternativo 3 – Desativar Compartilhamento

4.2.6. Descrição do Caso de Uso – UC-06: Manter Conta


4.2.6.1. Objetivo
Este caso de uso permite ao ator visualizar e editar as informações de seu perfil,
ou excluir a sua conta.
4.2.6.2. Atores
Cliente
Administrador
4.2.6.3. Pré-condições
O ator deverá estar logado no sistema.
4.2.6.4. Pós-condições
Não se aplica.
4.2.6.5. Fluxo Principal
1. Este caso de uso se inicia quando o ator no menu de opções, clica no item
“Visualizar”. [FA 01]
2. O sistema apresenta tela com as informações da sua conta.
46

3. O caso de uso se encerra.


4.2.6.6. Fluxos Alternativos
[FA 01] Editar Informações
1. O ator clica no item “Editar Informações”.
2. O sistema apresenta tela de edição com os dados atuais.
3. O ator altera as informações e solicita atualizar os dados. [FA 02]
4. O sistema valida os dados e informa a atualização do cadastro. [EXC 01]
5. O fluxo se encerra.
[FA 02] Excluir Conta
1. O ator solicita excluir a conta do sistema clicando no botão “Excluir conta”.
2. O sistema solicita confirmação da exclusão.
3. O ator confirma a operação.
4. O sistema informa que o cadastro foi excluído.
5. O fluxo se encerra.
4.2.6.7. Fluxos de Exceção
[EXC 01] Dados incorretos
3. Caso o sistema verifique que a confirmação da senha esteja incorreta, ou que
a data informada não esteja no formato padrão, o sistema informa o erro e não
atualiza o cadastro.
4. O fluxo se encerra.
4.2.6.8. Atributos e suas definições
Não se aplica.
47

4.2.6.9. Diagrama de Sequência


4.2.6.9.1. Cenário Principal

Figura 43 – Cenário Principal – Visualizar Informações

4.2.6.9.2. Cenário Alternativo 1 – Editar Informações

Figura 44 – Cenário Alternativo 1 – Editar Informações


48

4.2.6.9.3. Cenário Alternativo 2 – Excluir Conta

Figura 45 – Cenário Alternativo 2 – Excluir Conta

4.2.7. Descrição do Caso de Uso – UC-07: Consultar Espaço Utilizado


4.2.7.1. Objetivo
Este caso de uso permite ao ator visualizar informações pertinentes ao espaço que
seus documentos utiliza no sistema.
4.2.7.2. Atores
Cliente
Administrador
4.2.7.3. Pré-condições
O ator deverá estar cadastrado no sistema.
4.2.7.4. Pós-condições
Não se aplica.
4.2.7.5. Fluxo Principal
1. Este caso de uso se inicia quando o ator no menu de opções, clica no item
“Uso do espaço”.
49

2. O sistema apresenta tela com gráficos contendo informações pertinentes sobre


o espaço utilizado.
3. O ator clica no botão de opções existente para cada gráfico e solicita imprimir
o gráfico. [FA 01]
4. O sistema imprime o gráfico.
5. O caso de uso se encerra.
4.2.7.6. Fluxos Alternativos
[FA 01] Download do gráfico
1. O ator clica no botão de opções existente para cada gráfico e solicita o
download do gráfico.
2. O sistema abre uma janela do sistema operacional do usuário.
3. O usuário salva o gráfico.
4. O fluxo se encerra.
4.2.7.7. Fluxos de Exceção
Não se aplica.
4.2.7.8. Atributos e suas definições
Não se aplica
4.2.7.9. Diagrama de Sequência
4.2.7.9.1. Cenário Principal

Figura 46 – Cenário Principal – Visualizar e imprimir Gráfico


50

4.2.7.9.2. Cenário Alternativo 1 – Download do gráfico

Figura 47 – Cenário Alternativo 1 – Download do gráfico

4.2.8. Descrição do Caso de Uso – UC-08: Manter Usuário


4.2.8.1. Objetivo
Este caso permite ao ator realizar operações necessárias para manter o cadastro
de usuários no sistema.
4.2.8.2. Atores
Administrador.
4.2.8.3. Pré-condições
O usuário deverá estar logado no sistema.
4.2.8.4. Pós-condições
Não se aplica.
4.2.8.5. Fluxo Principal
1. Este caso de uso inicia quando o ator com privilégios de administrador,
no menu de opções, clica no item “Administração de usuários”.
2. O sistema apresenta tela com uma relação de cadastros e as operações
possíveis de serem realizadas sobre os cadastros.
51

3. O ator solicita visualizar informações do cadastro clicando no botão para


visualização. [FA 01] [FA 02] [FA 03] [FA 04] [FA 05] [FA 06]
4. O sistema apresenta tela com informações sobre o perfil e uso do
sistema para aquele usuário.
5. O fluxo se encerra.
4.2.8.6. Fluxos Alternativos
[FA 01] Conceder Privilégio
1. O ator solicita atribuir privilégio de administrador para o usuário
clicando no botão de atribuição.
2. O sistema solicita confirmação de atribuição do privilégio.
3. O ator confirma a operação.
4. O sistema informa a atribuição de privilégio ao usuário.
5. O fluxo se encerra.
[FA 02] Revogar Privilégio
1. O ator solicita revogar privilégio de administrador para o usuário
clicando no botão de revogação.
2. O sistema solicita confirmação de revogação do privilégio.
3. O ator confirma a operação.
4. O sistema informa a revogação de privilégio ao usuário.
5. O fluxo se encerra.
[FA 03] Bloquear cadastro
1. O ator solicita bloquear o cadastro do usuário clicando no botão de
bloqueio.
2. O sistema solicita confirmação do bloqueio.
3. O ator confirma a operação.
4. O sistema informa o bloqueio do cadastro.
5. O fluxo se encerra.
[FA 04] Desbloquear cadastro
1. O ator solicita desbloquear o cadastro do usuário clicando no botão de
desbloqueio.
2. O sistema solicita confirmação do desbloqueio.
3. O ator confirma a operação.
4. O sistema informa o desbloqueio do cadastro.
5. O fluxo se encerra.
52

[FA 05] Excluir Cadastro


1. O ator solicita excluir o cadastro clicando no botão para exclusão.
2. O sistema solicita confirmação da exclusão do usuário.
3. O ator confirma a operação.
4. O sistema informa a exclusão do cadastro.
5. O fluxo se encerra.
[FA 06] Buscar Cadastro
1. O ator solicita buscar usuários preenchendo o campo de busca e clicando
no botão “Buscar”. [FA 07]
2. O sistema apresenta tela com relação de cadastro(s) resultante da busca.
3. O fluxo se encerra.
[FA 07] Busca rápida
1. O ator clica no botão “Busca rápida”.
2. O sistema apresenta as opções de busca rápida.
3. O ator seleciona uma opção.
4. O sistema exibe tela com relação de cadastro(s) resultante da opção de
busca rápida.
5. O fluxo se encerra.

4.2.8.7. Fluxos de Exceção


Não se aplica.
4.2.8.8. Atributos e suas definições
Não se aplica.
53

4.2.8.9. Diagrama de Sequência


4.2.8.9.1. Cenário Principal

Figura 48 – Cenário Principal – Visualizar Cadastros

4.2.8.9.2. Cenário Alternativo 1 – Conceder Privilégio

Figura 49 – Cenário Alternativo 1 – Conceder Privilégio


54

4.2.8.9.3. Cenário Alternativo 2 – Revogar Privilégio

Figura 50 – Cenário Alternativo 2 – Revogar Privilégio

4.2.8.9.4. Cenário Alternativo 3 – Bloquear Cadastro

Figura 51 – Cenário Alternativo 3– Bloquear Cadastro


55

4.2.8.9.5. Cenário Alternativo 4 – Desbloquear cadastro

Figura 52 – Cenário Alternativo 4 – Desbloquear Cadastro

4.2.8.9.6. Cenário Alternativo 5 – Excluir cadastro

Figura 53 – Cenário Alternativo 5 – Excluir cadastro

4.2.8.9.7. Cenário Alternativo 6 – Buscar cadastro


56

Figura 54 – Cenário Alternativo 6 – Buscar Cadastro

4.2.8.9.8. Cenário Alternativo 7 – Busca rápida

Figura 55 – Cenário Alternativo 7 – Busca rápida


57

4.2.9. Descrição do Caso de Uso – UC-09: Manter Parâmetro do sistema


4.2.9.1. Objetivo
Este caso de uso permite ao ator realizar as operações necessárias para manter
os parâmetros técnicos para o funcionamento do sistema.
4.2.9.2. Atores
Administrador
4.2.9.3. Pré-condições
O ator deverá estar logado no sistema.
4.2.9.4. Pós-condições
Não se aplica.
4.2.9.5. Fluxo Principal
1. Este caso de uso inicia quando o ator, no menu de opções, clica no item
“Parâmetros do sistema”.
2. O sistema apresenta tela com uma relação de parâmetros e as operações
possíveis de serem realizadas sobre os parâmetros.
3. O ator solicita criar um novo parâmetro clicando no botão “Criar parâmetro”.
[FA 01]
4. O sistema apresenta tela com os campos para preenchimento. (Tabela 3)
5. O ator preenche os dados e clica no botão “Enviar”.
6. O sistema verifica os campos e se os dados são válidos. [EXC 01]
7. O sistema informa a criação do parâmetro.
8. O caso de uso se encerra.

4.2.9.6. Fluxos Alternativos


[FA 01] Editar Parâmetro.
1. O ator solicita editar um parâmetro clicando no nome do parâmetro.
2. O sistema apresenta tela de edição com os dados atuais.
3. O ator altera as informações e solicita atualizar os dados.
4. O sistema solicita confirmação da alteração.
5. O ator confirma a operação.
6. O sistema informa a atualização do parâmetro.
7. O fluxo se encerra.
4.2.9.7. Fluxos de Exceção
[EXC 04] Campos obrigatórios não preenchidos
58

5. Caso falte alguma informação de preenchimento obrigatório o sistema


solicita a correção do formulário dando enfoque nos campos que não podem
ficar em branco.
6. O fluxo se encerra.

4.2.9.8. Atributos e suas definições


Dados para criação do parâmetro

Atributo Obrigatório Domínio Descrioção


Nome Sim - Nome do parâmetro
Valor Sim - Valor do Parâmetro
Descrição informando
Descrição Não - a utilidade do
parâmetro

Tabela 3 – Atributos e definições do Caso de Uso UC-09: Manter Parâmetro do sistema.


59

4.2.9.9. Diagrama de Sequência


4.2.9.9.1. Cenário Principal

Figura 56 – Cenário Principal – Criar Parâmetro

4.2.9.9.2. Cenário Alternativo 1 – Editar Parâmetro

Figura 57 – Cenário Alternativo 1 – Editar Parâmetro


60

4.2.10. Descrição do Caso de Uso – UC-10: Obter gráfico


4.2.10.1. Objetivo
Este caso de uso permite ao ator visualizar, imprimir ou fazer download dos
gráficos (Dashboard).
4.2.10.2. Atores
Administrador
4.2.10.3. Pré-condições
O usuário deverá estar logado no sistema.
4.2.10.4. Pós-condições
Não se aplica.
4.2.10.5. Fluxo Principal
1. Este caso de uso inicia quando o ator com privilégios de administrador, no
menu de opções, clica no item “Dashboard”.
2. O sistema apresenta tela com os gráficos contendo informações pertinentes
sobre o uso do sistema.
3. O ator clica no botão de opções existente para cada gráfico e solicita imprimir
o gráfico. [FA 01]
4. O sistema imprime o gráfico.
5. O caso de uso se encerra.

4.2.10.6. Fluxos Alternativos


[FA 01] Download do Gráfico (Dashboard)
1. O ator clica no botão de opções existente para cada gráfico e solicita o
download do gráfico.
2. O sistema abre uma janela do sistema operacional do usuário.
3. O usuário salva o gráfico.
4. O fluxo se encerra.

4.2.10.7. Fluxos de Exceção


Não se aplica.
4.2.10.8. Atributos e suas definições
Conteúdo dos Gráficos
61

4.2.10.9. Diagrama de Sequência


4.2.10.9.1. Cenário Principal

Figura 58 – Cenário Principal – Visualizar Gráficos (Dashboard)

4.2.10.9.2. Cenário Alternativo 1 – Download do Gráfico (Dashboard)

Figura 59 – Cenário Alternativo 1 – Download do Gráfico (Dashboard)


62

4.2.11. Descrição do Caso de Uso – UC-11: Obter Relatório


4.2.11.1. Objetivo
Este caso de uso permite a ator obter um relatório geral sobre o sistema.
4.2.11.2. Atores
Administrador.
4.2.11.3. Pré-condições
O ator deverá estar logado no sistema.
4.2.11.4. Pós-condições
Não se aplica.
4.2.11.5. Fluxo Principal
1. Este caso de uso inicia quando o ator com privilégios de administrador, no
menu de opções, clica no item “Relatórios”.
2. O sistema apresenta tela contendo informações importantes sobre a utilização
do sistema.
3. O caso de uso se encerra.

4.2.11.6. Fluxos Alternativos


Não se aplica.
4.2.11.7. Fluxos de Exceção
Não se aplica.
4.2.11.8. Atributos e suas definições
Não se aplica.
63

4.2.11.9. Diagrama de Sequência


4.2.11.9.1. Cenário Principal

Figura 60 – Cenário Principal – Visualizar Relatório

4.2.12. Descrição do Caso de Uso – UC-12: Visualizar documento compartilhado


4.2.12.1. Objetivo
Este caso de uso permite ao ator visualizar um documento compartilhado.
4.2.12.2. Atores
Usuário Externo.
4.2.12.3. Pré-condições
O ator deverá possuir um token de compartilhamento.
4.2.12.4. Pós-condições
Não se aplica.
4.2.12.5. Fluxo Principal
1. Este caso de uso inicia quando o ator acessa a página do sistema e clica em
“Visualizar arquivo compartilhado”.
2. O sistema apresenta tela com os campos para preenchimento.
3. O ator preenche os dados e solicita visualizar o documento.
4. O sistema valida os dados e autentica o ator. [EXC 01]
64

5. O sistema apresenta tela com o documento compartilhado e as opções


possíveis de se realizar.
6. O ator solicita o download do(s) arquivo(s) anexado(s). [FA 01] [FA 02]
7. O sistema abre uma tela do sistema operacional do usuário.
8. O ator salva o arquivo.
9. O caso de uso se encerra.

4.2.12.6. Fluxos Alternativos


[FA 01] Visualizar arquivo anexo
1. O ator solicita visualizar o arquivo anexo ao documento compartilhado.
2. O sistema apesenta tela com o conteúdo do arquivo.
3. O fluxo se encerra

[FA 02] Encerrar Sessão


1. O ator solicita encerrar a sessão de visualização documento compartilhado.
2. O sistema solicita confirmação do encerramento.
3. O ator confirma a operação.
4. O sistema informa o encerramento da sessão e redireciona para a página
inicial.
5. O fluxo se encerra.

4.2.12.7. Fluxos de Exceção


Não se aplica.
4.2.12.8. Atributos e suas definições
Não se aplica.
65

4.2.12.9. Diagrama de Sequência


4.2.12.9.1. Cenário Principal

Figura 61 – Cenário Principal – Visualizar documento compartilhado e download de arquivos

4.2.13.9.2. Cenário Alternativo 1 – Visualizar Arquivo Anexo

Figura 62 – Cenário Alternativo 1 – Visualizar Arquivo Anexo


66

4.2.13.9.3. Cenário Alternativo 2 – Encerrar Sessão

Figura 63 – Cenário Alternativo – Encerrar Sessão

4.2.13. Descrição do Caso de Uso – UC-13: Realizar LogOff


4.2.13.1. Objetivo
Este caso de uso permite ao ator sair do sistema.
4.2.13.2. Atores
Usuário.
Administrador
4.2.13.3. Pré-condições
O ator deverá estar logado no sistema.
4.2.13.4. Pós-condições
O sistema encerra a sessão e retorna para a página de login.
4.2.13.5. Fluxo Principal
1. Este caso de uso inicia quando o ator no menu de opções, clica no item
“LogOff”.
2. O sistema solicita confirmação de “LogOff”.
3. O ator confirma a operação.
67

4. O sistema encerra a sessão e redireciona para a página de login.


5. O caso de uso se encerra.

4.2.13.6. Fluxos Alternativos


Não se aplica.
4.2.13.7. Fluxos de Exceção
Não se aplica.
4.2.13.8. Atributos e suas definições
Não se aplica.
4.2.13.9. Diagrama de Sequência
4.2.12.9.1. Cenário Principal

Figura 64 – Cenário Principal – Realizar LogOff.


68

4.3. Diagrama de Classes Geral do sistema - DocStr

Figura 65 – Diagrama de Classes Geral do sistema – DocStr.


69

5. MODELAGEM DE DADOS
5.1. Modelo de Entidades e Relacionamentos (MER Conceitual)

Figura 66 – Modelo de Entidades e Relacionamentos.


70

5.2. Modelo Relacional de Dados (Modelo do Banco de Dados)


Em consequência do uso do ORM ActiveRecord, nenhuma tabela do sistema
possui relacionamento, pois toda a mecânica da integridade referencial é orquestrada por ela.
Em contrapartida, todas elas possuem um campo ID, número com auto incremento.

ENTIDADE DESCRIÇÃO

Armazenará informações sobre os anexos (que não são


document_attachments
nada mais que arquivos) dos documentos ou rótulos

Entidade responsável por armazenar informações sobre os


documents documentos ou rótulos criados pelos usuários
(administradores ou não)

system_parameters Parâmetros internos do sistema Docstr


space_usage_histories Histórico do uso de espaço por usuário

Histórico do uso de espaço do sistema como um todo


space_usage_global_histories
(global)

accounts Contas dos usuários (administradores ou não)

Gravação de logins dos usuários (administradores ou não)


audit_logins
para fins de auditoria

Indica os documentos compartilhados aos quais os emails


shared_emails
cadastrados possuem acesso

schema_migrations Uso interno do framework Ruby on Rails

5.3. Dicionário de Dados


O único campo que não permite valores nulos é o ID, e esse campo existe em
todas as tabelas e a configuração é a seguinte: campo número, tamanho 11 com auto
incremento de um em um. Todos os outros campos não possuem restrição (constraint), pois
todo o controle de integridade é feito pelo ORM ActiveRecord do Ruby.
Também não existem chaves referenciais, pois o ORM controla toda a
integridade referencial.
71

ENTIDADE – document_attachments
Atributo Classe Domínio Tamanho Descrição
attachment_file_name Simples Texto 255 Nome do
arquivo,
inclusive com
a estrutura de
diretórios
definida
previamente
configurada
attachment_content_type Multivalorado Texto 255 Conteúdo do
arquivo
(extensão)
attachment_file_size Simples Numérico 11 Tamanho, em
bytes, do
arquivo
document_id Determinante Numérico 11 Número do
documento a
qual o arquivo
pertence

created_at Simples Data Data da


criação do
arquivo
updated_at Simples Data Data da
última
atualização do
arquivo
Description Simples Texto 2000 Descrição do
arquivo

ENTIDADE - documents
Atributo Classe Domínio Tamanho Descrição
Name Determinante Texto 255 Nome do
documento (ou
rótulo)
Description Simples Texto 2000 Descrição do
documento (ou
rótulo)
account_id Determinante Numérico 11 Número da conta
do usuário
created_at Simples Data Data da criação
do documento
updated_at Simples Data Data da última
atualização do
documento
72

document_attachment_count Simples Numérico 11 Contador do


número de anexos
do document
(usado pelo
Counter Cache)
issue_date Simples Data Data da emissão
do document
expiration_data Simples Data Data do
vencimento ou
expiração do
documento
shared_token Simples Texto 255 Token utilizado
pelo
compartilhamento
Hits Simples Numérico 11 Quantidade de
acessos ao
documento

ENTIDADE – system_parameters
Atributo Classe Domínio Tamanho Descrição
Name Determinante Texto 255 Nome do
parâmetro
Value Simples Texto 255 Valor do
parâmetro
default_value Simples Texto 255 Valor padrão
do parâmetro
Description Simples Texto 2000 Descrição do
parâmetro
created_at Simples Data Data da
criação do
parâmetro
updated_at Simples Data Data da
última
atualização
do parâmetro

ENTIDADE – space_usage_histories
Atributo Classe Domínio Tamanho Descrição
used_in_bytes Simples Numérico 11 Espaço
utilizado (em
bytes)
account_id Determinante Numérico 11 Número da
conta do
usuário
operation Multivalorado Texto 255 Operação
executada
(ADD para
inclusão e
DELETE
73

para
remoção)
created_at Simples Data Data da
criação do
parâmetro
updated_at Simples Data Data da
última
atualização
do parâmetro

ENTIDADE – space_usage_global_histories
Atributo Classe Domínio Tamanho Descrição
used_in_bytes Simples Numérico 11 Espaço
utilizado (em
bytes)
created_at Simples Data Data da
criação do
parâmetro
updated_at Simples Data Data da
última
atualização
do parâmetro

ENTIDADE – accounts
Atributo Classe Domínio Tamanho Descrição
Username Determinante Texto 255 Nome do
usuário,
utilizando o e-
mail como
entrada
password_digest Simples Texto 255 Senha
criptografada
full_name Simples Texto 255 Nome
complete do
usuário
birth_date Simples Data Data de
nascimento
status Multivalorado Numérico 11 Status da
conta (0 –
aberta, 1 –
bloqueada, 2
– em
recuperação
de senha)
last_access_timestamp Simples Data Data e hora
do ultimo
acesso do
usuário
74

created_at Simples Data Data da


criação do
parâmetro
updated_at Simples Data Data da
última
atualização do
parâmetro
confirmation_token Simples Texto 255 Token de
confirmação
da conta
confirmed_at Simples Data Data de
confirmação
da conta
reset_token Simples Text 255 Token de
reset de senha
reset_token_sent_at Simples Data Data do envio
do token
admin Multivalorado Numérico 1 Indica se o
usuário é
administrador
ou não

ENTIDADE – audit_logins
Atributo Classe Domínio Tamanho Descrição
account_id Determinante Numérico 11 Número da
conta do
usuário
ip_addr Simples Texto 255 Endereço do
IP do acesso
do usuário
timestamp Simples Data Data e hora
do acesso
agent Simples Texto 255 Informações
sobre o agente
de acesso

ENTIDADE – shared_emails
Atributo Classe Domínio Tamanho Descrição
email Determinante Texto 255 Endereço de
email que terá
permissão de
visualizar o
document
compartilhado
document_id Determinante Numérico 11 Número do
documento
compartilhado
75

Obs.: A entidade “schema_migrations” foi omitida por fazer parte apenas da estrutura interna
do framework Ruby on Rails. Seu propósito é apenas de manter um controle das migrações
(alterações em banco de dados) da aplicação.

5.3.1. Tabela dos índices

O campo ID de cada tabela já possui o índice, pois é a chave primária de cada


uma.

Tabela Campo Observação


document_attachments document_id Índice B-Tree normal
Documents name Índice B-Tree normal
account_id Índice B-Tree normal
issue_date Índice B-Tree normal
expiration_date Índice B-Tree normal
system_parameters name Índice B-Tree normal com a
opção UNIQUE KEY
space_usage_histories account_id Índice B-Tree normal
operation Índice B-Tree normal
Accounts username Índice B-Tree normal
birth_date Índice B-Tree normal
status Índice B-Tree normal
audit_logins account_id Índice B-Tree normal
timestamp Índice B-Tree normal
shared_emails shared_email Índice B-Tree normal
document_id Índice B-Tree normal
76

6.1.2. Front-end
Para a apresentação, utilizamos HTML5 com CSS3, além do uso do JQuery.
Também utilizamos o Twitter Bootstrap para reutilizar elementos (tags e definições CSS) já
formatados, com a intenção de proporcionar um design mais limpo e agradável ao usuário. O
uso do Twitter Bootstrap ainda proporciona um design responsivo, para o propósito de leitura
em outros dispositivos, como smartphones e tablets.

6.1.2. Bibliotecas adicionais


O Ruby possui um repositório de biblioteca, o RubyGems, que possui milhares
de código reutilizável, acelerando o processo de desenvolvimento de aplicativos, pois assim,
não precisamos desenvolver algo que já está pronto.
Para a aplicação, utilizamos as seguintes “gems” (termo utilizado para
representar uma biblioteca do Ruby):

GEM DESCRIÇÃO VERSÃO


sqlite3 Adapator do banco de dados 1.3.9
SQLite3
will_paginate Paginação de resultset 3.0.5
Chartkick Gráficos em JavaScript 1.2.4
date_validator Validador de data em 0.7.0
formulários HTML
sass-rails Integração do SASS com o 4.0.0
Rails
bootstrap-sass Versão SASS do Twitter 3.1.1
Bootstrap
Uglifier Wrapper para o UglifyJS 1.3.0
coffee-rails Adaptador CofeeScript para 4.0.1
Rails asset pipeline
jquery-rails jQuery para Rails 3.1.0
Jbuilder Cria estruturas JSON, 1.2
quando necessário
jquery-inputmask-rails Máscaras em JQuery para 2.55
formularios
bcrypt-ruby Geração de senha 3.0.0
criptografada
Paperclip Upload de arquivos para 4.1.1
Rails
jquery-ui-rails Biblioteca útil em Jquery 4.2.1
para Rails

As “gems” estão disponíveis em https://rubygems.org.

6.2. Listagem e descrição do ambiente que utilizará as tecnologias


77

Todo o sistema foi desenvolvimento e testado em plataforma Apple, OSX


10.9.2, porem, podemos assumir que o ambiente produtivo, pode ser qualquer outro, desde que
atenda os pré-requisitos para a instalação do Ruby on Rails 4 e Ruby 2.1.
O banco de dados pode ser escolhido de acordo com a necessidade e até ser
hospedado em um ambiente diferente do da aplicação.
Como um ambiente inicial, podemos empregar o seguinte:

PLATAFORMA ARQUITETURA SISTEMA OPERACIONAL


Linux 32 ou 64 bits Qualquer sistema operacional Linux que
suporte a instalação do Ruby on Rails 4 e
Ruby 2.1

Não existem necessidades especiais a respeito de configurações de rede,


armazenamento ou segurança, com ressalva apenas para disponibilizar espaço suficiente em
disco para a aplicação, referente aos arquivos que serão enviados pelos usuários.

6.3. Arquitetura de implementação (modelo em camadas)


A aplicação foi desenvolvida no modelo MVC, e, com a forte definição dessas
camadas no framework Ruby on Rails, temos uma separação limpa e bem definida do código.
A camda “M”, de “modelo”, contém todo o código responsável por se
comunicar com a persistência, podendo ser em um banco de dados ou não. Está armazenado no
diretório “app/model” da estrutura da aplicação.
Já a camada “C”, de “controle”, o maestro, que orquestra todas as requisições
feitas à aplicação. Ela é uma espécie de camada intermediária entre o “M” e o “V”, de “view”.
Está localizado no diretório “app/controller” da estrutura da aplicação.
Na “V” de visualização, está contida apenas o código referente à visualização
dos recursos solicitados. É praticamente feito de HTML e está localizado no diretório
“app/view” da estrutura da aplicação.
No framework Rails, um importante componente para “fazer tudo funcionar”, é
chamado de Active Dispatcher. Ele utiliza a requisição via URL para identificar os recursos
solicitados e através de chamadas aos controles, identificar o que deve ser feito: leitura,
gravação, alteração ou exclusão.
Abaixo, um gráfico exemplificando a arquitetura MVC implementada no Rails:
78

Figura 67 – Gráfico da Arquitetura MVC no Rails.

Há um uso extensivo de rotas de URL no Ruby on Rails, pois através destes, é


que a aplicação é utilizada. Por exemplo, se você acessar a URL
http://meusite.com/documento/23, você está dizendo ao Rails para procurar pelo recurso
“documento”, com ID 23, ação “show” (exibir). Existem rotas altamente complexas que é
utilizada para exibir, por exemplo, recursos aninhados ou coleções.
79

6.4. Diagrama de Implantação

Figura 68 – Diagrama de Implantação.


80

7. PROJETO DE INTERFACES
7.1. Telas
7.1.1. Tela Inicial

Figura 69 - Tela Inicial

7.1.2. Tela de Cadastro de Usuário

Figura 70 - Tela de Cadastro de Usuário


81

7.1.3. Tela de Login

Figura 71 - Tela de Login

7.1.4. Tela Visualizar arquivo compartilhado

Figura 72 - Tela Visualizar arquivo compartilhado


82

7.1.5. Tela Adicionar Documento

Figura 73 - Tela Adicionar Documento

7.1.6. Tela Meus Documentos

Figura 74 - Tela Meus Documentos


83

7.1.7. Tela Visualizar Documento

Figura 75 - Tela Visualizar Documento

7.1.8. Tela administração de usuários


84

Figura 76 - Tela administração de usuários


7.1.9. Tela editar documento

Figura 77 - Tela editar documento

7.1.10. Tela editar conta - perfil


85

Figura 78 - Tela editar conta - perfil


7.1.11. Tela administração de usuários

Figura 79 - Tela administração de usuários

7.1.12. Tela Relatórios

Figura 80 - Tela Relatórios


86

7.1.13. Tela visualizar perfil

Figura 81 - Tela visualizar perfil

7.1.14. Uso do Espaço

Figura 82 – Uso do Espaço


87

7.1.15. Tela de documentos compartilhados

Figura 83 - Tela de documentos compartilhados

7.1.16. Tela descrição de documentos e compartilhamento e anexar

Figura 82 - Tela descrição de documentos e compartilhamento e anexar


8. REFERÊNCIAS TEÓRICAS
88

8.1. Documento de visão


O documento de visão é um relato resumido com os principais tópicos que o
negócio a ser automatizado deve fornecer. Normalmente, ele faz parte do contrato de
desenvolvimento de software (MEDEIROS, 2004). Desta forma, foram colocados aspectos de
tecnologia, bem como levantamento dos requisitos para o sistema. Neste documento contém as
especificações dos autores do sistema.

8.2. UML
UML (Linguagem de Modelagem Unificada) é uma linguagem visual utilizada
para modelar sistemas computacionais por meio do paradigma de Orientação á objetos,
utilizada para especificar, construir e documentar um sistema de software. Nos últimos anos,
essa linguagem tornou-se padrão de modelagem de software adotada internacionalmente pela
indústria de Engenharia de Software (GUEDES, 2009).

8.3. Modelos de Negócio


A modelagem de negócios é utilizada quando temos processos organizacionais
que devem ser bem compreendidos na sua essência antes de se construir o sistema.
Representam, por meio dos diagramas de UML, os processos de negócio e suas regras, as
entidades do negócio e seus relacionamentos (MARTINS, 2010).

8.4. Diagrama de Atividades


Um diagrama de atividades da UML determina uma sequência de atividades,
sendo uma das suas vantagens a possibilidade de explicar a ocorrência de paralelismo das
atividades, tornando-se uma boa técnica de modelagem de fluxo de trabalho. Descreve os
passos a serem percorridos para a conclusão de um método. Este diagrama mostra uma
sequência de estados e eventos, e se aplica na descrição de um processo que transcende uma
classe, envolvendo estados de outras classes (SBROCCO, 2011).

8.5. Diagrama de Domínio


Podemos definir o diagrama de domínio em uma ilustração de classes
conceituais (ou objetos de domínio). Trata-se de uma perspectiva conceitual de objetos em uma
situação real do mundo. Ele nos auxilia na compreensão dos termos e conceitos, bem como
89

seus relacionamentos. O escopo do modelo de domínio é limitado pelos cenários descritos no


caso de uso (SYLVERIO, 2009).

8.6. Modelo de Análise


O intuito do modelo de análise é fornecer uma descrição de domínios de
informação, funcional e comportamental necessários para um sistema baseado em
computadores. O modelo se modifica dinamicamente à medida que aprende mais sobre o
sistema a ser construído e outros interessados adquirem um melhor entendimento sobre aquilo
que eles realmente querem. O modelo de análise é uma representação das necessidades em um
determinado momento (PRESSMAN, 2011).

8.7. Diagrama de Caso de Uso


Este é o diagrama mais geral e informal da UML, utilizado normalmente nas
fases de levantamento e análise de requisitos do sistema. Apresenta uma linguagem simples e
de fácil compreensão para que os usuários possam ter uma idéia geral de como o sistema irá se
comportar. Procura identificar os atores que utilizarão de alguma forma o software, bem como
os serviços, ou seja, as funcionalidades que o sistema disponibilizará aos atores, conhecidas
neste diagrama (GUEDES, 2007). Um dos principais objetivos é facilitar a comunicação entre
os usuários e os desenvolvedores do sistema, modelando apenas os aspectos essenciais do
mesmo, não sendo apropriado para modelar o fluxo de trabalho do sistema.

8.8. Diagrama de Sequência


O diagrama de sequência mostra a interação entre os objetos em uma
determinada situação, contém um conjunto de objetos de diferentes classes, seu objetivo é
descrever as comunicações necessárias entre os objetos para a realização de todos os processos
do sistema.
O Diagrama de sequência é uma ferramenta importante no projeto de sistemas
orientados a objetos. Embora a elaboração dos diagramas possa consumir um tempo
considerável para sistemas maiores ou mais complexos, eles oferecem a seguir as bases para a
definição de uma boa parte do projeto como: os relacionamentos necessários entre as classes,
métodos e atributos das classes e comportamento dinâmico dos objetos (MACORATTI, 2009).

8.9. Diagrama de Classes


90

O Diagrama de classes é o mais utilizado na UML, servindo de apoio para a


maioria dos outros diagramas. Este diagrama define a estrutura das classes utilizadas pelo
sistema, determinando os atributos e métodos possuídos por cada classe, além de estabelecer
como as classes se relacionam e trocam informações entre si. (GUEDES, 2007).
Descreve os tipos de objeto do sistema e os vários tipos de relacionamento entre eles. É o
diagrama mais comum na modelagem de sistema orientado a objetos e se destina a modelagem
da visão estática do sistema (BOOCH et al., 1999).

8.10. Modelagem de Dados


Modelagem de dados é uma descrição das informações que estão armazenadas
em um banco de dados, sendo a especificação estruturada de dados de um banco de dados
(REZENDE, 2005). Esta modelagem é de vital importância para o bom resultado do projeto e
consiste em planejar o sistema de informações, centralizando nas entidades lógicas e nas
dependências lógicas entre essas entidades.
As ferramentas da modelagem de dados dão a capacidade de representar objeto de dados, suas
características e seus relacionamentos. Fornecem um meio automatizado para criar diagramas
de entidade-relacionamento completos, dicionário de objetos de dados e modelos relacionados
(PRESSMAN, 2011).

8.11. Dicionário de Dados


Um dicionário de dados é uma lista alfabética dos nomes inclusos nos diferentes
modelos do sistema. Além do nome, o dicionário deve incluir uma descrição associada a
entidade citada e, se o nome representar um objeto composto, pode haver uma descrição da
composição. Outras informações, como a data da criação, o criador e representação da
entidade, podem também ser incluídas (SOMMERVILLE, 2005).

8.12. Diagrama de Implantação


O objetivo deste diagrama de implantação, que também é conhecido como
diagrama de execução, é mostrar elementos de configuração do processamento em tempo de
execução, ou seja, uma visão dos componentes do software, processos e dispositivos físicos.
Define a arquitetura do sistema, apresentando uma visão da distribuição dos artefatos da
aplicação pelos nós presentes na topologia de hardware sob o qual o sistema será executado
(SBROCCO, 2011).
91

8.13. A linguagem ruby e suas características


Ruby é uma linguagem de programação interpretada multiparadigma, de tipagem
dinâmica e forte, com gerenciamento de memória automático, originalmente planejada e
desenvolvida no Japão em 1995, por Yukihiro "Matz" Matsumoto, para ser usada
como linguagem de script. (Fonte: WIKIPEDIA, 2014)

8.14. O framework Ruby on Rails


O Ruby on Rails é um framework open-source para desenvolvimento de
aplicações web, criado por David Heinemeier Hansson. Ruby on Rails foi uma extração
de David Heinemeier Hansson de um projeto seu, o gerenciador de projetos Basecamp. Foi
lançado a público pela primeira vez em 2003. O Rails é um "meta-framework" (ou seja,
um framework de frameworks), composto pelos seguintes frameworks: Active Record, Action
Pack, Action Mailer, Active Support e Action WebServices.
Ruby on Rails segue dois conceitos que visam aumentar a produtividade do
desenvolvedor: DRY e Convention over Configuration. (Fonte: WIKIPEDIA, 2014) 

8.15. DRY
DRY (Don't Repeat Yourself, Não se repita) é o conceito por trás da técnica de
definir nomes, propriedades e códigos em somente um lugar e reaproveitar essas informações
em outros. (Fonte: WIKIPEDIA, 2014)

8.16. Convention over Configuration


Convention over conaguration, ou convenção à configuração: ao invés de
configurar um conjunto de arquivos XML, por exemplo, adota-se a convenção e apenas muda-
se o que for necessário.
92

9. CONCLUSÃO
O desenvolvimento do software proposto como trabalho de conclusão de curso
nos proporcionou visualizar, por meio de uma forma prática, muitos dos conceitos aprendidos
durante o decorrer de nossa formação.
A escolha da linguagem Ruby, uma linguagem totalmente orientada a objetos,
nos proporcionou um desenvolvimento de código mais ágil, enxuto e legível. Foram utilizadas
muito menos linhas de códigos do que usaríamos se tivéssemos utilizado o PUP, por exemplo.
A diagramação do projeto nos proporcionou uma excelente visão do ambiente
desejado, o que facilitou sobremaneira o desenvolvimento do sistema.
Não sentimos muita necessidade de consultas teóricas como um todo.
Percebemos que recorrendo a arquivos e teorias disponibilizadas em aulas de semestres
anteriores, era possível o desenvolvimento do trabalho.
Contudo, o que realmente fez a diferença para nosso progresso foram as
experiências adquiridas por meio das aulas práticas realizadas em laboratório.
Em relação ao tema escolhido, percebemos que, por vezes, pessoas realizam
manualmente algumas tarefas que apresentariam rendimento muito superior se fossem
auxiliadas por algum software como o DocStr.
Para ilustrar, durante o período de desenvolvimento e testes chegamos a perder
fisicamente um dos documentos utilizados, porém, como já se encontrava na base de dados do
sistema, pôde ser facilmente recuperado.
Com sua utilização, percebemos que o software pode ser ampliado, que várias
funcionalidades poderão ser futuramente implementadas, o que de fato é bom e necessário,
visto que necessidades de usuários são mutáveis.
93

10. REFERÊNCIAS BIBLIOGRAFICAS

MEDEIROS, Ernani. Desenvolvendo Software com UML 2.0. São Paulo, 2004.

MACORATTI, José. UML 3. Disponível em: <http://www.macoratti.net/net_uml3.htm>.

PRESSMAN, Roger. Engenharia de Software Uma Abordagem Profissional. São Paulo, 2011.

REZENDE, Denis. Engenharia de Software e Sistemas de Informação. Rio de Janeiro, 2005.

SOUZA, Lucas. Ruby – aprenda a programar na linguagem mais divertida. São Paulo, 2014.

FUENTES, Vinícius. Ruby on Rails coloque sua aplicação web nos trilhos. São Paulo, 2014.

MAZZA, Lucas. HTML5 e CSS3 domine a web do futuro. São Paulo, 2014.

FLANAGAN, David; MATSUMOTO Yukihiro. The Ruby Programming Language. Newton,


2008.

Você também pode gostar