Você está na página 1de 52

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS

TI Tecnologia da informao Fbrica de software

Pgina 1 de 52 Verso do documento 1.0

Padro de desenvolvimento

Padro de desenv olvimen to de aplica es we b

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 2 de 52 Verso do documento 1.0

Padro de desenvolvimento Sumrio


1. 2. 3.

INTRODUO......................................................................................................................................... 5 PADRO UTILIZADO............................................................................................................................ 6 ESTRUTURA GERAL DOS DIRETRIOS ......................................................................................... 7 3.1. 3.2. 3.3. 3.4. 3.5. 3.6.
HTDOCS .............................................................................................................................................. 7 SISTEMAS ........................................................................................................................................... 7 ADMIN ................................................................................................................................................ 7 SISTEMA 01 ........................................................................................................................................ 7 SISTEMA 02 ........................................................................................................................................ 8 SOURCE .............................................................................................................................................. 8

4.

ESTRUTURA DE DIRETRIO DOS SISTEMAS ............................................................................... 8 4.1. 4.2. 4.3. 4.3.1. 4.3.1.1. 4.3.1.1.1. 4.3.1.1.2. 4.3.1.2. 4.3.1.2.1. 4.3.1.3. 4.3.1.3.1. 4.4. 4.5. 4.5.1. 4.5.2. 4.6. 4.6.1. 4.7. 4.7.1.
SISTEMAS ........................................................................................................................................... 8 JURDICO ............................................................................................................................................ 9 MODEL (MODELO) .............................................................................................................................. 9

ESTRUTURA DO DIRETRIO MODEL .................................................................................................... 9


CLASS ............................................................................................................................................ 9

EXEMPLO DA CLASSE ADVOGADO .............................................................................................. 10 EXEMPLO DE MANIPULAO DA CLASSE ADVOGADO .................................................................. 11


INTERFACE .................................................................................................................................. 11

EXEMPLO INTERFACE .................................................................................................................. 12


ORACLE ....................................................................................................................................... 12

EXEMPLO IMPLEMENTAO MTODO INSERT - ADVOGADO ........................................................ 13

VIEW (VISO) ................................................................................................................................... 13 CONTOLLER (CONTROLADOR) .......................................................................................................... 14

EXEMPLO CONTROLADOR DELETEADVOGADOACTION.PHP ............................................................. 14 EXEMPLO CONTROLADOR SEARCHADVOGADOACTION.PHP ............................................................. 14


INCLUDES (INCLUSES) .................................................................................................................... 15

EXEMPLO ARQUIVO CONF.PHP DO SISTEMA ...................................................................................... 15


DOC (DOCUMENTAO).................................................................................................................... 16

EXEMPLO COMENTRIO ................................................................................................................... 16

5.

CONEXO COM O BANCO DE DADOS .......................................................................................... 16 5.1. 5.2. EXEMPLO DE CONEXO COM O BANDO DE DADOS ............................................................................ 17 ALTERANDO A CONEXO ................................................................................................................. 17

6.

PADRES DE TELA ............................................................................................................................. 18 6.1. ESTRUTURA DO DIRETRIO .............................................................................................................. 18

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 3 de 52 Verso do documento 1.0

Padro de desenvolvimento
6.2. 6.2.1. 6.2.1.1. 6.2.2. 6.2.3. 6.2.3.1. 6.2.3.2. 6.2.3.3. 6.2.3.4. 6.2.3.5. 6.2.3.6. 6.2.3.7. 6.2.3.7.1. 6.2.3.8. 6.2.3.8.1. 6.2.3.9. 6.2.3.10. 6.2.3.11. 6.2.4. 6.2.4.1. 6.2.4.2. 6.2.4.3. 6.2.4.4. 6.2.4.5. 6.2.4.6. 6.2.5. 6.2.5.1. 6.2.5.2. 6.2.5.3. 6.2.5.4. 6.2.6. 7.

LAYOUT ........................................................................................................................................... 18 CABEALHO ..................................................................................................................................... 18 EXEMPLO ARQUIVO CONF_<MODULO>.PHP DO MDULO ............................................................ 19 MENU LATERAL ............................................................................................................................... 20 CORPO (FORM, LISTA) ...................................................................................................................... 20 01 (TABELAS E BORDA) ............................................................................................................... 21 02 (TTULO E COR DE FUNDO)...................................................................................................... 21 03 (CAMPO DE PESQUISA)............................................................................................................ 22 04 (COMBOBOX) ......................................................................................................................... 22 05 (CAMPOS DE PREENCHIMENTO OBRIGATRIO)........................................................................ 22 06 (ACESSO AS POPUP) ................................................................................................................ 22 07 (VALORES MONETRIOS)........................................................................................................ 23 LER E GRAVAR VALORE MONETRIOS ......................................................................................... 23 08 (DATAS) ................................................................................................................................. 23 VALIDAR DATAS ......................................................................................................................... 23 09 (NMEROS) ............................................................................................................................ 24 10 (N MAX DE CARACTERES E CARACTERES INVLIDO)............................................................. 24 11 (LINHA DIVISRIA E BOTES) ................................................................................................. 24 LISTAS ............................................................................................................................................. 25 01 (TABELAS E BORDAS) ............................................................................................................. 26 02 (TTULOS)............................................................................................................................... 26 03 (LINK - EDITAR) ...................................................................................................................... 26 04 (LINK - EXCLUIR).................................................................................................................... 27 05 (INTERCALAO DE CORES).................................................................................................... 27 06 (PAGINAO) ......................................................................................................................... 27 POPUP .............................................................................................................................................. 29 01 (CABEALHO)......................................................................................................................... 29 02 (CRITRIO DE PESQUISA) ........................................................................................................ 29 03 (LISTA DE RESULTADOS)......................................................................................................... 30 04 (PAGINAO) ......................................................................................................................... 30 RODAP ........................................................................................................................................... 30

ARQUIVOS/SCRIPTS ........................................................................................................................... 30 7.1. 7.2. 7.3. 7.4. 7.5. 7.6. UTILS.PHP ........................................................................................................................................ 30 STRING.PHP ...................................................................................................................................... 30
CONF.PHP DO SISTEMA ...................................................................................................................... 31 CONF_<MODULO>.PHP DO MDULO ................................................................................................. 32

<MODULO>.PHP (CLASSE)................................................................................................................ 33 <MODULO>INTERFACE.PHP .............................................................................................................. 35

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 4 de 52 Verso do documento 1.0

Padro de desenvolvimento
7.7. 7.8. 8.

<MODULO>DAO.PHP ....................................................................................................................... 36
FOM_CAD_<MODULO>.PHP .............................................................................................................. 39

