SISTEMA PARA CONTROLE DO FLUXO DE...

70
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO BACHARELADO SISTEMA PARA CONTROLE DO FLUXO DE PROPOSTAS DE CUSTOMIZAÇÃO VALCIR WILLI SCHMIDT BLUMENAU 2012 2012/1-20

Transcript of SISTEMA PARA CONTROLE DO FLUXO DE...

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO

SISTEMA PARA CONTROLE DO FLUXO DE PROPOSTAS

DE CUSTOMIZAÇÃO

VALCIR WILLI SCHMIDT

BLUMENAU

2012

2012/1-20

VALCIR WILLI SCHMIDT

SISTEMA PARA CONTROLE DO FLUXO DE PROPOSTAS

DE CUSTOMIZAÇÃO

Trabalho de Conclusão de Curso submetido à

Universidade Regional de Blumenau para a

obtenção dos créditos na disciplina Trabalho

de Conclusão de Curso II do curso de Sistemas

de Informação— Bacharelado.

Prof. Wilson Pedro Carli, Mestre - Orientador

BLUMENAU

2012

2012/1-20

SISTEMA PARA CONTROLE DO FLUXO DE PROPOSTAS

DE CUSTOMIZAÇÃO

Por

VALCIR WILLI SCHMIDT

Trabalho aprovado para obtenção dos créditos

na disciplina de Trabalho de Conclusão de

Curso II, pela banca examinadora formada

por:

______________________________________________________

Presidente: Prof. Wilson Pedro Carli, Mestre – Orientador, FURB

______________________________________________________

Membro: Prof. Everaldo Artur Grahl, Mestre – FURB

______________________________________________________

Membro: Prof. Oscar Dalfovo, Doutor – FURB

Blumenau, 04 de julho de 2012.

Dedico este trabalho a minha namorada

Camila, por ter me auxiliado e compreendido

nos meus momentos de dificuldade.

AGRADECIMENTOS

A Deus, pelo seu imenso amor e graça.

À minha família, que mesmo longe, sempre esteve presente.

Aos meus amigos, pelos empurrões e cobranças.

Ao meu orientador, Wilson Pedro Carli, por ter acreditado na conclusão deste trabalho.

Aos professores do Departamento de Sistemas e Computação da Universidade

Regional de Blumenau por suas contribuições durante os semestres letivos.

Os bons livros fazem “sacar” para fora o que a

pessoa tem de melhor dentro dela.

Lina Sotis Francesco Moratti

RESUMO

Este trabalho apresenta um sistema para controle do fluxo de solicitações de propostas de

customizações nos softwares da empresa Senior Sistemas S/A, onde há um setor responsável

pela manutenção de software do tipo adaptativa, nos softwares por ela desenvolvidos. Neste

processo existia uma deficiência para controlar principalmente o envio ao cliente e o

faturamento das propostas de customização de software, as quais eram controladas com o

apoio de uma ferramenta de help desk e através de planilhas eletrônicas Excel. Para o

desenvolvimento foi utilizada a ferramenta de desenvolvimento Borland Delphi 7, integrado

com a biblioteca de componentes DevExpress e AlphaControls, sendo a base de dados em

SQL Server. Como resultado destaca-se o aumento da agilidade no controle das propostas que

estão pendentes de análise e faturamento.

Palavras-chave: Customização de software. Manutenção de software. Propostas.

ABSTRACT

This work presents a system for controlling the flow of requests for proposals for

customizations to the software company's Senior Sistemas S/A, where there is a sector

responsible for maintaining adaptive software type, the software developed by it. In this

process there was a failure to control mainly the customer delivery and billing of the proposed

software customization, which were controlled with the help of a tool to help desk and

through Excel spreadsheets. For development we used the Borland Delphi development tool

7, integrated with the library AlphaControls and DevExpress components, and the database in

SQL Server. As a result, we highlight the increased flexibility in controlling the proposals that

are pending analysis and billing.

Keywords: Software customization. Software maintenance. Proposal.

LISTA DE FIGURAS

Figura 1 – Distribuição de esforços de manutenção de software ............................................. 16

Figura 2 – Planilha de controle de faturamento ........................................................................ 21

Figura 3 – Formulário de checklist de acompanhamento de projeto ........................................ 22

Figura 4 – Planilha de testes utilizada para validar o desenvolvimento ................................... 22

Figura 5 – Solicitação de Customização .................................................................................. 23

Figura 6 – Tela de detalhes da proposta ................................................................................... 24

Figura 7 – Tela de gerenciamento de propostas ....................................................................... 24

Figura 8 – Tela de atividades – visualização de registros ........................................................ 25

Figura 9 – Diagrama de casos de uso ....................................................................................... 29

Figura 10 – Modelo Entidade Relacionamento ........................................................................ 30

Figura 11 – Diagrama de Processos ......................................................................................... 31

Figura 12 – Diagrama de estados da proposta .......................................................................... 33

Figura 13 – Ferramenta Microsoft SQL Server Management Studio ...................................... 34

Figura 14 – Tela utilizando o componente Cxgrid ................................................................... 34

Figura 15 – Tela de acesso ao sistema utilizando o componente SknMngr ............................. 35

Figura 16 – Tela principal do sistema ...................................................................................... 35

Figura 17 – Tela de cadastro de recursos ................................................................................. 36

Figura 18 – Tela de cadastro de habilidades dos recursos ........................................................ 36

Figura 19 – Tela de cadastro de ofertas de customização ........................................................ 37

Figura 20 – Tela de cadastro de propostas ............................................................................... 37

Figura 21 – Tela de detalhamento da análise ........................................................................... 38

Figura 22 – Relatório do detalhamento da análise ................................................................... 39

Figura 23 – Tela para inserir anexos na análise ....................................................................... 40

Figura 24 – Mensagem de confirmação para definir o plano de testes .................................... 40

Figura 25 – Tela de definição do plano de testes ..................................................................... 40

Figura 26 – Tela de detalhes do corpo da proposta .................................................................. 41

Figura 27 – Tela com modelo de proposta gerado ................................................................... 42

Figura 28 – Tela de envio de e-mail da proposta ..................................................................... 42

Figura 29 – Código fonte responsável pelo envio de e-mail da proposta................................. 43

Figura 30 – Tela de registro da aprovação da proposta ............................................................ 43

Figura 31 – Tela de preenchimento do plano de Testes ........................................................... 44

Figura 32 – Tela de confirmação de entrega ............................................................................ 44

Figura 33 – Tela de confirmação de homologação................................................................... 45

Figura 34 – Relatório checkList de acompanhamento .............................................................. 45

Figura 35 – Tela de manutenção do faturamento ..................................................................... 46

Figura 36 – Relatório de faturamento previsto ......................................................................... 46

Figura 37 – Relatório de propostas faturadas mês .................................................................... 47

Figura 38 – Relatório de propostas aprovadas mês .................................................................. 47

Figura 39 – Relatório com propostas não faturadas ................................................................. 48

Figura 40 – Gráfico com previsão de faturamento mês............................................................ 48

Figura 41 – Tela de cadastro de produtos ................................................................................. 49

Figura 42 – Exemplo de e-mail enviado pelo Windows Service .............................................. 49

Figura 43 – Windows Service ativo para envio de e-mail de alerta .......................................... 50

LISTA DE QUADROS

Quadro 1 – Requisitos funcionais ............................................................................................. 28

Quadro 2 – Requisitos não funcionais ...................................................................................... 29

Quadro 3 – Descrição do caso de uso Manter Proposta de Customização ............................... 57

Quadro 4 – Descrição do caso de uso Manter Ofertas Atendidas e grau de Habilidade .......... 58

Quadro 5 – Descrição do caso de uso Manter Análises Técnicas ............................................ 59

Quadro 6 – Descrição do caso de uso Manter Plano de Testes ................................................ 60

Quadro 7 – Descrição do caso de uso Registrar Entrega .......................................................... 60

Quadro 8 – Descrição do caso de uso Manter recursos ............................................................ 60

Quadro 9 – Descrição do caso de uso visualizar propostas faturadas ...................................... 60

Quadro 10 – Descrição do caso de uso visualizar propostas aprovadas ................................... 60

Quadro 11 – Descrição do caso de uso manter ofertas de customização ................................. 61

Quadro 12 – Descrição do caso de uso manter produtos .......................................................... 61

Quadro 13 – Descrição do caso de uso manter configurações gerais ....................................... 61

Quadro 14 – Descrição do caso de uso registrar aprovação ..................................................... 61

Quadro 15 – Descrição do caso de uso efetuar login ............................................................... 61

Quadro 16 – Descrição do caso de uso registrar homologação ................................................ 61

Quadro 17 – Descrição do caso de uso registrar resultados testes ........................................... 61

Quadro 18 – Descrição do caso de uso visualizar análises técnicas ......................................... 62

Quadro 19 – Descrição do caso de uso visualizar previsão de faturamento............................. 62

Quadro 20 – Descrição do caso de uso visualizar propostas aguardando faturamento ............ 62

Quadro 21 – Descrição do caso de uso manter faturamento .................................................... 62

Quadro 22 – Descrição do caso de uso Manter detalhes da proposta....................................... 62

Quadro 23 – Descrição do caso de uso Visualizar checklist .................................................... 62

Quadro 24 - Dicionário de dados da tabela Analise ................................................................. 63

Quadro 25 - Dicionário de dados da tabela Anexos ................................................................. 63

Quadro 26 - Dicionário de dados da tabela AvisoPendencias .................................................. 64

Quadro 27 - Dicionário de dados da tabela ConfigGerais ........................................................ 64

Quadro 28 - Dicionário de dados da tabela Faturamento ......................................................... 64

Quadro 29 - Dicionário de dados da tabela HabilitadesRecursos ............................................ 65

Quadro 30 - Dicionário de dados da tabela Ofertas.................................................................. 65

Quadro 31 - Dicionário de dados da tabela PlanoTestes .......................................................... 65

Quadro 32 - Dicionário de dados da tabela Produtos ............................................................... 66

Quadro 33 - Dicionário de dados da tabela Propostas .............................................................. 66

Quadro 34 - Dicionário de dados da tabela Recursos ............................................................... 66

Quadro 35 - Dicionário de dados da tabela RecursosProposta ................................................. 67

Quadro 36 - Dicionário de dados da tabela VersaoPropostas .................................................. 67

LISTA DE SIGLAS

CRM – Customer Relationship Management

ERP – Enterprise Resource Planning

JSF – Java Server Faces

JPA – Java Persistence API

MER – Modelo Entidade Relacionamento

RF – Requisitos Funcionais

RNF – Requisitos Não Funcionais

TCC – Trabalho de Conclusão de Curso

SUMÁRIO

1 INTRODUÇÃO .................................................................................................................. 12

1.1 OBJETIVOS DO TRABALHO ......................................................................................... 12

1.2 ESTRUTURA DO TRABALHO ....................................................................................... 13

2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 14

2.1 MANUTENÇÃO DE SOFTWARE .................................................................................. 14

2.1.1 Manutenibilidade de Software ........................................................................................ 15

2.1.2 Tipos de Manutenção de Software .................................................................................. 15

2.1.3 Custos de Manutenção ..................................................................................................... 17

2.2 CUSTOMIZAÇÃO DE SOFTWARE .............................................................................. 17

