PadraoDesenvolvimento
-
Upload
jonas-ferreira -
Category
Documents
-
view
214 -
download
0
Transcript of PadraoDesenvolvimento
-
8/6/2019 PadraoDesenvolvimento
1/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina1 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
PPaaddrroo ddee ddeesseennvvoollvviimmeennttooddee aapplliiccaaeess wweebb
-
8/6/2019 PadraoDesenvolvimento
2/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina2 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
Sumrio
1. INTRODUO.........................................................................................................................................5
2. PADRO UTILIZADO............................................................................................................................6
3. ESTRUTURA GERAL DOS DIRETRIOS.........................................................................................7
3.1. HTDOCS ..............................................................................................................................................7
3.2. SISTEMAS ........................................................................................................................................... 7
3.3. ADMIN ................................................................................................................................................7
3.4. SISTEMA 01 ........................................................................................................................................7
3.5. SISTEMA 02 ........................................................................................................................................8
3.6. SOURCE ..............................................................................................................................................8
4. ESTRUTURA DE DIRETRIO DOS SISTEMAS...............................................................................8
4.1. SISTEMAS ........................................................................................................................................... 8
4.2. JURDICO ............................................................................................................................................9
4.3. MODEL (MODELO) ..............................................................................................................................9
4.3.1. ESTRUTURA DO DIRETRIO MODEL ....................................................................................................9
4.3.1.1. CLASS ............................................................................................................................................9
4.3.1.1.1. EXEMPLO DA CLASSE ADVOGADO .............................................................................................. 10
4.3.1.1.2. EXEMPLO DE MANIPULAO DA CLASSE ADVOGADO..................................................................11
4.3.1.2. INTERFACE .................................................................................................................................. 11
4.3.1.2.1. EXEMPLO INTERFACE .................................................................................................................. 124.3.1.3. ORACLE ....................................................................................................................................... 12
4.3.1.3.1. EXEMPLO IMPLEMENTAO MTODO INSERT - ADVOGADO ........................................................13
4.4. VIEW (VISO) ................................................................................................................................... 13
4.5. CONTOLLER (CONTROLADOR) .......................................................................................................... 14
4.5.1. EXEMPLO CONTROLADOR DELETEADVOGADOACTION.PHP ............................................................. 14
4.5.2. EXEMPLO CONTROLADOR SEARCHADVOGADOACTION.PHP ............................................................. 14
4.6. INCLUDES (INCLUSES) .................................................................................................................... 15
4.6.1. EXEMPLO ARQUIVO CONF.PHP DO SISTEMA ...................................................................................... 15
4.7.DOC
(DOCUMENTAO
).................................................................................................................... 164.7.1. EXEMPLO COMENTRIO ................................................................................................................... 16
5. CONEXO COM O BANCO DE DADOS .......................................................................................... 16
5.1. EXEMPLO DE CONEXO COM O BANDO DE DADOS ............................................................................ 17
5.2. ALTERANDO A CONEXO ................................................................................................................. 17
6. PADRES DE TELA............................................................................................................................. 18
6.1. ESTRUTURA DO DIRETRIO .............................................................................................................. 18
-
8/6/2019 PadraoDesenvolvimento
3/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina3 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
6.2. LAYOUT ........................................................................................................................................... 18
6.2.1. CABEALHO..................................................................................................................................... 18
6.2.1.1.
EXEMPLO ARQUIVO CONF_.PHP DO MDULO ............................................................ 196.2.2. MENU LATERAL ............................................................................................................................... 20
6.2.3. CORPO (FORM, LISTA) ...................................................................................................................... 20
6.2.3.1. 01(TABELAS E BORDA) ...............................................................................................................21
6.2.3.2. 02(TTULO E COR DE FUNDO)...................................................................................................... 21
6.2.3.3. 03(CAMPO DE PESQUISA)............................................................................................................ 22
6.2.3.4. 04(COMBOBOX) ......................................................................................................................... 22
6.2.3.5. 05(CAMPOS DE PREENCHIMENTO OBRIGATRIO)........................................................................22
6.2.3.6. 06(ACESSO AS POPUP) ................................................................................................................22
6.2.3.7. 07(VALORES MONETRIOS)........................................................................................................ 23
6.2.3.7.1. LER E GRAVAR VALORE MONETRIOS .........................................................................................236.2.3.8. 08(DATAS) ................................................................................................................................. 23
6.2.3.8.1. VALIDAR DATAS ......................................................................................................................... 23
6.2.3.9. 09(NMEROS) ............................................................................................................................ 24
6.2.3.10. 10(N MAX DE CARACTERES E CARACTERES INVLIDO)............................................................. 24
6.2.3.11. 11(LINHA DIVISRIA E BOTES) ................................................................................................. 24
6.2.4. LISTAS ............................................................................................................................................. 25
6.2.4.1. 01(TABELAS E BORDAS) ............................................................................................................. 26
6.2.4.2. 02(TTULOS)............................................................................................................................... 26
6.2.4.3. 03(LINK - EDITAR) ...................................................................................................................... 266.2.4.4. 04(LINK - EXCLUIR).................................................................................................................... 27
6.2.4.5. 05(INTERCALAO DE CORES)....................................................................................................27
6.2.4.6. 06(PAGINAO) ......................................................................................................................... 27
6.2.5. POPUP .............................................................................................................................................. 29
6.2.5.1. 01(CABEALHO)......................................................................................................................... 29
6.2.5.2. 02(CRITRIO DE PESQUISA) ........................................................................................................ 29
6.2.5.3. 03(LISTA DE RESULTADOS).........................................................................................................30
6.2.5.4. 04(PAGINAO) ......................................................................................................................... 30
6.2.6. RODAP ........................................................................................................................................... 30
7. ARQUIVOS/SCRIPTS........................................................................................................................... 30
7.1. UTILS.PHP ........................................................................................................................................ 30
7.2. STRING.PHP ...................................................................................................................................... 30
7.3. CONF.PHP DO SISTEMA...................................................................................................................... 31
7.4. CONF_.PHP DO MDULO ................................................................................................. 32
7.5. .PHP (CLASSE)................................................................................................................33
7.6. INTERFACE.PHP.............................................................................................................. 35
-
8/6/2019 PadraoDesenvolvimento
4/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina4 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
7.7. DAO.PHP ....................................................................................................................... 36
7.8. FOM_CAD_.PHP .............................................................................................................. 39
8. CONTROLE DAS AES.................................................................................................................... 408.1. EXEMPLO DE AES DO MDULO RESERVA...................................................................................... 40
8.1.1. CONF_RESERVA.PHP ......................................................................................................................... 40
8.1.2. DELETERESERVAACTION.PHP .......................................................................................................... 40
SCRIPT DELETERESERVAACTION.PHP: ............................................................................................................ 41
8.1.3. INDEX.PHP ........................................................................................................................................ 41
8.1.4. LISTRESERVA.PHP ............................................................................................................................ 41
8.1.5. PESQRESERVA.PHP ........................................................................................................................... 42
8.1.6. SAVERESERVA.PHP........................................................................................................................... 42
8.1.7. SEARCHRESERVA.PHP ...................................................................................................................... 449. CADASTRANDO O SISTEMA E SEUS PRIVILGIOS ..................................................................44
9.1. CADASTRO DE REAS ...................................................................................................................... 45
9.2. CADASTRO DE SISTEMAS ................................................................................................................. 45
9.3. CADASTRO DE MDULOS.................................................................................................................. 46
9.4. CADASTRO DE PROGRAMAS ............................................................................................................. 47
9.5. CADASTRO DE USURIOS ................................................................................................................. 48
9.6. CADASTRO DE PRIVILGIOS.............................................................................................................. 49
10. CRIANDO AMBIENTE DE BANCO DE DADOS .............................................................................50
10.1. CRIAO DE TABLESPACE ................................................................................................................50
10.2. CRIAO DE USURIOS (SCHEMAS) ................................................................................................. 50
-
8/6/2019 PadraoDesenvolvimento
5/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina5 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
1. Introduo
Este documento tem por objetivo auxiliar no desenvolvimento de aplicaes webseguindo um padro adotado pela fbrica de software da Prefeitura de ao Jos dos
Pinhais.
-
8/6/2019 PadraoDesenvolvimento
6/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina6 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
2. Padro utilizado
Para desenvolvimento de aplicaes web (PHP), o departamento de Informtica daPrefeitura 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.
-
8/6/2019 PadraoDesenvolvimento
7/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina7 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
3. Estrutura geral dos diretrios
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.
htdocs
sistemas
admin
sistema 01
sistema 02
source
index. h
-
8/6/2019 PadraoDesenvolvimento
8/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina8 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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.
4.1. sistemas
Diretrio onde se encontram todas as aplicaes php.
sistemas
juridico
model
view
controller
includes
-
8/6/2019 PadraoDesenvolvimento
9/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina9 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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
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.
juridico
model
class
interface
oracle
-
8/6/2019 PadraoDesenvolvimento
10/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina10 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
4.3.1.1.1. Exemplo da classe Advogado
-
8/6/2019 PadraoDesenvolvimento
11/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina11 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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 osmtodos em comum que devem ser implementados obrigatoriamente por todos os
outros mdulos.
-
8/6/2019 PadraoDesenvolvimento
12/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina12 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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
-
8/6/2019 PadraoDesenvolvimento
13/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina13 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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
-
8/6/2019 PadraoDesenvolvimento
14/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina14 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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
-
8/6/2019 PadraoDesenvolvimento
15/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina15 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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
-
8/6/2019 PadraoDesenvolvimento
16/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina16 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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:
-
8/6/2019 PadraoDesenvolvimento
17/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina17 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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 seencontra no diretrio sistemas/source/includes/conf.php. Neste arquivo tenho os valores
de usurio, senha, host atribudos para os definesde cada base de dados, exemplo:
# CONEXO COM O SCHEMA JURIDICO
define('JU_USUARIO', '');
define('JU _SENHA', '');
define('JU_HOST', 'localhost');
define('JU_SERVER', '');
Utilizao:
function insert($dados) {
$objConexao = new ConexaoBancoDados(JU_USUARIO, JU_SENHA, JU_HOST, JU_SERVER);
...
}
# CONEXO COM O SCHEMA COMPRAS
define('CO_USUARIO', '');
define('CO _SENHA', '');
define('CO_HOST', 'localhost');
define('CO_SERVER', '');
Utilizao:
function insert($dados) {
$objConexao = new ConexaoBancoDados(CO_USUARIO, CO_SENHA, CO_HOST, CO_SERVER);
...
}
-
8/6/2019 PadraoDesenvolvimento
18/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina18 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
6. Padres de tela
Como visto anteriormente, todas as telas: form, list, popup, so armazenadas no
diretrio view/, abaixo teremos o exemplo do formulrio de cadastro de
advogados.
6.1. Estrutura do diretrio
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.phpdo 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
- sistemas
- juridico
- controller
- doc
- includes
- model
- view
- form_cad_advogado
-
8/6/2019 PadraoDesenvolvimento
19/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina19 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
- 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_.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.
-
8/6/2019 PadraoDesenvolvimento
20/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina20 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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_.php
Os mesmos devem estar dentro da seguinte estrutura de diretrio:
- jurdico
- view
- advogado
- form_cad_advogado.php
-
8/6/2019 PadraoDesenvolvimento
21/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina21 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
6.2.3.1. 01 (Tabelas e borda)
Todas as tabelas esto dentro de um form com nome, id e ao:
titulo().
Exemplo:
$objUtils = new Utils();
0201
03 04
05
06
07
0809
10
11
-
8/6/2019 PadraoDesenvolvimento
22/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina22 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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:
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
como padro, caso no tenha sido escolhido nenhum outro item
ainda e vazio para o value. Para isso:
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:
-
8/6/2019 PadraoDesenvolvimento
23/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina23 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
6.2.3.7. 07 (Valores monetrios)
Para os valores monetrios deve-se utilizar mscaras j definidas em
funes javascript inclusas no heard.php
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
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, '')"
-
8/6/2019 PadraoDesenvolvimento
24/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina24 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
6.2.3.9. 09 (Nmeros)
Para campos do tipo numrico (que devem aceitar apenas nmeros) deve-
se utilizar o tipo igual a numrico, no h necessidade de definir mascaras.
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:
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 e para os botes utilize tabelas sem
bordas e sem estilos.
-
8/6/2019 PadraoDesenvolvimento
25/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina25 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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_.php
Os mesmos devem estar dentro da seguinte estrutura de diretrio:
- jurdico
- view
- advogado
- lista_advogado.php
-
8/6/2019 PadraoDesenvolvimento
26/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina26 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
6.2.4.1. 01 (Tabelas e bordas)
Utiliza-se tabelas com estilo tb_solida para formao das listas, exemplo:
6.2.4.2. 02 (Ttulos)
Utiliza-se tags , exemplo:
Nome
Idade
Editar
Excluir
6.2.4.3. 03 (Link - editar)
Utiliza-se nesta coluna imagens representando a edio um registro.
Clicando neste link o form ir invocar uma ao onde ir preencher todo o
formulrio para alterao dos dados. Exemplo:
-
8/6/2019 PadraoDesenvolvimento
27/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina27 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
";?>
6.2.4.4. 04 (Link - excluir)
Utiliza-se nesta coluna imagens representando a deleo um registro.
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'){
-
8/6/2019 PadraoDesenvolvimento
28/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina28 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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 = ''; ?>
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:
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.
-
8/6/2019 PadraoDesenvolvimento
29/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina29 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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.php
Os mesmos devem estar dentro da seguinte estrutura de diretrio:
- jurdico
- view
- advogado
- pesAdvogado.php
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.
01
02
03
04
-
8/6/2019 PadraoDesenvolvimento
30/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina30 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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);
-
8/6/2019 PadraoDesenvolvimento
31/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina31 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
7.3. conf.php do sistema
Local: sistemas//includes/conf.php
Objetivo: criar defines e configuraes que facilitem durante aimplementao 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 definecomuns, deve-se existir um define padro com ocdigo 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 defineBASE 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");
-
8/6/2019 PadraoDesenvolvimento
32/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina32 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
//schema referente ao banco de dados do rh
define('BASE_RH',"SJPRHDB");
7.4. conf_.php do mdulo
Local: sistemas//controller//conf_modulo.php
Objetivo: criar defines e configuraes que facilitem durante a
implementao do mdulo, como por exemplo:
-
8/6/2019 PadraoDesenvolvimento
33/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina33 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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. .php (classe)
Local: /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 classeAdvogado.
-
8/6/2019 PadraoDesenvolvimento
34/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina34 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
-
8/6/2019 PadraoDesenvolvimento
35/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina35 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
7.6. Interface.php
Local: /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.
-
8/6/2019 PadraoDesenvolvimento
36/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina36 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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. DAO.php
Local: /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 baseInterfaceindica que os mtodos contidos na interface
baseInterface so de implementaes obrigatrias, ou seja, devem existir
estes mtodos implementados neste DAO.
-
8/6/2019 PadraoDesenvolvimento
37/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina37 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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 DS_MSG
0 Operao realizada com sucesso!
1 Operao no realizada! Verifique se j no existe esse registro.
51 Operao no realizada! Tempo Esgotado.
100 Operao no realizada! Registro no encontrado.
107 Operao no realizada! Falhou ao conectar com o banco de dados.
115 Operao no realizada! Conexo recusada. H muitas conexes no momento.947 Operao no realizada! Quantidade insuficiente de dados.
-
8/6/2019 PadraoDesenvolvimento
38/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina38 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
1400 Operao no realizada! Verifique se algum campo obrigatrio est vazio.
1403 Operao no realizada! Registro no encontrado.
1422 Operao no realizada! Muitos registros.
1722 Operao no realizada! Nmero invlido.
1840 Operao no realizada! Data invlida.
1843 Operao no realizada! Data invlida.
2291 Operao no realizada! No existe registro correspondente em outro cadastro.2292 Operao no realizada! Existem pendncias para esse registro.
99999 Erro! Operao no realizada!
90002 Voc no tem privilgio!
90005 Dados insuficientes para pesquisa!
9005 Esta operao ir fechar a previso do oramento da despesa, deseja continuar?
1404 Operao no realizada! Bimestre ou exerccio no encerrado!
2294 Operao no realizada! O fechamento para esta virada j foi concludo.
90006 Nota no emitida!90000 Registro no encontrado.
90001 Confirma a excluso do registro?
90003 O Processo no pode ser modificado!
90004 Confirma desativar este registro?
2293 Operao no realizada! H uma virada diria cadastrada para esta data.
1405 Operao no realizada! O bimestre deve estar aberto!
Implementao mtodo list:
-
8/6/2019 PadraoDesenvolvimento
39/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina39 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
Obs: Paginao [linha 113]
7.8. fom_cad_.php
Local: /view//
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).
-
8/6/2019 PadraoDesenvolvimento
40/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina40 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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(''))
-
8/6/2019 PadraoDesenvolvimento
41/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina41 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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 paradeletar 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.
-
8/6/2019 PadraoDesenvolvimento
42/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina42 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
Note que h uma sesso definica como PRVCON, nesta sesso estarmazenada 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:
-
8/6/2019 PadraoDesenvolvimento
43/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina43 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
- 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 estarmazenada 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.
-
8/6/2019 PadraoDesenvolvimento
44/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina44 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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.
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.
-
8/6/2019 PadraoDesenvolvimento
45/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina45 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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
-
8/6/2019 PadraoDesenvolvimento
46/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina46 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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 ocone 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.
-
8/6/2019 PadraoDesenvolvimento
47/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina47 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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
CuritibaSo 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: ContabilidadeMdulo: Cadastro
Nome do Programa:
Ttulo: Municipal
Nvel:
Seqncia:
-
8/6/2019 PadraoDesenvolvimento
48/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina48 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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 umavez.
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.
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.
Programa
ProgramaNvel
-
8/6/2019 PadraoDesenvolvimento
49/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina49 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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.
-
8/6/2019 PadraoDesenvolvimento
50/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina50 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
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 ""
LOGGING
DATAFILE '/d01/tablespace/nome_tablespace.dbf' SIZE
20M REUSE AUTOEXTEND
ON NEXT 2048K MAXSIZE 32767M EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
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 ""
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK
-
8/6/2019 PadraoDesenvolvimento
51/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina51 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Q: \Documentos \PadraoDesenvo lv imento\PadraoDesenvo lv imento .doc
CREATE USER "UNICO" PROFILE "DEFAULT"
IDENTIFIED BY "********" DEFAULT TABLESPACE ""
TEMPORARY TABLESPACE "TEMP"ACCOUNT UNLOCK
CREATE USER "SJPRHDB" PROFILE "DEFAULT"
IDENTIFIED BY "********" DEFAULT 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 Descrio
USURIO Define os usurios para acesso ao sistema
AREA Define uma rea para criao dos sistemas futuros.
SISTEMA Define os sistemas existentes organizados por rea
MODULO Define os mdulos existentes por sistema
PROGRAMA Define os programas existentes para cada mdulo e sistema
PRIVILEGIO Define as permisses de acesso por rea,sistema, modulo e programa
Usurio UNICO (schema): Responsvel pelas informaes em comum utilizadas
por todos os sistemas.
-
8/6/2019 PadraoDesenvolvimento
52/52
PREFEITURA MUNICIPAL DE SO JOS DOS PINHAIS
TI Tecnologia da informao Fbrica de software
Pgina52 de 52
Padro de desenvolvimentoVerso do
documento 1.0
Tabelas Descrio
ENTIDADE Define as entidades existentes como prefeitura, prev e idu.
TIPO_ENTIDADE Define o tipo de administrao (direta ou indireta)
USUARIO_ENTIDADE Define os usurios que podero ter acesso as entidades.
MSG 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 Descrio
FUNCI Define as informaes do funcionrioSECRE Define as secretarias existentes na prefeitura
DEPAR Define as secretarias e departamentos da prefeitura
DIVIS Define as secretarias, departamentos e divises da prefeitura
CARGO Define os tipos de cargos existentes
LOTAC 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.