CONTROLE DAS AES .................................................................................................................... 40 8.1. 8.1.1. 8.1.2. 8.1.3. 8.1.4. 8.1.5. 8.1.6. 8.1.7. EXEMPLO DE AES DO MDULO RESERVA ...................................................................................... 40
CONF_RESERVA.PHP ......................................................................................................................... 40 DELETERESERVAACTION.PHP .......................................................................................................... 40

SCRIPT DELETERESERVAACTION.PHP: ............................................................................................................ 41 INDEX.PHP ........................................................................................................................................ 41 LISTRESERVA.PHP ............................................................................................................................ 41 PESQRESERVA.PHP ........................................................................................................................... 42 SAVERESERVA.PHP ........................................................................................................................... 42 SEARCHRESERVA.PHP ...................................................................................................................... 44

9.

CADASTRANDO O SISTEMA E SEUS PRIVILGIOS .................................................................. 44 9.1. 9.2. 9.3. 9.4. 9.5. 9.6. CADASTRO DE REAS ...................................................................................................................... 45 CADASTRO DE SISTEMAS ................................................................................................................. 45 CADASTRO DE MDULOS.................................................................................................................. 46 CADASTRO DE PROGRAMAS ............................................................................................................. 47 CADASTRO DE USURIOS ................................................................................................................. 48 CADASTRO DE PRIVILGIOS .............................................................................................................. 49

10.

CRIANDO AMBIENTE DE BANCO DE DADOS ............................................................................. 50 CRIAO DE TABLESPACE ................................................................................................................ 50 CRIAO DE USURIOS (SCHEMAS) ................................................................................................. 50

10.1. 10.2.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 5 de 52 Verso do documento 1.0

Padro de desenvolvimento

1.

Introduo Este documento tem por objetivo auxiliar no desenvolvimento de aplicaes web

seguindo um padro adotado pela fbrica de software da Prefeitura de ao Jos dos Pinhais.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 6 de 52 Verso do documento 1.0

Padro de desenvolvimento

2. Padro utilizado Para desenvolvimento de aplicaes web (PHP), o departamento de Informtica da Prefeitura de So Jos dos Pinhais, adotou o padro de desenvolvimento conhecido como MVC. A arquitetura padro MVC - Model-View-Controller (Modelo-Visualizao-Controle) um padro que define a separao de maneira independente do Model (Modelo) que so os Objetos de Negcio, da View (Visualizao) que compreende a interface com o usurio ou outro sistema e o Controller (Controle) que controla o fluxo da aplicao.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 7 de 52 Verso do documento 1.0

Padro de desenvolvimento 3. Estrutura geral dos diretrios

htdocs sistemas admin sistema 01 sistema 02 source index.php

3.1. htdocs Diretrio padro do apache para interpretar scripts php.

3.2. sistemas Diretrio onde se encontram todas as aplicaes php.

3.3. admin Sistema j existente onde o mesmo controla as permisses de acesso a cada sistema e seus mdulos.

3.4. sistema 01 Exemplo de um diretrio onde cabe por uma aplicao php, por exemplo, um sistema de controle odontolgico, logo o diretrio poderia se chamar odontologia.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 8 de 52 Verso do documento 1.0

Padro de desenvolvimento 3.5. sistema 02

Exemplo de um diretrio onde cabe outra aplicao php, por exemplo, um sistema de controle de documentos jurdicos, logo o diretrio poderia se chamar juridico.

3.6. source Diretrio onde se encontram arquivos com funes, menu, header, footer, imagens, css, javascript, conexes, etc, comuns (funes que podem ser utilizadas por todos os sistemas) entre os sistemas. Observao: procure sempre usar letras minsculas e sem acentuao.

4. Estrutura de diretrio dos sistemas A figura abaixo representa a estrutura de diretrios de um sistema de controle de documentos jurdicos nomeado como juridico.

sistemas juridico model view controller includes


doc

4.1. sistemas Diretrio onde se encontram todas as aplicaes php.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 9 de 52 Verso do documento 1.0

Padro de desenvolvimento 4.2. jurdico

Diretrio onde se encontram os scripts php correspondente ao sistema de controle de documentaes jurdicas.

4.3. model (modelo) Diretrio onde se encontram os objetos de negcios do sistema, ou seja, as classes, as interfaces e os SQLs.

4.3.1. Estrutura do diretrio model

juridico model class interface oracle

4.3.1.1.

class

Diretrio que contem todas as classes do sistema, exemplo, para o sistema jurdico teremos: - cadastro do advogado (cdigo, nome) - cadastro do documento (cdigo, tipo, local) Logo teremos uma classe nomeada Advogado.php, que representar todos os atributos desta classe (cdigo, tipo_local) e tambm teremos a classe Documento.php, que representar todos os atributos desta classe (cdigo, tipo e local). Para cada mdulo do sistema teremos um arquivo de classe.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 10 de 52 Verso do documento 1.0

Padro de desenvolvimento 4.3.1.1.1. Exemplo da classe Advogado

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 11 de 52 Verso do documento 1.0

Padro de desenvolvimento 4.3.1.1.2.

Exemplo de manipulao da classe advogado

4.3.1.2.

interface

Diretrio que contm todas as assinaturas dos mtodos que devem ser obrigatoriamente implementadas. Neste deve existir os principais mtodos de implementao de todos os mdulos do sistema. Por exemplo: para o mdulo cadastro de advogados iremos precisar de um INSERT, DELETE, UPDATE no mnimo. Para o mdulo de cadastro de documentos tambm iremos precisar de um INSERT, UPDATE, DELETE no mnimo, note que ambos tem mtodos em comum, logo podemos fazer uma nica interface para todo o sistema onde tenha os mtodos em comum que devem ser implementados obrigatoriamente por todos os outros mdulos.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 12 de 52 Verso do documento 1.0

Padro de desenvolvimento 4.3.1.2.1. Exemplo interface

4.3.1.3.

oracle

Diretrio que ir conter todas as implementaes dos mtodos obrigatrios (interface) e prprios de um mdulo especfico. Exemplo: alm da implementao dos mtodos insert, delete e update (interface), o mdulo advogado, ter tambm a implementao do mtodo, por exemplo, listByNome_advogado(); Ou seja, alm dos mtodos obrigatrios, o mdulo tem uma funo especfica que ir listar os advogados por nome. Para cada mdulo teremos um arquivo de implementao dos mtodos. Ex.: advogadoDAO.php (mtodos implementados mdulo advogado). documentoDAO.php (mtodos implementados mdulo documento). Note que a nomenclatura adota o nomeModuloDAO.php

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 13 de 52 Verso do documento 1.0