2.3 SISTEMA ATUAL ........................................................................................................... 19

2.4 TRABALHOS CORRELATOS ........................................................................................ 23

3 DESENVOLVIMENTO .................................................................................................... 26

3.1 LEVANTAMENTO DE INFORMAÇÕES ....................................................................... 26

3.2 ESPECIFICAÇÃO ............................................................................................................. 27

3.2.1 Requisitos Funcionais ...................................................................................................... 27

3.2.2 Requisitos não Funcionais ............................................................................................... 28

3.2.3 Casos de uso .................................................................................................................... 29

3.2.4 Modelo Entidade Relacionamento................................................................................... 30

3.2.5 Diagrama de Processos .................................................................................................... 31

3.3 IMPLEMENTAÇÃO ......................................................................................................... 33

3.3.1 Técnicas e ferramentas utilizadas .................................................................................... 33

3.3.2 Operacionalidade da implementação ............................................................................... 35

3.4 RESULTADOS E DISCUSSÃO ....................................................................................... 50

4 CONCLUSÕES .................................................................................................................. 52

4.1 EXTENSÕES ..................................................................................................................... 53

REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 54

APÊNDICE A – Descrição dos Casos de Uso ...................................................................... 56

APÊNDICE B – Detalhamento do Dicionário de Dados ..................................................... 63

12

1 INTRODUÇÃO

As atividades de manutenção de software têm em comum, os serviços prestados de

adaptação do sistema às medidas e preferências do usuário, onde existem implantações e

customizações que demandam períodos maiores ou menores de tempo. Algumas

customizações mais complexas requerem a elaboração de cronogramas de desenvolvimento e

se tornam um problema quando não se consegue realizá-las de forma organizada e previsível,

documentando solicitações e decisões de adaptação, de forma que as responsabilidades não se

percam e se consiga avaliar detalhadamente cada atividade que deverá ser executada

(COELHO, 2007).

Desta forma, a empresa Senior Sistemas, situada na cidade de Blumenau, vem

buscando a melhoria de seus processos, procurando obter o aumento de sua competividade no

mercado. A mesma verificou inconsistências no fluxo de propostas enviadas aos clientes e

decidiu agilizar o entendimento do que deve ser feito em cada proposta aprovada. Para

atendimento a esta necessidade, este trabalho apresenta um sistema para o controle do fluxo

das solicitações de propostas de customizações de software, recebidas pelo setor de serviços

customizados da empresa. Atualmente a empresa já possui este processo, sendo uma parte do

processo feita de maneira manual e a outra parte apoiada a um sistema de apoio a usuários

para suporte e resolução de problemas técnicos (Help-Desk), que está disponível na rede

interna da empresa. Com o uso do sistema desenvolvido a empresa poderá obter mais

agilidade no retorno aos clientes e um melhor entendimento do que será customizado pelo

programador.

11..11 OOBBJJEETTIIVVOOSS DDOO TTRRAABBAALLHHOO

O objetivo geral deste trabalho é apresentar um sistema para controle do fluxo de

propostas de customização com registro de análises técnicas de customização.

Os objetivos específicos do trabalho são:

a) registrar as propostas elaboradas e suas diferentes versões;

b) disponibilizar relatório com os valores das propostas pendentes de faturamento;

c) disponibilizar o registro dos detalhes técnicos do trabalho a ser executado;

13

d) disponibilizar relatório com o número de propostas faturadas mensalmente;

e) disponibilizar relatório com o número de propostas aprovadas mensalmente;

11..22 EESSTTRRUUTTUURRAA DDOO TTRRAABBAALLHHOO

A estrutura deste trabalho esta dividida em quatro capítulos.

No primeiro capítulo tem-se a introdução ao tema principal deste trabalho com a

apresentação dos objetivos a serem alcançados.

No segundo capítulo apresenta-se a fundamentação teórica pesquisada sobre

manutenção de software, customização de software, sistema atual e trabalhos correlatos.

No terceiro capítulo descreve-se os detalhes sobre o desenvolvimento, especificação e

modelagem e apresenta-se um estudo de caso dentro da operacionalidade do sistema

encerrando-se com os resultados e discussões.

No quarto capítulo tem-se as conclusões deste trabalho bem como apresentam-se

sugestões para melhorias futuras.

14

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo aborda os assuntos que serão apresentados nas seções a seguir, tais como,

manutenção de software, customização de software, o sistema atual e os trabalhos correlatos.

22..11 MMAANNUUTTEENNÇÇÃÃOO DDEE SSOOFFTTWWAARREE

De acordo com o Institute of Electrical and Electronic Engineers (1998) a manutenção

de software é uma atividade da qual ocorrem modificações em um ou mais artefatos

resultantes do desenvolvimento de um software, buscando mantê-lo disponível, corrigir suas

falhas, melhorar seu desempenho e adequá-lo aos requisitos novos ou modificados conforme a

necessidade do usuário.

Segundo Pressman, (2006) a maioria dos problemas com a manutenção do software é

causado por deficiência em como o software foi planejado e desenvolvido. Os problemas mais

clássicos são:

a) a maioria dos softwares quando planejados não levam em consideração o fator de

manutenibilidade em seus projetos;

b) há falta de métodos ou ferramentas eficazes para auxiliarem em como determinada

manutenção afetará os sistemas;

c) dificuldade de rastrear o processo através do qual o software foi criado. A maioria

dos softwares não foi projetada para suportar alterações;

d) é difícil ou impossível traçar a evolução do software através das varias versões. As

alterações não são adequadamente documentadas. A documentação não existe, é

incompreensível ou esta desatualizada.

e) em geral novos requisitos são adicionados ao invés de requisitos já existentes

serem reavaliados;

f) falta de pessoal com experiência em manutenção.

15

2.1.1 Manutenibilidade de Software

De acordo com a definição do Institute of Electrical and Electronic Engineers (1998),

manutenibilidade é a facilidade com que o sistema de software ou componente pode ser

modificado para corrigir falhas, melhorar a performance ou outros atributos, ou adaptado para

mudança de ambiente.

A manutenibilidade de software pode ser definida qualitativamente como a facilidade

com que o software pode ser entendido, corrigido, adaptado ou aumentado. A

manutenibilidade é a meta primordial que orienta os passos de um processo de engenharia de

software segundo Pressman (2006).

Na definição de ambos os autores é possível perceber que manutenibilidade é a

facilidade de realizar alterações em um software. Então conclui-se que para o software ter

uma boa manutenibilidade é necessário que o processo de manutenção tenha início na fase de

projeto e desenvolvimento do software. Neste momento já é necessário o planejamento de

possíveis alterações, desenvolvendo códigos que possam facilitar essas alterações, onde

consequentemente haverá uma grande redução de custos.

2.1.2 Tipos de Manutenção de Software

Existem quatro tipos de manutenção de software que são a corretiva, a adaptativa, a

perfectiva e a preventiva. Aproximadamente 50% das manutenções são relacionadas à

implementação de novos requisitos que seria do tipo perfectiva, 25% a mudanças do sistema

para adaptá-lo a um novo ambiente, 21% para corrigir defeitos do sistema e apenas 4% para

prevenção de erros e falhas que seria do tipo preventiva, conforme demonstrado na Figura 1

(PFLEEGER, 2004).

Cada tipo de manutenção tem uma finalidade, são elas:

a) manutenção corretiva: este tipo de manutenção caracteriza-se pela correção de erros

relatados ao desenvolvedor durante a utilização do software, para que faça o

diagnostico e os corrija (PRESSMAN, 2006);

b) manutenção preventiva: é a modificação de um produto de software realizada após

a entrega para detectar e corrigir falhas antes que se tornem falhas eficazes

(INTERNATIONAL ORGANIZATION FOR STANDARDIZATION, 1998);

16

c) manutenção perfectiva: é a modificação de um produto ou software realizada após a

entrega para melhorar o desempenho ou sustentabilidade (INTERNATIONAL

ORGANIZATION FOR STANDARDIZATION, 1998);

d) manutenção adaptativa: este tipo de manutenção se refere à necessidade de adaptar

o software para se acomodar a mudanças do ambiente que está inserido, estas

podem ser de hardware, sistema operacional, ou ainda regras de negócio, leis ou

políticas governamentais. Este tipo de manutenção na maioria dos casos não é

controlada pelos responsáveis pela manutenção do software e ocorre principalmente

devido a rápida mudança em diversos aspectos da computação. Novas gerações de

hardware são anunciadas em um curto intervalo de tempo. Novos sistemas

operacionais ou relançamentos de antigos aparecem regularmente, equipamentos

periféricos e outros elementos de sistema são atualizados com grande frequência

(PRESSMAN, 2006).

Este trabalho foca no tipo de manutenção adaptativa, onde são feitas customizações no

software para adaptá-lo as regras de negócio do cliente ou a sua necessidade de uso.

Fonte: Pfleeger (2004).

Figura 1 – Distribuição de esforços de manutenção de software

17

2.1.3 Custos de Manutenção

O custo de manutenção de software tem aumentando nos últimos anos. Durante a

década de 70 a manutenção era responsável por cerca de 30 a 40% do custo do software para

a empresa desenvolvedora. Na década de 80 este valor pulou para aproximadamente 60% do

custo do software. A partir da na década de 90 este valor passou para cerca de 70% do custo

do software (PRESSMAN, 2006).

Quando se pensa em custo de manutenção de software geralmente vem em mente

valores, mas nem sempre este é o único custo da empresa segundo Pressman (2006). Existem

também custos intangíveis, como insatisfação dos clientes por não terem suas solicitações

atendidas, ou não terem sido atendidas no prazo que esperavam, e também a redução de

qualidade global do software, como resultado de mudanças que introduziram erros de alta

complexidade no software mantido, ou ainda falta de motivação da equipe, devido ao grande

número de problemas encontrados, e com isso precisam ser “empurrados” para trabalhar em

uma tarefa de manutenção.

A manutenção pode ser um desafio para as organizações que precisam considera-la em

seu dia a dia. Não é de se esperar que uma empresa de grande porte troque todos os seus

sistemas somente pelo fato de que a tecnologia neles empregada está ultrapassada. Estes

sistemas atenderam perfeitamente suas necessidades durante um grande tempo e representam

ativos da organização, com isso ela estará disposta a investir para manter seus sistemas

funcionando (PADUELLI, 2007).

22..22 CCUUSSTTOOMMIIZZAAÇÇÃÃOO DDEE SSOOFFTTWWAARREE

Grande parte dos softwares de Enterprise Resource Planning (ERP) ou Customer

Relationship Management (CRM) atuais têm de lidar com a questão da personalização, por

vezes mais conhecida como “customização” (COELHO,2007). Customizar um software não

só significa introduzir modificações que o tornem aderentes às necessidades particulares de

uma empresa ou linha de negócio, mas também um grande esforço de implementação da

equipe que irá executá-la.

Quando realizada pela empresa fabricante do software, a customização pode ser por

18

vezes uma fonte de renda, por outras, de prejuízo. Ela costuma ser uma fonte de renda quando

a customização pode ser vendida e reincorporada em novas versões do software, ou quando

for possível agregar uma rede de serviços capaz de implementá-las sem modificar o produto.

Por outro lado, a customização pode ser um ônus pesado quando ela implica em uma versão

diferente do produto para cada cliente, causando problemas de suporte e manutenção, ou

