Sie sind auf Seite 1von 85

Cmara dos Deputados

Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Relatrio de aferio das caractersticas da ferramenta RAD Softwell Maker.


Introduo
No subitem 4.13 do Anexo I do edital da tomada de preos 01/2008, existe a previso de que a empresa que fornea a ferramenta RAD com maior valor de avaliao seja convocada para realizar testes com objetivo de aferir as caractersticas 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 aferio ser acompanhado por comisso tcnica designada pelo Centro de Informtica. O Centro de Informtica designou ento os seguintes servidores para comporem a comisso tcnica responsveis pela aferio da ferramenta RAD: Alfredo Luiz Campos Jnior Dryade de Carvalho Fontenele Evando Tadeu Moreira Marcos Abdo Raposo Olival Gomes Barboza Junior Ricardo da Silva Lima ponto 6636 ponto 6657 ponto 6639 ponto 6647 ponto 6401 ponto 6403

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Objetivo:
O presente relatrio tem por objetivo documentar o resultado do processo de aferio das caractersticas tcnicas da ferramentas Softwell Maker, realizado no perodo de 03/11/2008 a 13/11/2008, com objetivo se subsidiar a Comisso Permanente de Licitao na tomada de preos 01 de 2008. O processo de aferio foi realizado conforme descrito no Anexo n 5 do edital da tomada de preos 01/2008 e foi dividido em dois subprocessos, a Aferio das Caractersticas e a Aferio do Desempenho.

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Avaliao das Caractersticas.


Segundo o edital da TP 01/2008, no item 2 do Anexo n 5, a aferio de caractersticas teve por objetivo verificar a conformidade da proposta tcnica com a ferramenta RAD. Em ateno 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 tcnico responsvel pelo processo de aferio. A Apresentao 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 Cmara dos Deputados, para membros da comisso tcnica. Nos dias 04/11/2008 a 13/11/2008, foram verificadas as conformidades das caractersticas obrigatrias e pontuveis ofertadas da ferramenta RAD, conforme descrito a seguir. Os trabalhos de aferio foram realizados na sala 1101 e na sala 1106, e todos os produtos e demonstraes foram realizados pelo Sr. Lourival Oliveira da Silva.

Avaliao das Caractersticas Obrigatrias


1. Ambiente de desenvolvimento compatvel com as plataformas de sistemas operacionais Windows 2000 e XP, bem como com bancos de dados Oracle 10G e MS SQL Server 2005. Na pgina 31 do manual do desenvolvedor consta que o software compatvel com os sistemas operacionais Windows 2000 e XP e com os bancos de dados Oracle 10G e MS SQL Server 2005. Para demonstrar a caracterstica, o tcnico da empresa efetuou a instalao do software em ambiente Windows: XP, conforme registrado abaixo:

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Figura 1 - Instalao do Maker.

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Figura 2 - Inicializao da Instalao

Figura 3 - Exibio do Contrato de Instalao.

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Figura 4 - Instalando o Maker.

Figura 5 - Concluso da Instalao.

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Para demonstrar a compatibilidade com SQL Server, foi desenvolvida uma pequena aplicao no SQL Server.

Figura 6 - Tela inicial do Maker.

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Foi escolhido o SQL Server como repositrio central:

Figura 7 - Tela de criao do repositrio.

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Foi desenvolvida uma tela acessando dados no SQL Server:

Figura 8 - Desenvolvendo a tela de acesso ao SQL Server.

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Esta tela foi conectada com um banco SQL Server:

Figura 9 - Configurando acesso para o SQL Server

10

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

A tela foi inserida em um menu:

Figura 10 - Insero de item de menu.

11

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Fez-se o acesso normal a aplicao:

Figura 11 - Tela de Logon da Aplicao.

12

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

E a tela acessou o SQL Server:

Figura 12 - Tela acessando o banco SQL Server.

13

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Foi desenvolvido tambm uma pequena aplicao para demonstrar a capacidade de acesso ao ORACLE:

Figura 13 - Tela de conexo com o Oracle.

14

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

A aplicao tambm foi executada:

Figura 14 - Tela de teste de acesso ao Oracle.

A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

15

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

2. As aplicaes geradas devero ser compatveis com os navegadores Internet Explorer 6 ou superior e com Mozilla Firefox 2.0 ou superior. Na pgina 255 do manual do desenvolvedor consta que o produto faz uma verificao de compatibilidade do browser. Dentre os browsers suportados esto o IE 6 e o Firefox 2.0. Para demonstrar a caracterstica, o tcnico da empresa demonstrou o acesso de aplicaes geradas pelo Maker nos browsers Internet Explorer e Firefox. O Maker possui inclusive uma opo de preview para que o programador escolha o browser:

A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

16

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

3. O desenvolvimento de sistemas dever ser feito de forma padronizada, atravs de ambiente grfico, sem a necessidade da customizao ou da alterao do cdigo fonte eventualmente gerado. Na pgina 23 do manual do desenvolvedor consta que o software um ambiente de desenvolvimento 100% visual. Todo o desenvolvimento da aplicao de teste de desempenho foi realizado atravs de ambiente grfico. Alm da capacidade de desenho de pginas e de relatrios, cabe destacar que a implementao da lgica de negcios realizada atravs de fluxogramas:

Figura 15 - Criao de um Fluxo de Ao.

A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

17

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

4. Dever ter capacidade de gerao de aplicaes, independentemente do emprego de ferramenta(s) complementares. Na pgina 23 do manual do desenvolvedor consta que o software um ambiente de desenvolvimento com poder de desenvolvimento de aplicaes corporativas. Todo o desenvolvimento da aplicao de avaliao de desempenho foi realizado atravs da ferramenta, sem uso de ferramentas complementares. A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

18

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