Padro de desenvolvimento 4.3.1.3.1.

Exemplo implementao mtodo insert - advogado

4.4. view (viso) Diretrio onde se encontram os scripts que compreende a interface com o usurio, ou seja, os forms, popups, listas, etc. Este diretrio deve ser subdivido em diretrios com o nome dos mdulos, exemplo: - view - advogado form_cad_advogado.php lista_advogado.php - documento form_cad_documento.php lista_documento.php

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 14 de 52 Verso do documento 1.0

Padro de desenvolvimento 4.5. contoller (controlador)

Diretrio onde se encontram os scripts que controlam os fluxo da aplicao, ou seja, os scripts que iro executar as aes de insero, deleo, alterao e pesquisa. Este diretrio deve ser subdivido em diretrios com o nome dos mdulos e cadas mdulo deve os arquivos respectivos a cada ao, exemplo: - controller - advogado saveAdvogadoAction.php deleteAdvogadoAction.php listAdvogadoAction.php searchAdvogadoAction.php pesqAvogadoAction.php - documento saveDocumentoAction.php deleteDocumentoAction.php

4.5.1. Exemplo controlador deleteAdvogadoAction.php

4.5.2. Exemplo controlador searchAdvogadoAction.php

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 15 de 52 Verso do documento 1.0

Padro de desenvolvimento 4.6. includes (incluses)

Diretrio onde deve conter um script php nomeado como conf.php que conter todas as configuraes padres de utilizao do sistema do jurdico, tais como: local onde estaro s classes, as interfaces, view, includes, conexo com o banco de dados, etc. Estas configuraes so feitas atravs de constantes (define) onde indicam, como no exemplo abaixo, o caminho, de onde se encontram as views do sistema, exemplo:
define('PATH_VIEW',$_SERVER['DOCUMENT_ROOT']."/sistemas/juridico/view/");

Quando for referenciar uma view no seu sistema, basta acrescentar o define PATH_VIEW na linha do cdigo desejado, exemplo: include_once(PATH_VIEW."advogado/form_cad_advogado.php"); Neste exemplo estamos incluindo o form_cad_advogado.php que atualmente encontra-se no diretrio:
c:/.../apache/htdocs/sistemas/jurdico/view/advogado/form_cad_advogado.php

Caso precise alterar este caminho, no ser necessrio alterar todos os seus scripts e sim apenas o script onde foi definido o define PATH_VIEW.
define('PATH_VIEW',$_SERVER['DOCUMENT_ROOT']."/sistemas/juridico/view/");

4.6.1. Exemplo arquivo conf.php do sistema

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 16 de 52 Verso do documento 1.0

Padro de desenvolvimento 4.7. doc (documentao)

Diretrio onde armazenada a documentao dos scripts php gerado pelo php doc. Note que para todo o cdigo h um comentrio de cada ao e mtodo dos mdulos. Usando esse padro de comentrio, o phpDoc monta automaticamente a documentao do desenvolvedor. 4.7.1. Exemplo comentrio
/** * */ o comentrio vai aqui

5. Conexo com o banco de dados No arquivo de configurao do seu sistema (tpico includes) deve ter o include do arquivo source/includes/controller.inc.php (arquivo utilizado por todos os sistemas) que por sua vez ir incluir o arquivo source/includes/conf.php (tambm utilizado por todos os sistemas). Neste arquivo temos definido pela prefeitura, constantes de conexo com o banco de dados, exemplo:

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 17 de 52 Verso do documento 1.0

Padro de desenvolvimento

No h necessidade de fazer nenhuma alterao nestes arquivos, basta passar estas constantes (define) por parmetro, para a funo que faz a conexo com o banco de dados quando for fazer uma transao. 5.1. Exemplo de conexo com o bando de dados

5.2. Alterando a conexo Para alterar a conexo com o banco de dados deve-se alterar o arquivo que se encontra no diretrio sistemas/source/includes/conf.php. Neste arquivo tenho os valores de usurio, senha, host atribudos para os defines de cada base de dados, exemplo:
# CONEXO COM O SCHEMA JURIDICO define('JU_USUARIO', '<nome_usuario>'); define('JU _SENHA', '<senha>'); define('JU_HOST', 'localhost'); define('JU_SERVER', '<nome_servidor>');

Utilizao:
function insert($dados) {
$objConexao = new ConexaoBancoDados(JU_USUARIO, JU_SENHA, JU_HOST, JU_SERVER); ... }

# CONEXO COM O SCHEMA COMPRAS define('CO_USUARIO', '<nome_usuario>'); define('CO _SENHA', '<senha>'); define('CO_HOST', 'localhost'); define('CO_SERVER', '<nome_servidor>');

Utilizao:
function insert($dados) {
$objConexao = new ConexaoBancoDados(CO_USUARIO, CO_SENHA, CO_HOST, CO_SERVER); ... }
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 18 de 52 Verso do documento 1.0

Padro de desenvolvimento 6. Padres de tela

Como visto anteriormente, todas as telas: form, list, popup, so armazenadas no diretrio view/<modulo>, abaixo teremos o exemplo do formulrio de cadastro de advogados.

6.1. Estrutura do diretrio


- sistemas - juridico - controller - doc - includes - model - view - form_cad_advogado

6.2. Layout 6.2.1. Cabealho

Todos os sistemas devem sempre referenciar a este cabealho antes de exibir qualquer formulrio, para isso necessrio incluir o arquivo header.php no seu form. Uma vez defina a constante PATH_SOURCE_INCLUDES, no arquivo conf.php do seu sistema, basta inserir a seguinte linha de cdigo: require_once(PATH_SOURCE_INCLUDES."header.php"); Com isso voc ter a incluso do cabealho sem precisar saber o cdigo do mesmo. Caso no tenha defino a constante PATH_SOURCE_INCLUDES, leia o tpico includes. Para facilitar a incluso de arquivos comuns dentro de um mdulo, por exemplo, para o mdulo cadastro de advogados precisaremos de no mnimo: - incluir o conf do seu sistema
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 19 de 52 Verso do documento 1.0

Padro de desenvolvimento - incluir o cabealho do sistema - e incluir as interfaces utilizadas no mesmo

Crie um arquivo conf.php por mdulo onde voc ter todos estes includes em um s arquivo. Este arquivo deve estar dentro do mdulo do controller do seu sistema. 6.2.1.1. Exemplo arquivo conf_<modulo>.php do mdulo