quando a exigência de customização pelo cliente não pode ser obedecida pelo fornecedor

devido a limitações de recursos, aumentando o risco da perda do cliente para a concorrência.

Programação customizada, ou customização de software, envolve a compilação de código

com o objetivo de criar ou adaptar programas de software destinados especificamente ao

cliente, podendo envolver o desenvolvimento de uma aplicação inteiramente nova ou a

adaptação de um produto já existente (COELHO, 2007).

2.2.1 Modelos de Customização

Embora a customização de um pacote de software não seja uma tarefa para leigos, é

com certeza uma tarefa mais simples que os processos que envolvem o desenvolvimento de

uma solução completa para toda a organização. A estratégia adotada na customização é

denominada modelo de customização (FUSCO, 2003).

Os modelos mais conhecidos são:

a) parametrização: é o armazenamento em tabelas internas do sistema das definições

adotadas pelo usuário baseado nas funcionalidades requeridas para suas regras de

negocio;

b) interpretador de regras de negocio: permite ao usuário definir como serão calculados

os fatores resultantes, baseados nos dados armazenados no sistema de informação;

c) desenvolvimento de componentes: existe a possibilidade de que o software contratado

não atenda a todos os requisitos da empresa que o adquiriu, neste caso pode optar pelo

desenvolvimento de componentes de software e anexa-los ao sistema atual;

d) adequação de tabelas: permite ao usuário acrescentar campos em tabelas do sistema

que não estavam previstos no pacote original;

e) determinação de lay-outs: é a adequação do formato de entrada ou saída de dados do

sistema de acordo com a necessidade do cliente.

19

22..33 SSIISSTTEEMMAA AATTUUAALL

A empresa Senior Sistemas foi fundada em 1988, e neste período iniciou suas

atividades desenvolvendo um sistema de gestão de recursos humanos e folha de pagamento.

Nos anos seguintes começou a desenvolver para novas áreas, comercializando assim, os

seguintes sistemas no mercado:

a) Vetorh: para gestão de recursos humanos;

b) Sapiens: para gestão empresarial;

c) Segurança: para gestão de acesso e segurança;

d) Regente: para administração de agências de viagens.

A empresa possui um setor especializado em customizar artefatos relacionados aos

sistemas que desenvolve, dentre estes artefatos estão os relatórios, regras, telas para a web,

entre outros (SENIOR SISTEMAS, 2010).

Para cada solicitação de customização é remetida uma proposta de customização ao

cliente, com valores e cronograma. Cada proposta tem uma data de validade, período o qual

os valores e cronograma de desenvolvimento estão garantidos ao cliente. Passando este prazo,

pode haver alterações de valores e cronograma, devido ao fato de que os programadores já

estão alocados no desenvolvimento de outras solicitações.

O tratamento das solicitações de customizações realizadas a este setor especializado é

executado conforme a ordem apresentada:

a) a solicitação é realizada pelo cliente através de chamado no sistema de Help-Desk,

com um descritivo do que deve ser customizado;

b) o analista de demanda1 aplica filtros de pesquisa no sistema de Help-Desk para

encontrar os chamados com solicitações;

c) o analista de demanda procede com a análise, em conjunto com um analista de

desenvolvimento2 para estimar o tempo de desenvolvimento e viabilidade de

desenvolvimento da solicitação, bem como verificar disponibilidade de agenda dos

programadores;

1 Analista de demanda – Pessoa com o conhecimento de especialista nas rotinas do sistema onde será aplicada a

customização (SENIOR SISTEMAS, 2010).

2 Analista de desenvolvimento – Pessoa técnica com conhecimento de especialista na linguagem e técnica de

desenvolvimento que será utilizada (SENIOR SISTEMAS, 2010).

20

d) após a análise, o analista de demanda monta uma proposta de customização com

valores e cronograma de desenvolvimento para ser enviada ao cliente;

e) em seguida o analista de demanda registra em uma planilha eletrônica Excel

apresentada na Figura 2, na aba “Prev-Vetorh”, os valores previstos para

faturamento, os valores que futuramente serão faturados caso a proposta seja

aprovada pelo cliente dentro do prazo de validade descrito na mesma;

f) caso o cliente não aprove esta proposta a mesma é lançada na planilha Excel na aba

“Cancelados”;

g) se a proposta é aprovada dentro do prazo, a mesma é encaminhada pelo analista de

demanda ao analista de desenvolvimento e aos programadores selecionados para o

desenvolvimento. Neste momento com base no tamanho do projeto e na sua

experiência, o analista de desenvolvimento irá decidir por montar ou não uma

planilha de testes que devem ser executados ao finalizar o projeto. Caso a decisão

for criá-la, a planilha será encaminhada ao programador responsável pelo

desenvolvimento, juntamente com o checklist 3

de acompanhamento do projeto. Se

durante o desenvolvimento o programador precisar de auxílio, este será prestado

pelo analista de desenvolvimento. Feito isto, o valor antes lançado na aba previsto

da planilha pelo analista de demanda, é agora lançado na aba “Firme” da planilha;

h) após o término do desenvolvimento, o programador registra todas as etapas de

desenvolvimento no checklist de acompanhamento do projeto e segue a planilha de

testes montada pelo analista de desenvolvimento, caso o mesmo tenha decidido

pelo uso da planilha. Feito isto o programador, envia os artefatos desenvolvidos ao

cliente e caso não sejam necessários ajustes o programador entrega o checklist e

planilha de testes ao analista de demanda, para que o mesmo providencie o

faturamento;

i) após isso, o analista de demanda aplica filtros no sistema de Help-Desk para

identificar quais são as propostas onde os trabalhos já foram concluídos, e a quanto

tempo já foram entregues, para que sejam faturados caso o cliente não tenha

solicitado mais nenhum ajuste.

3 Checklist – Lista de verificação do atendimento de ações e critérios pré-estabelecidos (INFORMAL,2012).

21

A Figura 2 demonstra a planilha onde são feitos os registros dos valores de

faturamento. Para cada equipe de desenvolvimento é utilizada uma planilha, renovada a cada

ano, onde nesta planilha existem as seguintes abas:

a) prev-equipe: onde são registrados os valores das propostas enviadas aos clientes

mais não aprovadas;

b) firmes-equipe: onde são registrados os valores das propostas aprovadas, e

encaminhadas para desenvolvimento;

c) faturados: são registrados os valores das propostas já desenvolvidas entregues e

faturadas;

d) cancelados: são registrados os valores das propostas não aprovadas pelos clientes e

com isso não desenvolvidas;

e) acompanhamento: uma totalização mês a mês dos valores das 4 abas mencionadas.

Fonte: Senior Sistemas (2010).

Figura 2 – Planilha de controle de faturamento

A Figura 3 demonstra o formulário de acompanhamento de projeto utilizado pelo

programador, o qual ao término do desenvolvimento é entregue ao analista de demanda.

22

Fonte: Senior Sistemas (2010).

Figura 3 – Formulário de checklist de acompanhamento de projeto

A Figura 4 demonstra a planilha com os testes elaborados pelo analista de

desenvolvimento para ser utilizada em determinados projetos para validar o desenvolvimento.

Fonte: Senior Sistemas (2010).

Figura 4 – Planilha de testes utilizada para validar o desenvolvimento

A Figura 5 demonstra uma solicitação de customização no sistema de Help-Desk.

23

Fonte: Senior Sistemas (2010).

Figura 5 – Solicitação de Customização

22..44 TTRRAABBAALLHHOOSS CCOORRRREELLAATTOOSS

O objetivo do Trabalho de Conclusão de Curso (TCC) de Petters (2007) foi

desenvolver um sistema de acompanhamento e gerenciamento de propostas e requisitos,

possibilitando a interação entre o analista que especificou os requisitos e o cliente que irá

avaliar se os requisitos especificados atendem a sua solicitação. Utilizando as tecnologias das

linguagens de programação Ajax, Flash e PHP, Petters (2007) relata como é possível obter

bons resultados no desenvolvimento de uma aplicação para internet, onde poderá permitir que

os clientes façam o acompanhamento das suas solicitações e façam a aprovação das suas

propostas. Assim como objetivo deste trabalho, este sistema visa acompanhar e gerenciar as

propostas dos projetos. Um modelo de uma tela do sistema pode ser visualizado na Figura 6.

24

Fonte: Petters (2007).

Figura 6 – Tela de detalhes da proposta

Já o objetivo do software desenvolvido pela empresa Proposital é o gerenciamento de

propostas comercias, com o uso da tecnologia HTML5. A empresa oferece um software

intuitivo e com fácil interatividade ao usuário, e assim como o objetivo deste trabalho, visa

gerenciar o fluxo das propostas comerciais com maior facilidade e agilidade conforme tela

apresentada na Figura 7 (PROPOSITAL, 2011).

Fonte: Proposital (2011).

Figura 7 – Tela de gerenciamento de propostas

Na seqüência de trabalhos tem-se o TCC de Hardock (2008), cujo objetivo foi

desenvolver um sistema para gerenciar tarefas de projetos, bem como as pessoas que devem

realizá-las. Com o uso das tecnologias Java Server Faces (JSF) e Java Persistence API (JPA),

Hardock (2008) pretendeu deixar o sistema mais flexível em relação ao banco de dados e

25

servidores que serão utilizados. Assim um dos objetivos específicos deste trabalho foi o

sistema controlar o custo dos projetos e gerenciar as tarefas alocadas para cada recurso. A

Figura 8 apresenta a tela de atividades do TCC de Hardock (2008).

Fonte: Hardock (2008).

Figura 8 – Tela de atividades – visualização de registros

26

3 DESENVOLVIMENTO

Neste capítulo são apresentadas as características do aplicativo desenvolvido, bem

como a especificação de requisitos funcionais e não funcionais, diagrama de casos de uso e o

Modelo de Entidade Relacional (MER). São descritas também as técnicas e ferramentas

utilizadas no processo de implementação, a operacionalidade do sistema e os resultados

obtidos.

33..11 LLEEVVAANNTTAAMMEENNTTOO DDEE IINNFFOORRMMAAÇÇÕÕEESS

A empresa Senior Sistemas dispõe de um setor especializado em customizar os

artefatos relacionados às funcionalidades dos sistemas mantidos pela mesma. Para cada

solicitação de customização efetuada é enviada uma proposta com estimativa de valores e

horas gastas para o desenvolvimento. Estes valores são lançados como um faturamento

previsto para o mês, de acordo com o vencimento estipulado para proposta. O problema é que

não há um controle efetivo para as propostas pendentes de envio e propostas já enviadas.

Existe apenas a possibilidade de pesquisa no sistema de Help-Desk e o registro em planilhas

eletrônicas Excel, o que ocupa grande parte do tempo do analista, que precisa filtrar as

propostas a serem analisadas, bem como verificar quando a proposta foi enviada, e se a

mesma já foi entregue e/ou faturada ou se ainda está em desenvolvimento.

Outro problema encontrado é que para toda a proposta enviada é necessária uma

análise e em alguns é necessário realizar uma prototipação4 por parte do analista em relação a

solução de como será desenvolvido o projeto. Porém as anotações (rascunhos) desta análise

algumas vezes são extraviadas, e quando o projeto chega ao desenvolvedor o mesmo tem que

