Escolar Documentos
Profissional Documentos
Cultura Documentos
Taller de Proyecto 2
Versin: 1.1
Fecha: 15/09/2008
Historial de Revisin
Fecha
11/09/2008
15/09/2008
Versin
1.0
Descripcin
Estndares de Programacin
1.1
Nomenclatura Oracle
Correccin de Nomenclatura
Autor
Encarnacin, Ral
Encarnacin, Ral
Versin: 1.1
Fecha: 15/09/2008
ndice
1. INTRODUCCIN............................................................................................ 6
1.1
OBJETIVO
ALCANCE..........................................................................................................6
2. GENERALIDADES..........................................................................................7
2.1
CONCEPTOS.......................................................................................................................7
2.1.1
Aplicaciones...................................................................................................... 7
2.1.2
Mdulos.............................................................................................................. 7
2.1.3
Identificador...................................................................................................... 8
2.2
ENTORNOS........................................................................................................................8
2.2.1
Definicin........................................................................................................... 8
2.2.2
Desarrollo.......................................................................................................... 8
2.2.3
Integracin........................................................................................................ 9
2.2.4
Produccin......................................................................................................... 9
2.3
RESPONSABILIDADES...........................................................................................................9
2.3.1
Desarrollo.......................................................................................................... 9
2.3.2
Integracin........................................................................................................ 9
2.3.3
Produccin....................................................................................................... 10
2.3.4
Usuarios........................................................................................................... 11
3. IDENTIFICACIN DE MDULOS....................................................................11
3.1
APLICACIN.....................................................................................................................11
3.2
MDULO.........................................................................................................................11
4. LENGUAJES Y TECNOLOGAS........................................................................11
5. OBJETOS DE BASE DE DATOS.......................................................................12
5.1
SECUENCIAS.....................................12
5.1.1
Nomenclatura de Tablas................................................................................13
5.1.2
Nomenclatura de Paquetes...........................................................................13
5.1.3
Versin: 1.1
Fecha: 15/09/2008
5.1.4
Nomenclatura de Functions..........................................................................14
5.1.5
Nomenclatura de Triggers.............................................................................15
5.1.6
Nomenclatura de Secuencias.......................................................................15
5.2
INDICES....................................................................................................................... 16
5.3
CAMPOS..........................................................................................................................17
6. SQL............................................................................................................ 17
6.1
INTRODUCCIN.................................................................................................................17
6.2
ESTILO............................................................................................................................17
6.2.1
SELECT............................................................................................................. 17
6.2.2
JOIN................................................................................................................... 18
6.2.3
INSERT.............................................................................................................. 19
6.3
OPTIMIZACIN..................................................................................................................20
7. PL/SQL....................................................................................................... 20
7.1
VARIABLES
7.2
ESTILO............................................................................................................................21
7.3
CURSORES.......................................................................................................................22
7.4
EXCEPCIONES
DE TRABAJO Y DE
ENTRADA/SALIDA......................................................................20
Y CONTROL DE ERRORES.................................................................................22
Versin: 1.1
Fecha: 15/09/2008
Estndares de Programacin
1.
Introduccin
El presente documento describe detalladamente los Estndares de Programacin a
utilizarse para el trabajo del curso de Taller de Proyectos 2. Uno de los aspectos
clave de este documento es la definicin y uso homogneo de todas las
herramientas de desarrollo.
1.1
Objetivo y Alcance
El objetivo y alcance del presente documento es listar y describir cada uno de los
Estndares de Programacin para el trabajo del desarrollo del curso de Taller de
Proyectos 2.
Promover
la
colaboracin
entre
los
diferentes
grupos
de
desarrollo
Versin: 1.1
Fecha: 15/09/2008
fuera
de
estas
especificaciones.
Por
ello,
resulta
especialmente
2.
Generalidades
2.1
Conceptos
2.1.1 Aplicaciones
Llamaremos
aplicacin
cualquier
desarrollo
software
funcionalmente
Aplicacin
Servicios Municipales y Cuidado del Medio
SMCMA
Ambiente
Versin: 1.1
Fecha: 15/09/2008
Mdulos
Un mdulo puede ser cualquier programa: jsp, scripts, formas, reportes, etc. Los
mdulos pueden ser fuentes o ejecutables, si bien, algunas clases de mdulos
(procedimientos SQL) pueden tratarse indistintamente como fuentes o ejecutables.
2.1.3 Identificador
Por ltimo
definiremos
el
concepto
de
identificador,
el
cual
emplearemos
2.2
Entornos
2.2.1 Definicin
Desde un punto de vista lgico se distinguirn tres entornos bien diferenciados:
Desarrollo, Integracin y Produccin.
2.2.2 Desarrollo
El Entorno de Desarrollo comprende todos los mdulos sobre los cuales trabaja el
Versin: 1.1
Fecha: 15/09/2008
2.2.3 Integracin
El Entorno de Integracin se compone de los mdulos y escenarios de datos
necesarios para realizar las pruebas de integracin previas a la puesta en servicio
de una aplicacin. Una vez entregada a los usuarios, el grupo de mantenimiento
realizar su labor sobre este entorno. Cada aplicacin dispondr de su propio
Entorno de Integracin siendo posible disponer simultneamente de ms de una
versin de la misma aplicacin.
2.2.4 Produccin
El Entorno de Produccin consta de los datos y mdulos ejecutables que emplean
los usuarios finales as como de todos los mdulos necesarios para reconstruir la
versin actual de los ejecutables.
2.3
2.3.1
Responsabilidades
Desarrollo
Versin: 1.1
Fecha: 15/09/2008
2.3.2 Integracin
Desde el primer momento que se necesite probar la integracin de dos o ms
mdulos se crear un Entorno de Integracin para la aplicacin correspondiente. A
este entorno se pasarn los mdulos que hayan superado las pruebas unitarias y
sobre los que se vayan a realizar las pruebas de integracin.
2.3.3 Produccin
Las aplicaciones se distribuirn en el Entorno de Produccin atendiendo a
consideraciones de seguridad y de rendimiento. La integridad y seguridad de los
datos y mdulos en el Entorno de Explotacin sern responsabilidad exclusiva del
rea de Sistemas. Se facilitaran los mecanismos adecuados para permitir a los
grupos de mantenimiento de aplicaciones el traspaso de mdulos modificados o
Versin: 1.1
Fecha: 15/09/2008
2.3.4 Usuarios
Los usuarios podrn acceder a los datos en explotacin exclusivamente a travs de
la aplicacin correspondiente. El responsable del rea para la que se ha desarrollado
una aplicacin definir claramente los perfiles de todos los usuarios de modo que
puedan delimitarse responsabilidades.
3.
Identificacin de Mdulos
El nombre de un mdulo consta de no ms de 12 caracteres en minsculas (a-z)
distribuidos de la siguiente forma: de tal forma que se le pueda identificar
unvocamente.
El significado de los caracteres que componen el nombre de un mdulo es el
siguiente:
Versin: 1.1
Fecha: 15/09/2008
Aplicacin
3.2
Mdulo
4.
Lenguajes y Tecnologas
El Grupo 1 utilizar ORACLE como gestor de base de datos, de modo que todas las
aplicaciones desarrolladas sern implementadas para dicho producto empleando
herramientas compatibles con el mismo.
5.
Versin: 1.1
Fecha: 15/09/2008
5.1
/*******************************************************************
Name
: Name of Database Object
Module
: Module name from Object
Process
: Brief description of Object
Date
: yyyy/mm/dd
Type
: Type Object
----------------------------------------------------------------Updated by
: Author of updating
Date
: Date of updating (yyyy/mm/dd)
Ref.
: Brief description of the change
*****************************************************************/
Turno
Parque
Herramienta
Versin: 1.1
Fecha: 15/09/2008
Donde:
pck
nombre
Ejemplo: customer
Observacin:
Para efectos de mantenimiento la nomenclatura a emplear ser:
pck_mante_turno, en donde se aloja los stores procedures para insercin,
actualizacin, eliminacin y consulta.
usp_nombre
Donde:
usp
nombre
nnn
Versin: 1.1
Fecha: 15/09/2008
Ejemplo: usp_programacion_ins
fun_nombre
Donde:
fun
nombre
: es el nombre de la funcin.
trg_nombre_nnn
Donde:
trg
nnn
Versin: 1.1
Fecha: 15/09/2008
seq_nombre
Donde:
seq
nombre
: es el nombre de la secuencia.1
5.2
Indices
Versin: 1.1
Fecha: 15/09/2008
5.3
Campos
6.
SQL
6.1
Introduccin
6.2
Estilo
Versin: 1.1
Fecha: 15/09/2008
Es imposible dar aqu un formato genrico para todas las sentencias que SQL nos
permite construir. Damos a continuacin algunos ejemplos de codificacin, a modo
de sugerencia, si bien, cualquier otro estilo es aceptable siempre que ayude a la
legibilidad de las sentencias y sea homogneo a travs de toda la aplicacin.
6.2.1 SELECT
Se muestra en primer lugar, se muestra, un SELECT simple. Si es necesario
recuperar muchos campos, podran agruparse varios por lnea:
SELECT
codigo,
descripcion
6.2.2
FROM
ingreso
WHERE
fecha = 10/09/2008
JOIN
SELECT
fac.c_interno,
fac.n_fact_prov,
fac.d_grabacion,
fac.i_bruto
fac.c_tipo,
tf.d_tipo
FROM
ct_facturas fac,
ct_tipos_facturas tf
6.2.3
JOIN
fac.c_interno = tf.c_interno
WHERE
f.c_tipo = tp.c_tipo
Versin: 1.1
Fecha: 15/09/2008
INSERT
En los INSERT es importante destacar que deben especificarse los nombres de los
campos para mantener la independencia lgica de la sentencia con respecto a los
cambios en la definicin de la tabla:
UPDATE
factura
SET
tipo = v_Tipo,
fecha = v_Fecha,
descripcion = v_Descripcion
WHERE Codigo = v_Codigo;
Versin: 1.1
Fecha: 15/09/2008
SELECT
Codigo
Tipo
FROM
Factura
WHERE
6.3
Optimizacin
7.
PL/SQL
7.1
Los criterios para nombrar las variables son los mismos que los especificados para
los campos de las tablas teniendo en cuenta que se antepondrn los prefijos
mostrados en la seccin nomenclatura de campos de las tablas del servidor.
Si una variable es la copia local de un campo, el nombre de la variable ser el del
campo, anteponindole el prefijo v_. Si una variable es un Parmetro se antepone la
Versin: 1.1
Fecha: 15/09/2008
Nombres de variables:
v_Codigo
v_Descripcion
Nombres de parmetros:
p_Codigo
Siempre que una variable sea copia de un campo definido para una tabla de la Base
de Datos, se emplear la clusula %TYPE en lugar de declarar explcitamente el tipo
y la longitud de la misma. Esto facilita el mantenimiento de los programas.
Los ndices empleados para bucles (loop, for, etc.) que no tengan un significado
especial se nombrarn simplemente por la letra i.
Para bucles anidados se aadirn nmeros que indiquen la profundidad.
7.2
Estilo
Versin: 1.1
Fecha: 15/09/2008
7.3
Cursores
Versin: 1.1
Fecha: 15/09/2008
7.4
Los
procedimientos
comunes
evitarn
cualquier
interaccin
con
el
usuario
Por ltimo, se vigilar el uso de la clusula WHEN OTHERS dado que puede
contribuir al enmascaramiento de errores. Se deben preveer todos los posibles
errores que pueda provocar un determinado bloque PL/SQL y reservar el uso de la
clusula WHEN.