Tuesday, February 28, 2006

Nomenclatura GxSoft

 


Nomenclatura GxSoft


(adaptada a GeneXustm )



1.                Introducción.


Antes de comenzar con la “escritura” de un sistema debemos acordar los nombres de las entidades de la realidad, a partir de los cuales se deducirá la denominación. La Nomenclatura presente esta pensada para sistemas de gran porte y para maximizar las posibilidades de trabajo en equipo que brinda GeneXus.



1.1.              DEDUCIR UN NOMBRE



Cuando nos enfrentamos a desarrollos de gran porte, no es fácil conocer o memorizar todos los nombres de los elementos de un sistema. Cuando decimos elementos nos referimos a los Objetos GeneXus a las tablas a las Variables, Funciones, etc..


Puede uno recordar los nombres que ha ido usando a través del desarrollo de una aplicación, pero por cuánto tiempo?.


Es probable entonces que en el corto plazo de una aplicación y mientras estemos “sobre” ... recordemos gran cantidad de nombres y si no fuera así quizá consultando un diccionario de datos, si lo fuimos construyendo,  podamos encontrar la denominación de un elemento dado. Pero qué pasará cuando trabajemos en equipo?, cómo podrá cada integrante del equipo entender lo que otro integrante ha escrito?.



1.2.              ENTENDER LOS NOMBRES:


Para solucionar este problema de  “entender” lo que cada uno escribe, o tener que “recordar” los nombres de los objetos que se irán usando a través de la aplicación hay que “acordar” una nomenclatura en común para cada uno de los elementos que se deban denominar en un desarrollo. La nomenclatura elegida debe indicarnos de que se trata sino además debe ser también “deducible” (que dado un nombre de la “realidad” exista una regla de denominación tal que el nombre del elemento sea único) es decir, partiendo de la denominación de un elemento en la “vida real” se llegue a una única denominación. Estos objetivos no son fáciles de conseguir, pero tampoco son poco importantes como para que no hagamos el esfuerzo necesario para alcanzarlo.



1.3.              MINIMIZAR LA “DISYUNCIÓN”


A diferencia de otras nomenclaturas, la propuesta es más rígida que otras existentes, pero obtenemos como ventaja su “deducibilidad”. Con el objetivo de que el mismo objeto de la realidad se denomine igual en cada “cita” interna en la Knowledge Base.



1.4.              MINIMIZAR LA “COLISIÓN”



Un problema que se puede dar es que la raíz de dos objetos de la realidad sea la misma, en este caso se puede prevenir Nombrando los Objetos de la realidad que participaran en el sistema antes de comenzar a escribir la KB.


El largo total de un nombre es de 10 (diez) caracteres de manera que se respetará este límite. La nomenclatura para la mayor parte de los elementos es de 4 letras a las cuales se le agregarán Sufijos y/o prefijos de 3 letras llegando a 10 caracteres cuando se le agreguen ambos ( un prefijo y un sufijo).


2.                Reglas de Nomenclatura.



Nota:Las preposiciones de, del se Ignoran!.



2.1.         Regla General 1. Los Nombres se truncan a 4 letras.


Todo nombre tiene cuatro caracteres, el mismo deriva de la denominación en la realidad (Cliente, Factura, Artículos, Calles). Este componente de 4 Letras se denominará de aquí en adelante NUCLEO de la nomenclatura.



2.1.1.  Si es de una Palabra.



La palabra se corta sin abreviar a sus cuatro primeros caracteres.



2.1.2.  Si es de dos Palabras.



El nombre resulta de la primera letra de la primera palabra concatenada a las tres primeras letras de la segunda palabra.



2.1.3.  Si es de tres Palabras.



El nombre resultará de la primera letra de la primera palabra concatenada a la primera letra de la segunda palabra y las dos primeras letras de la tercera palabra.



2.1.4.  Si es de cuatro Palabras.



El nombre resultará de concatenar la primera letra de cada una de las cuatro palabras.



2.1.5.  Si hay Colisión de nombres.