analisar, ou perguntar ao analista tudo novamente, para saber quais os recursos/funções vai

utilizar para o desenvolvimento, e em alguns casos o analista não possui mais as anotações

para o desenvolvimento.

4 Prototipação – é o ato de desenvolver um sistema/modelo sem as funcionalidades inteligentes (acesso a banco,

regras de negócio), apenas com as funcionalidades gráficas, e algumas funcionalidades básicas para o

funcionamento do próprio protótipo (INFORMAL, 2012).

27

33..22 EESSPPEECCIIFFIICCAAÇÇÃÃOO

Nesta seção serão apresentados os principais Requisitos Funcionais (RF), Requisitos

Não Funcionais (RNF), sua rastreabilidade com casos de uso e o Modelo de Entidade de

Relacionamento (MER) do sistema desenvolvido. A descrição dos casos de uso será

apresentada no Apêndice A, e o dicionário de dados no Apêndice B.

3.2.1 Requisitos Funcionais

No Quadro 1 são apresentados os requisitos funcionais do sistema e sua rastreabilidade

com os casos de usos.

Requisitos Funcionais Caso de Uso

RF01: O sistema deverá permitir ao analista de demanda a manter o

cadastro de propostas de customização.

UC01

RF02: O sistema deverá permitir ao analista de demanda e ao analista de

desenvolvimento manter cadastro dos Recursos.

UC02

RF03: O sistema deverá permitir ao analista de demanda visualizar as

propostas faturadas.

UC03

RF04: O sistema deverá permitir ao analista de demanda o visualizar o

número de propostas aprovadas por mês.

UC04

RF05: O sistema deverá permitir ao analista de demanda manter o cadastro

de ofertas de customização.

UC05

RF06: O sistema deverá permitir ao analista de demanda manter o cadastro

dos produtos.

UC06

RF07: O sistema deverá permitir ao analista de demanda manter o cadastro

de configurações gerais do sistema.

UC07

RF08: O sistema deverá permitir ao analista de demanda registrar a

aprovação da proposta.

UC08

RF09: O sistema deverá permitir ao analista de desenvolvimento e analista

de demanda manter o cadastro de ofertas atendidas com a definição de

nível de habilidade para cada recurso, em cada uma das ofertas atendidas.

UC09

28

RF10: O sistema deverá permitir ao analista de desenvolvimento e analista

de demanda manter o registro de análises técnicas de customização.

UC10

RF11: O sistema deverá permitir ao analista de desenvolvimento e analista

de demanda manter um plano de testes, para cada proposta atendida.

UC11

RF12: O sistema deverá permitir ao programador, analista de demanda e

analista de desenvolvimento efetuar o login no sistema.

UC12

RF13: O sistema deverá permitir ao programador registrar a entrega dos

artefatos desenvolvidos.

UC13

RF14: O sistema deverá permitir ao programador registrar a homologação

do desenvolvimento dos artefatos.

UC14

RF15: O sistema deverá permitir ao programador registrar resultado dos

testes do plano de testes.

UC15

RF16: O sistema deverá permitir ao programador visualizar as análises

técnicas de customização.

UC16

RF17: O sistema não deverá permitir inserir uma nova versão da proposta

se a última versão já possuir a situação “Concluída” ou “Não aprovada”.

UC01

RF18: O sistema não deverá permitir a alteração da análise técnica se a

mesma já estiver concluída.

UC10

Quadro 1 – Requisitos funcionais

3.2.2 Requisitos não Funcionais

No Quadro 2 são apresentados os requisitos não funcionais do sistema.

Requisitos Não Funcionais

RNF01: O sistema deverá ser implementado utilizando a linguagem Object Pascal, com a

ferramenta de desenvolvimento Borland Delphi 7.

RNF02: O sistema deverá utilizar o banco de dados SQL SERVER 2008.

RNF03: O sistema deverá ser compatível com a plataforma Windows.

RNF04: O sistema não deverá ter a necessidade de instalação para sua execução no

ambiente cliente.

RNF05: O sistema deverá estar integrado com o banco de dados do sistema de Help-Desk

para extrair informações.

RNF06: Deve-se controlar o acesso ao sistema através do uso de senha.

29

RNF07: O sistema deverá fazer uso de um Windows Service para checagem e envio dos

alertas de pendências através de e-mail. Quadro 2 – Requisitos não funcionais

3.2.3 Casos de uso

Na Figura 9 é apresentado o diagrama de casos de uso do sistema, desenvolvido com o

auxílio da ferramenta Enterprise Architect. Existem 3 atores, o analista de demanda, o analista

de desenvolvimento e o programador, onde o analista de demanda herda as permissões do

analista de desenvolvimento e do programador. No Apêndice A é possível visualizar o

detalhamento do diagrama.

Figura 9 – Diagrama de casos de uso

uc Use Case Model

UC01 - Manter

propostas de

customização

Programador

UC02 - Manter

recursos

UC03 - Visualizar

propostas faturadas

UC04 - Visualizar

propostas aprov adas

UC05 - Manter ofertas

de customização

UC09 - Manter ofertas

atendidas e nív el de

habilidade

UC10 - Manter

análises técnicas

UC16 - Visualizar

análises técnicas

UC12 - Efetuar

login

UC13 - Registrar

entrega

Analista

desenv olv imento

Analista demanda

UC15 - Registrar

resultados testes

UC11 - Manter

plano de testes

UC14 - Registrar

homologação

UC06 - Manter

produtos

UC07 - Manter

configurações

gerais

UC08 - Registrar

aprov ação

UC17 - Visualizar

prev isão faturamentoUC18 - Visualizar

propostas aguardando

faturamento UC19 - Manter

faturamento

UC20 - Manter

detalhes da

proposta

«extend»

«extend»

«extend»

30

3.2.4 Modelo Entidade Relacionamento

Na Figura 10 apresenta-se o Modelo Entidade Relacionamento (MER) do sistema,

desenvolvido com auxílio da ferramenta DbDesigner. No Apêndice B é possível visualizar o

detalhamento destas entidades através do Dicionário de Dados.

Figura 10 – Modelo Entidade Relacionamento

31

3.2.5 Diagrama de Processos

A Figura 11 demonstra o fluxo desenvolvido com o auxilio da ferramenta modeladora

de processos BizAgi, o qual demonstra o atendimento das solicitações de customizações com

a implantação do sistema desenvolvido, as operações executadas automaticamente pelo

sistema, estão descritas como “Sistema” no início da frase.

Figura 11 – Diagrama de Processos

O fluxo tem início quando o chamado entra no sistema de Help Desk. Neste momento

o sistema desenvolvido busca esta solicitação e insere o registro de proposta na base,

32

enviando uma solicitação de análise aos analistas. Em seguida o analista de desenvolvimento

registra a análise técnica em conjunto com o analista de demanda e alocam os recursos

necessários, montando um cronograma com horas e datas para execução das atividades, se

julgar necessário o analista de desenvolvimento também prepara um plano de testes para os

artefatos que devem ser desenvolvidos. Após concluir a análise, o sistema lança o faturamento

como previsto com base nas horas e datas informadas no cronograma, utilizando-se do valor

hora previamente cadastrado.

Na sequência, o analista de demanda envia a proposta ao cliente definindo um prazo

para vencimento da mesma. Depois disso existem três possíveis status para proposta, a

aprovada, a não aprovada e a vencida. Caso a proposta esteja vencida, o sistema avisa o

cliente se este possui interesse em prosseguir com a customização ou não, caso tenha

interesse, o analista de demanda envia nova versão da proposta e define um novo vencimento

para mesma. Se a proposta for rejeitada, o sistema lança o faturamento como cancelado e

conclui a proposta como não aprovada. Se a proposta é aprovada, o sistema avisa o analista de

desenvolvimento e os programadores envolvidos de que o desenvolvimento deve ser iniciado

nas datas previstas, e após eles terem concluído o desenvolvimento, preencherão o plano de

testes e o registro de entrega. Quando o cliente homologar o desenvolvimento, o programador

registra no sistema a confirmação de homologação, e o sistema avisa ao analista de demanda

de que a proposta já pode ser faturada.

Na Figura 12 é possível visualizar o diagrama de estados da proposta durante do fluxo

do processo de customização utilizado na empresa Senior Sistemas.

33

Figura 12 – Diagrama de estados da proposta

33..33 IIMMPPLLEEMMEENNTTAAÇÇÃÃOO

A seguir são mostradas as técnicas e ferramentas utilizadas e a operacionalidade da

implementação.

3.3.1 Técnicas e ferramentas utilizadas

Para implementação do sistema foi utilizada a ferramenta Borland Delphi 7 Enterprise

da empresa Borland, que auxilia no desenvolvimento da interface, com seu conjunto de

ferramentas integradas, e linguagem Object Pascal. Como banco de dados para o sistema

stm Diagrama de Estados Proposta

Inicio

Em análise Pendente

Aguardando

Aprov açãoAguardando

entrega ao cliente

Cancelada

Final

Aguardando

homologação

Aguardando

faturamento

ConcluídaRegistrar faturamento

Registrar homologação

Registrar entregaAvaliar [Reprovado]

Avaliar [Aprovado]

Enviar ao cliente

Efetuar análiseRegistrar

34

optou-se por utilizar o SQL Server 2008, pois é o mesmo banco de dados em que já esta

hospedada a aplicação de Help-Desk, facilitando assim a integração com o sistema

desenvolvido. Para gerenciá-lo foi utilizada a ferramenta SQL Server Management Studio,

fornecida com o banco de dados, conforme demonstrado na Figura 13.

Figura 13 – Ferramenta Microsoft SQL Server Management Studio

Como pacotes adicionais de componentes para desenvolvimento com Delphi foram

utilizados os pacotes DevExpress e AlphaControls em suas versões Demo, fornecidos pelas

mesmas empresas, onde do pacote da Dev Express foi utilizado o componente Cxgrid que

pode ser visualizado na Figura 14, e do pacote da Alpha Controls foi utilizado o componente

SknMngr, para aplicação de cores e efeitos nas telas, o qual tem sua funcionalidade

demonstrada na Figura 15.

Figura 14 – Tela utilizando o componente Cxgrid

35

Figura 15 – Tela de acesso ao sistema utilizando o componente SknMngr

3.3.2 Operacionalidade da implementação

A operacionalidade do sistema é inicialmente apresentada pela tela de acesso, onde o

usuário do sistema deve preencher os campos usuário e senha conforme já apresentado na

Figura 16.

Após realizar o acesso ao sistema todos os usuários são direcionados a tela principal do

sistema, onde o acesso será mais restrito quando o usuário for um analista de desenvolvimento

ou um programador. Na Figura 16 é apresentada à tela principal, acessada por um usuário

analista de demanda que possui acesso completo ao sistema, no rodapé pode ser visualizado o

nome do usuário e perfil de acesso.

Figura 16 – Tela principal do sistema

Ao passar o mouse sobre os campos ou botões da tela é apresentado um balão de ajuda,

como é possível visualizar na Figura 16. Esta funcionalidade está disponível em todas as telas

36

do sistema para facilitar o entendimento do usuário durante o uso.

Nesta tela estão às pendências do usuário, com duplo clique sobre uma delas será

carregada à tela relacionada à resolução da pendência. Caso o usuário ativo for um analista de

demanda, poderá visualizar todas as pendências, se for um analista de desenvolvimento ou