5. Gerar relatrios personalizados nos formatos textual e grfico. No manual do desenvolvedor, nas pginas 203 a 219, consta a descrio do gerador de relatrios que vem embutido na ferramenta. possvel a emisso de relatrios com componentes texto e grfico. Para demonstrar a caracterstica, o tcnico da empresa demonstrou que o gerador de relatrio do Maker possui a possibilidade de gerao de um relatrio relatrios em formato TXT e diversos formatos grficos. Esta demonstrao foi realizada com os relatrios da aplicao de teste de desempenho. A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

19

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

6. Suportar a implantao de controle de acesso nos sistemas criados por meio de grupos especficos de usurios (ex.: administrador, operador, etc.). Nas pginas 260 e 261 do manual do desenvolvedor constam respectivamente os tpicos de como gerenciar grupos de usurios e de como gerenciar usurios de um sistema. Para demonstrar a caracterstica, o tcnico da empresa demonstrou a criao de usurios, de grupos, e a concesso de direitos de acesso para eles. Inicialmente cria-se grupos:

Figura 16 - Criao de Grupos

20

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Em seguida, cria-se usurios e vincula os usurios aos grupos:

Figura 17 - Atribuindo um usurio a um grupo.

21

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Em seguida, concede-se permisses aos grupos.

Figura 18 - Atribuindo permisses a um grupo.

A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

22

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

7. Gerar aplicaes com Log de auditoria. A pgina 264 do manual do desenvolvedor mostra como visualizar todas as tarefas de incluso, alterao e excluso de dados efetuados nas telas do sistema. Para demonstrar a caracterstica, o tcnico da empresa demonstrou.que os sistemas gerados pelo Maker automaticamente geram Log, cuja aparncia pode ser vista na tela a seguir:

Figura 19 - Tela de log do sistema.

A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

23

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

8.

Gerar

arquivos

XML

(eXtensible

Markup

Language)

para

importao/exportao entre aplicaes. Nas pginas 199 a 202 do manual do desenvolvedor existe uma seo que trata de documentos XML. possvel acessar e modificar documentos XML. Para demonstrar a caracterstica, o tcnico da empresa demonstrou o tratamento a documentos XML, que feito por diversas funes 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 comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

24

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

9. Gerar e consumir programas/conectores do tipo Web Services. Na pgina 193 do manual do desenvolvedor consta a documentao de uma funo que utilizada para chamar um Web Service. Nas pginas 4 a 11 da carta da Softwell de 8 de outubro de 2008 (Anexo I), consta a documentao e dois exemplos de implementao de Web Services. Para demonstrar a chamada do Web Service criado pelo Maker na aplicao de avaliao 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 Cmara dos Deputados (ZOPE/PYTHON)

print webservice_caller(wsdl='http://corel-245966:8080/webrunent/services/WFRWebService?wsdl', metodo='callRule', parametros=("AVA","master","1","wsFuncionario","6417"), timeout=60)

Para demonstrar a capacidade do Maker de chamar um Web Service, o tcnico da empresa desenvolveu uma pequena tela que faz chamada a um Web Service da Cmara dos Deputados.

25

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Figura 21 - Fluxo com chamada a Web Service.

A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

26

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

10. Reutilizar componentes e dicionrio de dados gerados por outras aplicaes (reusabilidade). Na pgina 225 do manual do desenvolvedor existe a descrio do repositrio de objetos. possvel a reutilizao dos objetos em diversos projetos. Na pgina 231 do manual do desenvolvedor existe a descrio do dicionrio de dados. Na pgina 2 da carta da Softwell de 8 de outubro de 2008 existe o esclarecimento de que o dicionrio de dados poder ser reutilizado em todos os demais projetos que tenham sido criados na mesma base de dados. Para demonstrar a caracterstica, o tcnico da empresa demonstrou.que o dicionrio de dados global a todos os projetos armazenados no mesmo repositrio. Alm disto, atravs do processo de vinculao, possvel a um projeto acessar a um objeto de outro projeto:

27

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

A vinculao pode ser observada na tela abaixo:

Figura 22 - Tela de vinculao de objetos entre projetos.

A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

28

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

11. Suportar controle de verso e trabalho em equipe. Na pgina 223 do manual do desenvolvedor mostra o histrico de verses. Neste histrico existe a informao de qual desenvolvedor alterou um objeto. Para demonstrar a caracterstica, o tcnico da empresa demonstrou o mecanismo de versionamento do Maker:.

Figura 23 - Tela de versionamento de Formulrios.

A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

29

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

12. Possuir gerador de pginas web para entrada de dados ou capacidade de utilizao de pginas web geradas por outro editor de pginas web. Na pgina 49 do manual do desenvolvedor comea o captulo Formulrios, que trata da construo de telas para o desenvolvimento de aplicaes. O Maker possui um editor de pginas, que gera automaticamente o HTML e o Javascript necessrio para o funcionamento da aplicao. A seguinte tela foi criada pelo tcnico da empresa:

Figura 24 - Tela de exemplo de demonstrao do editor de telas.

O editor gerou automaticamente a pgina com o seguinte cdigo:


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

30

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
height="60" border="0" cellpadding="0" cellspacing="1" bgcolor="#999999">'); document.write(' <tr>'); document.write(' <td align="center" valign="middle" bgcolor="#FFFFFF"><table width="100" border="0" cellspacing="0" cellpadding="10">'); document.write(' <tr align="center" valign="middle">'); 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>Funcionrio</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-88591"> <script type="text/javascript" language="JavaScript1.2" src="wfr.js?hash=68b4dcb1c018039f1befe96fb7755486"></script> <script type="text/javascript" language="JavaScript1.2" src="rulesFunctions.js?hash=82b70ed6c230161b9e2ec7081d76311e"></script > <script type="text/javascript" language="JavaScript1.2" src="jsRule/system_afe/webrunFunctions.js?hash=1877607635"></script> <script type="text/javascript" language="JavaScript1.2" src="jsRule/system_afe/webrunRules.js?hash=0"></script> <script type="text/javascript" language="JavaScript1.2" src="i18n/pt_BR.js?hash=559633724"></script> <script type="text/javascript" language="JavaScript1.2" src="components/HTMLComponents.js?hash=8626ba2e1dd6a408884d9a1f380059b 1"></script> <link rel="stylesheet" href="Skins/Default/classes.css"> <link href="grid/styles/xp/grid.css" rel="stylesheet" type="text/css"></link> </head> <script type="text/javascript" language="JavaScript1.2"> <!-var mainform = window; var mainframe = null; var sysCode = "AFE"; var idForm = "2"; var formGUID = "{9BE68BAD-362C-429A-8609-F972D399E32E}"; if (opener != null) { mainframe = opener.mainframe; } else { parent.changeTitle(document.title); mainframe = parent.mainframe; } //--> </script> <script type="text/javascript" language="JavaScript1.2"> <!-function formBeforeUpdate() { } function formBeforeInsert() { }

