relatorio camara

85
Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008 1 Relatório de aferição das características da ferramenta RAD Softwell Maker. Introdução No subitem 4.13 do Anexo I do edital da tomada de preços 01/2008, existe a previsão de que a empresa que forneça a ferramenta RAD com maior valor de avaliação seja convocada para realizar testes com objetivo de aferir as características ofertadas da ferramenta. No Anexo nº 5 do mesmo edital existe o detalhamento de como a ferramenta deve ser aferida. Neste detalhamento, no item 1.2 deste anexo consta que o processo de aferição será acompanhado por comissão técnica designada pelo Centro de Informática. O Centro de Informática designou então os seguintes servidores para comporem a comissão técnica responsáveis pela aferição da ferramenta RAD: Alfredo Luiz Campos Júnior ponto 6636 Dryade de Carvalho Fontenele ponto 6657 Evando Tadeu Moreira ponto 6639 Marcos Abdo Raposo ponto 6647 Olival Gomes Barboza Junior ponto 6401 Ricardo da Silva Lima ponto 6403

Upload: arfreitas

Post on 19-May-2017

232 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

1

Relatório de aferição das características da ferram enta

RAD Softwell Maker.

Introdução

No subitem 4.13 do Anexo I do edital da tomada de preços 01/2008,

existe a previsão de que a empresa que forneça a ferramenta RAD com maior

valor de avaliação seja convocada para realizar testes com objetivo de aferir as

características ofertadas da ferramenta.

No Anexo nº 5 do mesmo edital existe o detalhamento de como a

ferramenta deve ser aferida. Neste detalhamento, no item 1.2 deste anexo

consta que o processo de aferição será acompanhado por comissão técnica

designada pelo Centro de Informática.

O Centro de Informática designou então os seguintes servidores para

comporem a comissão técnica responsáveis pela aferição da ferramenta RAD:

Alfredo Luiz Campos Júnior ponto 6636

Dryade de Carvalho Fontenele ponto 6657

Evando Tadeu Moreira ponto 6639

Marcos Abdo Raposo ponto 6647

Olival Gomes Barboza Junior ponto 6401

Ricardo da Silva Lima ponto 6403

Page 2: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

2

Objetivo:

O presente relatório tem por objetivo documentar o resultado do

processo de aferição das características técnicas da ferramentas Softwell

Maker, realizado no período de 03/11/2008 a 13/11/2008, com objetivo se

subsidiar a Comissão Permanente de Licitação na tomada de preços 01 de

2008.

O processo de aferição foi realizado conforme descrito no Anexo nº 5 do

edital da tomada de preços 01/2008 e foi dividido em dois subprocessos, a

Aferição das Características e a Aferição do Desempenho.

Page 3: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

3

Avaliação das Características.

Segundo o edital da TP 01/2008, no item 2 do Anexo nº 5, a aferição de

características teve por objetivo verificar a conformidade da proposta técnica

com a ferramenta RAD.

Em atenção ao subitem 1.3 do Anexo no. 5 do Edital, a empresa

SoftWell indicou o Sr. Lourival Oliveira da Silva, CI 34111389-x SSP/SP como

sendo o técnico responsável pelo processo de aferição.

A Apresentação a que se refere o subitem 2.3 do Anexo nº 5 do Edital foi

realizada pelo Sr Lourival Oliveira da Silva, no dia 03/11/2008, das 15:00 as

17:30 na sala 1101 Anexo I da Câmara dos Deputados, para membros da

comissão técnica.

Nos dias 04/11/2008 a 13/11/2008, foram verificadas as conformidades

das características obrigatórias e pontuáveis ofertadas da ferramenta RAD,

conforme descrito a seguir.

Os trabalhos de aferição foram realizados na sala 1101 e na sala 1106,

e todos os produtos e demonstrações foram realizados pelo Sr. Lourival

Oliveira da Silva.

Avaliação das Características Obrigatórias

1. Ambiente de desenvolvimento compatível com as pl ataformas de

sistemas operacionais Windows 2000 e XP, bem como c om bancos de

dados Oracle 10G e MS SQL Server 2005.

Na página 31 do manual do desenvolvedor consta que o software é

compatível com os sistemas operacionais Windows 2000 e XP e com os

bancos de dados Oracle 10G e MS SQL Server 2005.

Para demonstrar a característica, o técnico da empresa efetuou a

instalação do software em ambiente Windows: XP, conforme registrado abaixo:

Page 4: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

4

Figura 1 - Instalação do Maker.

Page 5: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

5

Figura 2 - Inicialização da Instalação

Figura 3 - Exibição do Contrato de Instalação.

Page 6: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

6

Figura 4 - Instalando o Maker.

Figura 5 - Conclusão da Instalação.

Page 7: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

7

Para demonstrar a compatibilidade com SQL Server, foi desenvolvida

uma pequena aplicação no SQL Server.

Figura 6 - Tela inicial do Maker.

Page 8: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

8

Foi escolhido o SQL Server como repositório central:

Figura 7 - Tela de criação do repositório.

Page 9: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

9

Foi desenvolvida uma tela acessando dados no SQL Server:

Figura 8 - Desenvolvendo a tela de acesso ao SQL Se rver.

Page 10: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

10

Esta tela foi conectada com um banco SQL Server:

Figura 9 - Configurando acesso para o SQL Server

Page 11: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

11

A tela foi inserida em um menu:

Figura 10 - Inserção de item de menu.

Page 12: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

12

Fez-se o acesso normal a aplicação:

Figura 11 - Tela de Logon da Aplicação.

Page 13: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

13

E a tela acessou o SQL Server:

Figura 12 - Tela acessando o banco SQL Server.

Page 14: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

14

Foi desenvolvido também uma pequena aplicação para demonstrar a

capacidade de acesso ao ORACLE:

Figura 13 - Tela de conexão com o Oracle.

Page 15: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

15

A aplicação também foi executada:

Figura 14 - Tela de teste de acesso ao Oracle.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 16: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

16

2. As aplicações geradas deverão ser compatíveis co m os navegadores

Internet Explorer 6 ou superior e com Mozilla Firef ox 2.0 ou superior.

Na página 255 do manual do desenvolvedor consta que o produto faz

uma verificação de compatibilidade do browser. Dentre os browsers suportados

estão o IE 6 e o Firefox 2.0.

Para demonstrar a característica, o técnico da empresa demonstrou o

acesso de aplicações geradas pelo Maker nos browsers Internet Explorer e

Firefox. O Maker possui inclusive uma opção de preview para que o

programador escolha o browser:

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 17: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

17

3. O desenvolvimento de sistemas deverá ser feito d e forma padronizada,

através de ambiente gráfico, sem a necessidade da c ustomização ou da

alteração do código fonte eventualmente gerado.

Na página 23 do manual do desenvolvedor consta que o software é um

ambiente de desenvolvimento 100% visual.

Todo o desenvolvimento da aplicação de teste de desempenho foi

realizado através de ambiente gráfico. Além da capacidade de desenho de

páginas e de relatórios, cabe destacar que a implementação da lógica de

negócios é realizada através de fluxogramas:

Figura 15 - Criação de um Fluxo de Ação.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 18: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

18

4. Deverá ter capacidade de geração de aplicações, independentemente

do emprego de ferramenta(s) complementares.

Na página 23 do manual do desenvolvedor consta que o software é um

ambiente de desenvolvimento com poder de desenvolvimento de aplicações

corporativas.

Todo o desenvolvimento da aplicação de avaliação de desempenho foi

realizado através da ferramenta, sem uso de ferramentas complementares.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 19: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

19

5. Gerar relatórios personalizados nos formatos tex tual e gráfico.

No manual do desenvolvedor, nas páginas 203 a 219, consta a

descrição do gerador de relatórios que vem embutido na ferramenta.

É possível a emissão de relatórios com componentes texto e gráfico.

Para demonstrar a característica, o técnico da empresa demonstrou que

o gerador de relatório do Maker possui a possibilidade de geração de um

relatório relatórios em formato TXT e diversos formatos gráficos.

Esta demonstração foi realizada com os relatórios da aplicação de teste

de desempenho.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 20: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

20

6. Suportar a implantação de controle de acesso nos sistemas criados por