O objetivo deste arquivo diminuir o nmero de includes dentro do seu script, neste caso, voc teria um arquivo de configurao para o mdulo advogado com todos os includes necesrios para funcionamento deste mdulo. Por exemplo: Para a ao excluir advogado, teremos um script com tal ao, para este script funcionar corretamente precisamos de todos estes includes. Tendo o conf do mdulo, basta fazer o include apenas deste conf, assim no teremos os includes repetidamente dentro dos nossos scripts.
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 20 de 52 Verso do documento 1.0

Padro de desenvolvimento 6.2.2. Menu lateral

A incluso do menu lateral j est agregada no arquivo do cabealho, ou seja, quando incluir o cabealho, o menu tambm ser incluso.

6.2.3. Corpo (form, lista) Todos os formulrios e lista, utilizam padres de cores, tamanhos, fontes, etc, para isso utilizado um estilo css (sistema/source/css/). Este estilo j est incluso no arquivo de cabealho, basta usar dentro das tags html os estilos desejados. Os formulrios devem seguir o seguinte padro de nomenclatura: form_cad_<nome_modulo>.php Os mesmos devem estar dentro da seguinte estrutura de diretrio: - jurdico - view - advogado - form_cad_advogado.php

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 21 de 52 Verso do documento 1.0

Padro de desenvolvimento
01

02 03 04

06 05

10 07 08 09

11

6.2.3.1.

01 (Tabelas e borda)

Todas as tabelas esto dentro de um form com nome, id e ao:


<form name="intervencao" id="intervencao" method="post" action=saveIntervencaoAction.php

Todas as tabelas que comportam os form utilizam o estilo tb_solida, borda zero, alinhamento centralizado, cellpadding igual a dois e cellspacing
igual a zero: <table width="537" border="0" align="center" cellpadding="2" cellspacing="0" class="tb_solida">

6.2.3.2.

02 (Ttulo e cor de fundo)

Para a cor de fundo dos ttulos basta utilizar a tag <th>, a mesma j esta definida no css com suas cores, tamanhos, fonte, etc. Para a impresso do ttulo na tela, basta utilizar a funo que est definida no script Utils, que veremos mais a frente, chamada $objUtils->titulo(). Exemplo:
$objUtils = new Utils(); <tr><th>&nbsp;<?echo $objUtils->titulo();?></th></tr>
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 22 de 52 Verso do documento 1.0

Padro de desenvolvimento 6.2.3.3. 03 (Campo de pesquisa)

Para os campos que no so apenas para incluso de registros e que tambm so utilizados para pesquisas, utilizar o estilo pesquisa:
<td> <input name="nome" type="text" class="pesquisa" value=""> </td>

Note que na tela acima os trs primeiros campos tm cores diferentes, estes campos representam campos de pesquisa, ou seja, caso qualquer um destes campos podem ser preenchidos para realizar uma pesquisa com estes critrios.

6.2.3.4.

04 (ComboBox)

Para todos os comobox, se no existir excees, deixar sempre o item <selecione> como padro, caso no tenha sido escolhido nenhum outro item ainda e vazio para o value. Para isso: <td> <select name="nome" > <option value="">&lt;Selecione&gt;</option> </select> </td>

6.2.3.5.

05 (Campos de preenchimento obrigatrio)

Todos os campos que so de preenchimento obrigatrio, deve-se indicar logo aps os dois ponto ( : ), o caracter asterisco ( * ).

6.2.3.6.

06 (Acesso as popup)

Quando houver necessidade de fazer uma pesquisa utilizando popups, padronizar os botes com value=..., veja:
<td><input type="button" name="pesq" value="..." onclick=""></td>

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 23 de 52 Verso do documento 1.0

Padro de desenvolvimento 6.2.3.7. 07 (Valores monetrios)

Para os valores monetrios deve-se utilizar mscaras j definidas em funes javascript inclusas no heard.php
<input type="text" name="nome" tipo="decimal" mascara="############,##" value="">

Quando se defini o tipo igual a decimal, a prpria mscara se encarregar de acrescenta a pontuao, basta apenas estipular na mascara a formatao da casa decimal.

6.2.3.7.1.

Ler e gravar valore monetrios

Para a gravao dos valores monetrios deve-se utilizar a funo $objUtils->formataValor(valor) e para a leitura dos mesmos deve-se utilizar a funo $objUtils->mostraValor(valor). Exemplo: Gravar
$objUtils = new Utils(); $valor = $objUtils->formataValor(10.000,00);

Ler
$objUtils = new Utils(); $valor = $objUtils->mostraValor(10000.00);

6.2.3.8.

08 (Datas)

Para campos do tipo data deve-se utilizar mscaras j definidas em funes javascript inclusas no heard.php
<input type="text" name="data" tipo="numerico" mascara="##/##/####" value="">

Quando se defini o tipo igual a numrico, a prpria mscara se encarregar de aceitar apenas nmeros. 6.2.3.8.1. Validar datas

Para validar uma data, basta acrescenta no evento onblur do campo data o seguinte cdigo: onblur="valida_data(this.values, '<campo_data>')"

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 24 de 52 Verso do documento 1.0

Padro de desenvolvimento 6.2.3.9. 09 (Nmeros)

Para campos do tipo numrico (que devem aceitar apenas nmeros) devese utilizar o tipo igual a numrico, no h necessidade de definir mascaras.
<input type="text" name="data" tipo="numerico" value="">

6.2.3.10. 10 (N Max de caracteres e caracteres invlido) Para todos os campos do tipo textarea, deve-se definir o mximo de caracteres aceitos pelo banco de dados, exemplo: campo descrio, tamanho 250. O limite mximo permitido de 250 caracteres, para no ultrapassar esse limite, usa-se a funo maxCaracter, tambm j definida no header.php. Exemplo:
<textarea name="teste" return maxlength="250" cols="35" rows="5"

onkeyup='if(document.all)

maxCaracter(this.value,

event.keyCode,

this); else return maxCaracter(this.value, event.which, this);'> </textarea>

Note: maxlength=250 indica que aceita at 250 caracteres; document.all validao para quando IE (utiliza evento event.keyCode); se outro browser, utiliza evento event.which. Para evitar problemas com incluso de textos longos com palavras do tipo dgua, deve-se utilizar a funo $objString->addaspas(texto) para gravar os dados,
$objString->stripaspas(texto)

para ler os dados e a funo $objString->aspas(texto) para

exibio no formulrio (serve para prevenir quando ocorre um erro na tela e os dados continuam preenchidos), isso ir tratar o texto sem afetar a digitao e sem que o mesmo d problema de incluso ou alterao. Exemplo:
$objString = new String(); $sql=INSERT ... VALUES(.$objString->addaspas($descricao).); echo $objString->stripaspas($descricao);