31

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

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); setFocusFormOnLoad();" 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" value=""> <input name="storedProcedureParams" type="hidden" value="">

32

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
<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="JavaScript1.2"> controller.addForm(2, '{9BE68BAD-362C-429A-8609-F972D399E32E}'); controller.addFormInfo('Funcionrio', 2, '{9BE68BAD-362C-429A-8609F972D399E32E}', '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, 539); 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, 'MATRICULA', '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', 'Sebastio 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);

33

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
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';

34

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
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=Fot oFuncionario&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&param=goto&formID='+t his.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.setEnabled(true); d.ac.showFilter(false); function formOnLoadAction() { loadTimeText = 'Tempo de Carga: ' + (new Date().getTime() - 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;

35

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
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;"></div> </body> </html> <script type="text/javascript" language="JavaScript1.2"> setTimeout('formOnLoadAction()', 0); </script> <!-- Tempo de Carga: 156ms -->

A comisso conclui que a ferramenta possui a caracterstica tcnica obrigatria.

36

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Avaliao das caractersticas pontuveis


Segundo o edital, as ferramentas sero pontuadas de acordo com as seguintes caractersticas de padronizao, compatibilidade e qualidade. 1. Suportar a gerao de sistemas baseados em SODA (Service Oriented Development of Aplications), utilizando os conceitos de SOA (Service Oriented Architecture). Nas pginas 4 a 11 da carta da Softwell de 8 de outubro de 2008 (Anexo I), consta a documentao e dois exemplos de implementao de Web Services. Na mesma carta, na pgina 2 existe ainda a informao que possvel a utilizao de formulrios e relatrios externamente, no sendo necessria a efetuao de login no sistema. Para demonstrar a caracterstica, o tcnico da empresa demonstrou a criao e a chamada de um Web Service. Foi usado o Web Service da Aplicao de Teste de Desempenho como criao e a chamada de um Web Service da Cmara dos Deputados.. A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

37

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

2. Gerar documentao padronizada dos sistemas criados. Nas pginas 235 a 246 do manual de desenvolvimento est descrito o recurso do Documentador Automtico, que gera no padro PRAXIS, seguindo as normas de desenvolvimento sugeridas pelo PMI. Para demonstrar a caracterstica, o tcnico da empresa demonstrou.a gerao da documentao da aplicao de teste de desempenho.

RELATRIO DOS FLUXOS DE AES CONTIDOS NO PROJETO Label16

Imagem do Fluxo: DEV-Teste01

Figura 25 - Extrato da documentao gerada pelo MAKER

A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

38

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