programador, poderá visualizar apenas as pendências relacionadas ao seu usuário. O analista

de demanda poderá ter os seguintes tipos de pendências: análise, envio de proposta,

faturamento. O analista de desenvolvimento poderá ter as seguintes pendências, a análise, e o

acompanhamento. Já o programador poderá ter as pendências, de desenvolvimento, executar

plano de testes, e a homologação.

Ainda na tela principal, da esquerda para direita, o botão “Recursos” permite o acesso

à tela de cadastro de recursos e suas habilidades de desenvolvimento em cada oferta de

customização, como pode ser visualizado nas Figuras 17 e 18.

Figura 17 – Tela de cadastro de recursos

Figura 18 – Tela de cadastro de habilidades dos recursos

37

Na Figura 19 está demonstrado o cadastro de ofertas de customização, que estão

relacionadas com as habilidades de desenvolvimento do programador, o qual é acessado

através do menu “Diversos\Cadastros\Ofertas de customização”.

Figura 19 – Tela de cadastro de ofertas de customização

Na sequência ainda na tela principal, existe o botão proposta que permite o acesso à

tela de cadastro de propostas atendendo ao objetivo específico “a”, onde é possível gerar e

enviar as propostas conforme pode ser visualizado na Figura 20.

Figura 20 – Tela de cadastro de propostas

38

Esta tela será alimentada de forma automática através de um Windows Service5 que

fará a inserção das novas propostas registradas no sistema de help desk. Ao inseri-las, deixará

o status da primeira versão como pendente de análise, comunicando o analista de que existe

uma pendência para verificar.

Caso o analista tenha a necessidade de registrar uma proposta que ainda não foi

inserida pelo Windows Service, poderá utilizar o segundo botão localizado ao lado do campo

“Proposta”, fazendo a busca diretamente na base do sistema de help desk.

Após a proposta ser carregada do sistema de help desk, é possível visualizar as

informações do cliente e detalhamento da solicitação feita pelo mesmo.

Com estas informações, o analista carrega a tela de análise através do botão localizado

no grupo de botões “Detalhar Análise” conforme demonstrado na Figura 20. Este botão

quando pressionado, apresentará a tela da Figura 21 onde é possível detalhar a análise,

atendendo ao objetivo específico “c” deste trabalho, além de identificar os recursos que farão

o desenvolvimento dos artefatos customizados.

Figura 21 – Tela de detalhamento da análise

Ao clicar no botão ao lado do campo “Recurso”, é demonstrada a tela de “Habilidades

5 Windows Service – executável do Windows sem interface ao usuário, iniciado automaticamente (MSDN, 2010)

39

Recursos”, onde são demonstrados os recursos aptos a desenvolver a oferta identificada e os

seus respectivos níveis de habilidade na oferta selecionada, como é possível visualizar na

Figura 20. Com isso o analista poderá decidir qual recurso irá selecionar para desenvolver, e

se precisar de um desenvolvimento mais ágil e com melhor qualidade, utilizará o recurso com

mais habilidade por exemplo.

Se posteriormente o programador que acessar a tela de análise para consulta e

necessitar visualizar ou imprimir a descrição da análise, poderá clicar no botão com símbolo

de impressora, localizado no canto superior direito da tela, para visualizar o relatório

demonstrado na Figura 22.

Figura 22 – Relatório do detalhamento da análise

Durante a análise o analista também poderá incluir anexos para facilitar o

entendimento do que devem ser desenvolvido pelo programador, como por exemplo, as

figuras, fluxos, e os protótipos. Os anexos podem ser inseridos através da tela apresentada na

Figura 23, a qual pode ser acessada através do segundo botão da esquerda para direita, que

está no topo da tela demonstrada na Figura 21. Estes anexos serão gravados na base de dados

e ficarão disponíveis para visualização do programador posteriormente.

40

Figura 23 – Tela para inserir anexos na análise

Ao concluir a análise onde houve a inclusão de horas para qualidade, será solicitado se

existe a necessidade de gerar um plano de testes, conforme mensagem apresentada na Figura

24.

Figura 24 – Mensagem de confirmação para definir o plano de testes

Caso decida por definir um plano de testes, será apresentada a tela da Figura 25 onde

deverá indicar as condições de testes e resultados esperados para cada condição.

Figura 25 – Tela de definição do plano de testes

Depois de definir o plano de testes, a proposta ficará com o status de “pendente de

envio” para o cliente e neste momento o primeiro botão do grupo “Escrever Proposta” da tela

41

de propostas demonstrada na Figura 20, ficará habilitado. Ao clicar neste botão será

apresentada a tela da Figura 26, onde deverão ser preenchidos os detalhes da proposta, como

soluções propostas e benefícios que a solução entregue ao cliente.

Figura 26 – Tela de detalhes do corpo da proposta

Nesta tela estão as informações que serão demonstradas na proposta de customização

que será enviada ao cliente onde será descrita a solução proposta pelo analista para atender a

solicitação e os benefícios que a customização poderá trazer ao cliente. Após preencher estas

informações e gravá-las, deve-se clicar no botão “Gerar Proposta” para que seja gerado um

arquivo texto no formato “doc” (utilizado como modelo padrão de propostas de customização

da empresa Senior Sistemas), conforme pode ser visualizada na Figura 27. Esta proposta já

possui as informações necessárias para o envio ao cliente, o analista apenas verificará se está

de acordo. Ao sair da tela do documento, o sistema solicitará se deseja salvar a proposta para

posterior envio ou não, conforme também pode ser visto na Figura 27.

42

Figura 27 – Tela com modelo de proposta gerado

Ainda na tela de proposta demonstrada na Figura 20 no grupo de botões “Escrever

Proposta”, ao clicar no segundo botão será apresentada a tela para envio da proposta por e-

mail ao cliente, conforme pode ser visualizado na Figura 28.

Figura 28 – Tela de envio de e-mail da proposta

Na Figura 29 é possível visualizar o código fonte responsável por enviar o e-mail da

proposta através da tela apresentada na Figura 28.

43

Figura 29 – Código fonte responsável pelo envio de e-mail da proposta

Após enviar a proposta, apresentada na tela da Figura 29, o seu status será alterado

para “Aguardando aprovação do cliente”, e ficará disponível para na tela da Figura 30, para o

analista registrar a aprovação ou rejeição.

Figura 30 – Tela de registro da aprovação da proposta

Caso a proposta seja rejeitada, o sistema irá alterar o status da mesma para

“cancelada”. Mas se for aprovada, o sistema vai alterar o status para “pendente de entrega” e

44

irá comunicar os envolvidos, disponibilizando a proposta para desenvolvimento. Depois de

concluído o desenvolvimento, o programador responsável preenche o plano de testes

descrevendo os resultados obtidos e indica se cada um dos itens de testes propostos pelo

analista ao definir o plano estão testados e quais os resultados obtidos durante o teste

executado, como pode ser visto na Figura 31.

Figura 31 – Tela de preenchimento do plano de Testes

Após preencher o plano de testes e finalizar o desenvolvimento, o programador marca

como entregue ao cliente o artefato desenvolvido, conforme demonstrado na Figura 32, que

pode ser acessada através do menu “Desenvolvimento\Entregar Artefatos”.

Figura 32 – Tela de confirmação de entrega

Ao confirmar a entrega, a proposta ficará com o status de “aguardando homologação

do cliente”. Quando o cliente confirmar esta homologação, o programador responsável poderá

fazer o registro desta através da tela demonstrada na Figura 33, que é acessada pelo menu

“Desenvolvimento\Confirmar homologação”.

45

Figura 33 – Tela de confirmação de homologação

Após homologado se for necessária a impressão do checklist de acompanhamento esta

impressão poderá ser feita através do relatório demonstrado na Figura 34, o qual pode ser

acessado através do menu “Desenvolvimento\Gerar CheckList”.

Figura 34 – Relatório checkList de acompanhamento

Após confirmar a homologação a proposta ficará disponível para faturamento. Neste

momento, o analista poderá acessar a tela de manutenção do faturamento através do menu

“Faturamento\Manutenção”, como pode ser visto na Figura 35, onde poderá marcar a

proposta como faturada indicando a data do faturamento. Ao indicar o faturamento da

proposta, seu status é alterado para “concluído”, finalizando assim o processo de

customização.

46

Figura 35 – Tela de manutenção do faturamento

Se o analista necessitar de uma consulta do total de propostas que ainda não foram

faturadas para ter uma previsão de faturamento para o mês, poderá utilizar o relatório de

faturamento previsto, que está disponível no menu “Relatórios\previsão de faturamento”. O

mesmo pode ser acessado através da tela principal demonstrada na Figura 20, e o resultado da

impressão deste relatório pode ser visualizado na Figura 36.

Figura 36 – Relatório de faturamento previsto

Atendendo ao objetivo específico “d”, é possível listar um relatório com quantidade e

valor das propostas faturadas mensalmente conforme demonstrado na Figura 37. Este

47

relatório está disponível no menu “Relatórios\Faturamento Mês”.

Figura 37 – Relatório de propostas faturadas mês

Atendendo ao objetivo específico “e”, através do relatório demonstrado na Figura 38 é

possível visualizar o número de propostas aprovadas no mensalmente, o qual é acessado

através do menu “Relatórios\Propostas Aprovadas Mês”.

Figura 38 – Relatório de propostas aprovadas mês

Atendendo ao objetivo específico “b” é possível visualizar cada uma das propostas que

estão aguardando faturamento, através do relatório demonstrado na Figura 39 o qual é

acessado através do menu “Relatórios\Propostas não Faturadas”.

48

Figura 39 – Relatório com propostas não faturadas

É possível visualizar o mesmo resultado com o valor previsto para faturamento mês

através do gráfico de faturamento, conforme demonstrado na Figura 40. O gráfico pode ser

acessado através do menu “Faturamento\Previsão de Faturamento”.

Figura 40 – Gráfico com previsão de faturamento mês

Cada uma das propostas cadastradas na base do sistema está associada a um produto, e

este produto possui um analista de demanda e um analista de desenvolvimento responsável

pelos trabalhos desenvolvidos para os mesmos. Na Figura 41 pode ser visualizada a tela onde

estas informações são cadastradas, sendo que a informação de código e nome do produto é

carregada diretamente do sistema de help desk, através do segundo botão ao lado do campo

49

“Produto”, conforme Figura 41.

Figura 41 – Tela de cadastro de produtos

Para cada tipo de pendência encontrada no controle do fluxo de propostas, o Windows

Service desenvolvido enviará um e-mail de alerta, com os detalhes da(s) mesma(s) para que

sejam tomadas providências. Um exemplo de e-mail de pendências de análise pode ser

visualizado na Figura 42, e na Figura 43 pode ser visualizado o Windows Service instalado e

ativo para envio dos e-mails.

Figura 42 – Exemplo de e-mail enviado pelo Windows Service

50

Figura 43 – Windows Service ativo para envio de e-mail de alerta

33..44 RREESSUULLTTAADDOOSS EE DDIISSCCUUSSSSÃÃOO

Quando se fala em custo de manutenção de software para as empresas que os

desenvolvem, geralmente se faz referência a valores, mas nem sempre este é o único custo da

empresa. Existem também custos intangíveis como a insatisfação dos clientes pelo não