6.2.3.11. 11 (Linha divisria e botes) Para alinha divisria utilize a tag <hr> e para os botes utilize tabelas sem bordas e sem estilos.
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 25 de 52 Verso do documento 1.0

Padro de desenvolvimento
<tr><td><hr> <table width="50%" border="0" align="center"> <tr>

<td><input type="submit" name="btnGravar" value="Gravar"></td> <td><input type="submit" name="btnLimpar" value="Limpar"></td> <td><input type="submit" name="btnPesq" value="Pesquisar"></td> </tr> </table> </td></tr>

6.2.4. Listas Todos os formulrios e lista, utilizam padres de cores, tamanhos, fontes, etc, para isso utilizado um estilo css (sistema/source/css/). Este estilo j est incluso no arquivo de cabealho, basta usar dentro das tags html os estilos desejados. As listas devem seguir o seguinte padro de nomenclatura: lista_<nome_modulo>.php Os mesmos devem estar dentro da seguinte estrutura de diretrio: - jurdico - view - advogado - lista_advogado.php

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 26 de 52 Verso do documento 1.0

Padro de desenvolvimento

01

02

03

04

05

6.2.4.1.

01 (Tabelas e bordas)

Utiliza-se tabelas com estilo tb_solida para formao das listas, exemplo:
<table border="0" cellspacing="0" cellpadding="0" class="tb_solida">

6.2.4.2.

02 (Ttulos)

Utiliza-se tags <th>, exemplo:


<tr> <th>Nome</th> <th>Idade</th> <th>Editar</th> <th>Excluir</th> </tr>

6.2.4.3.

03 (Link - editar)

Utiliza-se nesta coluna imagens representando a edio um registro.


<td><img src='".PATH_IMAGENS."editar.gif' border=0></td>

Clicando neste link o form ir invocar uma ao onde ir preencher todo o formulrio para alterao dos dados. Exemplo:
<td> <?echo "<a href='searchAdvogadoAction.php?cod_advogado=123'>
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 27 de 52 Verso do documento 1.0

Padro de desenvolvimento
<img src='".PATH_IMAGENS."editar.gif' border=0></a>";?> </td>

6.2.4.4.

04 (Link - excluir)

Utiliza-se nesta coluna imagens representando a deleo um registro.


<td><img src='".PATH_IMAGENS." exclui.gif' border=0></td>

Clicando neste link o form ir invocar uma ao e perguntar se deseja realmente excluir esse registro. Nos casos onde o usurio no tem privilgio (tpico Controle das aes) para excluso o link excluir no dever ser exibido.
if($_SESSION['PRVDEL'] == 'S'){ <a href='#' onclick="if(confirm('<?echo $objMsg->mensagem(90001);?>')) location.replace('deleteAdvogadoAction.php?cod_advogado123);"> <img src='<?echo PATH_IMAGENS?>exclui.gif' border="0"></a>}

6.2.4.5.

05 (Intercalao de cores)

Note que as listas tm uma linha sim e outra no destacada com cores diferentes. Para isso, quando for realizar o for para buscar os dados, defina dentro da primeira tag <tr> a funo $objUtils->AlternarCorList():
foreach ($arrObjIntervencao as $index => $objIntervencao) { ?> <tr <?echo $objUtils->AlternarCorList($index)?>> <td>123</td> <td>ABC</td> </tr>

Quando o foreach estiver num ndice par, o mesmo ter a cor alternada.

6.2.4.6.

06 (Paginao)

Para uma paginao comum (nmero razovel de registros), costuma-se paginar a cada 15 registros encontrados. Primeiramente precisa-se saber a quantidade total de registros existente conforme a pesquisa realizada.
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 28 de 52 Verso do documento 1.0

Padro de desenvolvimento

Digamos que foi realizada uma busca por nome de advogado e essa busca retornou 150 registros. Isso seria o total de registros encontrados dentro do critrio de pesquisa. Logo teremos 10 paginas de 15 em 15 registros. Para formar estas pginas devemos ter: - o nmero total de registros encontrados de acordo com o critrio de pesquisa (150); - o intervalo de paginao (padro 15 em 15); - e os dados da pesquisa realizada para que, quando clicar em uma prxima ou anterior pgina seja realizado a mesma pesquisa, dando assim continuidade a paginao. Exemplo: Funo que retorna a quantidade total:
$qtde = IntervencaoDAO::countAllByAdvogado(...); if ($qtde < 1) $qtde = ''; <tr><td> <?echo $objUtils->paginacao($qtde,15, nome=Maria)?> </td></tr> ?>

Quando houver mais de um critrio de pesquisa, por exemplo nome=Maria e idade=50, deve-se passar os mesmo por parmetro para a funo $objUtils>paginacao(),

exemplo:

<?echo $objUtils->paginacao($qtde,15, nome=Maria&idade=50)?>

Note: estes parmetros so os mesmo que realizam a pesquisa no seu script que lista os registros, ou seja, quando clicamos em pesquisa, invocamos o script que faz a busca destes dados, para este exemplo chamemos este script de listAdvogadoAction, que estar localizado em controller/advogado. neste script que realizamos a pesquisa e no mesmo script que passaremos para uma prxima ou anterior pgina, por este motivo, o nome dos parmetros passados para a funo $objUtils->paginacao devem ser os mesmo nomes utilizados no script listAdvogadoAction.php. Veremos mais a frente cada uma das aes.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 29 de 52 Verso do documento 1.0

Padro de desenvolvimento 6.2.5. Popup

Todos os formulrios e lista, utilizam padres de cores, tamanhos, fontes, etc, para isso utilizado um estilo css (sistema/source/css/). Este estilo j est incluso no arquivo de cabealho, basta usar dentro das tags html os estilos desejados. As popups devem seguir o seguinte padro de nomenclatura: pesq<Nome_modulo>.php Os mesmos devem estar dentro da seguinte estrutura de diretrio: - jurdico - view - advogado - pesAdvogado.php

01 02 03

04

6.2.5.1.

01 (Cabealho)

require_once(PATH_SOURCE_INCLUDES."header_popup.php"); 6.2.5.2. 02 (Critrio de pesquisa)

Crie campos de busca caso haja necessidade de ter critrio de pesquisa. Utilizando sempre o mesmo padro j visto anteriormente.
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 30 de 52 Verso do documento 1.0

Padro de desenvolvimento 6.2.5.3. 03 (Lista de resultados)

Deve-se seguir o mesmo padro utilizado no tpico (layout das listas) 6.2.5.4. 04 (Paginao)

Deve-se seguir o mesmo padro utilizado no tpico (layout das listas) 6.2.6. Rodap include_once(PATH_SOURCE_INCLUDES."footer.php"); Para definio da constante PATH_SOURCE_INCLUDES veja o tpico includes.

7. Arquivos/Scripts 7.1. Utils.php Local: sistemas/source/classes/ Objetivo: classe com implementao de mtodos teis utilizados em vrios sistemas, como mtodo para paginao, ttulo do formulrio nome do usurio logado, tratamento de datas, etc. Utilizao: fazer a instncia da classe e acessar o mtodo desejado: $objUtils = new Utils(); echo $objUtils->titulo();

7.2.

String.php Local: sistemas/source/classes/ Objetivo: classe de tratamento de string (textos) como, Remover acentuao, trocas aspas para tratamento de insero (dgua), etc. Utilizao: fazer a instncia da classe e acessar o mtodo desejado: $objString = new String(); echo $objString->removeAcento(Paranagu);

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 31 de 52 Verso do documento 1.0

Padro de desenvolvimento 7.3. conf.php do sistema Local: sistemas/<nome_sistema>/includes/conf.php

Objetivo:

criar

defines

configuraes

que

facilitem

durante

implementao do sistema, como por exemplo: Definir 'PATH_VIEW' com o local onde se encontram todas os form, listas e popups do sistema: define('PATH_VIEW', ../sistemas/juridico/view/"); Utilizao:
include_once(PATH_VIEW.'agencia/form_cad_agencia.php'); include_once(PATH_VIEW.'agencia/lista_agencia.php');

Observaes: 01) alm dos define comuns, deve-se existir um define padro com o cdigo do sistema que foi cadastrado no banco de dados admin. Este far a validao do privilgio do sistema. Exemplo:
define('SISCOD',115);

//cod do jurdico

02) deve-se utilizar o include do arquivo controller.inc.php onde o mesmo far a conexo com o banco de dados.
require_once(PATH_SOURCE_INCLUDES."controller.inc.php");