3 Usar tecnologia Ajax na construo de pginas Web. Na pgina 24 do manual de desenvolvimento existe a informao de que o Maker usa automaticamente AJAX nas telas para aumento da performance do sistema. Para demonstrar a caracterstica, o tcnico da empresa abriu as pginas geradas e l foi constatado o uso de AJAX, conforme documentado no fragmento do fonte da pgina gerada que est abaixo:
function getHTTPObjectXML(){var http_request;if(window.XMLHttpRequest){http_request=new XMLHttpRequest();if(http_request.overrideMimeType){http_request.overri 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 XMLHTTP instance');return false;} return http_request;} function fixXMLDocument(doc){if(!IE) fixXMLNode(doc.documentElement);} function fixXMLNode(node){var children=node.childNodes;for(var i=0;i<children.length;i++){var child=children[i];if((trim(child.nodeValue)=='')&&(!child.tagName)){ch ild.parentNode.removeChild(child);} else fixXMLNode(child);}}

A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

39

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

4 Gerar automaticamente cdigo da aplicao em Java. Nas pginas 293 a 295 do manual do desenvolvedor est descrito como exportar um projeto para fonte em Java. Para demonstrar a caracterstica, o tcnico da empresa gerou a aplicao de avaliao de desempenho em Java e um WAR. O War foi instalado com sucesso em dois servidores Apaches, em ambiente Windows e Linux. Parte do cdigo gerado est listado a seguir:
package wfr.com.systems.system_ava; import import import import import import import import import import java.io.File; java.util.ArrayList; java.util.Collections; java.util.HashMap; java.util.List; java.util.Map; org.jdom.Document; org.jdom.Element; org.jdom.input.SAXBuilder; 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.SistemaXGruposForm; import wfr.com.systems.system_ava.forms.cadastrodedependente.CadastroDeDepend enteForm; import wfr.com.systems.system_ava.forms.cadastrodeunidadeorganizacional.Cadas troDeUnidadeOrganizacionalForm; import wfr.com.systems.system_ava.forms.usuariosxsistemasxgrupos.UsuariosXSis temasXGruposForm; import wfr.com.systems.system_ava.forms.usuariosxsistemas.UsuariosXSistemasFo rm; import wfr.com.systems.system_ava.forms.cadastrodecargo.CadastroDeCargoForm; import wfr.com.systems.system_ava.forms.formulariodosistema.FormularioDoSiste maForm;

40

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
import wfr.com.systems.system_ava.forms.temphierarquia.TempHierarquiaForm; import wfr.com.systems.system_ava.forms.formulariodosistema.FormularioDoSiste maForm_1; import wfr.com.systems.system_ava.forms.cadastrodeparentesco.CadastroDeParent escoForm; import wfr.com.systems.system_ava.forms.manutencaodecargo.ManutencaoDeCargoFo rm; import wfr.com.systems.system_ava.forms.cadastrodehistoricocargo.CadastroDeHi storicoCargoForm; import wfr.com.systems.system_ava.forms.usuarios.UsuariosForm; import wfr.com.systems.system_ava.forms.testewebservice.TesteWebserviceForm; import wfr.com.systems.system_ava.forms.impressaoderelatoriohierarquicodeunid adesorganizacionais.ImpressaoDeRelatorioHierarquicoDeUnidadesOrganizac ionaisForm; import wfr.com.systems.system_ava.forms.unidadesorganizacionaisarvore.Unidade sOrganizacionaisArvoreForm; import wfr.com.systems.system_ava.forms.relatoriosdefuncionariosocupantesdeca rgo.RelatoriosDeFuncionariosOcupantesDeCargoForm; import wfr.com.systems.system_ava.forms.cadastrodefuncionario.CadastroDeFunci onarioForm; import wfr.com.systems.system_ava.forms.grupos.GruposForm; import wfr.com.systems.system_ava.forms.listadecargos.ListaDeCargosForm; import wfr.com.systems.system_ava.forms.relatoriodefuncionariosporlotacao.Rel atorioDeFuncionariosPorLotacaoForm; import wfr.com.systems.system_ava.forms.usuariosxsistemasformulario.UsuariosX SistemasFormularioForm;

/** * Essa classe representa o sistema Avaliao de Desempenho. A sigla que identifica o sistema Avaliao de Desempenho AVA.</br> * O sistema Avaliao de Desempenho carregado atravs de um arquivo *.wfre que que um arquivo XML criptografado que contm</br> * informaes de acesso ao banco (servidor, login, senha), codificao (ISO, UFT), sigla do</br> * sistema entre outras.</br> * Um sitema todo carregado na memria por questes de performance.<br/> * * @author Webrun * @version 1.0 */ public class AVA extends WFRSystem {

41

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
private static Logger logger = Logger.getLogger(AVA.class); /*Obtm-se o diretrio da classe compilada*/ private static String dir = Functions.classFolder(AVA.class) + File.separatorChar; protected Map<String, List<WFRAction>> actions; protected Map<ComponentProperty, String> systemProperties; /** * Construtor do sistema Avaliao de Desempenho. * @param file Arquivo *.wfre que representa os parmetros de conexo com o banco de dados do sistema Avaliao de Desempenho. * @throws Exception */ public AVA(WFREFile file) throws Exception { super(file); } /** * Esse mtodo responsvel pela carga da definio dos tipos de dados utilizado pelo sistema.</br> * Exemplo: CPF, CEP, etc. * @see wfr.com.WFRSystem#createSystemDataTypes() */ protected List<WebrunProperties> createSystemDataDictionary() 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()) + "/dictionary.xml")); List<Element> elems = doc.getRootElement().getChildren("DICTIONARY"); for (Element e : elems) { WebrunProperties properties = new WebrunProperties(); /*Cdigo do tipo de dados*/ properties.put("TPD_CODIGO", e.getChild("CODE").getValue()); /*Descrio 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 Padro*/ properties.put("CMP_VALORPADRAO", e.getChild("DEFAULT").getValue()); dataList.add(properties);

42

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
} } catch (Exception e) { logger.error(WFRSystem.DEFAULT_USER, code, e); } return dataList; } /** * Esse mtodo responsvel pela carga do dicionrio de dados do sistema Avaliao de Desempenho.</br> * Todas as definies do dicionrio esto armazenados em um arquivo chamado dictionary.xml</br> * que deve estar no mesmo diretrio da classe compilada. * @see wfr.com.WFRSystem#createSystemDataDictionary() */ protected List<WebrunProperties> createSystemDataTypes() 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()) + "/dataTypes.xml")); List<Element> elems = doc.getRootElement().getChildren("DATATYPE"); for (Element e : elems) { WebrunProperties properties = new WebrunProperties(); /*Cdigo do tipo de dados*/ properties.put("TPD_CODIGO", e.getChild("CODE").getValue()); /*Descrio do tipo de dados*/ properties.put("TPD_DESCRICAO", e.getChild("DESCRIPTION").getValue()); /*Definies do tipo de dados*/ properties.put("TPD_MASCARAFORMATACAO", e.getChild("DEFINITION").getValue()); /*Mscara de edio*/ properties.put("TPD_MASCARAEDICAO", e.getChild("EDITMASK").getValue()); dataList.add(properties); } } catch (Exception e) { logger.error(WFRSystem.DEFAULT_USER, code, e); } return dataList; }

43

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
/** * Esse mtodo responsvel pela carga das propriedades do sistema. As propriedades do sistema</br> * ficam armazenadas em um arquivo xml chamado AVA.xml que deve estar no mesmo diretrio</br> * da classe compilada. O formato do arquivo o definido pela classe WebrunProperties. Ele tambm faz a </br> * carga das aes do sistema que fica no arquivo AVA.actions.xml. * @see wfr.com.WFRSystem#createSystemProperties() * @see wfr.com.WebrunProperties */ protected void createSystemProperties() throws Exception { /*Criam-se as propriedades do sistema Avaliao de Desempenho*/ properties.load(dir + "AVA.xml"); /*Extrai-se as propriedades de componente do sistema*/ systemProperties = properties.getComponentProperties(); /*Criam-se as aes do sistema Avaliao de Desempenho*/ actions = WFRAction.loadActionsFromXML(new File(dir+"AVA.actions.xml")); }