Cuando de dos objetos de la realidad a nomenclar y aplicando la REGLA 1 se produzca el mismo resultado, se buscarán sinónimos del elemento en la vida real (p.e. Productos = Artículos, Materiales, Parte, Repuesto, etc.)    y si de todas maneras sigue ocurriendo la colisión se le eliminarán vocales, en el nombre menos importante y si se volviera a colisionar se usará la primera letra de cada silaba. ver anexo 1.



Elemento de la Realidad



Regla 1



Clientes



Clie



Localidades



Loca



Paises



Pais



Proveedores



Prov



Provincias (“colisión”)->>



Prvn



Fecha de Nacimiento



FNac



Fecha de Emisión



FEmi



Elementos de la Realidad



ERea



Numero de Cheque



NChe



Fecha Probable de Parto



FPPa



Forma de Pago



FPag



Certificado Libre Deuda



CLDe



Estado Civil



ECiv



Tipo de Documento



TDoc



Codigo Unico de Identificación Laboral



CUIL




2.2.         Regla General 2. Se derivarán “Nombres” de los de 4 Letras tomando las 3 Primeras para especificar la Pertenencia a o Función del elemento a nomenclar.



Esta regla se aplica en combinaciones para denominar los elementos del sistema ver ejemplos en la Regla General 3 (denominación de Atributos) y Regla General 4 (especificar función y pertenecia).



2.3.         Regla General 3. Nomenclatura de Atributos.



La denominación de Atributos necesita una regla específica que usa las Reglas Generales 1 y 2. El Nombre de los atributos estará conformado por dos partes claramente diferenciables el “Nucleo” o nombre del Atributo propiamente dicho y un prefijo de tres letras que derivará de la transacción a la que pertenezca (Regla General 2). Ejemplos:



Transacción



Atributo



Nomenlatura



Cliente (Clie)



Nombre (Nomb)



CliNomb



Cliente (Clie)



Codigo (Codi)



CliCodi



Insumo (Insu)



Cantidad (Cant)



InsCant



Insumo (Insu)



Precio (Prec)



InsPrec




 



2.4.         Regla General 4. Cuando haya que especificar Pertenencia o Función los nombres de los elementos en el sistema se darán por combinación de las Reglas Generales 1 y 2 . Nombres de Atributos, Subtipos, Indices .



Cuando un Objeto es parte de otro existente, se denominará  usando la Regla General 1, pero se le agregará al nombre un prefijo o sufijo (Regla General 2) correspondientes a las 3 primeras letras del Objeto al cual pertenecen o 3 letras especificando la Función que cumplirá el elemento que se está denominando..



2.4.1.      Pertenencia. Prefijo .



Al nombre de los atributos que pertenecen a una transacción se les agrega un prefijo de tres letras iguales a la 3 primeras letras de la transacción.



2.4.2.      Pertenencia o Función. Atributo-SubType & Grupo



Cuando en un sistema surge la necesidad del uso de SubTipos la denominación del mismo será igual al SuperTipo (3+4) + un sufijo de tres letras. Se distinguen dos casos



 1) USO: SubTipo x Aplicación de un atributo en una misma tabla: el sufijo aclarará el uso que se le da al atributo-SubTipo o bien a la transacción a la cual pertenece el atributo-SubTipo.



2)TRN: SubTipo para diferenciar la pertenecia a una transacción dada:  el sufijo será igual a las tres primeras letras de la transacción a la cual pertenece el atributo-SubTipo.




 



Ejemplos:



Caso de Aplicación



Uso / Transacción



Atributo



Nomenclatura



(1) Guarda Localidad Origen



Origen (uso)



LocCodi



LocNomb



LocCPos



LocCodiOri



LocNombOri



LocCPosOri



(1) Guarda Localidad Destino



Destino (uso)



LocCodi



LocNomb



LocCPos



LocCodiDes



LocNombDes



LocCPosDes



(1) Transferencia Inter Depósito - Guarda Depósito de Salida



Salida (uso)



DepCodi



DepNomb



DepCodiSal



DepNombSal



(1) Transferencia Inter Depósito - Guarda Depósito de Entrada



Entrada (uso)



DepCodi



DepNomb



DepCodiEnt



DepNombSal



(2) Para 



 



 



 




 



2.5.          



 



2.5.1.       



 



