Escolar Documentos
Profissional Documentos
Cultura Documentos
PALHOÇA
2014
EDUARDO CLAUMANN NEIS
PALHOÇA
2014
EDUARDO CLAUMANN NEIS
Agradeço a minha família, por estar sempre presente em minha vida, pelo amor,
apoio e compreensão.
Aos meus pais Adilso e Eliziana e namorada Juliana, pelo exemplo, amizade,
carinho e apoio.
A todos os professores, especialmente ao professor Jean Hauck, pelo auxilio na
realização deste trabalho.
E também, a todos amigos e colegas que de alguma forma ajudaram na
conclusão desta minha etapa
“Tente uma, duas, três vezes e se possível tente a quarta, a quinta e quantas vezes for
necessário. Só não desista nas primeiras tentativas, a persistência é amiga da conquista.
Se você quer chegar aonde à maioria não chega, faça o que a maioria não faz.”.
(Bill Gates).
RESUMO
1. INTRODUÇÃO ..................................................................................................... 15
1.1. PROBLEMÁTICA .............................................................................................. 17
1.2. OBJETIVOS ........................................................................................................ 18
1.2.1. Objetivo Geral ................................................................................................ 18
1.2.2. Objetivos Específicos ..................................................................................... 18
1.3. JUSTIFICATIVA .................................................................................................. 18
1.4. ESTRUTURA DA MONOGRAFIA ...................................................................... 19
2 REVISÃO BIBLIOGRÁFICA ............................................................................. 21
2.1 ENGENHARIA DE SOFTWARE ...................................................................... 21
2.1.1 Surgimento da Engenharia de Software ...................................................... 23
2.1.2 Porque usar engenharia de Software? ......................................................... 24
2.2 ARQUITETURA E MODELOS DE SOFTWARE ............................................ 24
2.2.1 Arquitetura de Software................................................................................ 24
2.2.2 Ciclo de Vida do Software ............................................................................. 25
2.2.3 Modelos de ciclo de vida do software ........................................................... 25
2.2.3.1 Modelo Cascata ............................................................................................ 26
2.2.3.2 Modelo Espiral ............................................................................................. 26
2.2.3.3 Modelo Incremental ..................................................................................... 26
2.2.3.4 Modelo Prototipação .................................................................................... 27
2.2.4 Abordagem ICONIX ........................................................................................ 27
2.3 MODELAGEM DE SOFTWARE ...................................................................... 29
2.3.1 Linguagem UML ............................................................................................ 29
2.3.2 Diagramas UML ............................................................................................ 31
2.3.3 Diagrama de Caso de Uso ............................................................................. 33
2.4 FERRAMENTAS DE UML................................................................................ 36
2.4.1 Ferramenta Visio ........................................................................................... 37
2.4.2 Ferramenta Dia .............................................................................................. 38
2.4.3 Ferramenta Enterprise Architect ................................................................. 39
2.4.4 Draw.io ............................................................................................................ 40
2.5 JUSTIFICATIVA DA SELEÇÃO DA FERRAMENTA ................................... 41
3 METODOLOGIA ................................................................................................. 43
3.1 CARACTERIZAÇÃO DO TIPO DE PESQUISA .............................................. 43
3.2 ETAPAS METODOLÓGICAS ........................................................................... 44
3.3 PROPOSTA DE SOLUÇÃO............................................................................... 44
3.4 DELIMITAÇÕES ................................................................................................ 47
4 MODELAGEM DA PROPOSTA DE SOLUÇÃO ........................................... 48
4.1 ATORES.............................................................................................................. 48
4.2 REQUISITOS FUNCIONAIS ............................................................................. 49
4.3 REQUISITOS NÃO FUNCIONAIS ................................................................... 51
4.4 DIAGRAMA DE CASO DE USO ...................................................................... 52
4.5 DIAGRAMA DE DOMÍNIO .............................................................................. 55
4.6 DIAGRAMA DE ROBUSTEZ ........................................................................... 56
4.7 DIAGRAMA DE CLASSE ................................................................................. 58
4.8 DIAGRAMA DE SEQUÊNCIA ......................................................................... 59
4.9 CONSIDERAÇÕES FINAIS .............................................................................. 61
5 DESENVOLVIMENTO DA PROPOSTA DE SOLUÇÃO .............................. 62
5.1 TECNOLOGIAS E FERRAMENTAS ............................................................... 62
5.2 HISTÓRICO DE DESENVOLVIMENTO ......................................................... 65
5.3 APRESENTAÇÃO DO SISTEMA ..................................................................... 65
5.4 VALIDAÇÃO OU AVALIAÇÃO DA PROPOSTA .......................................... 74
6 CONCLUSÕES E TRABALHOS FUTUROS ................................................... 78
6.1 CONCLUSÕES ................................................................................................... 78
6.2 TRABALHOS FUTUROS .................................................................................. 79
REFERÊNCIAS BIBLIOGRÁFICAS ....................................................................... 80
APÊNDICES ................................................................................................................. 83
APÊNDICE A – DETALHAMENTO DOS CASOS DE USO ................................. 84
APÊNDICE B – PROTÓTIPOS DE TELA ............................................................... 88
APÊNDICE C – CRONOGRAMA ............................................................................. 93
APÊNDICE D – CÓDIGO ........................................................................................... 94
APÊNDICE E – QUESTIONÁRIO ............................................................................ 94
1. INTRODUÇÃO
15
as lideranças e todas precisam ter bem alinhados os objetivos que aquele software
deverá apresentar para se colocar em prática o desenvolvimento do mesmo.
Nesse sentido, “sabe-se que uma organização deve operar como uma
unidade, com todas as suas partes em eficiente coordenação e um permanente processo
sinérgico entre seus membros”. (MOGGI, 2011).
Assim, para que não haja esforços desnecessários e dinheiro mal investido,
faz-se necessário fazer um levantamento completo e detalhado do cenário atual,
entender o objetivo para o qual o software será empregado, alinhar ideias e pensamentos
de lideranças, fazer um mapeamento, caso o projeto já esteja em andamento, ou modelar
todos os processos do início, para o desenvolvimento do software.
Segundo Vieira (2014), os softwares têm falhas próprias e específicas, mas
todos os projetos são semelhantes em diversos aspectos. Um dos elementos que
contribuem para o sucesso de um software é a realização de uma fase de modelagem no
seu desenvolvimento, que será amplamente abordada neste trabalho.
Segundo a SWEBOK1 (2013, tradução nossa), a modelagem fornece ao
engenheiro de software uma abordagem organizada e sistemática da representação dos
aspectos significativos do software, facilitando estudos, tomadas de decisão sobre o
software e a comunicação entre stakeholders sobre essas decisões.
A modelagem é uma parte central de todas as atividades que levam à
implantação de um bom software. (BOOCH; RUMBAUGH, JACOBSON. 2000. p. 3).
Se bem utilizada, ela pode reduzir alguns dos maiores riscos de qualquer projeto de
software, que são a qualidade da entrega e o tempo previsto.
Para estruturar este trabalho, será utilizada a modelagem mais empregada
atualmente, a Unified Modeling Language (UML) 2, uma linguagem não proprietária
que dispensa licenças para usar, permite modelar sistemas orientado a objetos, cuja
visualização dos diagramas, dependendo da ferramenta, ocorre de maneira prática,
facilitando a comunicação entre as pessoas.
1
O Software Engineering Body of Knowledge (SWEBOK) é um guia usado como referência para
assuntos relacionados à Engenharia de Software. Está disponível no endereço: <
http://www.computer.org/portal/web/swebok>.
2
A Unified Modeling Language (UML) é uma forma de padronizar as linguagens de modelagem. Está
disponível no endereço: <http://www.omg.org/spec/UML/2.4.1/>
16
1.1. PROBLEMÁTICA
17
1.2. OBJETIVOS
1.3. JUSTIFICATIVA
18
seguinte endereço:
http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools, entretanto
seus usos são limitados a computadores locais. Por isso, justifica-se a necessidade desse
presente trabalho, para dar apoio à modelagem dos diagramas de caso de uso através da
web com integração a ferramentas desktop.
A criação dessa ferramenta web, batizada como “UML Discovery”, surgiu
da necessidade de se modelar diagramas de caso de uso através da notação UML para o
desenvolvimento de softwares em locais fora do ambiente corporativo, pois as
ferramentas de mercado atuais não permitem a modelagem via web ou por dispositivos
móveis com a integração a uma ferramenta desktop, o que limita a sua aplicação quando
um analista estiver em campo, quando não tiver acesso a uma ferramenta local ou até
mesmo quando seu uso for restrito.
19
O sexto capítulo é a respeito da conclusão que se consegue obter e os
objetivos atingidos referentes ao desenvolvimento deste trabalho.
20
2 REVISÃO BIBLIOGRÁFICA
21
simplificação, devido à enorme disponibilidade de ferramentas úteis para seu
desenvolvimento.
Nesse sentido, de acordo com Sommerville (2003), a Engenharia de Software
(ES) é responsável em todos os ângulos pela produção do software, ou seja, desde os
estágios iniciais até a fase de manutenção desse sistema.
De acordo com Pressman (2011), a ES é dividida em camadas, incluindo o
compromisso organizacional com a qualidade. Pode-se dividir então a engenharia de
software em: Métodos, ferramentas, processos e qualidade.
Os métodos resumem em “como fazer” para se construir um software, ou seja,
fornecem informações técnicas de como desenvolver o software. As ferramentas
permitem apoio automatizado ou semi-automatizado aos métodos e os processos são um
conjunto de ações e tarefas que acontecem na criação de algum produto de trabalho,
mantendo os métodos e as ferramentas interligados, possibilitando o desenvolvimento
do software dentro do prazo. Já, a gestão da qualidade promove o aperfeiçoamento
contínuo de processos, mantendo-se como elemento chave na engenharia de software.
A Figura 1, a seguir, mostra as camadas segundo Pressman (2011):
22
2.1.1 Surgimento da Engenharia de Software
De acordo com Harel (1992, apud PETERS; PEDRYCZ, 2001, p. 07), “o desafio
da engenharia de software é encontrar formas de capturar a construção conceitual de
sistemas complexos.”.
23
2.1.2 Porque usar engenharia de Software?
24
2.2.2 Ciclo de Vida do Software
25
2.2.3.1 Modelo Cascata
Este modelo de ciclo de vida foi criado como um somatório das melhores
características do modelo de prototipagem e do modelo em cascata.
26
podem colocá-lo em operação, fazendo com que a funcionalidade melhore a cada fase
de entrega.
O modelo incremental “tem seu foco voltado para a entrega de um produto
operacional com cada incremento. Os primeiros incrementos são versões seccionadas do
produto final, mas eles realmente possuem capacidade para atender ao usuário e
também oferecem uma plataforma para avaliação do usuário.”. (PRESSMAN, 2011, p.
62).
27
o sistema deste presente trabalho, pois permite modelar e desenvolver o software de
forma eficiente.
A Figura 2, abaixo, aborda os cinco diagramas da UML que a metodologia
ICONIX utiliza, são eles: os diagramas de domínio, de caso de uso, robustez, sequência
e classe.
28
2.3 MODELAGEM DE SOFTWARE
3
Organização internacional que padroniza assuntos pertinentes a aplicações Orientadas a Objetos.
Disponível em:< http://www.omg.org/>
29
Segundo Groffe (2014), “o fato de a UML ser um padrão de grande aceitação no
mercado também se deve, em grande parte, à forte integração desta com conceitos
da Orientação a Objetos (OO).”.
A UML é uma forma de padronizar a modelagem orientada a objetos, facilitando
assim a comunicação com outras aplicações, simplificando os sistemas através da
alteração do nível de complexidade e da compreensão dos processos.
Ela não guia um desenvolvedor em como fazer análise e projeto orientado a
objetos, ou qual o processo de desenvolvimento a ser seguido (LARMAN, 1999). Ela
serve como facilitador para o desenvolvedor, diminuindo os riscos de um software que
não atenda às necessidades do usuário final.
A UML apresenta como principais objetivos a visualização, a especificação, a
construção e a documentação de um software. A seguir, será apresentado, de forma
resumida, o que cada objetivo representa:
a) Visualizar
b) Especificar
30
c) Construir
d) Documentar
Para Martins (2002), a UML permite criar diversos tipos de diagramas existentes,
cada um com sua função particular, servindo para modelar partes específicas do sistema.
31
Os diagramas são representações gráficas de vários tipos de elementos da
modelagem, ou seja, são criadas perspectivas para auxiliar o entendimento do modelo.
Na versão 2.4.1, disponível no endereço: http://www.omg.org/spec/UML/2.4.1/,
existem quatorze diagramas de modelagem, sendo divididos em três grupos: Estruturais,
Comportamentais e de Interação, conforme a Figura 3 a seguir.
32
Embora existam 14 diagramas na versão do UML 2.4.1, para este presente
trabalho será dado ênfase apenas no de diagramas de caso de uso, pois são esses
diagramas que estarão presentes na ferramenta web para modelagem.
Para Martins (2002, p. 90), os diagramas de caso de uso têm por finalidade
buscar tudo que é relacionado aos requisitos funcionais de um sistema, através da
validação com o usuário final.
Os diagramas de caso de uso são considerados “representações das
funcionalidades externamente observáveis do sistema e dos elementos externos ao
sistema que interagem com ele.” (BEZERRA, 2003, p. 45).
Segundo Booch, Rumbaugh e Jacobson (2000, p. 217), os casos de uso também
servem para “ajudar a validar a arquitetura e para verificar o sistema à medida que ele
evolui durante seu desenvolvimento.”.
Assim, esses diagramas têm como grande finalidade modelar o que o sistema
deve fazer, do ponto de vista do usuário, envolvendo um conjunto de casos de uso e
atores. Seu entendimento é simples, fazendo com que a riqueza dos detalhes seja
dispensável, tornando-se o diagrama mais utilizado entre o usuário final e os
desenvolvedores.
A seguir, são apresentados os conceitos de Caso de Uso, atores e os
relacionamentos estabelecidos entre eles:
a) Caso de Uso
33
Para Jacobson (1992, apud LARMAN, 1999, p. 68), o caso de uso é “um
documento narrativo que descreve a sequência de eventos de um ator que usa um
sistema para completar um processo.”.
O caso de uso é considerado uma funcionalidade que o ator (usuário) irá realizar
no sistema. A seguir, é apresentada qual a finalidade do ator sobre um diagrama de caso
de uso.
b) Ator
c) Relacionamento
1) Generalização
Segundo Blaha e Rumbaugh (2006, p. 155), um relacionamento por
generalização “pode mostrar variações específicas em um caso de uso mais geral, de
forma análoga à generalização entre casos de uso”.
34
Uma generalização é um relacionamento entre itens considerados classes-mãe e
tipos mais específicos desses itens, que são chamados de classes-filhas. (BOOCH;
RUMBAUGH, JACOBSON. 2000. p. 63).
Para Bezerra (2003), um relacionamento de generalização é evidente o reuso.
Este relacionamento pode ser feito entre atores ou entre casos de uso, e tem
características de herdar atribuições do mais genérico. É usado como herança entre
casos de uso, quando um comportamento mais genérico é adicionado a um mais
específico.
2) Inclusão
Para OMG (2011, p. 604, tradução nossa), um relacionamento de inclusão
“define que um caso de uso contém o comportamento definido em outro caso de uso.”.
Para Bezerra (2003), o relacionamento de inclusão está atribuído somente aos
casos de uso. Esse relacionamento serve para agrupar dois ou mais casos de uso que
incluem uma sequência comum e que podem ser descritas a outros casos de uso.
Um relacionamento de inclusão é entendido que o comportamento de um caso
de uso é incluído a partir de outro. São usados normalmente para evitar descrever o
mesmo fluxo de eventos diversas vezes. (BOOCH; RUMBAUGH, JACOBSON. 2000).
Um relacionamento de inclusão é usado quando o mesmo comportamento se
repete mais de uma vez em um caso de uso.
Segundo Blaha e Rumbaugh (2006, p. 153), a relação include “incorpora um
caso de uso dentro da sequência de comportamento de outro caso de uso. Um caso de
uso Include é como uma sub-rotina”.
3) Extensão
Para a OMG (2011, p. 601, tradução nossa), esse relacionamento “especifica que
o comportamento de um caso de uso pode ser estendido pelo comportamento de outro
(geralmente suplementar) do caso de uso”.
Para Booch, Rumbaugh e Jacobson (2000. p. 226), um relacionamento de
extensão entre casos de uso “significa que o caso de uso base incorpora implicitamente
o comportamento de outro caso de uso em um local especificado indiretamente pelo
caso de uso estendido.”.
Para Bezerra (2003), um relacionamento de extensão é usado para modelar
sequências de interação que podem ser inseridas ao caso de uso.
35
Segundo Martins (2002), o relacionamento extend modifica apenas alguns
passos estendidos do mesmo, ou seja, somente o caso de uso estendido de outro
modificará em partes. É usado quando um comportamento opcional de um caso de uso
precisar ser usado.
Para o apoio desta sessão e para seleção das ferramentas foi colocado como
pesquisa no Google o assunto “UML Tools” e o endereço que possui uma grande lista
de ferramentas para modelagem UML atualizadas é:
http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools. Como a lista
das ferramentas está organizada em ordem alfabética, não foram usados critérios por
ordem de posicionamento, sendo assim, foi tentado selecionar as ferramentas, usando
critérios por facilidade na busca das informações e disponibilidade para pesquisas.
36
Engenharia de Software ou Computer-Aided Software Engineering (CASE). Os critérios
para seleção dessas ferramentas foi na facilidade da obtenção de informações e na
disponibilidade para pesquisas, conseguindo dessa forma diversificar bastante o
potencial de cada ferramenta escolhida. Dentre as diversas características das
ferramentas selecionadas, destacam-se softwares bem estabelecidos no mercado, com
ferramentas pagas, ferramentas gratuitas e disponíveis para download e ferramentas
web, que tem grande proximidade e relação com a proposta do presente trabalho.
Embora seja uma ferramenta paga, sua utilização é extremamente fácil pelo
simples fato da sua interface ser bem organizada, o que compensa seu custo x benefício
na hora de adquiri-la. Segundo a Microsoft (2014), esse programa tem ajudado diversos
usuários a simplificar informações que antes eram complexas por meio de diagramas
simplificados e fáceis de entender. A Figura 4, a seguir, ilustra a interface da
ferramenta.
4
Licença que garante a liberdade de compartilhamento e modificação o software livre. Está disponível no
endereço: <https://www.gnu.org/>
5
Apresentação da ferramenta Visio, disponível no endereço da Microsoft:
<http://office.microsoft.com/pt-br/visio/>.
6
Site do fabricante da Ferramenta Visio, disponível em: < http://www.microsoft.com/pt-
br/default.aspx>.
37
Figura 4 - Interface da ferramenta Microsoft Visio 2010
Fonte: Microsoft.
7
Disponível para download no seguinte endereço: < http://sourceforge.net/projects/dia-installer/>
8
Repositório de software livre na web.
38
criação dos diagramas UML com a implementação da lógica. A Figura 5, a seguir,
ilustra a interface da ferramenta.
Fonte: Dia.
39
de software; modelagem de processos de negócio até a geração de códigos em Java, C#,
C++, Python entre outros.
Segundo a Sparx Systems, a ferramenta que atualmente está na versão 11, é
baseada em padrões abertos, como na linguagem UML, BPMN e SysML. Possui
recursos avançados de simulação, ferramentas de teste, controle de versão,
gerenciamento de requisitos, análise e processamento de modelos. A interface do EA
pode ser vista na Figura 6 a seguir.
2.4.4 Draw.io
11
Disponível para uso no seguinte endereço: <https://www.draw.io/>
40
Essa ferramenta, que necessita somente de uma conexão com a internet, é
gratuita e apresenta particularidades que se assemelham com o presente trabalho, pois é
uma solução de modelagem web, entretanto não faz a integração dos desenhos da
modelagem com a ferramenta desktop Enterprise Architect (EA), que será a proposta no
decorrer deste projeto.
A ferramenta apresenta uma interface simples e faz com que se torne de alta
usabilidade, permitindo ainda a exportação de formatos .JPG e .PNG. A interface do
draw.io pode ser vista na Figura 7 a seguir.
41
Os critérios de seleção foram de acordo com as características oferecidas pela
ferramenta, como usabilidade, eficiência, confiabilidade, custo benefício, por ser uma
ferramenta que preenchia os critérios atuais para modelagem UML, pelo fato de ser de
domínio do orientador e, sobretudo, maior conhecimento dos autores.
42
3 METODOLOGIA
Demo (1996, p. 34, apud SILVA; MENEZES, 2005, p. 19) descreve a pesquisa
como uma “atividade cotidiana, considerando-a como uma atitude, um questionamento
sistemático crítico e criativo, mais a intervenção competente na realidade, ou o diálogo
crítico permanente com a realidade em sentido teórico e prático.”.
As pesquisas são classificadas de diversas formas, mas principalmente pela sua
natureza e sobre um ponto de vista para abordagem do problema. Assim, para o presente
trabalho, será estudada a pesquisa aplicada como natureza e a pesquisa qualitativa como
forma de abordagem do problema.
Segundo Silva e Menezes (2005), a pesquisa aplicada tem como objetivo obter o
conhecimento para a prática e para solução de problemas específicos.
Quanto à classificação do ponto de vista da forma de abordagem, a pesquisa
qualitativa será utilizada por não usar recursos e métodos estatísticos, fazendo com que
o pesquisador analise seus dados indutivamente.
43
3.2 ETAPAS METODOLÓGICAS
Para a sequência deste presente trabalho, foi necessário dividir, em etapas, todos
com o mesmo grau de importância, para que o objetivo final conseguisse ser alcançado.
A seguir, serão apresentadas, resumidamente, as etapas propostas para o
desenvolvimento:
44
sua compreensão, pois trará um vocabulário específico para cada um. Nesse caso, será
usada a UML, pois, além de ser uma linguagem de padronização da modelagem, é
também de grande aceitação no mercado.
A proposta de solução para o presente trabalho tem por objetivo desenvolver um
sistema web que faça a modelagem de diagramas de caso de uso, utilizando a linguagem
UML, contando com uma arquitetura de software que busque auxiliar quem precisa
modelar diagramas fora de ambientes desktops, tornando-se dessa forma prático e com
maior disponibilidade.
A modelagem será possível fazer através de navegadores, sendo indispensável
então o uso da internet. Após a modelagem, o usuário poderá fazer a integração com a
ferramenta desktop EA. O usuário também poderá optar por fazer a modelagem dos
diagramas via desktop que será sincronizada com o sistema web, integrando com
ambientes web e locais.
A Figura 8, a seguir, ilustra em alto nível a arquitetura tecnológica da solução
que será disponibilizada para o usuário.
46
3.4 DELIMITAÇÕES
47
4 MODELAGEM DA PROPOSTA DE SOLUÇÃO
4.1 ATORES
48
A Figura 10, a seguir, apresenta a hierarquia entre os atores.
49
Figura 11 - Requisitos Funcionais
50
4.3 REQUISITOS NÃO FUNCIONAIS
51
Quadro 3 - Lista de requisitos não funcionais do sistema proposto
REQUISITO NÃO DESCRIÇÃO
FUNCIONAL
(RNF)
RNF001 Deve ser possível acessar o sistema via web.
RNF002 O sistema deve ser compatível com o navegador Google Chrome, versão
37.
RNF003 Sistema deve executar em servidor Windows com .NET Framework 4.5.
RNF004 Sistema deve usar banco de dados SQL Serve Express 2014
RNF005 Em caso de problema de conexão, a ferramenta executa o rollback da
operação.
Para Bezerra (2003), os diagramas de caso de uso são visões externas do sistema
em que se tem um relacionamento representado por: Atores, casos de uso e
relacionamento entre eles.
Na opinião de Booch, Rumbaugh e de Jacobson (2000), “Os casos de uso podem
ser aplicados para captar o comportamento pretendido do sistema que está sendo
desenvolvido, sem ser necessário especificar como esse comportamento é
implementado.”.
A Figura 13, a seguir, apresenta os diagramas de caso de uso provenientes dos
requisitos funcionais e dos requisitos não funcionais, que se encontram nos itens 4.2 e
4.3, respectivamente.
52
Figura 13 - Diagramas de caso de uso
Criar
54
do EA
17. Sistema se conecta com o banco de dados do EA
Exceção: 17a. Erro de conexão do banco de dados do EA
18. Sistema salva no banco do EA
19. Sistema exibe mensagem de sucesso
Excluir
55
Figura 14 - Diagrama de Domínio
56
Figura 15 - Diagrama de Robustez
57
4.7 DIAGRAMA DE CLASSE
58
4.8 DIAGRAMA DE SEQUÊNCIA
59
Figura 17 - Diagrama de Sequência
60
4.9 CONSIDERAÇÕES FINAIS
61
5 DESENVOLVIMENTO DA PROPOSTA DE SOLUÇÃO
62
Figura 18 - Tecnologias utilizadas
63
definição de apresentação de elementos de melhorar a visualização da
uma página web. Sua maior vantagem é aplicação.
efetuar a separação entre o formato e o
conteúdo da página.
Microsoft Visual Microsoft Visual Studio, é uma IDE que A IDE auxilia no
Studio 2013 proporciona desenvolver aplicativos para a desenvolvimento da aplicação,
plataforma Microsoft .NET, também podendo proporcional muita
utilizada para criação e gerenciamento do agilidade.
banco de dados SQL Server.
Microsoft SQL Server É o principal serviço para processamento, A escolha se deu pela
2008 segurança e armazenamento de dados. compatibilidade com o
Enterprise Architect e .NET
Framework.
Enterprise Architect A ferramenta desenvolvida pela Sparx Principal ferramenta que faz a
System, a ferramenta permite o integração entre web/desktop.
desenvolvimento da modelagem UML. A
ferramenta foi utilizada para a modelagem
do sistema e a própria integração.
Visual Studio Online Se trata de um repositório que faz o Para controle e segurança do
controle e versionamento do código fonte, o nosso projeto, todo o código
seu uso é grátis até 5 usuários e seu serviçofonte ficou armazenado nesse
fica na nuvem. repositório, a escolha por essa
ferramenta foi por conta da sua
integração com o Visual Studio
e a facilidade de administrar.
Bolsamiq Mopckups Software proprietário de prototipação de Foi usado para modelar os
tela. Serve para modelar interfaces desktop, protótipos que se encontram no
web e mobile. apêndice B.
Fonte: Os autores, 2014.
64
5.2 HISTÓRICO DE DESENVOLVIMENTO
65
primeiro acesso, será possível escolher as opções de navegação do site, as opções de
projeto e diagrama só serão exibidas após o usuário realizar o login.
Para usuários que não possuem Login, o sistema permite fazer o cadastro de
novos usuários. O preenchimento de todos os campos é obrigatório, caso o usuário tente
registrar sem o preenchimento completo do formulário, o sistema bloqueia a ação e
exibe as mensagens para orientar o usuário. Quando o cadastro for realizado com
sucesso, o usuário já fica conectado ao sistema, a funcionalidade será representada na
Figura 20 a seguir com a interface do sistema pode ser comparado ao protótipo que se
encontra no Apêndice B – TEL001 – Formulário de Usuário.
66
Figura 20 - Tela para cadastrar usuário
A Figura 21 a seguir deve servir aos usuários que já possuem acesso, bastando
preencher o formulário com o login e senha correta para se conectar ao sistema. A
Figura 21 com a interface do sistema pode ser comparado ao protótipo que se encontra
no Apêndice B – TEL008 - Confirmar Operação.
67
Figura 21 - Tela Fazer Login
68
Figura 22 - Tela Selecionar Projeto
69
Figura 23 - Tela Projetos Cadastrados
70
Figura 24 - Tela Formulário de Projetos
71
Figura 25 - Tela Lista de Diagramas
72
Figura 26 - Tela Formulário de Diagramas
73
Figura 27 - Tela de modelagem do Caso de Uso.
74
A segunda etapa de validação foi realizada por 5 potenciais usuários da
ferramenta, os quais estão relacionados com o assunto. Esses usuários foram convidados
a testar e avaliar a ferramenta através de um questionário, o qual foi entregue a eles.
Esse questionário foi elaborado com o objetivo de avaliar características
essenciais para o bom funcionamento da ferramenta, como sua consistência, a
eficiência, satisfação, facilidade e a usabilidade. Ao final foi registrado se os usuários
recorreram ajuda aos autores e quais suas críticas ou sugestões.
O questionário aplicado aos usuários dividiu-se em três etapas. A primeira
relacionada a identificação dos usuários, sendo que foram feitas perguntas como suas
funções atuais, idade, formação e cargo. A segunda etapa é responsável por coletar
afirmações, os quais foram divididas em 4 alternativas (1 – Insatisfeito; 2 – Pouco
satisfeito; 3 – Satisfeito; 4 – Muito Satisfeito) e os convidados só poderiam escolher
uma opção. Esta etapa serve para os autores terem percepção da estruturação da
ferramenta, conforme afirmações feitas pelos convidados. O questionário aplicado
encontra-se no apêndice E. A terceira etapa do questionário realizou-se com perguntas
onde as respostas se caracterizavam em forma descritiva, como as críticas e as
sugestões.
As assertivas do questionário dividiram-se em 5 aspectos. A primeira sessão
relaciona-se com a consistência, conforme tabela 1 a seguir:
75
A sessão 2 está relacionada a eficiência, conforme tabela 2 a seguir:
76
A sessão 5 está relacionada a usabilidade, conforme a tabela 5 a seguir:
77
6 CONCLUSÕES E TRABALHOS FUTUROS
6.1 CONCLUSÕES
78
a escrita, o outro se empenhava em estudar as partes técnicas do desenvolvimento da
ferramenta.
A validação da ferramenta foi feita, principalmente, por analistas de sistemas,
estudantes e professores da área. Todos eles têm ou já tiveram certo contato com a
modelagem de diagramas UML. De uma forma geral, pode-se observar que a
ferramenta atende as expectativas e aos objetivos propostos neste trabalho de maneira
satisfatória.
79
REFERÊNCIAS BIBLIOGRÁFICAS
80
OBJECT MANAGEMENT GROUP. Documents Associated With Unified Modeling
Language (UML), V2.4.1. Disponível em: <
http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF> Acesso em: 22 abr. 2014.
81
VIEIRA, Raphael H. Modelagem de software – A importante tarefa na Modelagem
de Objetos no Desenvolvimento de Sistemas. Disponível em: <
http://www.tiespecialistas.com.br/2014/02/modelagem-de-software-importante-tarefa-
na-modelagem-de-objetos-desenvolvimento-de-sistemas/>. Acesso em: 05 de abril de
2014 às 15hrs50min.
WIKIPEDIA, List of Unified Modeling Language tools. Disponível em:
<http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools>. Acesso em:
15 de Ago de 2014 às 17h19min.
82
APÊNDICES
83
APÊNDICE A – DETALHAMENTO DOS CASOS DE USO
Criar
1. Administrador clica no botão Novo Usuário
2. Sistema exibe formulário de Novo Projeto
3. Administrador preenche todos os campos do formulário Usuário
Exceção: 3a. Erro nas informações do formulário
4. Administrador clica em salvar Usuário
5. Sistema valida as informações do formulário
6. Sistema salva as informações no banco de dados da aplicação
7. Sistema exibe mensagem de sucesso
Alterar
1. Administrador clica no botão alterar ao lado do projeto escolhido
2. Sistema exibe formulário de alteração com os dados do projeto
selecionado
3. Administrador altera os dados necessários
4. Administrador clica em salvar
5. Sistema valida dos dados
Exceção: 5a. Erro nas informações do formulário
6. Sistema salva os dados no banco de dados da aplicação
7. Sistema apresenta mensagem de sucesso
Excluir
1. Administrador clica no botão de Excluir na mesma linha do Projeto
escolhido
2. Sistema apresenta mensagem de confirmar
3. Administrador confirma a operação
4. Sistema exclui o registro do banco de dados da aplicação
5. Sistema exibe mensagem de sucesso
84
Caso de Uso: UC002 – Cadastrar Projeto.
Fonte: Os autores, 2014.
Criar
1. Administrador clica no botão Novo Administrador
2. Sistema exibe formulário de novo usuário
3. Administrador preenche os campos do formulário Administrador
4. Administrador clica no botão Salvar Administrador
5. Sistema valida dados enviados do formulário
Exceção: 5a. Erro nas informações informadas no formulário
6. Sistema salva informações no banco de dados da aplicação
7. Sistema exibe mensagem de sucesso
85
Alterar
1. Administrador clica Alterar na barra de menu Administrador
2. Sistema exibe o formulário de usuário com os dados do registro
selecionado já preenchido
3. Administrador altera as informações
4. Administrador clica no botão salvar
5. Sistema valida os dados enviados do formulário
Exceção: 5a. Erro nas informações informadas no formulário
6. Sistema salva os dados no banco de dados
7. Sistema envia mensagem de sucesso
Excluir
1. Administrador clica no botão excluir ao lado do registro escolhido.
Administrador
2. Sistema exibe mensagem de confirmação Administrador
3. Administrador confirma operação.
4. Sistema exclui registro do banco de dados
5. Sistema exibe mensagem de sucesso
Criar
1. Administrador clica no botão Novo
2. Sistema direciona usuário para o formulário de relacionado de projetos
do usuário
3. Sistema carrega a lista com todos os projetos disponíveis
4. Administrador seleciona um projeto e clica em salvar
5. Sistema valida duplicidade (Pesquisa no banco de dados por outros
registros com o mesmo projeto e usuário)
6. Sistema exibe mensagem de sucesso
86
Excluir
1. Administrador clica em excluir ao lado do registro selecionado
2. Sistema exibe mensagem de confirmação
3. Administrador clica em confirmar.
4. Sistema exclui registro do banco de dados
5. Sistema remove registro da fila
6. Sistema exibe mensagem de sucesso
87
APÊNDICE B – PROTÓTIPOS DE TELA
88
Protótipo de Tela: TEL002 - Listar Usuário.
Fonte: Os autores, 2014.
89
Protótipo de Tela: TEL004 - Novo Projeto.
Fonte: Os autores, 2014.
90
Protótipo de Tela: TEL006 - Listar Diagrama.
Fonte: Os autores, 2014.
91
Protótipo de Tela: TEL008 - Confirmar Login.
Fonte: Os autores, 2014.
92
APÊNDICE C – CRONOGRAMA
Cronograma
Atividades Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez
Escolha do Tema e da equipe - 1ª Entrega x
Encontros para orientação x x x x x x x x x x X
Entrega do capítulo 1 - 2ª Entrega x
Entrega do Sumário + Capítulo 2 - 3ª Entrega x
Apresentação do Projeto + Capítulo 3 - 4ª Entrega x
Entrega dos capítulos 1, 2 e 3 para avaliador externo - 5ª Entrega x
Participação Defesa TCC2 x
Participação Defesa TCC2 x
Entrega dos capítulos 1, 2, 3, 4 - 6ª Entrega x
Revisão Bibliográfica x x
Plano de Ensino TCC 2 x
Entrega Cronograma 2 – 1ª Entrega x
Correções Avaliador Externo – 2ª Entrega x
Entrega impressa do capítulo de Modelagem – 3ª Entrega x
Verificação de Desenvolvimento – 4ª Entrega x
Apresentação e entrega impressa do desenvolvimento – 5ª Entrega x
Verificação das normas da ABNT – 6ª Entrega x
Definição da banca 28/10 x
Entrega da monografia 04/11 x
Defesa do TCC 12/11 x
Entrega FINAL da monografia 02/12 x
Fonte: Os autores, 2014.
93
APÊNDICE D – CÓDIGO
94
APÊNDICE E – QUESTIONÁRIO
Responda o questionário abaixo, com base nos testes executados no sistema UML Discovery.
1 – Insatisfeito
2 - Pouco Satisfeito
3 – Satisfeito
4 – Muito Satisfeito
Avaliação 1 2 3 4
Consistência
Qual o grau de satisfação em relação a ferramenta no que diz
respeito a apresentação de erros que não permitem concluir o
restante do processo?
O comportamento da ferramenta sempre é o mesmo
Usabilidade
Qual o grau de satisfação em relação à criação de um novo
projeto?
Qual o grau de satisfação em relação à criação de novos
diagramas?
Qual o grau de satisfação em relação ao cadastro de novos
usuários?
Satisfação
Diante da problemática apresentada, qual a sua satisfação com a
ferramenta?
Você usaria essa ferramenta fora do ambiente corporativo?
Facilidade
Qual o grau de satisfação em relação a exigência que o usuário
tem e a necessidade de treinamentos para utilizar?
O sistema oferece condições de atender toda a problemática?
Eficiência
Qual o grau de satisfação em relação às operações executadas no
sistema?
Qual o grau de satisfação em relação à rapidez na busca das
informações do sistema (quantidade de cliques)
Caso você tenha algum comentário, critica, e/ou sugestão sobre este sistema, registre-o neste
espaço.
95