atendimento de suas solicitações ou ainda por não serem atendidas no prazo e com a

qualidade que esperavam (Pressman, 2006). Desta forma a empresa Senior Sistemas procurou

melhorar o gerenciamento do processo de envio das propostas de customização de software,

aumentando assim, a assertividade dos programadores em relação ao que deve ser

desenvolvido, pois com o uso do registro de análise técnicas e a comunicação das pendências

das propostas em seus diversos estágios, através do envio de e-mail, será possível agilizar o

trabalho da equipe de customizações e como consequência diminuir o tempo de resposta aos

clientes.

Quanto aos trabalhos correlatos, o sistema desenvolvido possui uma maior semelhança

com o sistema da empresa Proposital, o qual disponibiliza a informação de valores e períodos

de aprovação da proposta, mantendo o registro da situação de cada proposta, informando ao

responsável quais propostas devem ser avaliadas, e quais já foram faturadas ou enviadas aos

clientes, da mesma forma que o sistema desenvolvido. O sistema da proposital ainda dispõe

de registros de aprovação eletrônica através do e-mail recebido pelo cliente, recurso o qual

não é disponibilizado pelo aplicativo desenvolvido neste TCC.

Em relação aos outros trabalhos de conclusão de curso, verifica-se que o foco do

desenvolvimento não é exatamente o mesmo. O trabalho de Petters (2007) disponibiliza um

51

sistema para cadastro de solicitações de manutenção ou desenvolvimento de softwares, onde o

cliente registra a entrada de uma solicitação, e o analista faz a avaliação e retorna com valores

para serem aprovados. O cliente então deve acompanhar através do sistema por ele

desenvolvido, como está à situação de sua solicitação, diferente do sistema desenvolvido

neste trabalho, onde o cliente recebe a comunicação por e-mail, informando a aprovação da

proposta, e não possui nenhuma interação com o sistema. Hardock (2008) desenvolveu um

aplicativo que apenas mantém o registro de atividades de projeto que devem ser executadas

pelos participantes de determinado projeto, mas não faz nenhum tipo de comunicação aos

envolvidos no projeto, o que no sistema desenvolvido é feito, informando aos envolvidos em

cada uma das atividades.

Por fim o sistema desenvolvido agrega melhorias no processo do fluxo de propostas

de customização de software da empresa Senior Sistemas, trazendo mais agilidade e

assertividade no retorno aos clientes e no desenvolvimento dos artefatos customizados,

atendendo a todos os objetivos propostos.

52

4 CONCLUSÕES

O crescente número de sistemas legados e a dificuldade para mantê-los adequados ás

necessidades das organizações é a principal razão desses softwares frequentemente passarem

por mudanças, mesmo após terem sido entregues aos seus clientes. É com base neste tipo de

mudança que se define a manutenção adaptativa, que o setor de customizações da empresa

Senior Sistemas trabalha, onde este tipo de manutenção é solicitada e paga pelo cliente.

O fluxo de solicitações de customização a cada dia é maior no setor de customizações

da empresa, dificultando assim um controle manual principalmente dos valores das

customizações já faturados, como ocorria anteriormente, pois na correria de todos os dias,

acaba-se esquecendo de propostas que já haviam sido entregues e que não foram mais

retornadas pelos clientes, as quais deveriam ter sido faturadas, com o controle do fluxo de

propostas feito pelo sistema, isso possivelmente não ocorrerá mais, pois diariamente o sistema

enviará um e-mail por meio do Windows Service desenvolvido, avisando os responsáveis em

cada uma das etapas até o encerramento da proposta de customização, evitando assim que

fiquem propostas sem análise ou faturamento, eliminando a ineficiência do setor de

customizações no controle deste fluxo.

Através do registro de analises técnicas da customização é possível obter melhores

resultados nos trabalhos executados pelos programadores da equipe de customizações. Com

as imagens e descrições apresentadas pelos analistas de uma forma mais técnica e não apenas

uma descrição do resultado final a ser entregue ao cliente, os programadores poderão executar

mais rapidamente o trabalho e com uma melhor qualidade, atendendo as expectativas dos

clientes, que solicitam estes trabalhos.

Conclui-se que o sistema desenvolvido apresenta uma melhoria no controle das

solicitações de customização da empresa Senior Sistemas, atendendo a todos os objetivos

propostos.

Os objetivos pessoais também foram atingidos, pois até o momento não havia

desenvolvido uma aplicação com maior porte, apenas pequenos aplicativos, e como este TCC

é aplicativo ao uso da empresa, foi necessária uma maior atenção no desenvolvimento, e

documentação do código, para que posteriormente pudesse ser mantido por outras pessoas,

construindo assim em um ganho de experiência, como programador. Entendeu-se que a

academia foi essencial para chegar á um nível melhor de detalhamento neste trabalho.

53

44..11 EEXXTTEENNSSÕÕEESS

Para dar continuidade a este trabalho podem ser desenvolvidos os seguintes itens:

a) integração com o sistema Soft Expert de controle de apontamento de horas e

agendas dos programadores, que é utilizado na rede interna da empresa. Com as

informações deste sistema poderiam ser disponibilizados detalhes das agendas de

cada um dos recursos antes de alocá-los na proposta através do sistema

desenvolvido;

b) hoje o setor de customizações da empresa ainda não possui uma metodologia

definida para gerenciar os projetos de desenvolvimento dos artefatos

customizados. Esta metodologia ainda esta em estudo pela gerência da empresa,

quanto estiver definido, serão necessárias melhorias no sistema desenvolvido para

utilizar um gerenciamento de escopo de projeto, e estabelecimento de estimativas

por pontos de função;

c) disponibilizar a possibilidade de aprovação automática das propostas por e-mail,

com o uso de um Web Service6 para receber o registro da aprovação.

6 Web Service – é uma aplicação que proporciona dados e serviços a outras aplicações (MSDN, 2010).

54

REFERÊNCIAS BIBLIOGRÁFICAS

COELHO, O. P. Técnicas para customização de software. São Paulo, 2007. Disponível em:

<http://www.microsoft.com/brasil/msdn/tecnologias/arquitetura/Customizacao_Software.msp

x>. Acesso em: 10 abr. 2012.

FUSCO, J.P.A. Tópicos emergentes em engenharia da produção. 2. ed. São Paulo: Arte &

Ciência, 2003.

HARDOCK, L.L.P. Protótipo de um sistema de gerenciamento de projetos e atividades

