PadraoDesenvolvimento

download PadraoDesenvolvimento

of 52

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.