2.5.2.      Ejemplos de Nomenclatura como resultado de aplicar la Regla General 2.



Elemento de la Realidad



Regla 1



Nombre del Cliente



CliNomb



Codigo del Cliente



CliCodi



Codigo de Localidades



LocCodi



Nombre de la Localidad



LocNomb



Codigo Postal de Localidad



LocCPos



Fecha de Nacimiento de Asistente



AsiFNac



Fecha de Emisión de Factura



FacFEmi



Nombre del Elemento de la Realidad



EReNomb



Numero de Cheque del Valor



ValNChe



Fecha Probable de Parto de Tabla Embarazos



EmbFPPa



Forma de Pago de Factura



FacFPag



Certificado Libre Deuda del Automotor



AutCLDe



 



 



 



2.6.         Regla Tipográfica.


El usar una nomenclatura para la denominación de todos los objetos tiene un beneficio secundario que es la claridad de la lectura del sistema. Pero no es suficiente, para que este beneficio se logre podemos ayudar con la TipoGrafía que se use. Se propone que, dado un nombre o combinación de ellos se Tipee la primera letra de cada palabra usada para obtener el nombre definitivo en mayúscula y las letras siguientes en minúscula, en los ejemplos arriba citados se ha usado esta TipoGrafía.


2.6.1.  Si es de una Palabra.


La palabra se corta sin abreviar a sus cuatro primeros caracteres.


Si un nombre de cuatro letras esta formado por 1 palabra estará compuesto por 1 Mayúscula y 3 minúsculas


Ejemplos: Clie (Cliente) / Loca (Localidad) /Prov (Proveedor) / Fech(Fecha) /Arti (Articulo)


2.6.2.  Si es de dos Palabras.


El nombre resulta de la primera letra de la primera palabra concatenada a las tres primeras letras de la segunda palabra.


Su nombre de cuatro letras esta formado por 2 palabras tendrá 2 Mayúsculas y 2 minúsculas


Ejemplos: FNac(Fecha de Nacimiento) /CPos(Código Postal) /PPar(Punto de Partida)


2.6.3.  Si es de tres Palabras.


El nombre resultará de la primera letra de la primera palabra concatenada a la primera letra de la segunda palabra y las dos primeras letras de la tercera palabra.


Si un nombre de cuatro letras esta formado por 3 palabras tendrá 3 Mayúsculas y 1 minúscula


Ejemplos: FPPa(Fecha Probable de Parto)


 


2.6.4.  Si es de cuatro Palabras



Si un nombre de cuatro letras esta formado por 4 palabra s estará compuesto por 4 Mayúsculas que serán las cuatro iniciales de la palabras.


2.7.         Nomenclatura de Objetos GeneXus..


Los objetos GeneXus se denominarán usando la Regla General 1. Pero como al mismo objeto de la Realidad se le pueden construir mas de un objeto GeneXus del mismo tipo hay que hacer algunas consideraciones.


2.7.1.      TRANSACCIONES.



En general hay una sola transacción que representa a un objeto de la realidad, entonces se usa la nomenclatura de 4 letras. Si hubiera mas de una transacción para un objeto de la realidad se le agrega un sufijo de 3 letras que definirán el objetivo de dicha variante de la transacción. Puede ocurrir que una transacción sea suficientemente compleja, con gran cantidad de atributos o con muchos SubFiles, y por ello debamos particionarla en distintas transacciones  para acceder a distintas “áreas” de la transacción original. Estas Transacciones “hijas” se diferenciarán con un sufijo que aclare su contenido. También se puede dar el caso que a una transacción se le diseñen diferentes formularios según las vistas de usuarios que se necesiten, en este caso en el sufijo se aclarará la función de la “transacción hija”.


2.7.2.      WORK PANELS.


El caso de los WKPs es diferente que el de las transacciones ya que, por lo general, hay varios WKPs por cada objeto de la realidad. Por ejemplo para la entidad LOCALIDAD tendremos probablemente una transacción denominada.


 


Aconsejamos mirar la comparacion con la Nomenclatura GIK (GeneXus Incremental KnowledgeBase)


(versión incompleta...)  por la version completa comunicarse con Gabriel Medina (gxsoft@gmail.com)