utilizando JEE. 2008. 69 f. Trabalho de Conclusão de Curso (Bacharel em Ciências da

Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau,

Blumenau.

INFORMAL. Dicionário informal, Belo Horizonte, 2012. Disponível em:

<http://www.dicionarioinformal.com.br/>. Acesso em: 13 mar. 2012.

INSTITUTE OF ELECTRICAL AND ELECTRONIC ENGINEERS. IEEE standard

collection. Software Enginnering. IEEE, New York, 1998.

INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ISO 14764. Genève,

1998.

MSDN. Introduction to Windows service applications. Redmont, 2010. Disponível em:

<http://msdn.microsoft.com/en-us/library/d56de412%28v=vs.80%29.aspx>. Acesso em: 06

jun. 2012.

PADUELLI, M.M. Manutenção de software: problemas típicos e diretrizes para um

disciplina específica. 2007. 155 f. Dissertação (Mestre em Ciências da Computação e

Matemática Computacional) – Instituto de Ciências Matemáticas e de Computação,

Universidade de São Paulo, São Carlos.

PETTERS, R.F.M. Sistema de gerenciamento e acompanhamento de propostas e

requisitos. 2007. 75 f. Trabalho de Conclusão de Curso (Bacharel em Sistemas de

Informação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau,

Blumenau.

PFLEEGER, S.L. Engenharia de software: teoria e prática. 2. ed. São Paulo: Prentice Hall,

2004.

PRESSMAN, R. S. Engenharia de software. 6. ed. São Paulo: McGraw hill, 2006.

PROPOSITAL. Proposital gerenciamento de propostas, Belo Horizonte, 2011. Disponível

em: < https://www.proposital.com.br>. Acesso em: 16 maio 2012.

55

SENIOR SISTEMAS. Intranet da senior, Blumenau, 2010. Disponível em:

<http://webserver/intranet>. Acesso em: 16 maio 2012.

56

APÊNDICE A – Descrição dos Casos de Uso

Este Apêndice apresenta a descrição dos casos de uso conforme previstos no diagrama

apresentado na subseção 3.2.3. No Quadro 3 apresenta-se o caso de uso “Manter proposta de

customização”.

UC01 – Manter proposta de Customização

Descrição: Permite ao analista de demanda, incluir alterar ou excluir informações das propostas

de customização.

Ator: Analista de Demanda.

Pré-condição: O programador e o analista devem estar cadastrados no sistema.

A solicitação que ira gerar a proposta deve estar cadastrado no sistema de Help-

Desk.

Pós-Condição: Uma proposta foi incluída, alterada ou excluída do sistema.

A estimativa de faturamento foi atualizada.

Cenário-Consulta Proposta {Principal}

1. O analista de demanda acessa a tela de proposta.

2. O sistema apresenta a tela de proposta.

3. O analista de demanda opta por localizar a proposta.

4. O sistema carrega as propostas na tela de pesquisa.

5. O analista seleciona uma das propostas apresentadas na pesquisa.

6. O sistema apresenta os dados da proposta, relacionados a consulta.

7. O analista de demanda opta por uma operação ou encerra.

Cenário – Inclusão

No passo 3, o analista de demanda opta por incluir uma nova proposta.

3.1. O analista de demanda informa o número da proposta com base na numeração gerada pelo

sistema de Help-Desk.

3.2. O sistema valida as informações e carrega os dados principais a partir do sistema de help

desk.

3.3. O analista de demanda seleciona gravar.

3.4. O sistema grava as informações deixando o status como pendente de análise

Cenário – Inclusão versão

No passo 3, o analista de demanda opta por incluir uma nova versão da proposta.

3.1. O analista de demanda clica sobre o botão nova versão de proposta.

3.2. O sistema verifica se a ultima versão já não esta concluída ou cancelada.

3.3. O sistema apresenta mensagem “Não é possível incluir nova versão se a ultima estiver com

status concluída ou cancelada.” caso a proposta esteja em um dos status.

3.4. O sistema carrega as informações a partir do sistema de help desk e efetua a gravação da

proposta na base.

Cenário - Alterar Proposta

No passo 7, o analista de demanda opta por alterar a proposta.

7.1. O sistema apresenta os dados para alteração

7.2. O analista de demanda edita os dados e seleciona gravar

57

7.3. O sistema solicita confirmação da operação

7.4. O analista de demanda confirma

7.5. O sistema altera os dados da proposta

Cenário – Excluir Versão da Proposta

No passo 7, o analista de demanda opta por excluir uma versão da proposta.

7.1. O analista de demanda seleciona excluir.

7.2. O sistema checa se o status da versão da proposta esta como “concluído”, ou “cancelada”.

7.3. Caso a proposta possua um dos status o sistema informa ao analista de demanda que não

será possível exclui-la.

7.4. Caso a proposta ainda não esteja com um destes status o sistema solicita a confirmação de

exclusão ao analista de demanda.

7.5. O analista de demanda confirma a exclusão.

7.6. O sistema exclui a versão da proposta.

Cenário – Proposta não Encontrada {Exceção}

No passo 6, caso a proposta informada não exista, o sistema apresenta mensagem “Proposta

inválida.”

Quadro 3 – Descrição do caso de uso Manter Proposta de Customização

No Quadro 4 apresenta-se o caso de uso “Manter Ofertas Atendidas e Grau de

Habilidade”.

UC09 – Manter Ofertas Atendidas e Grau de Habilidade

Descrição: Permite ao analista de demanda ou analista de desenvolvimento definir as ofertas

atendidas e o grau de habilidade para cada programador.

Ator: Analista de Demanda ou Analista de desenvolvimento.

Pré-condição: O recurso deve estar cadastrado no sistema.

A oferta deve estar cadastrada no sistema.

Pós-Condição: O grau de habilidade foi definido para a oferta atendida.

O recurso teve a definição do grau de habilidade para todas as ofertas atendidas.

Cenário-Consulta Ofertas atendidas. {Principal}

1. O analista de demanda/ desenvolvimento acessa a tela de ofertas atendidas.

2. O sistema apresenta a tela de ofertas atendidas.

3. O analista de demanda/desenvolvimento opta por localizar um programador.

4. O sistema carrega os programadores cadastrados na tela de pesquisa.

5. O analista de demanda/desenvolvimento seleciona a opção de pesquisa e informa os dados

para pesquisa.

6. O sistema apresenta os dados das ofertas atendidas pelo programador selecionado.

7. O analista de demanda/desenvolvimento opta por uma operação ou encerra.

Cenário – Incluir ofertas atendidas

No passo 7, o analista de demanda opta por incluir uma nova oferta atendida.

7.1. O analista de demanda carrega uma oferta e define o grau de habilidade para oferta.

7.2. O analista de demanda seleciona a opção gravar.

7.3. O sistema grava as informações para o recurso selecionado.

58

Cenário - Alterar ofertas atendidas

No passo 7, o analista de demanda opta por alterar a oferta atendida.

7.1. O analista de demanda define um novo grau de habilidade para oferta.

7.2. O analista de demanda seleciona a opção gravar.

7.3. O sistema grava as informações para o recurso selecionado.

Cenário – Excluir ofertas atendidas

No passo 7, o analista de demanda/desenvolvimento opta por excluir a oferta atendida.

7.1. O analista seleciona excluir.

7.2. O sistema checa se a oferta esta sendo utilizada em alguma proposta atendida pelo recurso

em questão.

7.3. Caso a oferta já tenha sido utilizada o sistema informa que não será possível exclui-la.

7.4. Caso a oferta ainda não esteja sendo utilizada, o sistema solicita a confirmação de exclusão.

7.5. O analista confirma a exclusão.

7.6. O sistema exclui a oferta e grau de habilidade ligado ao recurso. Quadro 4 – Descrição do caso de uso Manter Ofertas Atendidas e grau de Habilidade

No Quadro 5 apresenta-se o caso de uso “Manter Análises Técnicas”.

UC010 – Manter Análises técnicas

Descrição: Permite ao analista de demanda ou analista de desenvolvimento Incluir Alterar ou

Excluir o registro de análise técnica.

Ator: Analista de Demanda ou Analista de desenvolvimento.

Pré-condição: A proposta deve estar cadastrada e com status pendente de Análise.

Pós-Condição: O detalhamento da análise foi efetuado e a proposta esta disponível para envio

ao cliente.

Cenário – consulta análise. {Principal}

1. O analista de demanda/ desenvolvimento acessa a tela de análise.

2. O sistema apresenta a tela para preenchimento das informações.

3. O analista de demanda/desenvolvimento seleciona uma proposta.

4. O sistema carrega as informações da proposta.

5. O analista de demanda/desenvolvimento opta por uma operação ou encerra.

Cenário – Incluir análise técnica

No passo 5, o analista opta por incluir uma nova análise.

5.1. O analista preenche as informações técnicas da análise.

5.2. O analista inclui os anexos necessários através do botão incluir anexo disponível na tela de

análise.

5.3. O analista seleciona uma oferta e aciona o botão para selecionar os recursos.

5.4. O sistema apresenta um quadro com os recursos disponíveis para a oferta selecionada,

ordenados pelo nível de habilidade.

5.5. O analista seleciona um recurso, e volta ao passo 5.3 se julgar necessário nova seleção.

5.6. O analista seleciona a opção concluir análise.

5.7. O sistema grava as informações para a análise selecionada, e apresenta mensagem “Deseja

definir um plano de testes para esta proposta”.

5.8. Caso o analista decida por definir um plano de testes o sistema abre a tela de definição do

plano de testes.

59

Cenário - Alterar análise técnica

No passo 5, o analista opta por alterar a análise.

5.1. O sistema verifica se análise já esta concluída.

5.2. Se a análise já estiver concluída o sistema desabilita todos os campos da tela ficando

disponível apenas para consulta.

5.3. Caso a análise ainda não tenha sido concluída, o sistema disponibiliza os campos para

alteração.

5.4. O analista altera o texto da análise e inclui/exclui os anexos da análise.

5.5. O analista seleciona a opção gravar.

5.6. O sistema grava as informações para a análise selecionada.

Cenário – Excluir análise técnica

No passo 5, o analista opta por excluir a análise técnica.

5.1. O analista seleciona a opção excluir.

5.2. O sistema checa se a análise ainda não esta concluída.

5.3. Caso a análise já tenha sido concluída o sistema informa ao analista que não será possível

exclui-la.

5.4. Caso a análise ainda não esteja concluída, o sistema solicita a confirmação de exclusão ao

analista.

5.5. O analista confirma a exclusão.

5.6. O sistema exclui a análise e informa ao analista. Quadro 5 – Descrição do caso de uso Manter Análises Técnicas

No Quadro 6 apresenta-se o caso de uso “Manter Plano de Testes”.

UC11 – Manter plano de testes

Descrição: Permite ao analista de desenvolvimento Incluir Alterar ou Excluir um registro de

plano de testes.

Ator: Analista de desenvolvimento.

Pré-condição: A proposta deve estar cadastrada e o registro de análise técnica concluído.

Pós-Condição: O plano de testes foi definido e está disponível para o preenchimento do

programador.

Cenário - definição do plano de testes. {Principal}

1. O analista de desenvolvimento acessa a tela de plano de testes.

2. O sistema apresenta a tela para preenchimento das informações.

3. O analista de desenvolvimento seleciona uma proposta para definir o plano de testes.

4. O sistema carrega as informações da proposta.

5. O analista de desenvolvimento opta por uma operação ou encerra.

Cenário – Incluir plano de testes

No passo 5, o analista de desenvolvimento opta por incluir um novo plano de testes.

5.1. O analista de desenvolvimento preenche os campos de processo, condição, resultado

esperado e responsável pelo teste.

5.2. O analista de desenvolvimento seleciona a opção gravar.

5.3. O sistema grava as informações para a proposta selecionada e informa o analista.

Cenário - Alterar plano de testes

No passo 5, o analista opta por alterar o plano de testes.

5.1. O analista inclui/exclui um item do plano de testes.

60

5.2. O analista seleciona a opção gravar.

5.3. O sistema grava as informações para a proposta selecionada e informa o analista.

Cenário – Excluir plano de testes

No passo 5, o analista opta por excluir o plano de testes.

5.1. O analista seleciona excluir.

5.2. O analista confirma a exclusão.

5.3. O sistema exclui a análise e informa ao analista.

Quadro 6 – Descrição do caso de uso Manter Plano de Testes

No Quadro 7 apresenta-se o caso de uso “Registrar Entrega”.

UC13 – Registrar entrega

Descrição: Permite ao programador indicar se o artefato desenvolvido já foi entregue ao cliente.

Ator: Programador.

Pré-condição: A proposta deve estar cadastrada e pendente de entrega ao cliente.

Pós-Condição: Todos os artefatos foram entregues e a proposta esta aguardando homologação do

cliente.

Cenário – preencher confirmação de entrega.

1. O programador acessa a tela de confirmação de entrega.

2. O sistema apresenta a tela e disponibiliza os filtros para pesquisa das propostas pendentes de

entrega.

3. O programador aplica o filtro para buscar as propostas que deseja entregar.

4. O sistema demonstra as propostas de acordo com o filtro selecionado.

5. O programador marca como entregue as propostas e clica em confirmar.

6. O sistema altera a proposta para aguardando homologação e atualiza a tela. Quadro 7 – Descrição do caso de uso Registrar Entrega

No Quadro 8 apresenta-se o caso de uso “Manter recurso”.

UC02 – Manter recursos

Descrição: Permite ao analista de demanda Incluir, Alterar, Excluir um recurso.

Quadro 8 – Descrição do caso de uso Manter recursos

No Quadro 9 apresenta-se o caso de uso “Visualizar propostas faturadas”.

UC03 – Visualizar propostas faturadas

Descrição: Permite ao analista de demanda visualizar o número de propostas faturadas.

Quadro 9 – Descrição do caso de uso visualizar propostas faturadas

No Quadro 10 apresenta-se o caso de uso “Visualizar propostas aprovadas”.

UC04 – Visualizar propostas aprovadas

Descrição: Permite ao analista de demanda visualizar o número de propostas aprovadas.

Quadro 10 – Descrição do caso de uso visualizar propostas aprovadas

61

No Quadro 11 apresenta-se o caso de uso “Manter ofertas de customização”.

UC05 – Manter ofertas de customização

Descrição: Permite ao analista de demanda alterar, incluir, excluir as ofertas de customização.

Quadro 11 – Descrição do caso de uso manter ofertas de customização

No Quadro 12 apresenta-se o caso de uso “Manter produtos”.

UC06 – Manter produtos

Descrição: Permite ao analista de demanda alterar, incluir, excluir o cadastro produtos.

Quadro 12 – Descrição do caso de uso manter produtos

No Quadro 13 apresenta-se o caso de uso “Manter configurações gerais”.

UC07 – Manter configurações gerais

Descrição: Permite ao analista de demanda alterar, incluir, excluir o cadastro de configurações

gerais do sistema.

Quadro 13 – Descrição do caso de uso manter configurações gerais

No Quadro 14 apresenta-se o caso de uso “Registrar aprovação”

UC08 – Registrar aprovação

Descrição: Permite ao analista de demanda efetuar o registro da aprovação da proposta de

customização. Quadro 14 – Descrição do caso de uso registrar aprovação

No Quadro 15 apresenta-se o caso de uso “Efetuar login”.

UC12 – Efetuar login

Descrição: Permite ao analista de demanda, analista de desenvolvimento e programador efetuar o

login no sistema.

Quadro 15 – Descrição do caso de uso efetuar login

No Quadro 16 apresenta-se o caso de uso “Registrar homologação”

UC14 – Registrar homologação

Descrição: Permite ao programador efetuar o registro da homologação do desenvolvimento.

Quadro 16 – Descrição do caso de uso registrar homologação

No Quadro 17 apresenta-se o caso de uso “Registrar resultados testes”.

UC15 – Registrar resultados testes

Descrição: Permite ao programador efetuar o registro dos resultados do plano de testes proposto

pelo analista.

Quadro 17 – Descrição do caso de uso registrar resultados testes

62

No Quadro 18 aprenda-se o caso de “Visualizar análises técnicas”.

UC16 – Visualizar análises técnicas

Descrição: Permite ao programador visualizar o registro de análises técnicas de customização.

Quadro 18 – Descrição do caso de uso visualizar análises técnicas

No Qquadro 19 apresenta-se o caso de uso “Visualizar previsão de faturamento”.

UC17 – Visualizar previsão de faturamento

Descrição: Permite ao analista de demanda visualizar relatório de previsão de faturamento.

Quadro 19 – Descrição do caso de uso visualizar previsão de faturamento

No Quadro 20 apresenta-se o caso de uso “Visualizar propostas aguardando

faturamento”.

UC18 – Visualizar propostas aguardando faturamento

Descrição: Permite ao analista de demanda visualizar relatório com propostas aguardando

faturamento.

Quadro 20 – Descrição do caso de uso visualizar propostas aguardando faturamento

No Quadro 21 apresenta-se o caso de uso “Manter faturamento”.

UC19 – Manter faturamento

Descrição: Permite ao analista de demanda alterar, incluir e excluir o registro de faturamento das

propostas de customização. Quadro 21 – Descrição do caso de uso manter faturamento

No Quadro 22 apresenta-se o caso de uso “Manter detalhes da proposta”.

Quadro 22 – Descrição do caso de uso Manter detalhes da proposta

No Quadro 23 apresenta-se o caso de uso “Visualizar checklist”.

UC21 – Visualizar checklist

Descrição: Permite ao programador visualizar o relatório de checklist de acompanhamento.

Quadro 23 – Descrição do caso de uso Visualizar checklist

UC20 – Manter detalhes da proposta

Descrição: Permite ao analista de demanda, alterar, incluir, excluir detalhes das propostas de

customização.

63

APÊNDICE B – Detalhamento do Dicionário de Dados

Este Apêndice apresenta a descrição do dicionário de dados conforme apresentado na

subseção 3.2.4. A identificação das chaves primária e estrangeira está representada da

seguinte forma:

a) chave primária: (PK);

b) chave estrangeira: (FK).