03) deve-se definer tambm definesI do schemas do banco de dados, exemplo: select * from BASE.pessoa O define BASE no conf.php estar apontando para o schema do banco de dados onde se encontra a tabela pessoa.
//schema referente ao banco de dados juridico define('BASE',"JURIDICO");
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 32 de 52 Verso do documento 1.0

Padro de desenvolvimento
//schema referente ao banco de dados do rh define('BASE_RH',"SJPRHDB");

7.4.

conf_<modulo>.php do mdulo

Local: sistemas/<nome_sistema>/controller/<nome_modulo>/conf_modulo.php Objetivo: criar defines e configuraes que facilitem durante a implementao do mdulo, como por exemplo:

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 33 de 52 Verso do documento 1.0

Padro de desenvolvimento

Utilizao:
require_once($_SERVER['DOCUMENT_ROOT']. "/sistemas/juridico/controller/advogado/conf_advogado.php");

Observaes: deve-se sempre ter o include do cabealho (header.php)

7.5.

<Modulo>.php (classe)

Local: <nome_sistema>/model/class/ Objetivo: Uma classe no sistema representa todos os atributos de uma classe do diagrama de classes ou de uma entidade da modelagem de dados, exemplo: Cadastrar advogado: Classe: Advogado Atributos: nome, matricula, especializao, etc Logo teremos uma classe com varias de acesso a este atributos da classe Advogado.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 34 de 52 Verso do documento 1.0

Padro de desenvolvimento

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 35 de 52 Verso do documento 1.0

Padro de desenvolvimento 7.6. <modulo>Interface.php

Local: <nome_sistema>/model/interface/ Objetivo: Uma interface no sistema representa todas as assinaturas dos mtodos que so de implementao obrigatria, exemplo: Mdulo Cadastrar advogado: Mtodos de implementao obrigatrios: insert, delete. Logo a interface advogadoInterface.php ter as assinaturas dos mtodos insert e delete.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 36 de 52 Verso do documento 1.0

Padro de desenvolvimento

O sistema pode conter uma interface por mdulo ou uma nica interface onde os mtodos so comuns entre os mdulos e de implementao obrigatria para todos. Os demais mtodos (no obrigatrios) podem ser implementados sem estarem definidos na interface do sistema. 7.7. <modulo>DAO.php

Local: <nome_sistema>/model/oracle/ Objetivo: Implementao dos mtodos definidos na interface (mtodo obrigatrios) do sistema e demais mtodos no obrigatrios, como pesquisa, listas, etc. Declarao do DAO utilizando interface:

Obs: implements baseInterface indica que os mtodos contidos na interface baseInterface so de implementaes obrigatrias, ou seja, devem existir estes mtodos implementados neste DAO.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 37 de 52 Verso do documento 1.0

Padro de desenvolvimento Implementao do mtodo delete:

Obs: 01) Fazer documentao (php.doc) [linha 68 a 73] 02) Conexo com o banco de dados. Os parmetros esto definidos no conf principal do modulo sistemas [linha 75] 03) Instncia das classes Msg e Utils, use sempre a palvra obj para diferenciar as variveis quando trata-se de classes [linha 76 a 77] 04) SQL define BASE schema do banco de dados definido no conf do sistema [linha 78] 05) Mensagem de erro [linha 84]. Abre popup com o erro da transao. A mensagem exibida na popup com base no cdigo gerado pelo oracle ($res[code]), ou ento um cdigo cadastrado na tabela unico.msg [linha 87] cdigo 0 (zero), no banco de dados representa que o registro foi incluso com sucesso.
CD_MSG 0 1 51 100 107 115 947 DS_MSG Operao realizada com sucesso! Operao no realizada! Verifique se j no existe esse registro. Operao no realizada! Tempo Esgotado. Operao no realizada! Registro no encontrado. Operao no realizada! Falhou ao conectar com o banco de dados. Operao no realizada! Conexo recusada. H muitas conexes no momento. Operao no realizada! Quantidade insuficiente de dados.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 38 de 52 Verso do documento 1.0

Padro de desenvolvimento
1400 1403 1422 1722 1840 1843 2291 2292 99999 90002 90005 9005 1404 2294 90006 90000 90001 90003 90004 2293 1405

Operao no realizada! Verifique se algum campo obrigatrio est vazio. Operao no realizada! Registro no encontrado. Operao no realizada! Muitos registros. Operao no realizada! Nmero invlido. Operao no realizada! Data invlida. Operao no realizada! Data invlida. Operao no realizada! No existe registro correspondente em outro cadastro. Operao no realizada! Existem pendncias para esse registro. Erro! Operao no realizada! Voc no tem privilgio! Dados insuficientes para pesquisa! Esta operao ir fechar a previso do oramento da despesa, deseja continuar? Operao no realizada! Bimestre ou exerccio no encerrado! Operao no realizada! O fechamento para esta virada j foi concludo. Nota no emitida! Registro no encontrado. Confirma a excluso do registro? O Processo no pode ser modificado! Confirma desativar este registro? Operao no realizada! H uma virada diria cadastrada para esta data. Operao no realizada! O bimestre deve estar aberto!

