Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROPOSTA DE UM PROCESSO DE
DESENVOLVIMENTO DE SOFTWARE PARA
UMA EMPRESA DE PEQUENO PORTE
LAVRAS
MINAS GERAIS - BRASIL
2014
ROBSON SCATOLON
Orientador
Dr. Heitor Augustus Xavier Costa
LAVRAS
MINAS GERAIS - BRASIL
2014
AGRADECIMENTOS
A Deus, por todas as bnos em minha vida, por sempre estar ao
meu lado dando fora para superar as dificuldades.
Aos meus pais Carlos Augusto e Damiana, pelo amor, incentivo e
apoio incondicional.
Ao meu orientador Heitor Augustus Xavier, pelo conhecimento.
A Universidade Federal de Lavras, seu corpo docente, em especial
aos professores e funcionrios do departamento de Cincia da Computao,
que oportunizaram o aprendizado e conhecimento constante.
E a todos que direta ou indiretamente fizeram parte da minha
formao, o meu muito obrigado.
SUMRIO
LISTA DE FIGURAS
LISTA DE TABELAS
1 INTRODUO ................................................................................ 1
1.1 Empresa-Alvo ................................................................................... 2
1.2 Motivao ......................................................................................... 2
1.3 Objetivo ............................................................................................ 3
1.4 Procedimentos Metodolgicos ........................................................ 3
1.5 Estrutura do Trabalho .................................................................... 4
ABSTRACT
This work deals with a case study of a small software company which is a
proposed model of development process. In order to better understand the
real situation of the target company, was held a participant observation
beside the body of officials responsible for development activities of the
company. In this context, were obtained more information about the
activities involved in the course of the development process to enable current
creating the proposal in view of better way to reality and the needs of the
company. The order is submitted a proposal for development process
seeking the best occupation of resources and artifacts made available by the
company, being applied to the development of Electronic Manager
Documents (EMD) software.
1.2 Motivao
2
Interao com profissionais da rea;
Obter maior viso e compreenso das barreiras criadas pelos
profissionais do setor de desenvolvimento para a aplicao de algumas
tcnicas de Engenharia de Software;
Conhecimento de padres de desenvolvimento aplicados na Empresa;
Aplicao da teoria junto a prtica existente na realidade de uma
Empresa de Software.
1.3 Objetivo
3
processo propostos atravs do desenvolvimento de um software Gerenciador
Eletrnico de Documentos, junto com os profissionais responsveis.
4
2 PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
Definio
de
Design e
Requisitos
Arquitetura
Implement
ao Integrao
e Teste
Operao e
Manuteno
6
fundamentais do processo de desenvolvimento promovendo abordagem
sistemtica e sequencial que possui as fases (SOMMERVILLE, 2009):
Definio dos Requisitos. Nessa fase, so geradas especificaes dos
requisitos do software por meio de consultas com usurios e clientes. A
especificao dos requisitos gerada indica "o que" ser implementado;
Design e Arquitetura. Nessa fase, descrita a arquitetura do sistema,
indicando "como" o software dever ser implementado;
Implementao. Nessa fase, o cdigo fonte gerado, sendo codificadas
as unidades do sistema;
Integrao e Teste. Nessa fase, as unidades desenvolvidas da etapa
anterior so integradas e testadas, verificando e validando os requisitos
elicitados na fase Definio de Requisitos;
Operao e Manuteno. Nessa fase, o sistema instalado no cliente,
existindo a deteco e a correo dos erros no descobertos em outras
fases. Alm disso, podem surgir novos requisitos, possibilitando a
evoluo do sistema.
7
nico passo, tornando-o iterativo e incremental. Sua integrao realizada
durante o processo de desenvolvimento, sendo menos complexo, reduzindo
custo e aumentando a eficincia. No UP, as interaes so incentivadas,
fazendo com que os stakeholders estejam ativos com cada entrega, tentando
verificar se o que foi produzido est de acordo com o desejado; caso
contrrio, traz mostra as pendncias por parte do desenvolvimento para
com o projeto. O UP possui um quatro fases (SCOTT, 2003): i) Concepo;
ii) Elaborao; iii) Construo; e iv) Transio.
8
O UP define um guia para controlar atividades para a equipe de
desenvolvimento, realizando o direcionamento de tarefas para cada
desenvolvedor em especfico. Com o UP, podem ser especificados
detalhadamente os artefatos a serem desenvolvidos e os critrios para
monitorar as atividades do processo de desenvolvimento.
9
3 PROPOSTA DE PROCESSO DE DESENVOLVIMENTO
11
no definida, pois os passos existentes no processo de desenvolvimento
muitas vezes no so aplicados pelo fato de haver atraso relativo ao tempo
proposto para o desenvolvimento do software. Contudo, a Empresa-Alvo
encontra-se em crescimento e est procura da melhor forma de realizar seu
processo de desenvolvimento, tentando cada vez mais adequar suas
atividades para aperfeio-lo.
12
Nas verses disponibilizadas, so geradas novas implementaes para o
sistema.
13
uma prvia descrio de afazeres destinados a cada programador. A etapa
Desenvolvimento e seus artefatos gerados so ilustrados na Figura 4.
14
de maneira apropriada, por exemplo, testes em cdigo e automatizao de
testes.
15
processo, busca-se alcanar melhoria da utilizao dos recursos e
oportunidades existentes, tendo como objetivo proporcionar um processo
para criao de um software eficaz e prtico, fazendo com que o processo de
desenvolvimento possa se adequar com a necessidade do projeto. A fim de
gerar um processo de desenvolvimento adequado ao porte da empresa, foi
criado um processo que visa o enfoque da interao das pessoas e reduo da
quantidade de documentos gerados quando comparado a processos mais
tradicionais. O processo possui quatro fases: i) Desenvolvimento de
Requisitos; ii) Desenvolvimento; iii) Gerenciamento de Requisitos; e iv)
Fechamento do projeto.
16
Figura 6 Processo de Desenvolvimento Proposto
17
(requisitos) sejam identificados. Essa reunio acontece, pois as tcnicas
para a elicitao dos requisitos no so fixas e pr-determinadas para os
projetos. Cada projeto pode utilizar tcnicas diferentes de extrao,
visando proporcionar maior flexibilidade a esta atividade. Isso acontece
por muitos projetos que a empresa responsvel possurem tempos e
espaos fsicos (distncia) diferentes. Nessa reunio, tambm so
definidas as pessoas responsveis por realizar as aplicaes das tcnicas
de levantamento de requisitos. As informaes geradas devem ser
apresentadas em um documento para dar suporte s atividades a serem
realizadas posteriormente;
18
para o melhor entendimento dos membros da equipe. Alm disso, deve
ser analisada a viabilidade de implementao dos requisitos encontrados,
ajudando a definir custos e conflitos para a implementao de cada
requisito. Posteriormente a essa anlise, tem-se noo sobre o risco
envolvido para o atendimento de cada requisito;
Especificao dos Requisitos. Nessa atividade, os requisitos devem ser
detalhados utilizando documentos e diagramas construdos na atividade
anterior. Alm disso, ocorre definio de atores dos requisitos
definindo membros da equipe para a criao de cada um dos requisitos.
Uma importante tarefa para todo o projeto ocorre nessa atividade, a
observao da permisso de escrita nos mdulos base do sistema,
possibilitando aloc-los junto ao cronograma para o desenvolvimento,
evitando a disputa dos desenvolvedores por esses recursos. Outra tarefa
a ser realizada a verificao da possibilidade do reuso de mdulos
desenvolvidos anteriormente em outros projetos, visando causar menos
retrabalho na fase Desenvolvimento;
Validao de Requisitos. Nessa atividade, so elaborados critrios de
aceitao dos requisitos para realizar tarefas de revises dos requisitos
encontrados, com seus artefatos (diagramas e documentos), a fim de
eliminar defeitos e brechas encontradas. Essa atividade fornece suporte
ao setor de teste, pois so definidos casos de testes e padres aceitveis
para a futura validao dos requisitos que ocorre na fase
Desenvolvimento.
19
software para controle de verso e ferramenta para registro de sugestes e
correo de erros. Com a utilizao dos recursos e das ferramentas, as
atividades de desenvolvimento devem iniciar de forma a seguir as atividades
descritas na fase Desenvolvimento de Requisitos, seguindo o calendrio e
prazos estabelecidos. Para ter controle sobre o projeto, devem acontecer
pequenas reunies diariamente entre os envolvidos no projeto para que haja
feedback sobre o andamento do desenvolvimento. Essas reunies so breves,
com durao de 15 minutos, citando dificuldades encontradas e evolues no
projeto.
20
Figura 8 Fase Desenvolvimento (Criao)
21
3.4.3. Fase Gerenciamento de Requisitos
22
Figura 9 Fase Gerenciamento de Requisitos
23
pontos fracos do processo de desenvolvimento, visando aprender e inferir
melhorias aos prximos desenvolvimentos. Detalhe esquemtico da fase
Finalizao do Projeto apresentado na Figura .
24
Apesar da resistncia proporcionada pela equipe de desenvolvimento
com relao documentao do software, a proposta faz uso de atividades
para criar o mnimo necessrio de artefatos de documentao e modelagem
de software, relatando os requisitos encontrados no ciclo de vida do
processo. Assim, a proposta de uma metodologia menos sobrecarregada de
documentao sobre os passos do processo de desenvolvimento pode
acarretar menos barreiras por parte dos membros, sem deixar de gerar os
artefatos necessrios para que o software seja construdo com qualidade.
25
4 Aplicao do Processo Proposto
26
dessa reunio, foram documentados os requisitos possibilitando que estes
pudessem ser avaliados pelo corpo de colaboradores que participaram do
projeto. Tambm foi definido um canal de comunicao com os usurios, um
chat utilizado entre os profissionais e parceiros da Empresa-Alvo, com
intuito de suprir dvidas e sugestes posteriores. Alguns dos requisitos
encontrados na atividade de avaliao foram:
Permitir troca de documentos entre contadores e clientes;
Notificar a chegada de novos documentos via e-mail;
Permitir excluso de documentos;
Permitir aplicao de filtros de datas e categorias na pesquisa de
documentos;
Permitir a criao e excluso de categorias de documentos;
Autenticar usurios com CPF/CNPJ e senha;
Permitir cadastrar novos clientes no sistema;
Permitir requisitar a chave para utilizao do sistema;
Permitir aos clientes enviarem e-mail para seus contadores.
27
nenhum artefato de software j existente na empresa, devido ao fato de que o
GED foi o primeiro artefato web gerado, possuindo particularidades bem
diferentes aos j encontrados nos repositrios virtuais de software da
Empresa-Alvo.
28
Mantis, a fim de registrar todas as atividades bem como acompanh-las
conforme a evoluo do projeto. Ao final dos testes de cada mdulo, foram
registradas as suas funcionalidades e telas no intuito de document-las.
29
utiliza essa organizao para facilitar a gesto de documentos, o que agrega
agilidade na realizao da procura por algum documento alm de oferecer a
possibilidade de realizar mais um filtro sobre a pesquisa referente data do
documento.
30
Figura 11 Diagrama de Caso de Uso
31
pressiona a opo "Enviar".
6. exibida uma mensagem avisando do
sucesso do envio e so exibidos os outros
documentos pertencentes a mesma categoria j
enviados.
7. enviado um E-mail para o destinatrio do
documento informando que este possui um
novo documento em seu GED.
32
Figura 12 - Diagrama de Classes do Pacote Business
33
Figura 13 Diagrama de Classes do Pacote Persistncia
34
4.5 Modelagem de Dados
4.6 Funcionalidade
35
obtida na opo Solicite sua Chave no menu, escolhendo o tipo de usurio
(Contador ou Cliente). Quando selecionada a opo, apresentada uma tela
para o usurio obter sua senha (Figura 17). Para solicitar a senha, a empresa
contbil ou contador deve ter realizado o registro do novo usurio no sistema
para que este possa realizar o cadastro de sua senha no sistema.
36
Figura 17 Tela de Solicitao de Chave do Sistema
37
Figura 20 Tela Inicial (Usurio Contador)
38
Figura 21 Tela de Exibio de Documentos (Usurio Contador)
39
um novo cliente, o cliente relacionado com o contador responsvel pelo
seu registro; no registro de um contador, no h essa relao. Isso acontece
por causa da organizao de diretrios ser de forma que os diretrios dos
clientes localizam-se como subpastas do diretrio do contador ao qual o
cliente est relacionado.
40
Outra importante responsabilidade atribuda apenas ao usurio
Contador criar e excluir categorias de documentos (Figura ). Qualquer
contador pode criar uma categoria desde que no exista outra com seu
mesmo nome. Para excluir uma categoria, o sistema verifica nos diretrios
dos clientes associados ao contador se existem documentos referentes
categoria que se deseja excluir; caso exista algum documento, no ser
possvel excluir a presente categoria.
41
basicamente so visveis quando observadas as telas iniciais de cada usurio,
em que se pode notar que o usurio Cliente possuir menos opes quando
comparado ao usurio Contador (Figura ).
42
Alm da quantidade de funes, as funes para exibir documentos e
enviar documentos so mais simples e com menos passos a serem seguidos
para o usurio Cliente (Figura ), pois permitida apenas a exibio e envio
de dados referentes a um contador, enquanto o usurio Contador pode enviar
ou exibir documentos referentes a diversos clientes.
43
Figura 29 Tela de Contato com o Contador
44
responsabilidade das empresas contbeis que adquirirem o sistema. Sendo
assim, o site hospedado no servidor de cada empresa que adquiri-lo.
45
5 CONSIDERAES FINAIS
5.2 Concluses
46
processos de desenvolvimento e a experincia adquirida no envolvimento
com a equipe de desenvolvimento da Empresa-Alvo. Atravs do
envolvimento junto aos desenvolvedores da empresa, foi possvel adquirir
um maior conhecimento sobre arquitetura de software, aprendendo como
realizado o desenvolvimento feito em camadas fsicas e lgicas do software.
Tcnicas de programao foram observadas durante as atividades de
desenvolvimento proporcionando maior conhecimento sobre os conceitos de
orientao a objetos aplicando-os em prtica, como o uso polimorfismo,
tratamento de excees e padres de programao. Atividades de
modelagem de software e dados proporcionaram maior conhecimento sobre
o uso de ferramentas especificas para este fim, como as ferramentas Astah e
MySQL Workbench.
47
internos podem ser melhorados e um produto final com maior qualidade
pode ser obtido.
48
REFERNCIAS BIBLIOGRFICAS
JUNG, C. F. Metodologia Aplicada a Projetos de Pesquisa: Sistemas de
Informao & Cincia da Computao. Editora Taquara. 2009.
49