Os tipos de dados utilizados pelo banco de dados são:

a) int: para valores numéricos do tipo inteiro;

b) text: para valores do tipo texto longo;

c) varBinary: para valores do tipo binário;

d) nvarchar: para valores do tipo texto;

e) date: para valores do tipo data;

f) float: para valores numéricos do tipo reais.

O Quadro 24 apresenta o dicionário de dados da tabela “Analise”.

Quadro 24 - Dicionário de dados da tabela Analise

O Quadro 25 apresenta o dicionário de dados da tabela “Anexos”.

Quadro 25 - Dicionário de dados da tabela Anexos

.

O Quadro 26 apresenta o dicionário de dados da tabela “AvisoPendencias”.

Tabela: Analise

Tabela responsável por armazenar as analises efetuadas.

Campo Tipo Tamanho Obrigatório Descrição

NumPro(PK) Int 10 Sim Número Proposta

VerPro(PK) Int 10 Sim Versão proposta

idAnexo(FK) Int 10 Não Id dos anexos da análise

DetTec Text Não Detalhes técnicos da análise

Tabela: Anexos

Tabela responsável por armazenar os anexos utilizados.

Campo Tipo Tamanho Obrigatório Descrição

IdAnexo(PK) int 10 Sim Id do anexo

SeqAnexo(PK) Int 10 Sim Sequência do anexo

BinAnexo VarBinary Não Binário do anexo

NomAnexo nvarchar 100 Não Nome do anexo

64

Quadro 26 - Dicionário de dados da tabela AvisoPendencias

O Quadro 27 apresenta o dicionário de dados da tabela “ConfigGerais”.

Quadro 27 - Dicionário de dados da tabela ConfigGerais

O Quadro 28 apresenta o dicionário de dados da tabela “Faturamento”.

Quadro 28 - Dicionário de dados da tabela Faturamento

O Quadro 29 apresenta o dicionário de dados da tabela “HabilitadesRecursos”.

Tabela: AvisoPendencias

Tabela responsável por armazenar registros de avisos de pendencias das propostas.

Campo Tipo Tamanho Obrigatório Descrição

NumPro(PK) int 10 Sim Numero da proposta

VerPro (PK) Int 10 Sim Versão da proposta

DatEnv date Não Data de envio do e-mail

TipPen nvarchar 3 Não Tipo de pendencia

EndEma nvarchar 80 Não Endereção de e-mail enviado.

Tabela: ConfigGerais

Tabela responsável por armazenar registros das configurações gerais do sistema.

Campo Tipo Tamanho Obrigatório Descrição

DirModProp nvarchar 500 Não Diretório modelo de proposta

VlrHorDes float Não Versão da proposta

VlrHorAna float Não Data de envio do e-mail

VlrHorQua float Não Tipo de pendência

EmailRespSis nvarchar 40 Não Endereção de e-mail do

responsável pelo Sistema.

Tabela: Faturamento

Tabela responsável por armazenar registros de faturamento das propostas.

Campo Tipo Tamanho Obrigatório Descrição

NumPro(PK) Int 10 Sim Numero da proposta

DatFat Int 10 Não Data de faturamento

NumRat Int 10 Não Numero do RAT

HorDes Int 10 Não Horas desenvolvimento

HorAna Int 10 Não Horas análise

HorQua Int 10 Não Horas qualidade

VlrFat Int 15 Não Valor faturamento

AceGer nvarchar 1 Não Acerto gerencial

PrvFat date Não Previsão de faturamento

TipFat nvarchar 1 Não Tipo de faturamento

65

Quadro 29 - Dicionário de dados da tabela HabilitadesRecursos

O Quadro 30 apresenta o dicionário de dados da tabela “Ofertas”.

Quadro 30 - Dicionário de dados da tabela Ofertas

O Quadro 31 apresenta o dicionário de dados da tabela “PlanoTestes”.

Quadro 31 - Dicionário de dados da tabela PlanoTestes

O Quadro 32 apresenta o dicionário de dados da tabela “Produtos”.

Tabela: HabilitadesRecursos

Tabela responsável por armazenar registros Habilidades de desenvolvido de cada recurso.

Campo Tipo Tamanho Obrigatório Descrição

CodRec(PK) Int 10 Sim Código do recurso

TipOfe (PK) Int 10 Sim Tipo de oferta

NivHab Int 10 Não Nível de habilidade

Tabela: Ofertas

Tabela responsável por armazenar registros de Ofertas oferecidas pela setor.

Campo Tipo Tamanho Obrigatório Descrição

TipoOfe(PK) Int 10 Sim Código do Tipo de oferta

NomOfe Int 10 Não Nome da oferta

CodPrt(FK) Int 10 Não Produto o qual a oferta

pertence.

Tabela: PlanoTestes

Tabela responsável por armazenar registros do plano de testes a ser executado.

Campo Tipo Tamanho Obrigatório Descrição

NumPro(PK) Int 10 Sim Numero da proposta

SeqPla (PK) Int 10 Sim Sequência do teste

CodRec(FK) Int 10 Sim Código do recurso responsável

ProcTeste Nvarchar 100 Não Processo do teste

CondTeste Nvarchar 100 Não Condição de teste

ResEsp Text Não Resultado esperado

ResObt Text Não Resultado obtido

TestOk Nvarchar 1 Não Teste Ok ou não Ok

66

Quadro 32 - Dicionário de dados da tabela Produtos

O Quadro 33 apresenta o dicionário de dados da tabela “Propostas”.

Quadro 33 - Dicionário de dados da tabela Propostas

O Quadro 34 apresenta o dicionário de dados da tabela “Recursos”.

Quadro 34 - Dicionário de dados da tabela Recursos

O Quadro 35 apresenta o dicionário de dados da tabela “RecursosProposta”.

Tabela: Produtos

Tabela responsável por armazenar registros dos produtos e seus responsáveis.

Campo Tipo Tamanho Obrigatório Descrição

CodPrt(PK) Int 10 Sim Código do produto

NomPrt Nvarchar 80 Não Nome do produto

AnaDem Int 10 Não Analista demanda responsável

AnaDes Int 10 Não Analista desenvolvimento

Tabela: Propostas

Tabela responsável por armazenar registros das propostas de customizações.

Campo Tipo Tamanho Obrigatório Descrição

NumPro(PK) Int 10 Sim Numero da proposta

TitPro Nvarchar 80 Não Titulo da proposta

DesPro text Não Detalhes da proposta

CodEmp Int 10 Não Código da empresa solicitante

RazEmp Nvarchar 60 Não Razão social empresa solicitante

CgcEmp Nvarchar 18 Não Cgc empresa solicitante

TelEmp Nvarchar 40 Não Telefone empresa solicitante

SolNom Nvarchar 40 Não Nome solicitante

SolEma Nvarchar 80 Não E-mail solicitante

CodRep Int 10 Não Código cliente representado

RazRep Nvarchar 60 Não Razão social cliente representado

TelRep Nvarchar 40 Não Telefone cliente representado

SolRep Nvarchar 40 Não Solicitante cliente representado

RepEma Nvarchar 80 Não E-mail cliente representado

CodPrt Int 10 Não Código do produto da proposta

DatAbe Date Não Data de abertura da proposta

DatApRej Date Não Data aprovação/rejeição da proposta

Tabela: Recursos

Tabela responsável por armazenar registros dos recursos/usuários.

Campo Tipo Tamanho Obrigatório Descrição

CodRec(PK) Int 10 Sim Código do recurso

NomRec Nvarchar 60 Não Nome do recurso

UsuRec Nvarchar 40 Não Usuário do recurso

SenUsu Nvarchar 40 Não Senha do usuário do recurso

EmaRec Nvarchar 40 Não E-mail do recurso

PerRec Int Não Perfil do recurso

StaRec Int Não Status do recurso(Ativo,Inativo)

67

Quadro 35 - Dicionário de dados da tabela RecursosProposta

O Quadro 36 apresenta o dicionário de dados da tabela “VersaoPropostas”.

Quadro 36 - Dicionário de dados da tabela VersaoPropostas

Tabela: RecursosProposta

Tabela responsável por armazenar registros dos recursos alocadas no desenvolvimento.

Campo Tipo Tamanho Obrigatório Descrição

NumPro(PK) Int 10 Sim Numero da proposta

VerPro(PK) Int 10 Sim Versão da proposta

RecPro(PK) Int 10 Sim Recurso da proposta

TipOfe (PK) Int 10 Sim Tipo de oferta

TipHor(PK) Nvarchar 1 Sim Tipo de hora

HorAlo Int 10 Não Horas alocadas

OfeEnt Nvarchar 1 Não Oferta entregue (S/N)

IniPrv Date Não Início previsto

TerPrv Date Não Término previsto

Tabela: VersaoPropostas

Tabela responsável por armazenar registros das diferentes versões da proposta.

Campo Tipo Tamanho Obrigatório Descrição

NumPro(PK) Int 10 Sim Número da proposta

VerPro (PK) Int 10 Sim Versão da proposta

DatVen Date Não Data do vencimento da versão

StaPro Int 10 Não Status da versão da proposta

EmaProp Nvarchar 40 Não Endereço de E-mail para o qual

foi enviada a versão

ObsVer Nvarchar 100 Não Observações da versão

TextEma Nvarchar 1500 Não Texto do e-mail enviado

DatEnv Date Não Data de envio

DatSta Date Não Data do último status