Implementao mtodo list:

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 39 de 52 Verso do documento 1.0

Padro de desenvolvimento Obs: Paginao [linha 113]

7.8.

fom_cad_<modulo>.php

Local: <nome_sistema>/view/<modulo>/

Funes: 01) privilegio de acesso ao formulrio [linha 3] 02) titulo do formulrio [linha 8] Ao: o action do form sempre apontar para uma ao do modulo controller, normamente apontar para um save. (ver tpico controle das aes).

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 40 de 52 Verso do documento 1.0

Padro de desenvolvimento

Botes: sempre apontar para uma ao do mdulo controller, exmplo, boto pesquisa, ao list, boto excluir ao delete. (ver tpico controle das aes). 8. Controle das aes

8.1. Exemplo de aes do mdulo reserva 8.1.1. conf_reserva.php Ver tpico referente 8.1.2. deleteReservaAction.php Ao responsvel pela deleo de um registro. Numa lista de registros, o link excluir deve apontar para esta ao

if($_SESSION['PRVDEL'] == 'S') ... onclick="if(confirm('<?echo $objMsg->mensagem(90001);?>'))


Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 41 de 52 Verso do documento 1.0

Padro de desenvolvimento
location.replace('deleteComissaoAction.php?seq_comissao=2

Note que h uma sesso definica como PRVDEL, nesta sesso est armazenada S ou N, ou seja se o usurio logado tem ou no privilgio para deletar o registro. Esta sesso est definida em cada link, ou seja, o mesmo definido dentro do loop que monta a listagem. script deleteReservaAction.php:

8.1.3. index.php Ao responsvel por iniciar o formulrio com suas configuraes padres.

8.1.4. listReserva.php Ao responsvel pela listagem dos registros de acordo com o critrio de pesquisa. Num formulrio o boto pesquisa deve apontar para esta ao.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 42 de 52 Verso do documento 1.0

Padro de desenvolvimento

Note que h uma sesso definica como PRVCON, nesta sesso est armazenada S ou N, ou seja se o usurio logado tem ou no privilgio para consultar registros.

8.1.5. pesqReserva.php Ao responsvel pela exibio e tratamento de popups. Num formulrio o boto reticncias [...] (boto padro de exibio de popups) deve apontar para esta ao.

8.1.6. saveReserva.php Ao responsvel pela insero e atualizao dos dados. Num formulrio o boto gravar deve apontar para esta ao. Nesta ao deve-se tratar:
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 43 de 52 Verso do documento 1.0

Padro de desenvolvimento - os campos obrigatrios:


$varcampos = array('reserva', 'data_reserva', 'Data'); $campos = $objUtils->obr($varcampos);

- os privilgios de alterao PRVINC e insero PRVALT. - os eventos de quando for alterao ou incluso de um novo registro - o preenchimento dos atributos da classe, caso de erro antes de gravar para deixar o formulrio preenchido, assim o usurio no ter o trabalho de re-preencher o formulrio:

Note que h uma sesso definica como PRVINC, nesta sesso est armazenada S ou N, ou seja se o usurio logado tem ou no privilgio para incluir um registro e PRVALT, para privilgio de alterao de um registro.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 44 de 52 Verso do documento 1.0

Padro de desenvolvimento 8.1.7. searchReserva.php

Ao responsvel pela busca de um registro, normalmente utilizado no link editar para alterao daquele registro. Numa lista de registros o link editar deve apontar para esta ao.

<a href='searchReservaAction.php?seq_reserva=3'>

Note que no h uma sesso definica como PRVALT, o mesmo encontra-se na ao save, pois est sesso ir apensa localizar o registro que ser alterado e armazenar este valores no objeto responsvel pela classe, no caso $objReserva. Quando for recuperar no formulrio este valores, basta por na TAG values o objeto ($objReserva) e o mtodo da classe que acesso o atributo desejada, exemplo data da reserva, ficaria ento:
Value = $objReserva->getData_reserva();

9. Cadastrando o sistema e seus privilgios Todos os sistemas e seus mdulos devem estar cadastrados no banco de dados para os mesmos fazerem parte do conjunto de sistemas disponveis no portal de sistema.
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 45 de 52 Verso do documento 1.0

Padro de desenvolvimento

Cada sistema ter uma rea especfica, cada sistema ter seus mdulos, cada mdulo ter seus programas e cada programa ter seus privilgios vinculados a um usurio. 9.1. Cadastro de reas Se um novo sistema no pertencer a nenhuma aba (rea) j cadastrada, ento devemos cadastrar uma nova rea. Exemplo de reas: administrao, arrecadao, compras...

Para cadastrar uma rea basta acessar na aba Administrar a opo reas, digitar a descrio da rea e pronto. O usurio poder atualizar a descrio da rea ou ento excluir uma rea desde que no haja sistema cadastrado para aquela rea.

9.2. Cadastro de Sistemas Para cadastrar um novo sistema, devemos acessar na aba Administrar a opo Sistemas. Na tela devemos selecionar a rea na qual pertencer o sistema, caso a rea no esteja cadastrada, basta cadastr-la na tela de Cadastro de reas. Aps isso, digitar a descrio do sistema que ir aparecer abaixo do cone na tela inicial, exemplo: Requisio de compras, Licitao, Contabilidade... O prximo campo o local onde esto
Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 46 de 52 Verso do documento 1.0

Padro de desenvolvimento

os arquivos desse novo sistema (pasta dentro do diretrio sistemas), exemplo: ../contabilidade/ O prximo campo refere-se tela inicial que ir abrir quando a pessoa acessar o cone do sistema, exemplo: ../contabilidade/controller/virada_diaria/, isso significa que quando o usurio clicar no cone do sistema de Contabilidade, ir abrir a tela da Virada diria. O campo imagem no obrigatrio e a imagem cadastrada nesse campo que ir aparecer no cone do sistema, caso no seja cadastrada nenhuma imagem, ser exibida uma imagem padro. O usurio poder atualizar o cadastro de sistemas ou excluir um sistema desde que no haja mdulos cadastrados para aquele sistema.

9.3. Cadastro de mdulos Os mdulos servem para agrupar programas no menu, por exemplo: mdulo de cadastros, relatrios, consultas. Para cadastrar um mdulo basta selecionar o sistema e depois digitar a descrio do mdulo que ir aparecer no menu, utilize nomes curtos. O usurio poder atualizar a descrio de um mdulo ou ento excluir se no houver programas cadastrados para aquele mdulo.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 47 de 52 Verso do documento 1.0

Padro de desenvolvimento

9.4. Cadastro de programas Nessa tela o usurio poder alm de cadastrar programas, cadastrar nvel. O nvel utilizado para definir o menu, exemplo: Cadastros rgo Federal Estadual Municipal Curitiba So Jos dos Pinhais Nesse exemplo acima, o mdulo Cadastros, o nvel rgo e os programas so Federal e Estadual. J o Municipal tambm nvel, pois ele no um programa e serve apenas para agrupar outros dois programas: Curitiba e So Jos dos Pinhais. * Antes de qualquer coisa o usurio precisa cadastrar um nvel. Exemplo: Sistema: Contabilidade Mdulo: Cadastro Nome do Programa: Ttulo: Municipal Nvel: Seqncia:

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 48 de 52 Verso do documento 1.0

Padro de desenvolvimento

O campo nome do programa dever ficar em branco para identificar que esse ser um nvel, e o campo seqncia refere-se ordem em que o nvel aparecer no menu. Se todos os programas do sistema utilizaro apenas um nvel, basta cadastra-lo apenas uma vez. Para cadastrar um programa, basta fazer o mesmo, mas no nome do programa digitar, por exemplo: controller/rgo/ e depois selecionar o nvel em que o programa ficar no menu.

Programa Programa Nvel

9.5. Cadastro de usurios Basta digitar a matrcula e os dados do usurio sero exibidos, caso os dados no sejam exibidos porque a matrcula digitada no existe no RH. O usurio no precisa obrigatoriamente ser cadastrado na secretaria, departamento e diviso que est no RH.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 49 de 52 Verso do documento 1.0

Padro de desenvolvimento

9.6. Cadastro de privilgios Para cadastrar privilgios, dever buscar o usurio previamente cadastrado, selecionar o sistema que ter acesso, mdulos e programas. Caso o usurio possua acesso para todos os programas de um determinado mdulo, basta selecionar o mdulo, sem escolher um programa. No esquecer de selecionar o tipo de acesso: incluir, alterar, excluir, consultar, especial. O especial utilizado apenas para os administradores do sistema. Um exemplo de utilizao do especial quando o administrador precisa ver todos os cadastros de todos os usurios e no apenas da secretaria da sesso, ento no programa dever ser previsto que quem tem acesso especial poder ver todos os registros.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 50 de 52 Verso do documento 1.0

Padro de desenvolvimento 10. Criando ambiente de banco de dados

Para montar um ambiente representando a mesma estrutura da prefeitura, so necessrios alguns pr-requisitos, como a criao de tablespaces e usurios, para que possam utilizar as mesmas informaes de acesso e padres adotados pela prefeitura. Aps a criao deste ambiente, ser fornecido um arquivo contendo a criao das estruturas das tabelas e importao dos dados, por isso, necessrio a criao de tablespaces e usurios.

10.1. Criao de tablespace Ao criar a tablespace o nome atribudo no necessita ser do padro da prefeitura, somente os usurios (schemas). CREATE TABLESPACE "<nome_tablespace>" LOGGING DATAFILE '/d01/tablespace/nome_tablespace.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 2048K MAXSIZE 32767M EXTENT MANAGEMENT LOCAL AUTO

SEGMENT SPACE MANAGEMENT

Obs.: A criao de tablespaces no windows deve-se utilizar aspas duplas, e no linux aspas simples.

10.2. Criao de usurios (Schemas) Os usurios utilizados pela prefeitura so:


CREATE USER "ADMIN" PROFILE "DEFAULT"

IDENTIFIED BY "********" DEFAULT TABLESPACE "<nome_tablespace>" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 51 de 52 Verso do documento 1.0

Padro de desenvolvimento
CREATE USER "UNICO" PROFILE "DEFAULT"

IDENTIFIED BY "********" DEFAULT TABLESPACE "<nome_tablespace>" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK

CREATE USER "SJPRHDB"

PROFILE "DEFAULT"

IDENTIFIED BY "********" DEFAULT TABLESPACE "<nome_tablespace>" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK

Devero ter privilgios de unlimited tablespace, connect e resource. Normalmente a criao de um usurio (schema) segue o padro de um nome ou sigla que identifique o sistema a ser desenvolvido. Na criao dos schemas acima, devem ser mantidas apenas as tabelas j existentes, no devendo criar mais objetos, pois so estruturas j definas e mantidas pela prefeitura. As tabelas abaixo indicam as funcionalidades de cada tabela dentro dos schemas pr-definidos. Usurio ADMIN (schema): Responsvel pelo controle de acesso e privilgios dos sistemas existentes na prefeitura.
Tabelas USURIO AREA SISTEMA MODULO PROGRAMA PRIVILEGIO Descrio Define os usurios para acesso ao sistema Define uma rea para criao dos sistemas futuros. Define os sistemas existentes organizados por rea Define os mdulos existentes por sistema Define os programas existentes para cada mdulo e sistema Define as permisses de acesso por rea,sistema, modulo e programa

Usurio UNICO (schema): Responsvel pelas informaes em comum utilizadas por todos os sistemas.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc

PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS


TI Tecnologia da informao Fbrica de software

Pgina 52 de 52 Verso do documento 1.0

Padro de desenvolvimento

Tabelas ENTIDADE TIPO_ENTIDADE USUARIO_ENTIDADE MSG

Descrio Define as entidades existentes como prefeitura, prev e idu. Define o tipo de administrao (direta ou indireta) Define os usurios que podero ter acesso as entidades. Define as mensagens padro para utilizao nos sistemas.

Usurio SJPRHDB (schema): Responsvel pelas informaes dos funcionrios. Utilizada apenas para identificar lotao do funcionrio e cargo.
Tabelas FUNCI SECRE DEPAR DIVIS CARGO LOTAC Descrio Define as informaes do funcionrio Define as secretarias existentes na prefeitura Define as secretarias e departamentos da prefeitura Define as secretarias, departamentos e divises da prefeitura Define os tipos de cargos existentes Define a lotao do funcionrio e cargos

As tabelas que iro compor o sistema a ser desenvolvido devero ser criadas em um novo schema, podendo este j existir dentro da estrutura da prefeitura, devendo assim, ser verificado antes junto ao departamento de informtica.

Q:\Documentos\PadraoDes env olvimento\PadraoDesenv olvimento.doc