/** * Esse mtodo responsvel pela carga da lista de formulrios que o sistema. * @see wfr.com.WFRSystem#createFormList() */ protected List<WFRForm> createFormList() throws Exception { List<WFRForm> formList = new ArrayList<WFRForm>(); /*Adiciona-se o formulrio Sistema X Grupos*/ formList.add(new SistemaXGruposForm(this, this.db)); /*Adiciona-se o formulrio Cadastro de Dependente*/ formList.add(new CadastroDeDependenteForm(this, this.db)); /*Adiciona-se o formulrio Cadastro de Unidade Organizacional*/ formList.add(new CadastroDeUnidadeOrganizacionalForm(this, this.db)); /*Adiciona-se o formulrio Usurios X Sistemas X Grupos*/ formList.add(new UsuariosXSistemasXGruposForm(this, this.db)); /*Adiciona-se o formulrio Usurios X Sistemas*/ formList.add(new UsuariosXSistemasForm(this, this.db)); /*Adiciona-se o formulrio Cadastro de Cargo*/ formList.add(new CadastroDeCargoForm(this, this.db)); /*Adiciona-se o formulrio $_FORMULARIO_DO_SISTEMA*/ formList.add(new FormularioDoSistemaForm(this, this.db)); /*Adiciona-se o formulrio Temp-Hierarquia*/ formList.add(new TempHierarquiaForm(this, this.db)); /*Adiciona-se o formulrio $_FORMULARIO_DO_SISTEMA*/ formList.add(new FormularioDoSistemaForm_1(this, this.db)); /*Adiciona-se o formulrio Cadastro de Parentesco*/ formList.add(new CadastroDeParentescoForm(this, this.db)); /*Adiciona-se o formulrio Manuteno de Cargo*/ formList.add(new ManutencaoDeCargoForm(this, this.db)); /*Adiciona-se o formulrio Cadastro de Histrico Cargo*/ formList.add(new CadastroDeHistoricoCargoForm(this, this.db));

44

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
/*Adiciona-se o formulrio Usurios*/ formList.add(new UsuariosForm(this, this.db)); /*Adiciona-se o formulrio Teste Webservice*/ formList.add(new TesteWebserviceForm(this, this.db)); /*Adiciona-se o formulrio Impresso de Relatrio Hierrquico de Unidades Organizacionais*/ formList.add(new ImpressaoDeRelatorioHierarquicoDeUnidadesOrganizacionaisForm(this, this.db)); /*Adiciona-se o formulrio Unidades Organizacionais (rvore)*/ formList.add(new UnidadesOrganizacionaisArvoreForm(this, this.db)); /*Adiciona-se o formulrio Relatrios de Funcionrios Ocupantes de Cargo*/ formList.add(new RelatoriosDeFuncionariosOcupantesDeCargoForm(this, this.db)); /*Adiciona-se o formulrio Cadastro de Funcionrio*/ formList.add(new CadastroDeFuncionarioForm(this, this.db)); /*Adiciona-se o formulrio Grupos*/ formList.add(new GruposForm(this, this.db)); /*Adiciona-se o formulrio Lista de Cargos*/ formList.add(new ListaDeCargosForm(this, this.db)); /*Adiciona-se o formulrio Relatrio de Funcionrios Por Lotao*/ formList.add(new RelatorioDeFuncionariosPorLotacaoForm(this, this.db)); /*Adiciona-se o formulrio Usurios X Sistemas Formulrio*/ formList.add(new UsuariosXSistemasFormularioForm(this, this.db)); return formList; } /** * Esse mtodo responsvel pela criao da rvore de menus do sistema.</br> * Essa rvore armazenada em um arquivo chamado menu.xml presente no diretrio</br> * da classe compilada. * @see wfr.com.WFRSystem#createSystemMenus(wfr.database.DBConnection) */ protected List<WFRMenu> createSystemMenus(DBConnection db) throws Exception { return WFRMenu.getListMenu(db, this, Functions.classFolder(this.getClass())+"/menu.xml"); } /** * Esse mtodo deve subir uma exceo, informando que a busca dinmica de um formulrio</br> * no permitida. * @see wfr.com.WFRSystem#loadForm(wfr.database.DBConnection, java.lang.String) */ protected WFRForm loadForm(DBConnection db, String id) throws Exception {

45

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
throw new WFRException(ExceptionMessage.ERROR_FORM_CODE_NOT_FOUND, new Object[] { id }); } /** * Esse mtodo deve subir uma exceo, informando que a recarga de um formulrio no possvel. * @see wfr.com.WFRSystem#reloadForm(java.lang.String, wfr.database.DBConnection) */ public void reloadForm(String id, DBConnection d) throws Exception { throw new WFRException(ExceptionMessage.ERROR_CANNOT_RELOAD_COMPILED_FORM); } /** * Esse mtodo deve subir uma exceo, informando que a recarga de um relatrio no possvel. * @see wfr.com.WFRSystem#reloadReport(java.lang.String) */ public synchronized void reloadReport(String id) throws Exception { throw new WFRException(ExceptionMessage.ERROR_CANNOT_RELOAD_REPORT); } /** * Essa funo sempre retorna falso, pois o sistema no tem a propriedade de recarga. * @see wfr.com.WFRSystem#isReloadable() */ public boolean isReloadable() { return false; } /** * Retorna um relatrio dado um identificador. * @param id String Identificador do relatrio. * @param db Conexo corrente. * @return WFRReport Relatrio. * @throws Exception */ public WFRReport getReport(String id, DBConnection 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(db); } else { return (WFRReport) report; } } else { synchronized (this) {

46

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008
if (!reports.containsKey(id)) { report = WFRReportFactory.getInstance(this, id, db); reports.put(((WFRReport) report).getID(), report); reportsByName.put(((WFRReport) report).getName(), report); } } return (WFRReport) report; } } /** * Esse mtodo retorna nulo, pois no se aplica a essa classe. * @see wfr.com.WFRSystem#getForm() */ public WFRForm getForm() { return null; } /** * Esse mtodo retorna todas as aes 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 aes para um determinado evento. * @see wfr.com.WFRSystem#getActions(java.lang.String) */ public List<WFRAction> getActions(String moment) { if (actions.containsKey(moment)) return actions.get(moment); else return Collections.EMPTY_LIST; } /** * Criam-se os formulrios de definio de controle de * @see wfr.com.WFRSystem#createAccessForms() */ protected void createAccessForms() throws Exception { /* * No necessita implementao. */ }