meio de grupos específicos de usuários (ex.: admini strador, operador,

etc.).

Nas páginas 260 e 261 do manual do desenvolvedor constam

respectivamente os tópicos de como gerenciar grupos de usuários e de como

gerenciar usuários de um sistema.

Para demonstrar a característica, o técnico da empresa demonstrou a

criação de usuários, de grupos, e a concessão de direitos de acesso para eles.

Inicialmente cria-se grupos:

Figura 16 - Criação de Grupos

Page 21: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

21

Em seguida, cria-se usuários e vincula os usuários aos grupos:

Figura 17 - Atribuindo um usuário a um grupo.

Page 22: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

22

Em seguida, concede-se permissões aos grupos.

Figura 18 - Atribuindo permissões a um grupo.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 23: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

23

7. Gerar aplicações com Log de auditoria.

A página 264 do manual do desenvolvedor mostra como visualizar todas

as tarefas de inclusão, alteração e exclusão de dados efetuados nas telas do

sistema.

Para demonstrar a característica, o técnico da empresa demonstrou.que

os sistemas gerados pelo Maker automaticamente geram Log, cuja aparência

pode ser vista na tela a seguir:

Figura 19 - Tela de log do sistema.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 24: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

24

8. Gerar arquivos XML (eXtensible Markup Language) para

importação/exportação entre aplicações.

Nas páginas 199 a 202 do manual do desenvolvedor existe uma seção

que trata de documentos XML. É possível acessar e modificar documentos

XML.

Para demonstrar a característica, o técnico da empresa demonstrou o

tratamento a documentos XML, que é feito por diversas funções já prontas no

Maker, conforme visto abaixo.

Figura 20 - Fluxo de tratamento de documento XML.

Foi gerado um arquivo XML a partir de uma fonte de dados.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 25: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

25

9. Gerar e consumir programas/conectores do tipo We b Services.

Na página 193 do manual do desenvolvedor consta a documentação de

uma função que é utilizada para chamar um Web Service.

Nas páginas 4 a 11 da carta da Softwell de 8 de outubro de 2008 (Anexo

I), consta a documentação e dois exemplos de implementação de Web

Services.

Para demonstrar a chamada do Web Service criado pelo Maker na

aplicação de avaliação de desempenho, foi solicitado ao colega Fabio Surrage

da CODIS que fizesse a chamada do mesmo. Ele reportou que fez uma

chamada com sucesso dentro do Portal da Câmara dos Deputados

(ZOPE/PYTHON)

Para demonstrar a capacidade do Maker de chamar um Web Service, o

técnico da empresa desenvolveu uma pequena tela que faz chamada a um

Web Service da Câmara dos Deputados.

print webservice_caller(wsdl='http://corel-245966:8080/webrun-

ent/services/WFRWebService?wsdl', metodo='callRule',

parametros=("AVA","master","1","wsFuncionario","6417"), timeout=60)

Page 26: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

26

Figura 21 - Fluxo com chamada a Web Service.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 27: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

27

10. Reutilizar componentes e dicionário de dados ge rados por outras

aplicações (reusabilidade).

Na página 225 do manual do desenvolvedor existe a descrição do

repositório de objetos. É possível a reutilização dos objetos em diversos

projetos.

Na página 231 do manual do desenvolvedor existe a descrição do

dicionário de dados.

Na página 2 da carta da Softwell de 8 de outubro de 2008 existe o

esclarecimento de que o dicionário de dados poderá ser reutilizado em todos

os demais projetos que tenham sido criados na mesma base de dados.

Para demonstrar a característica, o técnico da empresa demonstrou.que

o dicionário de dados é global a todos os projetos armazenados no mesmo

repositório. Além disto, através do processo de vinculação, é possível a um

projeto acessar a um objeto de outro projeto:

Page 28: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

28

A vinculação pode ser observada na tela abaixo:

Figura 22 - Tela de vinculação de objetos entre pro jetos.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 29: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

29

11. Suportar controle de versão e trabalho em equip e.

Na página 223 do manual do desenvolvedor mostra o histórico de

versões. Neste histórico existe a informação de qual desenvolvedor alterou um

objeto.

Para demonstrar a característica, o técnico da empresa demonstrou o

mecanismo de versionamento do Maker:.

Figura 23 - Tela de versionamento de Formulários.

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 30: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

30

12. Possuir gerador de páginas web para entrada de dados ou capacidade

de utilização de páginas web geradas por outro edit or de páginas web.

Na página 49 do manual do desenvolvedor começa o capítulo

Formulários, que trata da construção de telas para o desenvolvimento de

aplicações.

O Maker possui um editor de páginas, que gera automaticamente o

HTML e o Javascript necessário para o funcionamento da aplicação. A seguinte

tela foi criada pelo técnico da empresa:

Figura 24 - Tela de exemplo de demonstração do edit or de telas.

O editor gerou automaticamente a página com o seguinte código:

<script type="text/javascript" language="JavaScript 1.2"> var pfstart = new Date().getTime(); document.write('<div style="position: absolute; wid th: 100%; height: 100%; left: 0px; top: 0px;" id="loading"><table wid th=100% height=100%><tr><td align="center" valign="middle"> <table width="150"

Page 31: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

31

height="60" border="0" cellpadding="0" cellspacing= "1" bgcolor="#999999">'); document.write(' <tr>'); document.write(' <td align="center" valign="midd le" bgcolor="#FFFFFF"><table width="100" border="0" cel lspacing="0" cellpadding="10">'); document.write(' <tr align="center" valign="mi ddle">'); document.write(' <td width="33"><img src="Skins/Default/loading.gif" width="16" height=" 16"></td>'); document.write(' <td width="67"><font size=" 2" face="Arial, Helvetica, sans-serif">Carregando...</font></td>'); document.write(' </tr>'); document.write(' </table></td>'); document.write(' </tr>'); document.write('</table></td>'); document.write('</tr></table></div>'); </script> <html> <head> <title>Funcionário</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <script type="text/javascript" language="JavaScript 1.2" src="wfr.js?hash=68b4dcb1c018039f1befe96fb7755486"> </script> <script type="text/javascript" language="JavaScript 1.2" src="rulesFunctions.js?hash=82b70ed6c230161b9e2ec70 81d76311e"></script> <script type="text/javascript" language="JavaScript 1.2" src="jsRule/system_afe/webrunFunctions.js?hash=1877 607635"></script> <script type="text/javascript" language="JavaScript 1.2" src="jsRule/system_afe/webrunRules.js?hash=0"></scr ipt> <script type="text/javascript" language="JavaScript 1.2" src="i18n/pt_BR.js?hash=559633724"></script> <script type="text/javascript" language="JavaScript 1.2" src="components/HTMLComponents.js?hash=8626ba2e1dd6 a408884d9a1f380059b1"></script> <link rel="stylesheet" href="Skins/Default/classes. css"> <link href="grid/styles/xp/grid.css" rel="styleshee t" type="text/css"></link> </head> <script type="text/javascript" language="JavaScript 1.2"> <!-- var mainform = window; var mainframe = null; var sysCode = "AFE"; var idForm = "2"; var formGUID = "{9BE68BAD-362C-429A-8609-F972D399E3 2E}"; if (opener != null) { mainframe = opener.mainframe; } else { parent.changeTitle(document.title); mainframe = parent.mainframe; } //--> </script> <script type="text/javascript" language="JavaScript 1.2"> <!-- function formBeforeUpdate() { } function formBeforeInsert() { }

Page 32: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

32

function formBeforeDelete() { } function formAfterUpdate() { } function formAfterInsert() { } function formAfterDelete() {

}

function formOnNavigate() {

}

var pkeys = '5242';

var formrow = 1;

var skin = getAbsolutContextPath() + 'Skins/Default /';

var hasdata = true;

var filter = false;

var edit = false;

var insert = false;

//-->

</script>

<body style="" leftmargin=0 topmargin=0 marginwidth =0 marginheight=0 onload="setTimeout('formOnLoad(true)', 0); setFocus FormOnLoad();" onunload="formOnUnLoad(true);">

<iframe style="DISPLAY: none; LEFT: 0px; POSITION: absolute; TOP: 0px" allowtransparency="true" name="WFRFormComands" src= "nothing.html" width="0" height="0" frameborder=yes

border=0 marginwidth=0 marginheight=0 scrolling=no ></iframe>

<form name="WFRForm" method="post" action="form.do" target="WFRFormComands">

<input name="sys" type="hidden" value="AFE">

<input name="formID" type="hidden" value="2">

<input name="action" type="hidden" value="form">

<input name="param" type="hidden" value="post">

<input name="goto" type="hidden" value="1">

<input name="invisibleFields" type="hidden" value=" ">

<input name="storedProcedureName" type="hidden" val ue="">

<input name="storedProcedureParams" type="hidden" v alue="">

Page 33: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

33

<div id='lay' style='position: absolute; width: 100 %; height: 100%; left: 0px; top: 0px;'>

<div>

<table class="navigationBar" align="center" border= "0" cellspacing="0" cellpadding="0"><tr>

<td>&nbsp;</td></tr></table>

</div>

<script type="text/javascript" language="JavaScript 1.2">

controller.addForm(2, '{9BE68BAD-362C-429A-8609-F97 2D399E32E}');

controller.addFormInfo('Funcionário', 2, '{9BE68BAD -362C-429A-8609-F972D399E32E}', '156');

var d = document; var makercontroller = new HTMLMakerController('AFE' , 2); d.n = new HTMLNavigationForm('AFE', 2, 2, 3); d.n.developmentMode = true; d.n.isEditable = false; d.n.design(MM_findObj('lay')); d.n.setMainImages(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1); d.n.setEditImages(1, 1); d.n.setIncludeImages(1, 1); d.ac = new HTMLAlert(404, 2); d.ac.design(MM_findObj('lay')); d.t = new HTMLTabController('AFE', 2, 0, 42, 573, 5 39); d.t.color = ''; d.t.dependences = new Array(); d.n.setTabController(d.t); d.n.setAlertController(d.ac); d.t.design(MM_findObj('lay')); d.t.add('Cadastro'); d.c_3 = new HTMLEdit('AFE', 2, 3, 8, 24, 64, 21, 'M ATRICULA', '5242'); d.c_3.align = 'right'; d.c_3.required = true; d.c_3.field = 'Matricula'; d.c_3.id = 'EDTMATRICULA'; d.c_3.typeName = 'integer'; d.c_3.numberMask = '#'; d.c_3.zindex = 0; d.c_3.loadComponentTime = 0; d.c_3.design(d.t.getDiv(), true); d.c_4 = new HTMLEdit('AFE', 2, 4, 8, 64, 377, 21, ' NOMEFUNCIONARIO', 'Sebastião Neiva Filho'); d.c_4.maxlength = 48; d.c_4.required = true; d.c_4.field = 'NomeFuncionario'; d.c_4.id = 'EDTNOMEFUNCIONARIO'; d.c_4.zindex = 1; d.c_4.loadComponentTime = 0; d.c_4.design(d.t.getDiv(), true); d.c_5 = new HTMLEdit('AFE', 2, 5, 8, 104, 64, 21, ' QTDDEPENDENTES', '0'); d.c_5.align = 'right'; d.c_5.required = true; d.c_5.field = 'QtdDependentes'; d.c_5.id = 'EDTQTDDEPENDENTES'; d.c_5.typeName = 'integer'; d.c_5.numberMask = '#'; d.c_5.zindex = 2; d.c_5.loadComponentTime = 0; d.c_5.design(d.t.getDiv(), true);

Page 34: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

34

d.c_6 = new HTMLComboBox('AFE', 2, 6, 128, 104, 224 , 21, 'SEXOFUNCIONARIO', 'M', 'Masculino'); d.c_6.values = ['Masculino', 'Feminino']; d.c_6.keys = ['M', 'F']; d.c_6.defaultText = ''; d.c_6.defaultXMLText = ''; d.c_6.required = true; d.c_6.field = 'SexoFuncionario'; d.c_6.id = 'EDTSEXOFUNCIONARIO'; d.c_6.zindex = 3; d.c_6.loadComponentTime = 0; d.c_6.design(d.t.getDiv(), true); d.c_7 = new HTMLEdit('AFE', 2, 7, 224, 24, 102, 21, 'DATANASCIMENTO', '01/01/1970'); d.c_7.maxlength = 19; d.c_7.type = 2; d.c_7.required = true; d.c_7.field = 'DataNascimento'; d.c_7.id = 'EDTDATANASCIMENTO'; d.c_7.typeName = 'datetime'; d.c_7.textMask = '##/##/#### ##:##:##'; d.c_7.zindex = 4; d.c_7.loadComponentTime = 0; d.c_7.design(d.t.getDiv(), true); d.c_8 = new HTMLEdit('AFE', 2, 8, 8, 144, 102, 21, 'DATAADMISSAO', '01/01/1987'); d.c_8.maxlength = 19; d.c_8.type = 2; d.c_8.required = true; d.c_8.field = 'DataAdmissao'; d.c_8.id = 'EDTDATAADMISSAO'; d.c_8.typeName = 'datetime'; d.c_8.textMask = '##/##/#### ##:##:##'; d.c_8.zindex = 5; d.c_8.loadComponentTime = 0; d.c_8.design(d.t.getDiv(), true); d.c_9 = new HTMLEdit('AFE', 2, 9, 152, 144, 64, 21, 'VALORSALARIO', '20'); d.c_9.align = 'right'; d.c_9.required = true; d.c_9.field = 'ValorSalario'; d.c_9.id = 'EDTVALORSALARIO'; d.c_9.typeName = 'double'; d.c_9.numberMask = '#.##'; d.c_9.zindex = 6; d.c_9.loadComponentTime = 0; d.c_9.design(d.t.getDiv(), true); d.c_10 = new HTMLLookup('AFE', 2, 10, 8, 184, 310, 21, 'CODUNIDADE', '3', 'COREL'); d.c_10.style = 0; d.c_10.field = 'CodUnidade'; d.c_10.id = 'EDTCODUNIDADE'; d.c_10.bgColor = '#FFFFFF'; d.c_10.typeName = 'integer'; d.c_10.numberMask = '#'; d.c_10.zindex = 7; d.c_10.loadComponentTime = 0; d.c_10.design(d.t.getDiv(), true); d.c_11 = new HTMLEdit('AFE', 2, 11, 240, 224, 102, 21, 'DATAEXONERACAO', ''); d.c_11.maxlength = 19; d.c_11.type = 2; d.c_11.field = 'DataExoneracao'; d.c_11.id = 'EDTDATAEXONERACAO';

Page 35: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

35

d.c_11.typeName = 'datetime'; d.c_11.textMask = '##/##/#### ##:##:##'; d.c_11.zindex = 8; d.c_11.loadComponentTime = 0; d.c_11.design(d.t.getDiv(), true); d.c_12 = new HTMLComboBox('AFE', 2, 12, 8, 224, 224 , 21, 'SITUACAOFUNCIONARIO', '1', 'Ativo'); d.c_12.values = ['Ativo', 'Aposentado', 'Falecido', 'Demitido']; d.c_12.keys = ['1', '2', '3', '4']; d.c_12.defaultText = ''; d.c_12.defaultXMLText = ''; d.c_12.required = true; d.c_12.field = 'SituacaoFuncionario'; d.c_12.id = 'EDTSITUACAOFUNCIONARIO'; d.c_12.zindex = 9; d.c_12.loadComponentTime = 0; d.c_12.design(d.t.getDiv(), true); d.c_13 = new HTMLMemo('AFE', 2, 13, 8, 272, 544, 52 , 'CURRICULOFUNCIONARIO', ''); d.c_13.wrap = false; d.c_13.field = 'CurriculoFuncionario'; d.c_13.id = 'EDTCURRICULOFUNCIONARIO'; d.c_13.zindex = 10; d.c_13.loadComponentTime = 0; d.c_13.design(d.t.getDiv(), true); d.c_14 = new HTMLImage('AFE', 2, 14, 424, 22, 128, 150, '', 'openimagestream.do?sys=AFE&formID=2&componentID=14 &componentValue=FotoFuncionario&crip=false', 1, false); d.c_14.hasImage = true; d.c_14.viewMode = 'Estender'; d.c_14.exhibitionType = 0; d.c_14.zoomWidth = 0; d.c_14.zoomHeight = 0; d.c_14.field = 'FotoFuncionario'; d.c_14.id = 'EDTFOTOFUNCIONARIO'; d.c_14.zindex = 11; d.c_14.loadComponentTime = 0; d.c_14.design(d.t.getDiv(), true); d.p = new HTMLPage('AFE', '2', 0, 0, 0, 578, 584, d .n); d.t.addSearchTab('Localizar', d.p, function() { d.n .normal(); getAndEval('form.do?sys='+this.sys+'&action=form&pa ram=goto&formID='+this.formID+'&align=-1&mode=&goto='+formrow+'&filter =&find=true');}, 'tab_search.gif'); d.p.design(d.t.getDiv(), false); defineComponentDependences(); if (d.n.btFirst) d.n.btFirst.setEnabled(false); if (d.n.btPrevious) d.n.btPrevious.setEnabled(false ); if (d.n.btNext) d.n.btNext.setEnabled(true); if (d.n.btLast) d.n.btLast.setEnabled(true); if (d.n.btDelete) d.n.btDelete.setEnabled(true); if (d.n.btDefaultValues) d.n.btDefaultValues.setEna bled(true); d.ac.showFilter(false); function formOnLoadAction() { loadTimeText = 'Tempo de Carga: ' + (new Date().g etTime() - pfstart) + 'ms'; parent.document.title += ' [' + loadTimeText + '] '; } function showErrors() { } function formOnLoad(load) { controller.onFormLoadAction(); formOnNavigate(); if (d.hasRuleErrors) d.hasRuleErrors = false; if (d.n.editCancel) d.n.editCancel = false;

Page 36: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

36

if (d.getElementById("loading")) d.getElementById("loading").style.display="none"; } function formOnUnLoad(load) { EventCache.flush(); controller.flush(); } function formOnUnLoadAction() { var d = document; } addKeyEvent(); </script> </div> </form> <div id="messageDIV" style="position:absolute; left:0px; top:0px; width :150px; height:18px; z-index:1001; visibility: hidden;"></d iv> </body> </html> <script type="text/javascript" language="JavaScript 1.2"> setTimeout('formOnLoadAction()', 0); </script> <!-- Tempo de Carga: 156ms -->

A comissão conclui que a ferramenta possui a característica técnica

obrigatória.

Page 37: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

37

Avaliação das características pontuáveis

Segundo o edital, as ferramentas serão pontuadas de acordo com as

seguintes características de padronização, compatibilidade e qualidade.

1. Suportar a geração de sistemas baseados em SODA (Service Oriented

Development of Aplications), utilizando os conceito s de SOA (Service

Oriented Architecture).

Nas páginas 4 a 11 da carta da Softwell de 8 de outubro de 2008 (Anexo

I), consta a documentação e dois exemplos de implementação de Web

Services.

Na mesma carta, na página 2 existe ainda a informação que é possível a

utilização de formulários e relatórios externamente, não sendo necessária a

efetuação de login no sistema.

Para demonstrar a característica, o técnico da empresa demonstrou a

criação e a chamada de um Web Service.

Foi usado o Web Service da Aplicação de Teste de Desempenho como

criação e a chamada de um Web Service da Câmara dos Deputados..

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 38: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

38

2. Gerar documentação padronizada dos sistemas cria dos.

Nas páginas 235 a 246 do manual de desenvolvimento está descrito o

recurso do Documentador Automático, que gera no padrão PRAXIS, seguindo

as normas de desenvolvimento sugeridas pelo PMI.

Para demonstrar a característica, o técnico da empresa demonstrou.a

geração da documentação da aplicação de teste de desempenho.

RELATÓRIO DOS FLUXOS DE AÇÕES CONTIDOS NO PROJETO

Label16

Imagem do Fluxo: DEV-Teste01

Figura 25 - Extrato da documentação gerada pelo MAK ER

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 39: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

39

3 Usar tecnologia Ajax na construção de páginas Web .

Na página 24 do manual de desenvolvimento existe a informação de que

o Maker usa automaticamente AJAX nas telas para aumento da performance

do sistema.

Para demonstrar a característica, o técnico da empresa abriu as páginas

geradas e lá foi constatado o uso de AJAX, conforme documentado no

fragmento do fonte da página gerada que está abaixo:

function getHTTPObjectXML(){var

http_request;if(window.XMLHttpRequest){http_request =new

XMLHttpRequest();if(http_request.overrideMimeType){http_request.over ri

deMimeType('text/xml');}}else

if(window.ActiveXObject){try{http_request=new

ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{http_ request=new

ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}}

if(!http_request){interactionError('Cannot create X MLHTTP instance');return false;}

return http_request;}

function fixXMLDocument(doc){if(!IE)

fixXMLNode(doc.documentElement);}

function fixXMLNode(node){var children=node.childNo des;for(var i=0;i<children.length;i++){var child=children[i];if((trim(child.nodeValue)=='')&&( !child.tagName)){child.parentNode.removeChild(child);}

else

fixXMLNode(child);}}

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 40: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

40

4 Gerar automaticamente código da aplicação em Java .

Nas páginas 293 a 295 do manual do desenvolvedor está descrito como

exportar um projeto para fonte em Java.

Para demonstrar a característica, o técnico da empresa gerou a

aplicação de avaliação de desempenho em Java e um WAR. O War foi

instalado com sucesso em dois servidores Apaches, em ambiente Windows e

Linux.

Parte do código gerado está listado a seguir:

package wfr.com.systems.system_ava; import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; import org.jdom.xpath.XPath; import wfr.database.DBConnection; import wfr.sys.HTMLInterface.ComponentProperty; import wfr.util.Functions; import wfr.util.Logger; import wfr.com.*; import wfr.exceptions.*; import wfr.com.systems.system_ava.forms.sistemaxgrupos.Sis temaXGruposForm; import wfr.com.systems.system_ava.forms.cadastrodedependen te.CadastroDeDependenteForm; import wfr.com.systems.system_ava.forms.cadastrodeunidadeo rganizacional.CadastroDeUnidadeOrganizacionalForm; import wfr.com.systems.system_ava.forms.usuariosxsistemasx grupos.UsuariosXSistemasXGruposForm; import wfr.com.systems.system_ava.forms.usuariosxsistemas. UsuariosXSistemasForm; import wfr.com.systems.system_ava.forms.cadastrodecargo.Ca dastroDeCargoForm; import wfr.com.systems.system_ava.forms.formulariodosistem a.FormularioDoSistemaForm;

Page 41: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

41

import wfr.com.systems.system_ava.forms.temphierarquia.Tem pHierarquiaForm; import wfr.com.systems.system_ava.forms.formulariodosistem a.FormularioDoSistemaForm_1; import wfr.com.systems.system_ava.forms.cadastrodeparentes co.CadastroDeParentescoForm; import wfr.com.systems.system_ava.forms.manutencaodecargo. ManutencaoDeCargoForm; import wfr.com.systems.system_ava.forms.cadastrodehistoric ocargo.CadastroDeHistoricoCargoForm; import wfr.com.systems.system_ava.forms.usuarios.Us uariosForm; import wfr.com.systems.system_ava.forms.testewebservice.Te steWebserviceForm; import wfr.com.systems.system_ava.forms.impressaoderelator iohierarquicodeunidadesorganizacionais.ImpressaoDeRelatorioHierarquico DeUnidadesOrganizacionaisForm; import wfr.com.systems.system_ava.forms.unidadesorganizaci onaisarvore.UnidadesOrganizacionaisArvoreForm; import wfr.com.systems.system_ava.forms.relatoriosdefuncio nariosocupantesdecargo.RelatoriosDeFuncionariosOcupantesDeCargoForm; import wfr.com.systems.system_ava.forms.cadastrodefunciona rio.CadastroDeFuncionarioForm; import wfr.com.systems.system_ava.forms.grupos.Grup osForm; import wfr.com.systems.system_ava.forms.listadecargos.List aDeCargosForm; import wfr.com.systems.system_ava.forms.relatoriodefuncion ariosporlotacao.RelatorioDeFuncionariosPorLotacaoForm; import wfr.com.systems.system_ava.forms.usuariosxsistemasf ormulario.UsuariosXSistemasFormularioForm; /** * Essa classe representa o sistema Avaliação de De sempenho. A sigla que identifica o sistema Avaliação de Desempenho é AVA.</br> * O sistema Avaliação de Desempenho é carregado at ravés de um arquivo *.wfre que que é um arquivo XML criptografado que c ontém</br> * informações de acesso ao banco (servidor, login, senha), codificação (ISO, UFT), sigla do</br> * sistema entre outras.</br> * Um sitema é todo carregado na memória por questõ es de performance.<br/> * * @author Webrun * @version 1.0 */ public class AVA extends WFRSystem {

Page 42: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

42

private static Logger logger = Logger.getLogger(AVA.class); /*Obtém-se o diretório da classe compilada*/ private static String dir = Functions.classFolder(AVA.class) + File.separatorCh ar; protected Map<String, List<WFRAction>> actions; protected Map<ComponentProperty, String> systemPr operties; /** * Construtor do sistema Avaliação de Desempenho. * @param file Arquivo *.wfre que representa os p arâmetros de conexão com o banco de dados do sistema Avaliação d e Desempenho. * @throws Exception */ public AVA(WFREFile file) throws Exception { super(file); } /** * Esse método é responsável pela carga da defini ção dos tipos de dados utilizado pelo sistema.</br> * Exemplo: CPF, CEP, etc. * @see wfr.com.WFRSystem#createSystemDataTypes() */ protected List<WebrunProperties> createSystemData Dictionary() throws Exception { List<WebrunProperties> dataList = new ArrayList<WebrunProperties>(); Document doc = null; try { SAXBuilder builder = new SAXBuilder(); doc = builder.build(new File(Functions.classFolder(this.getClass()) + "/dic tionary.xml")); List<Element> elems = doc.getRootElement().getChildren("DICTIONARY"); for (Element e : elems) { WebrunProperties properties = new WebrunPro perties(); /*Código do tipo de dados*/ properties.put("TPD_CODIGO", e.getChild("CO DE").getValue()); /*Descrição do tipo de dados*/ properties.put("CMP_DESCRICAO", e.getChild("DESCRIPTION").getValue()); /*Nome da tabela*/ properties.put("TAB_NOME", e.getChild("TABLENAME").getValue()); /*Nome do campo*/ properties.put("CMP_NOME", e.getChild("FIELDNAME").getValue()); /*Valor Padrão*/ properties.put("CMP_VALORPADRAO", e.getChild("DEFAULT").getValue()); dataList.add(properties);

Page 43: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

43

} } catch (Exception e) { logger.error(WFRSystem.DEFAULT_USER, code, e) ; } return dataList; } /** * Esse método é responsável pela carga do dicion ário de dados do sistema Avaliação de Desempenho.</br> * Todas as definições do dicionário estão armaze nados em um arquivo chamado dictionary.xml</br> * que deve estar no mesmo diretório da classe co mpilada. * @see wfr.com.WFRSystem#createSystemDataDiction ary() */ protected List<WebrunProperties> createSystemData Types() throws Exception { List<WebrunProperties> dataList = new ArrayList<WebrunProperties>(); Document doc = null; try { SAXBuilder builder = new SAXBuilder(); doc = builder.build(new File(Functions.classFolder(this.getClass()) + "/dat aTypes.xml")); List<Element> elems = doc.getRootElement().getChildren("DATATYPE"); for (Element e : elems) { WebrunProperties properties = new WebrunPro perties(); /*Código do tipo de dados*/ properties.put("TPD_CODIGO", e.getChild("CO DE").getValue()); /*Descrição do tipo de dados*/ properties.put("TPD_DESCRICAO", e.getChild("DESCRIPTION").getValue()); /*Definições do tipo de dados*/ properties.put("TPD_MASCARAFORMATACAO", e.getChild("DEFINITION").getValue()); /*Máscara de edição*/ properties.put("TPD_MASCARAEDICAO", e.getChild("EDITMASK").getValue()); dataList.add(properties); } } catch (Exception e) { logger.error(WFRSystem.DEFAULT_USER, code, e) ; } return dataList; }

Page 44: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

44

/** * Esse método é responsável pela carga das propr iedades do sistema. As propriedades do sistema</br> * ficam armazenadas em um arquivo xml chamado AV A.xml que deve estar no mesmo diretório</br> * da classe compilada. O formato do arquivo é o definido pela classe WebrunProperties. Ele também faz a </br> * carga das ações do sistema que fica no arquivo AVA.actions.xml. * @see wfr.com.WFRSystem#createSystemProperties( ) * @see wfr.com.WebrunProperties */ protected void createSystemProperties() throws Ex ception { /*Criam-se as propriedades do sistema Avaliação de Desempenho*/ properties.load(dir + "AVA.xml"); /*Extrai-se as propriedades de componente do si stema*/ systemProperties = properties.getComponentPrope rties(); /*Criam-se as ações do sistema Avaliação de Des empenho*/ actions = WFRAction.loadActionsFromXML(new File(dir+"AVA.actions.xml")); } /** * Esse método é responsável pela carga da lista de formulários que o sistema. * @see wfr.com.WFRSystem#createFormList() */ protected List<WFRForm> createFormList() throws E xception { List<WFRForm> formList = new ArrayList<WFRForm> (); /*Adiciona-se o formulário Sistema X Grupos*/ formList.add(new SistemaXGruposForm(this, this .db)); /*Adiciona-se o formulário Cadastro de Dependen te*/ formList.add(new CadastroDeDependenteForm(this , this.db)); /*Adiciona-se o formulário Cadastro de Unidade Organizacional*/ formList.add(new CadastroDeUnidadeOrganizacion alForm(this, this.db)); /*Adiciona-se o formulário Usuários X Sistemas X Grupos*/ formList.add(new UsuariosXSistemasXGruposForm( this, this.db)); /*Adiciona-se o formulário Usuários X Sistemas* / formList.add(new UsuariosXSistemasForm(this, t his.db)); /*Adiciona-se o formulário Cadastro de Cargo*/ formList.add(new CadastroDeCargoForm(this, thi s.db)); /*Adiciona-se o formulário $_FORMULARIO_DO_SIST EMA*/ formList.add(new FormularioDoSistemaForm(this, this.db)); /*Adiciona-se o formulário Temp-Hierarquia*/ formList.add(new TempHierarquiaForm(this, this .db)); /*Adiciona-se o formulário $_FORMULARIO_DO_SIST EMA*/ formList.add(new FormularioDoSistemaForm_1(thi s, this.db)); /*Adiciona-se o formulário Cadastro de Parentes co*/ formList.add(new CadastroDeParentescoForm(this , this.db)); /*Adiciona-se o formulário Manutenção de Cargo* / formList.add(new ManutencaoDeCargoForm(this, t his.db)); /*Adiciona-se o formulário Cadastro de Históric o Cargo*/ formList.add(new CadastroDeHistoricoCargoForm( this, this.db));

Page 45: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

45

/*Adiciona-se o formulário Usuários*/ formList.add(new UsuariosForm(this, this.db)); /*Adiciona-se o formulário Teste Webservice*/ formList.add(new TesteWebserviceForm(this, thi s.db)); /*Adiciona-se o formulário Impressão de Relatór io Hierárquico de Unidades Organizacionais*/ formList.add(new ImpressaoDeRelatorioHierarquicoDeUnidadesOrganizaci onaisForm(this, this.db)); /*Adiciona-se o formulário Unidades Organizacio nais (Árvore)*/ formList.add(new UnidadesOrganizacionaisArvore Form(this, this.db)); /*Adiciona-se o formulário Relatórios de Funcio nários Ocupantes de Cargo*/ formList.add(new RelatoriosDeFuncionariosOcupantesDeCargoForm(this, this.db)); /*Adiciona-se o formulário Cadastro de Funcioná rio*/ formList.add(new CadastroDeFuncionarioForm(thi s, this.db)); /*Adiciona-se o formulário Grupos*/ formList.add(new GruposForm(this, this.db)); /*Adiciona-se o formulário Lista de Cargos*/ formList.add(new ListaDeCargosForm(this, this. db)); /*Adiciona-se o formulário Relatório de Funcion ários Por Lotação*/ formList.add(new RelatorioDeFuncionariosPorLot acaoForm(this, this.db)); /*Adiciona-se o formulário Usuários X Sistemas Formulário*/ formList.add(new UsuariosXSistemasFormularioFo rm(this, this.db)); return formList; } /** * Esse método é responsável pela criação da árvo re de menus do sistema.</br> * Essa árvore é armazenada em um arquivo chamado menu.xml presente no diretório</br> * da classe compilada. * @see wfr.com.WFRSystem#createSystemMenus(wfr.database.DB Connection) */ protected List<WFRMenu> createSystemMenus(DBConne ction db) throws Exception { return WFRMenu.getListMenu(db, this, Functions.classFolder(this.getClass())+"/menu.xml") ; } /** * Esse método deve subir uma exceção, informando que a busca dinâmica de um formulário</br> * não é permitida. * @see wfr.com.WFRSystem#loadForm(wfr.database.D BConnection, java.lang.String) */ protected WFRForm loadForm(DBConnection db, Strin g id) throws Exception {

Page 46: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

46

throw new WFRException(ExceptionMessage.ERROR_F ORM_CODE_NOT_FOUND, new Object[] { id }); } /** * Esse método deve subir uma exceção, informando que a recarga de um formulário não é possível. * @see wfr.com.WFRSystem#reloadForm(java.lang.St ring, wfr.database.DBConnection) */ public void reloadForm(String id, DBConnection d) throws Exception { throw new WFRException(ExceptionMessage.ERROR_CANNOT_RELOAD_C OMPILED_FORM); } /** * Esse método deve subir uma exceção, informando que a recarga de um relatório não é possível. * @see wfr.com.WFRSystem#reloadReport(java.lang. String) */ public synchronized void reloadReport(String id) throws Exception { throw new WFRException(ExceptionMessage.ERROR_CANNOT_RELOAD_R EPORT); } /** * Essa função sempre retorna falso, pois o siste ma não tem a propriedade de recarga. * @see wfr.com.WFRSystem#isReloadable() */ public boolean isReloadable() { return false; } /** * Retorna um relatório dado um identificador. * @param id String Identificador do relatório. * @param db Conexão corrente. * @return WFRReport Relatório. * @throws Exception */ public WFRReport getReport(String id, DBConnectio n db) throws Exception { Object report = reports.get(id); if (report == null) report = reportsByName.get(id); if (report != null) { if (report instanceof WFRMenuReport) { return ((WFRMenuReport) report).getReport(d b); } else { return (WFRReport) report; } } else { synchronized (this) {

Page 47: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

47

if (!reports.containsKey(id)) { report = WFRReportFactory.getInstance(thi s, id, db); reports.put(((WFRReport) report).getID(), report); reportsByName.put(((WFRReport) report).ge tName(), report); } } return (WFRReport) report; } } /** * Esse método retorna nulo, pois não se aplica a essa classe. * @see wfr.com.WFRSystem#getForm() */ public WFRForm getForm() { return null; } /** * Esse método retorna todas as ações do sistema; * @see wfr.com.WFRSystem#getAllActions() */ public Map<String, List<WFRAction>> getAllActions () { return actions; } /** * Retorna uma propriedade do sistema. * @see wfr.com.WFRSystem#getProperty(wfr.sys.HTMLInterface .ComponentProperty) */ public String getProperty(ComponentProperty p) { String value = systemProperties.get(p); return (value!=null)?value:""; } /** * Retorna uma lista de ações para um determinado evento. * @see wfr.com.WFRSystem#getActions(java.lang.St ring) */ public List<WFRAction> getActions(String moment) { if (actions.containsKey(moment)) return actions.get(moment); else return Collections.EMPTY_LIST; } /** * Criam-se os formulários de definição de contro le de acesso. * @see wfr.com.WFRSystem#createAccessForms() */ protected void createAccessForms() throws Excepti on { /* * Não necessita implementação. */ }

Page 48: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

48

/** * Atualiza a subconexão do sistema * @param pSubConCode Número para identificar a s ubconexão. Usado na criação do parametro "Conexao1WFRE" * @param pSysCode Código do sistema que terá a s ubconexão atualizada. * @param pFile Arquivo representando a subconexã o. * @param pTemporary Caso verdadeiro, não atualiz a os dados persistidos em XML. * @throws java.lang.Exception */ @Override public void updateSubconection(Integer pSubConCod e, String pSysCode, WFREFile pFile, Boolean pTemporary) throws Exceptio n { // Modificar definições da conexão em memoria ComponentProperty propertyWFRE = ComponentProperty.getByDescription("Conexao" + pSub ConCode + "WFRE"); systemProperties.put(propertyWFRE, pFile.getBas e64WFRE()); // Persistir na XML if (!pTemporary) { String nomedoarquivo = Functions.classFolder( this.getClass()) + File.separator + this.getClass().getSimpleName() + ".xml"; SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(nomedoarquivo); String key = "Conexao" + pSubConCode + "WFRE" ; XPath xp = XPath.newInstance("PROPERTIES/PROP ERTY[@KEY = '" + key + "']"); Element element = (Element) xp.selectSingleNo de(doc); if (element != null) { element.setText(pFile.getBase64WFRE()); Functions.documentToXMLFile(doc, nomedoarqu ivo); } else { throw new WFRException(ExceptionMessage.ERROR_SUBCONNECTION_N OT_FOUND); } } } }

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 49: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

49

5 Consumir (executar) Stored Procedures em Bancos S QL Server 2005 e

Oracle 10G.

Na página 132 do manual do desenvolvedor descreve a função Executar

Procedure, que chama uma Stored Procedure no Banco de Dados.

Para demonstrar a característica, o técnico da empresa demonstrou.a

chamada de stored procedures em SQL Server e em Oracle.

Figura 26 - Chamada da Procedure em Sql Server.

Page 50: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

50

Figura 27 - Resultado da chamada da Procedure em Or acle. Esta procedure retorna um

erro.

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 51: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

51

6 Gerar (criar) automaticamente Stored Procedures e m SQL Server 2005 e

Oracle 10G.

Na página 116 do manual do desenvolvedor inicia uma seção sobre o

Gerador de Código. Este gerador de código transfere a árvore criada pelo

editor de fluxo de ações em um código fonte. Existe na documentação a

geração de Stored procedures em Oracle.

Para demonstrar a característica, o técnico da empresa demonstrou.a

transformação de um fluxo em uma procedure Oracle e em SQL Server. No

caso do Oracle, o Maker inclusive transforma a procedure em Function caso a

mesma tenha que retornar um parâmetro.

Figura 28 - Criação de Procedure em Oracle.

Page 52: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

52

Figura 29 - Criação de Procedure em SQL Server.

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 53: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

53

7. Consumir (chamar/executar) componentes COM.

Nas páginas 123 e 124 do manual do desenvolvimento estão

relacionadas diversas funções de tratamento de objetos COM.

Para demonstrar a característica, o técnico da empresa demonstrou a

chamada de um método do Excel por dentro do Maker.

Figura 30 - Fluxo de Chamada do Excel

Page 54: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

54

Este fluxo retornou a seguinte saída:

Figura 31 - Resultado da chamada de método que reto rna a versão do Excel instalado na

máquina.

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 55: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

55

8. Autenticar o usuário da aplicação gerada no Acti ve Directory.

Nas páginas 123 do manual do desenvolvimento esta descrita a função

AD Autenticar Usuário que irá retornar verdadeiro ou falso se a autenticação foi

realizada com sucesso no Active Directory..

Para demonstrar a característica, o técnico da empresa implementou um

fluxo que permite a autenticação no AD.

Figura 32 - Fluxo de acesso ao AD, com detalhe de c onfiguração do mecanismo de

autenticação.

Fez-se então testes de autenticação de membros da comissão no AD da

Câmara dos Deputados.

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 56: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

56

9. Suportar folhas de estilo já criadas

Na página 3 da carta da Softwell de 8 de outubro de 2008, consta a

documentação de que em determinada pasta de instalação do software

constam 51 arquivos de folhas de estilos, nos quais é possível editar

propriedades dos componentes e demais recursos oferecidos pela aplicação.

Para demonstrar a característica, o técnico da empresa demonstrou que

alterando um estilo das folhas de estilo, o mesmo reflete nas páginas.

Figura 33 - Tela de com o tamanho de fonte dos títu los dos campos aumentado para 18.

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 57: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

57

10 Portabilidade das aplicações geradas com servido r de aplicação

instalado em servidor Linux (Red Hat Entreprise).

Na página 26 do manual do desenvolvedor consta que a aplicação

desenvolvida é multiplataforma, e dentre as plataformas geradas encontra-se o

Linux.

Na página 333 está descrito o procedimento de instalação do Web Run

em ambiente Linux – Ubuntu ou Fedora.

Na página 3 da carta da Softwell de 8 de outubro de 2008 existe a

afirmação de que as aplicações geradas pelo Maker podem ser instaladas em

Linux Red Hat.

Para demonstrar a característica, foi instalado e testada em servidor

Linux Red Hat a aplicação de testes gerada. Não houve nenhuma necessidade

de qualquer alteração na aplicação.

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 58: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

58

11 Gerar aplicações com suporte a biometria

Na página 336 do manual do desenvolvedor existe a seção Biometria,

com a descrição da função de abertura do leitor digital.

Para demonstrar a característica, o técnico da empresa demonstrou o

cadastramento de uma impressão digital de um membro da comissão técnica e

usou esta impressão para efetuar a autenticação em uma aplicação de teste.

Figura 34 - Tela de Cadastramento da Impressão Digi tal

Foi utilizado o leitor biométrico Hamster I da Nitgen para o

cadastramento da impressão digital e para o processo de autenticação.

Page 59: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

59

Efetuou-se inclusive testes com outras impressões digitais e o sistema

bloqueou o acesso:

Figura 35 -Tentativa de Autenticação com impressão digital não cadastrada.

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 60: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

60

12. Gerar aplicações com suporte a certificação dig ital

Na página 337 do manual do desenvolvedor existe a seção “Certificação

Digital no ambiente WebRun”, com a descrição das funções para

implementação de certificação digital.

Para demonstrar a característica, o técnico da empresa demonstrou uma

aplicação que usa e acessa um certificado digital.

Figura 36 - Tela da Aplicação Acessando um Certific ado Digital.

A comissão conclui que a ferramenta possui a característica técnica

pontuável.

Page 61: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

61

Avaliação de Desempenho.

O item 3 do Anexo nº 5 da TP 1/2008 descreve que a aferição de

desempenho consistirá no desenvolvimento de uma aplicação de teste com

125 pontos de função.

A aplicação está descrita a partir do item 4 do Anexo nº 5 do edital, e o

técnico da empresa construiu e disponibilizou os seguintes produtos funcionais:

• Tela de autenticação de Usuário.

• Tela de cadastro de Unidade Organizacional, com vínculo de unidade superior.

• Tela de cadastro de Grau de Parentesco.

• Tela de cadastro de Funcionário.

• Tela de importação de Foto de Funcionário.

• Tela de importação de Currículo de Funcionário.

• Tela de cadastro de Dependente de Funcionário.

• Tela de cadastro de Cargos.

• Tela de nomeação de Funcionário em Cargos.

• Tela de exoneração de Funcionário de Cargo.

• Relatório Hierárquico de Unidades Organizacionais.

• Relatório de Funcionários por Lotação.

• Relatório de Funcionários ocupantes de Cargo.

• Relatório de Histórico de Cargos.

• Web Service Funcionário.

No item 3.2 do Anexo determina que a aplicação deve ser construída e

instalada no prazo de 125/PFH, onde PFH são Pontos de Função por Hora.

Foi solicitado a cada empresa licitante que indicasse na proposta técnica

a produtividade de cada ferramenta através de pontos de função por hora –

PFH. A empresa Softwell Maker apresentou em sua proposta técnica o valor de

18 PFH.

Page 62: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

62

O técnico da empresa dispunha então de 125 h ÷ 18 = 06:56 h para

construir a aplicação.

O técnico da empresa construiu a aplicação prevista em um tempo total

de 05:15 h, o que corresponde a 23,80 PFH.

Durante todo o processo de desenvolvimento da aplicação de aferição

de desempenho, o técnico da empresa teve o acompanhamento da comissão

técnica designada pelo Centro de Informática.

Com uso do SQL Server profiler, foi observado que os comandos

enviados para o SQL Server são comandos preparados e parametrizados,

impossibilitando o uso de SQL Injection.

Em todos os campos texto é feito o tratamento de apóstofre.

Page 63: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

63

TELA DE AUTENTICAÇÃO DE USUÁRIO

A tela de autenticação de usuário solicita o nome e a senha de usuário

para entrar no sistema.

Foram utilizadas funcionalidades já existentes no Maker para

disponibilizar a tela, o mecanismo de autenticação, e os mecanismos de

concessão de direitos de execução.

O Maker apresenta inicialmente um menu de Sistemas:

Figura 37 - Tela de Escolha do Sistema

Page 64: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

64

E em seguida solicita a autenticação do usuário:

Figura 38 - Tela de autenticação do sistema

Page 65: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

65

TELA DE CADASTRO DE UNIDADE ORGANIZACIONAL, COM VÍN CULO

DE UNIDADE SUPERIOR

A tela de cadastro de unidade organizacional tem por objetivo permitir a

inclusão, alteração, consulta e exclusão de unidades organizacionais,

apresentando os seguintes campos:

• Código da unidade.

• Nome da unidade.

• Matrícula e nome do chefe da unidade, se existir chefe nomeado.

O leiaute da tela é em formato de árvore, de modo a ilustrar a hierarquia

das unidades organizacionais. Na árvore são mostrados os nomes das

unidades organizacionais.

Figura 39 - Árvore de Unidades Organizacionais.

Foi utilizado uma tela auxiliar, em formato “registro”, para a inclusão e a

alteração dos dados.

É permitido o vínculo da unidade organizacional com a unidade superior.

Page 66: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

66

Figura 40 - Tela que detalha a Unidade.

Page 67: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

67

TELA DE CADASTRO DE GRAU DE PARENTESCO

A tela de cadastro de grau de parentesco permite a inclusão, alteração,

consulta e exclusão de graus de parentesco, apresentando os seguintes

campos:

• Código do grau de parentesco.

• Descrição do grau de parentesco.

O leiaute da tela é em formato de grid (tabela), listando todos os graus

de parentesco.

Figura 41 - Tela de Cadastro de Grau de Parentesco.

Existe uma tela auxiliar, em formato “registro”, para a inclusão e a

alteração dos dados.

Page 68: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

68

TELA DE CADASTRO DE FUNCIONÁRIO

A tela de cadastro de funcionários de permite a inclusão, alteração,

consulta e exclusão de funcionários, apresentando os seguintes campos:

• Matrícula do funcionário.

• Nome do funcionário.

• Data de nascimento do funcionário.

O leiaute da tela é em formato de grid (tabela), listando a matricula, o

nome e a data de nascimento do funcionário.

Figura 42 - Tela de Funcionários.

É utilizada uma segunda tela, em formato “registro”, para a inclusão e a

alteração dos dados.

Page 69: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

69

Figura 43 - Tela de Cadastramento de Funcionários.

O nome do funcionário é obrigatório, sendo tratado a entrada de

apóstrofo e de SQL Injection.

O sexo do funcionário é cadastrado como Option Button.

A data de nascimento é mostrada e editada no formato DD/MM/YYYY.

A data de admissão é mostrada e editada no formato DD/MM/YYYY.

O valor do salário do funcionário é mostrado e editado no formato

$.$$$.$$$.$$$,$$.

A unidade de lotação do funcionário é mostrada e editada em um Combo

Box carregado a partir da tabela unidade organizacional.

A situação do funcionário é mostrada e editada em um Combo Box.

A foto do funcionário é mostrada em uma área da tela, se esta estiver

carregada.

A data de exoneração somente é mostrada e disponível para edição se a

situação do funcionário for diferente de 1.

Page 70: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

70

A imagem do funcionário funciona como botão para chamar a tela de

importação de foto do funcionário.

Existe um botão para chamar a tela de importação de currículo do

funcionário.

Existe um botão para chamar a tela de cadastramento de dependentes.

Page 71: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

71

TELA DE IMPORTAÇÃO DE FOTO DE FUNCIONÁRIO

A tela de importação de foto de funcionário tem por objetivo permitir a

inclusão de arquivo com foto de funcionário.

O leiaute da tela permite a navegação local no sistema operacional e a

escolha de um arquivo de imagem. Esse arquivo é carregado para o banco de

dados e sua imagem é mostrada na tela de Funcionários.

Figura 44 - Tela de importação da Imagem.

Page 72: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

72

TELA DE IMPORTAÇÃO DE CURRÍCULO DE FUNCIONÁRIO

A tela de importação de currículo de funcionário tem por objetivo permitir

a inclusão de arquivo com foto de funcionário.

O leiaute da tela permite a navegação local no sistema operacional e a

escolha de um arquivo XML. Esse arquivo é carregado para o banco de dados

e validado com o atributo currículo que é Typed XML. É emitida uma

mensagem de sucesso ou de erro na inclusão do arquivo.

Figura 45 - Tela de importação de currículo.

Page 73: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

73

TELA DE CADASTRO DE DEPENDENTE DE FUNCIONÁRIO

A tela de cadastro de dependentes tem por objetivo permitir a inclusão,

alteração, consulta e exclusão de dependentes de um funcionário.

O leiaute da tela é em formato de grid (tabela), listando o seqüencial, o

nome do dependente, o sexo, a data de nascimento e a descrição do grau de

parentesco.

Figura 46 - Lista de Dependentes.

É utilizada uma tela auxiliar, em formato “registro”, para a inclusão e a

alteração dos dados.

O nome do dependente é obrigatório, sendo tratada a entrada de

apóstrofo e de SQL Injection.

O sexo do dependente é mostrado e editado em Combo-box.

Page 74: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

74

O grau de parentesco é mostrado e editado em Combo-box.

A data de nascimento é mostrada e editada no formato DD/MM/YYYY.

Figura 47 – Tela em formato registro de cadastramen to de dependente, chamada a partir

da tela de dependentes de um funcionário.

Page 75: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

75

TELA DE CADASTRO DE CARGOS

A tela de cadastro de cargos tem por objetivo permitir a inclusão,

alteração, consulta e exclusão de cargos.

O leiaute da tela é em formato de grid (tabela), listando todos os cargos.

Figura 48 - Tabela de Cargos.

Page 76: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

76

É utilizada uma tela auxiliar, em formato “registro”, para a inclusão e a

alteração dos dados.

Figura 49 - Tela auxiliar de cadastro de cargo.

Page 77: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

77

TELA DE NOMEAÇÃO DE FUNCIONÁRIO EM CARGOS

A tela de nomeação de funcionário tem por objetivo permitir a nomeação

de um funcionário em um cargo que esteja vago.

O leiaute da tela é em formato de grid (tabela), listando todos os cargos,

seus respectivos ocupantes atuais e sua data de nomeação. Caso o cargo

esteja vago, mostrar que o registro está vago.

Somente podem ser nomeados funcionários ativos.

A data da nomeação é mostrada e editada no formato DD/MM/YYYY.

Um funcionário não pode ocupar dois cargos simultaneamente.

Figura 50 - Tela de Nomeação de Funcionário.

Page 78: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

78

TELA DE EXONERAÇÃO DE FUNCIONÁRIO EM CARGOS

A tela de exoneração de funcionários em cargos tem por objetivo permitir

a exoneração de um funcionário de um cargo. CÂMARA DOS DEPUTADOS

O leiaute da tela deverá ser em formato de grid (tabela), listando todos

os cargos, seus respectivos ocupantes atuais e sua data de nomeação. Caso o

cargo esteja vago, mostrar que o registro está vago.

Figura 51 - Tela de Exoneração de Funcionário

Ao ser exonerado, o registro na tabela de cargos é limpo e a matrícula

do funcionário, a data de nomeação, a data de exoneração são gravados na

tabela de histórico do cargo.

A Data da Exoneração é mostrada e editada no formato DD/MM/YYYY.

.

Page 79: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

79

RELATÓRIO HIERÁRQUICO DE UNIDADES ORGANIZACIONAIS

Emitir relatório que liste hierarquicamente as unidades organizacionais

com os seguintes dados:

• Código da unidade organizacional.

• Nome da unidade organizacional.

• Matrícula do chefe da unidade organizacional.

• Nome do funcionário chefe da unidade organizacional.

Figura 52 - Visão parcial do relatório.

Page 80: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

80

RELATÓRIO DE FUNCIONÁRIOS POR LOTAÇÃO

Este relatório exibe uma tela com um árvore preenchida

hierarquicamente com as unidades organizacionais. Nessa tela é escolhida

uma unidade operacional.

É emitido um relatório que emite hierarquicamente para a unidade

escolhida e suas subunidades, com os seguintes dados:

• Código da unidade organizacional.

• Nome da unidade organizacional.

• Matrícula dos funcionários lotados na unidade organizacional.

• Nome dos funcionários lotados na unidade organizacional.

Figura 53 - Relatório por Lotação.

Page 81: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

81

RELATÓRIO DE FUNCIONÁRIOS OCUPANTES DE CARGO

Este relatório exibe uma tela com um combo-box preenchido com os

cargos.

A partir da escolha de um cargo, é emitido um relatório com os seguintes

dados:

• Código do cargo.

• Nome do cargo.

• Matrícula do atual ocupante.

• Nome do atual ocupante.

• Lotação do atual ocupante.

• Data da nomeação do atual ocupante.

• Data de nomeação dos ocupantes anteriores.

• Data de exoneração dos ocupantes anteriores.

• Matrícula do funcionário ocupante no período.

• Nome do funcionário ocupante no período.

Page 82: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

82

Figura 54 - Visão parcial do relatório,

Page 83: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

83

RELATÓRIO DE HISTÓRICO DE CARGOS

Este relatório exibe uma tela com um campo texto para solicitar a

matrícula de um funcionário.

A partir da escolha e validação da matrícula informada, é emitido um

relatório com os seguintes dados:

• Matrícula do funcionário.

• Nome do funcionário.

• Código do cargo.

• Nome do cargo.

• Data de nomeação do cargo.

• Data de exoneração do cargo.

Figura 55 - Visualização parcial do relatório.

Page 84: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

84

WEB SERVICE FUNCIONÁRIO

Este Web Service recebe como parâmetro uma matrícula e retorna:

• Matrícula do funcionário.

• Nome do funcionário.

• Sexo do funcionário.

• Data de nascimento do funcionário.

• Data de exoneração do funcionário.

• Valor do salário do funcionário.

• Nome da unidade de lotação do funcionário.

• Situação do funcionário.

• Foto do funcionário.

Figura 56 - Ao definir um fluxo como Externo ele é gerado como Web Service.

Page 85: Relatorio Camara

Câmara dos Deputados Centro de Informática Coordenação de Relacionamento com o Cliente Processo n.º 126.836/2007 Em 17/11/2008

85

Considerações Finais

Após a bateria de testes realizada em conjunto com o técnico da

empresa, a comissão técnica concluiu que a ferramenta RAD Maker possui

todas as características obrigatórias exigidas pelo edital e todas as

características pontuáveis oferecidas.

A aplicação de teste foi desenvolvida em 05:15 h, tempo menor que o

indicado pela proposta técnica.

A produtividade obtida pela ferramenta foi de 23,80 Pontos de Função

por Hora, portanto maior que os 18 Pontos de Função por Hora ofertados na

proposta técnica.

A comissão recomenda o aceite da solução.

Brasília, 17 de novembro de 2008.

Alfredo Luiz Campos Junior

Analista Legislativo

Ponto: 6636

Evandro Tadeu Moreira

Analista Legislativo

Ponto 6639

Ricardo da Silva Lima

Analista Legislativo

Ponto: 6403

Dryade de Carvalho Fontenele

Analista Legislativo

Ponto: 6657

Marcos Abdo Raposo

Analista Legislativo

Ponto: 6647