acesso.

47

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

/** * Atualiza a subconexo do sistema * @param pSubConCode Nmero para identificar a subconexo. Usado na criao do parametro "Conexao1WFRE" * @param pSysCode Cdigo do sistema que ter a subconexo atualizada. * @param pFile Arquivo representando a subconexo. * @param pTemporary Caso verdadeiro, no atualiza os dados persistidos em XML. * @throws java.lang.Exception */ @Override public void updateSubconection(Integer pSubConCode, String pSysCode, WFREFile pFile, Boolean pTemporary) throws Exception { // Modificar definies da conexo em memoria ComponentProperty propertyWFRE = ComponentProperty.getByDescription("Conexao" + pSubConCode + "WFRE"); systemProperties.put(propertyWFRE, pFile.getBase64WFRE()); // 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/PROPERTY[@KEY = '" + key + "']"); Element element = (Element) xp.selectSingleNode(doc); if (element != null) { element.setText(pFile.getBase64WFRE()); Functions.documentToXMLFile(doc, nomedoarquivo); } else { throw new WFRException(ExceptionMessage.ERROR_SUBCONNECTION_NOT_FOUND); } } } }

A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

48

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

5 Consumir (executar) Stored Procedures em Bancos SQL Server 2005 e Oracle 10G. Na pgina 132 do manual do desenvolvedor descreve a funo Executar Procedure, que chama uma Stored Procedure no Banco de Dados. Para demonstrar a caracterstica, o tcnico da empresa demonstrou.a chamada de stored procedures em SQL Server e em Oracle.

Figura 26 - Chamada da Procedure em Sql Server.

49

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Figura 27 - Resultado da chamada da Procedure em Oracle. Esta procedure retorna um erro.

A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

50

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

6 Gerar (criar) automaticamente Stored Procedures em SQL Server 2005 e Oracle 10G. Na pgina 116 do manual do desenvolvedor inicia uma seo sobre o Gerador de Cdigo. Este gerador de cdigo transfere a rvore criada pelo editor de fluxo de aes em um cdigo fonte. Existe na documentao a gerao de Stored procedures em Oracle. Para demonstrar a caracterstica, o tcnico da empresa demonstrou.a transformao 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 parmetro.

Figura 28 - Criao de Procedure em Oracle.

51

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Figura 29 - Criao de Procedure em SQL Server.

A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

52

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

7. Consumir (chamar/executar) componentes COM. Nas pginas 123 e 124 do manual do desenvolvimento esto relacionadas diversas funes de tratamento de objetos COM. Para demonstrar a caracterstica, o tcnico da empresa demonstrou a chamada de um mtodo do Excel por dentro do Maker.

Figura 30 - Fluxo de Chamada do Excel

53

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Este fluxo retornou a seguinte sada:

Figura 31 - Resultado da chamada de mtodo que retorna a verso do Excel instalado na mquina.

A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

54

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

8. Autenticar o usurio da aplicao gerada no Active Directory. Nas pginas 123 do manual do desenvolvimento esta descrita a funo AD Autenticar Usurio que ir retornar verdadeiro ou falso se a autenticao foi realizada com sucesso no Active Directory.. Para demonstrar a caracterstica, o tcnico da empresa implementou um fluxo que permite a autenticao no AD.

Figura 32 - Fluxo de acesso ao AD, com detalhe de configurao do mecanismo de autenticao.

Fez-se ento testes de autenticao de membros da comisso no AD da Cmara dos Deputados. A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

55

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

9. Suportar folhas de estilo j criadas Na pgina 3 da carta da Softwell de 8 de outubro de 2008, consta a documentao de que em determinada pasta de instalao do software constam 51 arquivos de folhas de estilos, nos quais possvel editar propriedades dos componentes e demais recursos oferecidos pela aplicao. Para demonstrar a caracterstica, o tcnico da empresa demonstrou que alterando um estilo das folhas de estilo, o mesmo reflete nas pginas.

Figura 33 - Tela de com o tamanho de fonte dos ttulos dos campos aumentado para 18.

A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

56

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

10 Portabilidade das aplicaes geradas com servidor de aplicao instalado em servidor Linux (Red Hat Entreprise). Na pgina 26 do manual do desenvolvedor consta que a aplicao desenvolvida multiplataforma, e dentre as plataformas geradas encontra-se o Linux. Na pgina 333 est descrito o procedimento de instalao do Web Run em ambiente Linux Ubuntu ou Fedora. Na pgina 3 da carta da Softwell de 8 de outubro de 2008 existe a afirmao de que as aplicaes geradas pelo Maker podem ser instaladas em Linux Red Hat. Para demonstrar a caracterstica, foi instalado e testada em servidor Linux Red Hat a aplicao de testes gerada. No houve nenhuma necessidade de qualquer alterao na aplicao. A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

57

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

11 Gerar aplicaes com suporte a biometria Na pgina 336 do manual do desenvolvedor existe a seo Biometria, com a descrio da funo de abertura do leitor digital. Para demonstrar a caracterstica, o tcnico da empresa demonstrou o cadastramento de uma impresso digital de um membro da comisso tcnica e usou esta impresso para efetuar a autenticao em uma aplicao de teste.

Figura 34 - Tela de Cadastramento da Impresso Digital

Foi utilizado o leitor biomtrico Hamster I da Nitgen para o cadastramento da impresso digital e para o processo de autenticao.

58

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Efetuou-se inclusive testes com outras impresses digitais e o sistema bloqueou o acesso:

Figura 35 -Tentativa de Autenticao com impresso digital no cadastrada.

A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

59

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

12. Gerar aplicaes com suporte a certificao digital Na pgina 337 do manual do desenvolvedor existe a seo Certificao Digital no ambiente WebRun, com a descrio das funes para

implementao de certificao digital. Para demonstrar a caracterstica, o tcnico da empresa demonstrou uma aplicao que usa e acessa um certificado digital.

Figura 36 - Tela da Aplicao Acessando um Certificado Digital.

A comisso conclui que a ferramenta possui a caracterstica tcnica pontuvel.

60

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Avaliao de Desempenho.
O item 3 do Anexo n 5 da TP 1/2008 descreve que a aferio de desempenho consistir no desenvolvimento de uma aplicao de teste com 125 pontos de funo. A aplicao est descrita a partir do item 4 do Anexo n 5 do edital, e o tcnico da empresa construiu e disponibilizou os seguintes produtos funcionais: Tela de autenticao de Usurio. Tela de cadastro de Unidade Organizacional, com vnculo de unidade superior. Tela de cadastro de Grau de Parentesco. Tela de cadastro de Funcionrio. Tela de importao de Foto de Funcionrio. Tela de importao de Currculo de Funcionrio. Tela de cadastro de Dependente de Funcionrio. Tela de cadastro de Cargos. Tela de nomeao de Funcionrio em Cargos. Tela de exonerao de Funcionrio de Cargo. Relatrio Hierrquico de Unidades Organizacionais. Relatrio de Funcionrios por Lotao. Relatrio de Funcionrios ocupantes de Cargo. Relatrio de Histrico de Cargos. Web Service Funcionrio.

No item 3.2 do Anexo determina que a aplicao deve ser construda e instalada no prazo de 125/PFH, onde PFH so Pontos de Funo por Hora. Foi solicitado a cada empresa licitante que indicasse na proposta tcnica a produtividade de cada ferramenta atravs de pontos de funo por hora PFH. A empresa Softwell Maker apresentou em sua proposta tcnica o valor de 18 PFH. 61

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

O tcnico da empresa dispunha ento de 125 h 18 = 06:56 h para construir a aplicao. O tcnico da empresa construiu a aplicao prevista em um tempo total de 05:15 h, o que corresponde a 23,80 PFH. Durante todo o processo de desenvolvimento da aplicao de aferio de desempenho, o tcnico da empresa teve o acompanhamento da comisso tcnica designada pelo Centro de Informtica. Com uso do SQL Server profiler, foi observado que os comandos enviados para o SQL Server so comandos preparados e parametrizados, impossibilitando o uso de SQL Injection. Em todos os campos texto feito o tratamento de apstofre.

62

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE AUTENTICAO DE USURIO A tela de autenticao de usurio solicita o nome e a senha de usurio para entrar no sistema. Foram utilizadas funcionalidades j existentes no Maker para

disponibilizar a tela, o mecanismo de autenticao, e os mecanismos de concesso de direitos de execuo. O Maker apresenta inicialmente um menu de Sistemas:

Figura 37 - Tela de Escolha do Sistema

63

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

E em seguida solicita a autenticao do usurio:

Figura 38 - Tela de autenticao do sistema

64

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE CADASTRO DE UNIDADE ORGANIZACIONAL, COM VNCULO DE UNIDADE SUPERIOR A tela de cadastro de unidade organizacional tem por objetivo permitir a incluso, alterao, consulta e excluso de unidades organizacionais, apresentando os seguintes campos: Cdigo da unidade. Nome da unidade. Matrcula 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 so mostrados os nomes das unidades organizacionais.

Figura 39 - rvore de Unidades Organizacionais.

Foi utilizado uma tela auxiliar, em formato registro, para a incluso e a alterao dos dados. permitido o vnculo da unidade organizacional com a unidade superior.

65

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Figura 40 - Tela que detalha a Unidade.

66

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE CADASTRO DE GRAU DE PARENTESCO A tela de cadastro de grau de parentesco permite a incluso, alterao, consulta e excluso de graus de parentesco, apresentando os seguintes campos: Cdigo do grau de parentesco. Descrio 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 incluso e a alterao dos dados.

67

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE CADASTRO DE FUNCIONRIO A tela de cadastro de funcionrios de permite a incluso, alterao, consulta e excluso de funcionrios, apresentando os seguintes campos: Matrcula do funcionrio. Nome do funcionrio. Data de nascimento do funcionrio.

O leiaute da tela em formato de grid (tabela), listando a matricula, o nome e a data de nascimento do funcionrio.

Figura 42 - Tela de Funcionrios.

utilizada uma segunda tela, em formato registro, para a incluso e a alterao dos dados.

68

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Figura 43 - Tela de Cadastramento de Funcionrios.

O nome do funcionrio obrigatrio, sendo tratado a entrada de apstrofo e de SQL Injection. O sexo do funcionrio cadastrado como Option Button. A data de nascimento mostrada e editada no formato DD/MM/YYYY. A data de admisso mostrada e editada no formato DD/MM/YYYY. O valor do salrio do funcionrio mostrado e editado no formato $.$$$.$$$.$$$,$$. A unidade de lotao do funcionrio mostrada e editada em um Combo Box carregado a partir da tabela unidade organizacional. A situao do funcionrio mostrada e editada em um Combo Box. A foto do funcionrio mostrada em uma rea da tela, se esta estiver carregada. A data de exonerao somente mostrada e disponvel para edio se a situao do funcionrio for diferente de 1.

69

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

A imagem do funcionrio funciona como boto para chamar a tela de importao de foto do funcionrio. Existe um boto para chamar a tela de importao de currculo do funcionrio. Existe um boto para chamar a tela de cadastramento de dependentes.

70

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE IMPORTAO DE FOTO DE FUNCIONRIO A tela de importao de foto de funcionrio tem por objetivo permitir a incluso de arquivo com foto de funcionrio. O leiaute da tela permite a navegao 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 Funcionrios.

Figura 44 - Tela de importao da Imagem.

71

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE IMPORTAO DE CURRCULO DE FUNCIONRIO A tela de importao de currculo de funcionrio tem por objetivo permitir a incluso de arquivo com foto de funcionrio. O leiaute da tela permite a navegao local no sistema operacional e a escolha de um arquivo XML. Esse arquivo carregado para o banco de dados e validado com o atributo currculo que Typed XML. emitida uma mensagem de sucesso ou de erro na incluso do arquivo.

Figura 45 - Tela de importao de currculo.

72

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE CADASTRO DE DEPENDENTE DE FUNCIONRIO A tela de cadastro de dependentes tem por objetivo permitir a incluso, alterao, consulta e excluso de dependentes de um funcionrio. O leiaute da tela em formato de grid (tabela), listando o seqencial, o nome do dependente, o sexo, a data de nascimento e a descrio do grau de parentesco.

Figura 46 - Lista de Dependentes.

utilizada uma tela auxiliar, em formato registro, para a incluso e a alterao dos dados. O nome do dependente obrigatrio, sendo tratada a entrada de apstrofo e de SQL Injection. O sexo do dependente mostrado e editado em Combo-box.

73

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

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 cadastramento de dependente, chamada a partir da tela de dependentes de um funcionrio.

74

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE CADASTRO DE CARGOS A tela de cadastro de cargos tem por objetivo permitir a incluso, alterao, consulta e excluso de cargos. O leiaute da tela em formato de grid (tabela), listando todos os cargos.

Figura 48 - Tabela de Cargos.

75

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

utilizada uma tela auxiliar, em formato registro, para a incluso e a alterao dos dados.

Figura 49 - Tela auxiliar de cadastro de cargo.

76

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE NOMEAO DE FUNCIONRIO EM CARGOS A tela de nomeao de funcionrio tem por objetivo permitir a nomeao de um funcionrio 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 nomeao. Caso o cargo esteja vago, mostrar que o registro est vago. Somente podem ser nomeados funcionrios ativos. A data da nomeao mostrada e editada no formato DD/MM/YYYY. Um funcionrio no pode ocupar dois cargos simultaneamente.

Figura 50 - Tela de Nomeao de Funcionrio.

77

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

TELA DE EXONERAO DE FUNCIONRIO EM CARGOS A tela de exonerao de funcionrios em cargos tem por objetivo permitir a exonerao de um funcionrio de um cargo. CMARA 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 nomeao. Caso o cargo esteja vago, mostrar que o registro est vago.

Figura 51 - Tela de Exonerao de Funcionrio

Ao ser exonerado, o registro na tabela de cargos limpo e a matrcula do funcionrio, a data de nomeao, a data de exonerao so gravados na tabela de histrico do cargo. A Data da Exonerao mostrada e editada no formato DD/MM/YYYY.
.

78

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

RELATRIO HIERRQUICO DE UNIDADES ORGANIZACIONAIS Emitir relatrio que liste hierarquicamente as unidades organizacionais com os seguintes dados: Cdigo da unidade organizacional. Nome da unidade organizacional. Matrcula do chefe da unidade organizacional. Nome do funcionrio chefe da unidade organizacional.

Figura 52 - Viso parcial do relatrio.

79

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

RELATRIO DE FUNCIONRIOS POR LOTAO Este relatrio exibe uma tela com um rvore preenchida

hierarquicamente com as unidades organizacionais. Nessa tela escolhida uma unidade operacional. emitido um relatrio que emite hierarquicamente para a unidade escolhida e suas subunidades, com os seguintes dados: Cdigo da unidade organizacional. Nome da unidade organizacional. Matrcula dos funcionrios lotados na unidade organizacional. Nome dos funcionrios lotados na unidade organizacional.

Figura 53 - Relatrio por Lotao.

80

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

RELATRIO DE FUNCIONRIOS OCUPANTES DE CARGO Este relatrio exibe uma tela com um combo-box preenchido com os cargos. A partir da escolha de um cargo, emitido um relatrio com os seguintes dados: Cdigo do cargo. Nome do cargo. Matrcula do atual ocupante. Nome do atual ocupante. Lotao do atual ocupante. Data da nomeao do atual ocupante. Data de nomeao dos ocupantes anteriores. Data de exonerao dos ocupantes anteriores. Matrcula do funcionrio ocupante no perodo. Nome do funcionrio ocupante no perodo.

81

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Figura 54 - Viso parcial do relatrio,

82

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

RELATRIO DE HISTRICO DE CARGOS Este relatrio exibe uma tela com um campo texto para solicitar a matrcula de um funcionrio. A partir da escolha e validao da matrcula informada, emitido um relatrio com os seguintes dados: Matrcula do funcionrio. Nome do funcionrio. Cdigo do cargo. Nome do cargo. Data de nomeao do cargo. Data de exonerao do cargo.

Figura 55 - Visualizao parcial do relatrio.

83

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

WEB SERVICE FUNCIONRIO Este Web Service recebe como parmetro uma matrcula e retorna: Matrcula do funcionrio. Nome do funcionrio. Sexo do funcionrio. Data de nascimento do funcionrio. Data de exonerao do funcionrio. Valor do salrio do funcionrio. Nome da unidade de lotao do funcionrio. Situao do funcionrio. Foto do funcionrio.

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

84

Cmara dos Deputados


Centro de Informtica Coordenao de Relacionamento com o Cliente Processo n. 126.836/2007 Em 17/11/2008

Consideraes Finais
Aps a bateria de testes realizada em conjunto com o tcnico da empresa, a comisso tcnica concluiu que a ferramenta RAD Maker possui todas as caractersticas obrigatrias exigidas pelo edital e todas as caractersticas pontuveis oferecidas. A aplicao de teste foi desenvolvida em 05:15 h, tempo menor que o indicado pela proposta tcnica. A produtividade obtida pela ferramenta foi de 23,80 Pontos de Funo por Hora, portanto maior que os 18 Pontos de Funo por Hora ofertados na proposta tcnica. A comisso recomenda o aceite da soluo.

Braslia, 17 de novembro de 2008.

Alfredo Luiz Campos Junior Analista Legislativo Ponto: 6636

Dryade de Carvalho Fontenele Analista Legislativo Ponto: 6657

Evandro Tadeu Moreira Analista Legislativo Ponto 6639

Marcos Abdo Raposo Analista Legislativo Ponto: 6647

Ricardo da Silva Lima Analista Legislativo Ponto: 6403

85

Das könnte Ihnen auch gefallen