Está en la página 1de 35

1.

Introducción

En la actualidad, en esta época que estamos viviendo llegamos asegurar que la información es
igual de valiosa que los recursos financieros, recursos humanos, recursos materiales etc. Con los
que cuenta una empresa para existir en el mercado, ya que la información es la base de las
operaciones y actividades de las empresas. Hoy en día, quien tiene la información es quien domina
en todos los ámbitos en el que se desarrolle.

La información como ya mencionamos es fundamental para las operaciones y actividades en las


empresas, la información es necesario manejarla de una forma adecuada y a la vez rápida, así que
es necesario de los sistemas de información en una empresa que quiera competir en el mercado
donde se desarrolla. Es necesario también contar con sistemas de información que le provean la
información necesaria para realizar sus operaciones en una forma rápida y eficiente, no basta con
tener la información hay que manejarla a favor de la empresa eficientemente si es que se quiere
tener competitividad, las empresas con gran cantidad de utilidades han sido aquellas que cuentan
con una adecuada organización y que cuentan con sistemas de información de calidad, un sistema
de calidad no significa que deba ser desarrollado por grandes empresas que desarrollan software,
ya que hasta los grandes se equivocan. Un sistema de información con calidad es aquel que es
desarrollado con una adecuada organización; es por eso que es necesario dar importancia a la
administración de proyectos de sistemas información como herramienta dentro de las empresas
para el desarrollo de sistemas de información.

El continuo crecimiento y la dinámica de las organizaciones en la actualidad, trae como


consecuencia la necesidad de información cada vez más precisa, fidedigna y oportuna, esto
determina la necesidad de preparar recursos humanos capaces de enfrentar el desarrollo y la
administración de nuevos proyectos acordes a las necesidades de información de las
organizaciones modernas.

Los ingenieros de sistemas de la actualidad deben ser capaces de aplicar los nuevos paradigmas de
la gestión de información, además de manejar las técnicas y métodos orientados a la toma de
decisiones institucionales e integrar la gran gama de tecnología informática que está al servicio de
las organizaciones.

SISTEMAS DE INFORMACION 1
2. Introducción al Desarrollo de Sistemas

2.1. Definición de Sistemas

Un sistema es un conjunto de partes o elementos, organizadas y relacionadas que interactúan


entre sí para lograr un objetivo. Los sistemas reciben (entrada) datos, energía o materia del
ambiente y proveen (salida) información, energía o materia.

Un sistema puede ser físico o concreto (una computadora, un televisor, un humano) o puede ser
abstracto o conceptual (un software). Cada sistema existe dentro de otro más grande, por lo tanto
un sistema puede estar formado por subsistemas y partes, y a la vez puede ser parte de un
supersistema.

Los sistemas tienen límites o fronteras, que los diferencian del ambiente. Ese límite puede ser
físico (el gabinete de una computadora) o conceptual. Si hay algún intercambio entre el sistema y
el ambiente a través de ese límite, el sistema es abierto, de lo contrario, el sistema es cerrado.

El ambiente es el medio en externo que envuelve física o conceptualmente a un sistema. El


sistema tiene interacción con el ambiente, del cual recibe entradas y al cual se le devuelven
salidas. El ambiente también puede ser una amenaza para el sistema.

Un grupo de elementos no constituye un sistema si no hay una relación e interacción, que de la


idea de un "todo" con un propósito.

2.2. Definición de Sistemas de Información

El termino Sistemas de Información, ha sido empleado en el tiempo en multitud de campos y


disciplinas, y se le ha atribuido algunos de los siguientes significados:

 En la Teoría General de Sistemas, un SI es un sistema, automático o manual, que


comprende personas, máquinas y/o métodos organizados para agrupar, procesar,
transmitir y diseminar datos que representan información para el usuario.
 En Telecomunicaciones, un sistema de información es cualquier equipo o sistema
interconectado o subsistemas de equipos de computación o telecomunicación que es

SISTEMAS DE INFORMACION 2
usado en la adquisición, almacenamiento, manipulación, administración, movimiento,
control, presentación, conmutación, intercambio, transmisión, o recepción de voz y/o
datos, e incluye software, firmware y hardware.
 Sistema de Información es un conjunto de elementos que interactúan interna y
externamente, para producir información que satisface necesidades de un determinado
grupo de usuarios.
 Un Sistema de Información es un conjunto de elementos que interactúan entre sí con el
fin de apoyar las actividades de una empresa o negocio.

En conclusión, un Sistema de Información es un conjunto de elementos que interactúan entre sí


con el fin de apoyar las actividades de una empresa o negocio. Estos elementos son de naturaleza
diversa y normalmente incluyen:

 El equipo computacional, (Hardware)


 El recurso humano que interactúa con el sistema de información.
 Los datos, o información fuente, que son introducidos al sistema.
 Los programas que son procesados y producen diferentes tipos de resultados, (Software)

Aspectos Claves de la Definiciones:

 Todo Sistema es Único.

SISTEMAS DE INFORMACION 3
 Interactúan procedimientos, personas, hardware, software, redes de comunicación, otros
sistemas, etc.
 Procesos: capturar, transformar, almacenar, diseminar, etc.
 Necesidad de Comunicación entre partes

2.3. Actividades Básicas de un Sistema de Información

Todo Sistema de información es un conjunto de partes que se relacionan entre sí para lograr un
objetivo que contribuirá a la toma de decisiones y esto es posible gracias a las diversas actividades
que se llevan a cabo, lo cual estimula que la organización desarrolle sus procesos de mejor
manera, obteniendo así una eficiente labor.

Es por esta razón que los Sistemas de Información realizan las diversas actividades principales
haciendo uso de la computadora, lo cual permite un mejor desempeño de los sistemas de
información en las organizaciones públicas y/o privadas.

Las actividades son las siguientes:

 Entrada de la Información: Es el proceso mediante el cual el Sistema de Información toma


los datos que requiere para procesar la información. Las entradas pueden ser manuales o
automáticas. Las manuales son aquellas que se proporcionan en forma directa por el

SISTEMAS DE INFORMACION 4
usuario, mientras que las automáticas son datos o información que provienen o son
tomados de otros sistemas o módulos. Esto último se denomina interfaces automáticas.

Las unidades típicas de entrada de datos a las computadoras son las terminales, las cintas
magnéticas, las unidades de diskette, CD-ROM, Pendriver, los códigos de barras, los
escáners, la voz, los monitores sensibles al tacto, el teclado y el mouse, entre otras.

 Almacenamiento de la Información: El almacenamiento es una de las actividades o


capacidades más importantes que tiene una computadora, ya que a través de esta
propiedad el sistema puede recordar la información guardada en la sección o proceso
anterior. Esta información suele ser almacenada en estructuras de información
denominadas archivos. La unidad típica de almacenamiento son los discos magnéticos o
discos duros, los discos flexibles o diskettes, pendriver y los discos compactos (CD-ROM).

Para hacer fácil su recuperación, los datos almacenados se organizan en:

 Campo: agrupación de caracteres que identifican a un sujeto, lugar u objeto, por


ejemplo: nombre de un empleado.
 Registro: conjunto de campos interrelacionados, por ejemplo el registro nómina
de un trabajador podría componerse por el nombre, ítem, departamento y sueldo.
 Archivo: conjunto de registros interrelacionados, por ejemplo el archivo planilla
del mes enero del año 2001 podría estar compuesto por registros de la nómina de
todos los trabajadores durante el mes de enero de 2001.
 Base de datos: conjunto integrado de registros interrelacionados. Por ejemplo, la
base de datos de empleados de una organización, podría incluir archivos de las
planillas de todos los meses, junto con otros archivos relacionados a registros de
evaluación de desempeño de cada trabajador, asistencia a capacitaciones, etc.
 Procesamiento de la Información: Es la capacidad del Sistema de Información para
efectuar cálculos de acuerdo con una secuencia de operaciones preestablecida. Estos
cálculos pueden efectuarse con datos introducidos recientemente en el sistema o bien con
datos que están almacenados. Esta característica de los sistemas permite la
transformación de datos fuente en información que puede ser utilizada para la toma de
decisiones, lo que hace posible, entre otras cosas, que un tomador de decisiones genere

SISTEMAS DE INFORMACION 5
una proyección financiera a partir de los datos que contiene un estado de resultados o un
balance general de un año base. Durante este procesamiento se evidencia lo siguiente:
 Aumenta, manipula y organiza la forma de los datos.
 Analiza y evalúa su contenido.
 Selecciona la información para ser usada en la toma de decisiones, y constituye un
componente clave en el sistema de información gerencial.
 Salida de Información: La salida es la capacidad de un Sistema de Información para sacar
la información procesada o bien datos de entrada al exterior. Las unidades típicas de salida
son las impresoras, terminales, diskettes, cintas magnéticas, la voz, los graficadores y los
plotters, entre otros. Es importante aclarar que la salida de un Sistema de Información
puede constituir la entrada a otro Sistema de Información o módulo. En este caso,
también existe una interface automática de salida. Por ejemplo, el Sistema de Control de
Clientes tiene una interface automática de salida con el Sistema de Contabilidad, ya que
genera las pólizas contables de los movimientos procesales de los clientes.

Además un sistema de información debe tener control del desempeño del sistema, es decir debe
generar retroalimentación sobre las actividades de entrada, procesamiento, almacenamiento y
salida de información. Esta retroalimentación debe evaluarse para determinar si el sistema cumple
con los estándares de desempeño establecidos.

2.4. Los Sistemas de Información en la Actualidad

Los modernos sistemas de información están cambiando la forma en que operan las
organizaciones actuales. A través de su uso se logran importantes mejoras:

 Automatizan los procesos operativos de las empresas proporcionan información de apoyo


al proceso de toma de decisiones y, lo que es más importante, facilitan el logro de
ventajas competitivas a través de su implementación en las empresas

Los SI pueden ser agrupados en categorías desde muy diferentes puntos de vista; es muy
común, efectuar la clasificación considerando aspectos relacionados con su uso dentro del
negocio. En tal sentido, se consideran tres:

 SI Transaccionales.
SISTEMAS DE INFORMACION 6
 SI de Soporte a la Toma de Decisiones.
 SI Estratégico.

Sistemas Transaccionales.

Logran la automatización de procesos operativos dentro de una organización su función primordial


consiste en procesar transacciones tales como pagos, cobros, pólizas, entradas, salidas, etcétera.

Estos se caracterizan por:

 Su uso permite el logro de ahorros significativos de mano de obra, debido a que


automatizan tareas operativas de la organización.
 Ahorro de Tiempo y de Recursos Humanos.
 Con frecuencia son el primer tipo de Sistemas de Información que se implanta en las
organizaciones. Se empieza apoyando las tareas a nivel operativo, luego los mandos
intermedios y posteriormente con la alta administración conforme evolucionan.
 Son intensivos en entrada y salida de información; sus cálculos y procesos suelen ser
simples y poco sofisticados. Requieren mucho manejo de datos para realizar sus
operaciones y como resultado generan también grandes volúmenes de información.
 Son recolectores e integradores de información. A través de estos sistemas se cargan las
grandes bases de información para su explotación posterior.
 Son fáciles de justificar ante la dirección general, ya que sus beneficios son visibles y
palpables. Esto se debe a que en el corto plazo se pueden evaluar los resultados y las
ventajas que se derivan del uso de este tipo de sistemas.
 Son fácilmente adaptables a paquetes de aplicación que se encuentran en el mercado, ya
que automatizan los procesos básicos que por lo general son similares o iguales en otras
organizaciones.

Sistemas de Soporte a la Toma de Decisiones (DSS)

El segundo tipo de SI, corresponden a los que apoyan el proceso de toma de decisiones son los
llamados Sistemas de Soporte a la Toma de Decisiones, Sistemas para la Toma de Decisión de
Grupo, Sistemas Expertos de Soporte a la Toma de Decisiones y Sistema de Información para
Ejecutivos. Estos SI son típicamente la segunda etapa en la implantación de una cultura de la
información, soportándose en los Si Transaccionales como plataformas de información. Los SI

SISTEMAS DE INFORMACION 7
para tomas de decisiones producen información que sirve de apoyo de la toma de decisiones a los
mandos intermedios y a la alta administración en el caso de organizaciones verticales.

Típicamente los SI para la toma de decisiones suelen ser muy complejos y profundos en cálculos,
mientras que la entrada y salida de información es relativamente poca. Apoyan la toma de
decisiones que, por su misma naturaleza son repetitivos y de decisiones no estructuradas que no
suelen repetirse.

Por lo general este tipo de Si no suele ahorrar mano de obra, resultando de difícil justificación
económica para su desarrollo; y es casi nulo los ingresos del proyecto de inversión. Suelen
ser SI altamente interactivos y amigables al usuario, disponiendo de altos estándares de diseño
gráfico y visual, ya que éstos están dirigidos al usuario final.

El desarrollo de este tipo de SI efectuado directamente por el usuario final, por lo que raras veces
se incluye la participación operativa de los analistas y programadores del área de informática.

Son ejemplos muy comunes del contexto de uso de este tipo de Si la programación de producción,
el flujo de fondos y proyecciones financieras, modelos para pronósticos de venta, modelos para
simulación de mercado, modelos de evolución de inventarios y compra de materiales.

SI Estratégicos

Estos SI tienen como objetivo en las organizaciones lograr ventajas competitivas, a través del uso
de la tecnología de la información. Ayudan a los niveles directivos a atacar y dirigir las cuestiones
estratégicas y las tendencias a largo plazo dentro y el entorno de la institución; no es apoyan la
automatización de procesos operativos ni proporcionar información para apoyar la toma de
decisiones.

Su interés principal es hacer frente a los cambios que ocurren en el entorno con las capacidades
con las que se cuentan. Por su naturaleza, importancia y aspectos considerados de
supervivencia de la organización son casi siempre desarrollados “en casa” (in house), es decir,
dentro de la misma organización, por lo que resultan casi imposibles de adaptarse a paquetes
disponibles en el mercado.

Su desarrollo típicamente es efectuado mediante una rutina de incrementos y a través de su


evolución dentro de la organización. Se comienza con un proceso o función en particular y, a
partir de este se van agregando nuevas funciones o procesos.

SISTEMAS DE INFORMACION 8
Los SI estratégicos poseen como objetivo lograr consolidar ventajas que los competidores no
posean, tales como ventajas en costos y servicios diferenciados con clientes y proveedores. Por tal
sentido, se considera que estos SI son creadores de barreras de entrada al negocio. Pero para su
plena efectividad deben apoyarse en un proceso de innovación de productos y procesos dentro de
la organización debido a que buscan la consolidación de ventajas competitivas y una forma de
lograrlo es innovando o creando productos y procesos.

Tendencias Futuras

El uso de la tecnología de información en las empresas se ha incrementado considerablemente y


en un futuro será aún mayor.

Las principales tendencias respectos a los Sistemas de Información son las siguientes.

 La tecnología de información se usará como parte de la estrategia corporativa. Las


empresas de más éxito serán manejadas por personas que sean capaces de desarrollar
aplicaciones estratégicas que proporcionen ventajas competitivas.
 La tecnología será parte del trabajo en equipo de las empresas. Los trabajadores usaran
las computadoras personales conectadas en red, y las fábricas usarán la tecnología para el
diseño y control de la producción.
 Las principales tendencias respectos a los Sistemas de Información son las siguientes:
 El uso de la tecnología transformará a la organización y cambiará su estructura. Como
ejemplo de ello puede verse el uso del correo electrónico.
 La tecnología facilitará la creación de las oficinas virtuales para las personas que requieren
estar en diferentes localidades, permitiendo el uso del correo electrónico y las
conferencias por computadoras.
 La tecnología de información apoyará de manera importante el rediseño de los procesos
de negocios. Las técnicas de reingeniería de proceso continuarán apoyándose en los
sistemas de información.

2.5. Características de los SI

Los SI difieren de cualquier otro software por dos razones principales:

SISTEMAS DE INFORMACION 9
 Almacenan gran cantidad de información.
 Realizan un bajo grado de procesamiento sobre la información, y éste es,
fundamentalmente, de tipo estadístico.

2.6. Elementos de los SI

Un SI está compuesto por seis elementos claramente identificable:

Base de Datos: Es donde se almacena toda la información que se requiere para la toma de
decisiones. La información se organiza en registros específicos e identificables.

Transacciones: Corresponde a todos los elementos de interfaz que permiten al usuario:


consultar, agregar, modificar o eliminar un registro específico de Información.

Informes: Corresponden a todos los elementos de interfaz mediante los cuales el usuario puede
obtener uno o más registros y/o información de tipo estadístico (contar, sumar) de acuerdo a
criterios de búsqueda y selección definidos.

Procesos: Corresponden a todos aquellos elementos que, de acuerdo a una lógica


predefinida, obtienen información de la base de datos y generan nuevos registros de
información. Los procesos sólo son controlados por el usuario (de ahí que aparezca en línea de
puntos).

Usuario: Identifica a todas las personas que interactúan con el sistema, esto incluye desde el
máximo nivel ejecutivo que recibe los informes de estadísticas procesadas, hasta el usuario
operativo que se encarga de recolectar e ingresar la información al sistema.

1
SISTEMAS DE INFORMACION
0
Procedimientos Administrativos: Corresponde al conjunto de reglas y políticas de la organización,
que rigen el comportamiento de los usuarios frente al sistema. Particularmente, debieran asegurar
que nunca, bajo ninguna circunstancia un usuario tenga acceso directo a la Base de Datos.

2.7. Beneficios de los Sistemas de Información

Los beneficios en la implementación de los Sistemas Inteligentes son los siguientes:

 Acceso Rápido a la Información.


 Control efectivo de las actividades de la organización.
 Integración de nuevas tecnologías y herramientas de vanguardia.
 Ayuda a incrementar la efectividad en la operación de las empresas.
 Proporciona ventajas competitivas y valor agregado.
 Elimina la barrera de la distancia trabajando con un mismo sistema en puntos distantes.
 Disminuye errores, tiempo y recursos superfluos.
 Permite comparar resultados alcanzados con los objetivos programados, con fines de
evaluación y control.

2.8. Desventajas de los Sistemas de Información

Las desventajas en la implementación de los Sistemas Inteligentes son los siguientes:

 El tiempo que pueda tomar su implementación.


 La resistencia al cambio de los usuarios.
 Problemas técnicos, si no se hace un estudio adecuado, como fallas de hardware o de
software o funciones implementadas inadecuadamente para apoyar ciertas actividades de
la organización.
 Gran Inversión Inicial

3. La Fase de Codificación de Sistemas


1
SISTEMAS DE INFORMACION
1
3.1. Antecedentes de la Fase de Codificación

Durante esta etapa se realizan las tareas que comúnmente se conocen como programación; que
consiste, esencialmente, en llevar a código fuente, en el lenguaje de programación elegido, todo lo
diseñado en la fase anterior. Esta tarea la realiza el programador, siguiendo por completo los
lineamientos impuestos en el diseño y en consideración siempre a los requisitos funcionales y no
funcionales especificados en la primera etapa.

Es común pensar que la etapa de programación o codificación (algunos la llaman implementación)


es la que insume la mayor parte del trabajo de desarrollo del software; sin embargo, esto puede
ser relativo (y generalmente aplicable a sistemas de pequeño porte) ya que las etapas previas son
cruciales, críticas y pueden llevar bastante más tiempo.

Se suele hacer estimaciones de un 30% del tiempo total insumido en la programación, pero esta
cifra no es consistente ya que depende en gran medida de las características del sistema, su
criticidad y el lenguaje de programación elegido.

En tanto menor es el nivel del lenguaje mayor será el tiempo de programación requerido, así por
ejemplo se tardaría más tiempo en codificar un algoritmo en lenguaje ensamblador que el mismo
programado en lenguaje C.

Mientras se programa la aplicación, sistema, o software en general, se realizan también tareas de


depuración, esto es la labor de ir liberando al código de los errores factibles de ser hallados en
esta fase (de semántica, sintáctica y lógica).

Hay una suerte de solapamiento con la fase siguiente, ya que para depurar la lógica es necesario
realizar pruebas unitarias, normalmente con datos de prueba; claro es que no todos los errores
serán encontrados sólo en la etapa de programación, habrá otros que se encontrarán durante las
etapas subsiguientes.

La aparición de algún error funcional (mala respuesta a los requerimientos) eventualmente puede
llevar a retornar a la fase de diseño antes de continuar la codificación.

1
SISTEMAS DE INFORMACION
2
3.2. Estados del Código

Durante la fase de programación, el código puede adoptar varios estados, dependiendo de la


forma de trabajo y del lenguaje elegido, a saber:

 Código fuente: es el escrito directamente por los programadores en editores de texto, lo


cual genera el programa. Contiene el conjunto de instrucciones codificadas en algún
lenguaje de alto nivel. Puede estar distribuido en paquetes, procedimientos, bibliotecas
fuente, etc.
 Código objeto: es el código binario o intermedio resultante de procesar con un compilador
el código fuente. Consiste en una traducción completa y de una sola vez de éste último. El
código objeto no es inteligible por el ser humano (normalmente es formato binario) pero
tampoco es directamente ejecutable por la computadora. Se trata de una representación
intermedia entre el código fuente y el código ejecutable, a los fines de un enlace final con
las rutinas de biblioteca y entre procedimientos o bien para su uso con un pequeño
intérprete intermedio [a modo de distintos ejemplos véase EUPHORIA, (intérprete
intermedio), FORTRAN (compilador puro) MSIL (Microsoft Intermediate Language)
(intérprete) y BASIC (intérprete puro, intérprete intermedio, compilador intermedio o
compilador puro, depende de la versión utilizada)].
o El código objeto no existe si el programador trabaja con un lenguaje a modo de
intérprete puro, en este caso el mismo intérprete se encarga de traducir y ejecutar
línea por línea el código fuente (de acuerdo al flujo del programa), en tiempo de
ejecución. En este caso tampoco existe el o los archivos de código ejecutable. Una
desventaja de esta modalidad es que la ejecución del programa o sistema es un
poco más lenta que si se hiciera con un intérprete intermedio, y bastante más
lenta que si existe el o los archivos de código ejecutable. Es decir no favorece el
rendimiento en velocidad de ejecución. Pero una gran ventaja de la modalidad
intérprete puro, es que el esta forma de trabajo facilita enormemente la tarea de
depuración del código fuente (frente a la alternativa de hacerlo con un compilador
puro). Frecuentemente se suele usar una forma mixta de trabajo (si el lenguaje de
programación elegido lo permite), es decir inicialmente trabajar a modo de
intérprete puro, y una vez depurado el código fuente (liberado de errores) se

1
SISTEMAS DE INFORMACION
3
utiliza un compilador del mismo lenguaje para obtener el código ejecutable
completo, con lo cual se agiliza la depuración y la velocidad de ejecución se
optimiza.
 Código ejecutable: Es el código binario resultado de enlazar uno o más fragmentos de
código objeto con las rutinas y bibliotecas necesarias. Constituye uno o más archivos
binarios con un formato tal que el sistema operativo es capaz de cargarlo en la memoria
RAM (eventualmente también parte en una memoria virtual), y proceder a su ejecución
directa. Por lo anterior se dice que el código ejecutable es directamente «inteligible por la
computadora». El código ejecutable, también conocido como código máquina, no existe si
se programa con modalidad de «intérprete puro».

4. Los Lenguajes de Programación

4.1. Historia de los Lenguajes de Programación

Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de programarlas, es


decir, de almacenar en memoria la información sobre la tarea que iban a ejecutar. Las primeras se
usaban como calculadoras simples; se les indicaban los pasos de cálculo, uno por uno.

John Von Neumann desarrolló el modelo que lleva su nombre, para describir este concepto de
"programa almacenado". En este modelo, se tiene una abstracción de la memoria como un
conjunto de celdas, que almacenan simplemente números. Estos números pueden representar
dos cosas: los datos, sobre los que va a trabajar el programa; o bien, el programa en sí.

¿Cómo es que describimos un programa como números? Se tenía el problema de representar las
acciones que iba a realizar la computadora, y que la memoria, al estar compuesta por switches
correspondientes al concepto de bit, solamente nos permitía almacenar números binarios.

La solución que se tomó fue la siguiente: a cada acción que sea capaz de realizar nuestra
computadora, asociarle un número, que será su código de operación (opcode). Por ejemplo, una
calculadora programable simple podría asignar los opcodes:

1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.

1
SISTEMAS DE INFORMACION
4
Supongamos que queremos realizar la operación 5 * 3 + 2, en la calculadora descrita arriba. En
memoria, podríamos "escribir" el programa de la siguiente forma:

Podemos ver que con esta representación, es simple expresar las operaciones de las que es capaz
el hardware (en este caso, nuestra calculadora imaginaria), en la memoria.

La descripción y uso de los opcodes es lo que llamamos lenguaje de máquina. Es decir, la lista de
códigos que la máquina va a interpretar como instrucciones, describe las capacidades de
programación que tenemos de ella; es el lenguaje más primitivo, depende directamente del
hardware, y requiere del programador que conozca el funcionamiento de la máquina al más bajo
nivel.

Los lenguajes más primitivos fueron los lenguajes de máquina. Esto, ya que el hardware se
desarrolló antes del software, y además cualquier software finalmente tiene que expresarse en el
lenguaje que maneja el hardware.

La programación en esos momentos era sumamente tediosa, pues el programador tenía que
"bajarse" al nivel de la máquina y decirle, paso a paso, cada punto de la tarea que tenía que
realizar. Además, debía expresarlo en forma numérica; y por supuesto, este proceso era propenso
a errores, con lo que la productividad del programador era muy limitada. Sin embargo, hay que
recordar que en estos momentos, simplemente aún no existía alternativa.

El primer gran avance que se dio fue la abstracción dada por el Lenguaje Ensamblador, y con él, el
nacimiento de las primeras herramientas automáticas para generar el código máquina. Esto redujo
los errores triviales, como podía ser el número que correspondía a una operación, que son
sumamente engorrosos y difíciles de detectar, pero fáciles de cometer. Sin embargo, aún aquí es
fácil para el programador perderse y cometer errores de lógica, pues debe bajar al nivel de la
forma en que trabaja el CPU, y entender bien todo lo que sucede dentro de él.

Con el desarrollo en los 50 y 60 de algoritmos de más elevado nivel, y el aumento de poder del
hardware, empezaron a entrar al uso de computadoras científicos de otras ramas; ellos conocían
mucho de Física, Química y otras ramas similares, pero no de Computación, y por supuesto, les era
sumamente complicado trabajar con lenguaje Ensamblador en vez de fórmulas. Así, nació el
concepto de Lenguaje de Alto Nivel, con el primer compilador de FORTRAN (FORmula
1
SISTEMAS DE INFORMACION
5
TRANslation), que, como su nombre indica, inició como un "simple" esfuerzo de traducir un
lenguaje de fórmulas, al lenguaje ensamblador y por consiguiente al lenguaje de máquina. A partir
de FORTRAN, se han desarrollado innumerables lenguajes, que siguen el mismo concepto: buscar
la mayor abstracción posible, y facilitar la vida al programador, aumentando la productividad,
encargándose los compiladores o intérpretes de traducir el lenguaje de alto nivel, al lenguaje de
computadora. Hay que notar la existencia de lenguajes que combinan características de los de alto
nivel y los de bajo nivel (es decir, Ensamblador).

4.2. Definición de Lenguajes de Programación

Un lenguaje de programación es un idioma artificial diseñado para expresar procesos que pueden
ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas
que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con
precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y
reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y
expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el
código fuente de un programa informático se le llama programación.

También la palabra programación se define como el proceso de creación de un programa de


computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:

 El desarrollo lógico del programa para resolver un problema en particular.


 Escritura de la lógica del programa empleando un lenguaje de programación específico
(codificación del programa).
 Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
 Prueba y depuración del programa.
 Desarrollo de la documentación.

Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje
informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más,
como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un

1
SISTEMAS DE INFORMACION
6
lenguaje de programación, sino un conjunto de instrucciones que permiten diseñar el contenido
de los documentos).

Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo
deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de
circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al
lenguaje humano o natural.

Una característica relevante de los lenguajes de programación es precisamente que más de un


programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos
para realizar la construcción de un programa de forma colaborativa.

5. Una Vista Rápida a las Arquitecturas de Programación

5.1. La Programación Por Capas

Cuando se construye software como producto empresarial o comercial, se llevan a cabo varias
técnicas de manera que el desarrollo se haga en forma ordenada y así poder asegurar un avance
continuo del proyecto, un producto final de calidad, y además realizar posteriores mejoras sea una
tarea más fácil.

Existen muchas prácticas de programación, dependiendo del tipo de software que se va a


desarrollar y de la disciplina o disciplinas de programación que se utilicen en el desarrollo del
producto. Una de las más utilizadas se llama la programación por capas, que consiste en dividir el
código fuente según su funcionalidad principal.

La programación por capas es una arquitectura cliente-servidor en el que el objetivo primordial es


la separación de la lógica de negocios de la lógica de diseño; un ejemplo básico de esto consiste en
separar la capa de datos de la capa de presentación al usuario.

1
SISTEMAS DE INFORMACION
7
La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios niveles y, en
caso de que sobrevenga algún cambio, sólo se ataca al nivel requerido sin tener que revisar entre
código mezclado. Un buen ejemplo de este método de programación sería el modelo de
interconexión de sistemas abiertos.

Además, permite distribuir el trabajo de creación de una aplicación por niveles; de este modo,
cada grupo de trabajo está totalmente abstraído del resto de niveles, de forma que basta con
conocer la API que existe entre niveles.

En el diseño de sistemas informáticos actual se suelen usar las arquitecturas multinivel o


Programación por capas. En dichas arquitecturas a cada nivel se le confía una misión simple, lo que
permite el diseño de arquitecturas escalables (que pueden ampliarse con facilidad en caso de que
las necesidades aumenten).

El diseño más utilizado actualmente es el diseño en tres niveles (o en tres capas).

5.2. La Programación Por Niveles

1
SISTEMAS DE INFORMACION
8
 Capa de presentación: es la que ve el usuario (también se la denomina "capa de usuario"),
presenta el sistema al usuario, le comunica la información y captura la información del
usuario en un mínimo de proceso (realiza un filtrado previo para comprobar que no hay
errores de formato). También es conocida como interfaz gráfica y debe tener la
característica de ser "amigable" (entendible y fácil de usar) para el usuario. Esta capa se
comunica únicamente con la capa de negocio.
La presentación del programa ante el usuario, debe manejar interfaces que cumplan con
el objetivo principal de este componente, el cual es facilitar al usuario la interacción con la
aplicación. Para esto se utilizan patrones predefinidos para cada tipo de aplicación y para
cada necesidad del usuario. La interfaz debe ser amigable y fácil de utilizar, ya que el
usuario final es el que se va a encargar de utilizar el sistema y de dar retroalimentación al
equipo de desarrollo en caso de que haya algo que mejorar.
Las interfaces deben ser consistentes con la información que se requiere, no se deben
utilizar más campos de los necesarios, así como la información requerida tiene que ser
especificada de manera clara y concisa, no debe haber más que lo necesario en cada
formulario y por último, las interfaces deben satisfacer los requerimientos del usuario, por
lo cual no se debe excluir información solicitada por el usuario final y no se debe incluir
información no solicitada por el mismo.
Dentro de la parte técnica, la capa de presentación contiene los objetos encargados de
comunicar al usuario con el sistema mediante el intercambio de información, capturando
y desplegando los datos necesarios para realizar alguna tarea. En esta capa los datos se
procesan de manera superficial por ejemplo, para determinar la validez de su formato o
para darles algún orden específico.
Esta capa se comunica únicamente con la capa de Reglas de Negocio o Control.
 Capa de negocio: es donde residen los programas que se ejecutan, se reciben las
peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de
negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las
reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para
recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al
gestor de base de datos almacenar o recuperar datos de él. También se consideran aquí
los programas de aplicación.

1
SISTEMAS DE INFORMACION
9
Es llamada capa de reglas de negocio porque en esta se definen todas las reglas que se
deben cumplir para una correcta ejecución del programa.

Es aquí donde se encuentra toda la lógica del programa, así como las estructuras de datos
y objetos encargados para la manipulación de los datos existentes, así como el
procesamiento de la información ingresada o solicitada por el usuario en la capa de
presentación.

Representa el corazón de la aplicación ya que se comunica con todas las demás capas
para poder llevar a cabo las tareas. Por ejemplo, mediante la capa de presentación obtiene
la información ingresada por el usuario, y despliega los resultados. Si la aplicación se
comunica con otros sistemas que actúan en conjunto, lo hace mediante esta capa.
También se comunica con la capa de datos para obtener información existente o ingresar
nuevos datos.

Recibe los datos que ingresó el usuario del sistema mediante la capa de presentación,
luego los procesa y crea objetos según lo que se necesite hacer con estos datos; esta
acción se denomina encapsulamiento.

Al encapsular los datos, el programa asegura mantener la consistencia de los mismos, así
como obtener información precisa de las bases de datos e ingresar en las mismas,
solamente la información necesaria, asegurando así no tener datos duplicados ni en las
bases de datos, ni en los reportes solicitados por el usuario.

 Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Está
formada por uno o más gestores de bases de datos que realizan todo el almacenamiento
de datos, reciben solicitudes de almacenamiento o recuperación de información desde la
capa de negocio.
Es la encargada de realizar transacciones con bases de datos y con otros sistemas para
obtener o ingresar información al sistema.
El manejo de los datos debe realizarse de forma tal que haya consistencia en los mismos,
de tal forma los datos que se ingresan así como los que se extraen de las bases de datos,
deben ser consistentes y precisos.

2
SISTEMAS DE INFORMACION
0
Es en esta capa donde se definen las consultas a realizar en la base de datos, tanto las
consultas simples como las consultas complejas parla generación de reportes más
específicos.

Esta capa envía la información directamente a la capa de reglas de negocio para que sea
procesada e ingresada en objetos según se necesite, esta acción se denomina
encapsulamiento.

Todas estas capas pueden residir en un único ordenador, si bien lo más usual es que haya una
multitud de ordenadores en donde reside la capa de presentación (son los clientes de la
arquitectura cliente/servidor). Las capas de negocio y de datos pueden residir en el mismo
ordenador, y si el crecimiento de las necesidades lo aconseja se pueden separar en dos o más
ordenadores. Así, si el tamaño o complejidad de la base de datos aumenta, se puede separar en
varios ordenadores los cuales recibirán las peticiones del ordenador en que resida la capa de
negocio.

Si, por el contrario, fuese la complejidad en la capa de negocio lo que obligase a la separación, esta
capa de negocio podría residir en uno o más ordenadores que realizarían solicitudes a una única
base de datos.

En sistemas muy complejos se llega a tener una serie de ordenadores sobre los cuales corre la
capa de negocio, y otra serie de ordenadores sobre los cuales corre la base de datos.

En una arquitectura de tres niveles, los términos "capas" y "niveles" no significan lo mismo ni son
similares:

El término "capa" hace referencia a la forma como una solución es segmentada desde el punto de
vista lógico:

 Presentación. (Conocida como capa Web)


 Lógica de Negocio. (Conocida como capa Aplicativa)
 Datos. (Conocida como capa de Base de Datos)

En cambio, el término "nivel" corresponde a la forma en que las capas lógicas se encuentran
distribuidas de forma física. Por ejemplo:

2
SISTEMAS DE INFORMACION
1
 Una solución de tres capas (presentación, lógica del negocio, datos) que residen en un solo
ordenador (Presentación + lógica + datos). Se dice que la arquitectura de la solución es de
tres capas y un nivel.
 Una solución de tres capas (presentación, lógica del negocio, datos) que residen en dos
ordenadores (presentación + lógica por un lado; lógica + datos por el otro lado). Se dice
que la arquitectura de la solución es de tres capas y dos niveles.

La programación en capas no es una técnica rígida que debe implementarse solamente de una
forma, sino que los desarrolladores de proyectos tienen múltiples maneras de implementarla
según las tecnologías y tendencias que se utilicen.

La satisfacción de los requerimientos del usuario es la base para escoger el modelo de


implementación a seguir. La tendencia a utilizar el modelo de programación en capas es grande
cuando se trata principalmente de aplicaciones empresariales donde se deben manejar gran
cantidad de subsistemas y módulos, así como generar reportes lo suficientemente complejos
como para necesitar un orden estricto a la hora de desarrollar el proyecto.

Dentro del concepto de programación en capas, existen dos términos esenciales para el mejor
entendimiento de los conceptos relativos a esta metodología, es aquí donde radica la importancia
de la cohesión y el acoplamiento dentro de una aplicación generada mediante este método.

Cohesión:

Este término es utilizado para describir el comportamiento que deben tener los módulos y objetos
de un sistema o subsistema, comportamiento que describe la forma en que deben trabajar los
objetos y módulos entre si, con alta cohesión para que trabajando en conjunto los módulos y
objetos puedan alcanzar un solo propósito de manera más eficaz y rápida.

Determina que las operaciones de un objeto deben trabajar en conjunto para alcanzar un
propósito común. Es deseable que haya alta cohesión.

Acoplamiento:

2
SISTEMAS DE INFORMACION
2
Se refiere al grado de dependencia que existe entre los módulos. Este grado de dependencia
debe ser considerablemente bajo ya que el trabajo se divide en módulos para que cada uno tenga
un funcionamiento específico y puede ser más factible la implementación por separado de cada
uno. En caso de haber alto acoplamiento entre módulos no se estaría alcanzando el principal
objetivo de este modelo, el cual es dividir una tarea grande en varias pequeñas, ya que los
módulos actuarían como uno solo al estar altamente acoplados entre sí y se perdería el objetivo
primordial de dividir el proyecto.

6. Estilos vs Normas de Codificación

6.1. Estilos de Codificación

La persona cuyo trabajo y pasión es programar desarrolla con los años sus propias técnicas y
prácticas, con las cuales tiene un estándar personalizado que le ayuda a llevar el control de sus
proyectos. Es el estilo del programador.

Se pueden encontrar diversas modalidades y metodologías en internet, frecuentemente, todas


están orientadas al trabajo en equipo o equipos de desarrollo grandes, dejando de lado técnicas y
prácticas que puedan ser útiles para un desarrollador individual.

El estilo de programación (también llamado estándares de código o convención de código) es un


término que describe convenciones para escribir código fuente en ciertos lenguajes de
programación. El estilo de programación es frecuentemente dependiente del lenguaje de
programación que se haya elegido para escribir.

No hay mejor documentación interna que el propio código. No hay comentario que arregle un
código ilegible, y la legibilidad es un atributo de calidad de primer orden.

Esto es así porque, en la mayoría de los casos, un programa se lee muchas más veces de las que se
lo edita. Por eso, debemos entender que programar es mucho más una tarea de comunicación con
otras personas que una comunicación con una computadora.

2
SISTEMAS DE INFORMACION
3
Por todo eso es importante respetar estándares de codificación – oficiales o no, pero que se siga
un estándar – y lograr que la estructura del código fuente refleje la estructura lógica del programa.

En primer lugar, si lo que queremos es comunicarnos con otras personas, deberíamos seguir las
recomendaciones que desde hace siglos existen sobre cómo escribir bien.

Por ejemplo, cuando escribimos un libro, utilizamos un sin número de ayudas para el lector:
espacios en blanco, signos de puntuación, sangrías, renglones en blanco, títulos de distintos
niveles, paréntesis, etc. Con todo esto tratamos de que el lector capte el sentido de lo que
queremos decir.

Cuando escribimos programas también podemos utilizar este tipo de ayudas al lector, y de hecho
es conveniente que lo hagamos. Tenemos ayudas posibles como sangrías, paréntesis innecesarios
pero convenientes, nombres claros, líneas en blanco, separación de partes con caracteres
especiales, encabezados de módulos de distintos niveles, etc.

Otra cosa que podemos hacer es contextualizar lo que escribimos, separando adecuadamente
niveles de lectura.

A continuación se lista algunas prácticas, propios de un estilo bastante “elegante”:

 Nombres o nomenclatura: Debemos colocar nombres descriptivos a las variables,


procedimientos o funciones que escribamos. Generalmente el nombre para un
procedimiento o función debe indicar la acción que realiza, es decir debe contener un
verbo algo así como Listar o Grabar. Si se utilizan clases (deberíamos utilizar clases) los
nombres no deberían repetir el nombre de la clase, es decir en vez de ListarLibros en una
clase Libro, debería decir Listar. Las variables deberían describir en su nombre lo que
almacenan, digamos Promedio o Suma o ValorMáximo. Si son de tipo Boolean debería
tener un nombre similar a EsTipo o EsMayor. Y las constantes utilizar guiones bajos tal
como FORMATO_FECHA_LARGA.

Respecto de las tablas normalmente se coloca el nombre del ítem que va a almacenar, en
singular (LIBRO, CUENTA, BANCO). Y en las columnas el nombre sin incluir el de la tabla.

2
SISTEMAS DE INFORMACION
4
Para los procedimientos almacenados no utilizar sp_ o sp solo el nombre por ejemplo
Libro_Modificar.

 Comentarios. La documentación externa que es para los usuarios y la interna que es para
el mismo programador siempre queda al último en las tareas de realizar un sistema. Al
menos debemos realizar la interna, que nos ayudará en el futuro a poder realizar
modificaciones. Al principio de cada formulario, indicando que realiza cada formulario y al
inicio de cada procedimiento o función, evitando comentar formularios o funciones para
los cuales es obvio la funcionalidad. Tampoco hay que exagerar.
 Formato. Utilizar mayúsculas o minúsculas depende de cada uno, por ejemplo se puede
utilizar mayúsculas para la primera letra del nombre y el resto en minúsculas, excepto para
las constantes que todo el nombre está en mayúsculas. En SQL Server sería mejor que los
nombres de objetos como tablas, columnas o procedimientos estén en mayúsculas, y cada
parte de la sentencia arreglarla para que quepa en una línea.

Los saltos de línea, o indentaciones (significa mover un bloque de texto hacia la derecha
insertando espacios o tabuladores, para así separarlo del margen izquierdo y mejor
distinguirlo del texto adyacente) generalmente son automáticamente realizados por el

editor, si no es el caso, hay que hacerlas de tal manera que por la indentación se pueda
distinguir entre el inicio de un bucle y el inicio de otro.

 Programación. Utilizar variables con el tipo de datos adecuado para lo que van a
almacenar. Mantener el alcance de las variables lo más corto posible. Evitar usar variables
globales. Las variables deben ser creadas con una sola función, para los procedimientos
esto también aplica, hay que evitar crear funciones multipropósito. Evitar tener abierta la
conexión a la base de datos más tiempo del necesario, y usar niveles de seguridad para
acceder a ella.

Incluir rutinas de manejo de errores. En vez de varios IF...THEN utilizar SWITCH o


SELECT...CASE. Liberar referencias a objetos, explícitamente, no hay que dejarle el trabajo
al Windows, sabemos que no es muy confiable.

2
SISTEMAS DE INFORMACION
5
Para consultas SQL, evitar utilizar un SELECT *, indicar que columnas se van a recuperar.
Usar procedimientos almacenados en vez de consultas directas.

6.2. Técnicas de Codificación

Las técnicas de codificación incorporan muchos aspectos del desarrollo del software. Aunque
generalmente no afectan a la funcionalidad de la aplicación, sí contribuyen a una mejor
compresión del código fuente. En esta fase se tienen en cuenta todos los tipos de código fuente,
incluidos los lenguajes de programación, de secuencias de comandos, de marcado o de consulta.

Las técnicas de codificación aquí definidas no pretenden formar un conjunto inflexible de


estándares de codificación. Más bien intentan servir de guía en el desarrollo de un estándar de
codificación para un proyecto específico de software.

Las técnicas de codificación están divididas en tres secciones:

 Nombres
 Comentarios
 Formato

NOMBRES

El esquema de nombres es una de las ayudas más importantes para entender el flujo lógico de una
aplicación. Un nombre debe más bien expresar el "qué" que el "cómo". Si evita nombres que se
refieran a la implementación subyacente (sujeta a cambios), estará conservando un grado de
abstracción que lo simplificará todo. Por ejemplo, puede usar GetNextStudent() en vez de
GetNextArrayElement().

El interés de poner un nombre es que la dificultad para escoger uno adecuado puede indicar que
se necesita analizar o definir con mayor precisión el propósito de un elemento. Ponga nombres lo
suficientemente largos para que sean elocuentes, pero lo bastante cortos como para que no
pequen de palabrería. Desde el punto de vista de la programación, un nombre único sirve
solamente para diferenciar un elemento de otro. Los nombres expresivos funcionan como ayuda

2
SISTEMAS DE INFORMACION
6
para el lector, por eso, es lógico dar nombres que sean fáciles de comprender. No obstante,
asegúrese de que los nombres escogidos sean compatibles con las reglas de cada lenguaje y con
los estándares.

Los siguientes puntos son técnicas de nomenclatura recomendadas.

Rutinas

 Evite nombres imprecisos que permitan interpretaciones subjetivas, como por ejemplo
AnalyzeThis() para una rutina, o bien xxK8 para una variable. Tales nombres contribuyen
más a la ambigüedad que a la abstracción.
 En lenguajes orientados a objetos es redundante incluir nombres de clases en el nombre
de las propiedades de clases, como por ejemplo Book.BookTitle. En su lugar, utilice
Book.Title.
 Use el método verbo-sustantivo para dar nombre a las rutinas que ejecuten alguna
operación en un determinado objeto, como por ejemplo CalculateInvoiceTotal().
 En lenguajes que permitan sobrecarga de funciones, todas las sobrecargas deberían llevar
a cabo una función similar. Para los lenguajes que no permitan la sobrecarga de funciones,
establezca una nomenclatura estándar relacionada con funciones similares.

Variables

 Añada calificadores de computación (Avg, Sum, Min, Max, Index) después de un nombre
de variable donde le resulte apropiado.
 Utilice pares complementarios en nombres de variables, como min/max, begin/end, y
open/close.
 Dado que la mayoría de nombres se construyen concatenando varias palabras, emplee
una mezcla de mayúsculas y minúsculas para simplificar la lectura. Además, para ayudar a
distinguir entre variables y rutinas, utilice el método Pascal de mayúsculas y minúsculas
(CalculateInvoiceTotal) para los nombres de rutinas, en el que la primera letra de cada
palabra está en mayúscula. Para las variables, ponga la primera letra de cada palabra en
mayúscula, exceptuando la primera (documentFormatType).
 Los nombres de variables booleanas deberían contener Is, lo que implica valores del tipo
Yes/No o True/False, como por ejemplo fileIsFound.

2
SISTEMAS DE INFORMACION
7
 Evite usar términos del tipo Flag cuando ponga nombre a variables de estado, que difieren
de las variables booleanas en que aquéllas deben tener más de dos valores posibles. En
vez de documentFlag, utilice un nombre más descriptivo, del tipo documentFormatType.
 Incluso para el caso de una variable de poco uso, que deba aparecer sólo en unas cuantas
líneas de código, emplee un nombre descriptivo. Utilice nombres de variables de una sola
letra, como i o j sólo para índices cortos.
 No utilice números o cadenas literales, como por ejemplo For i = 1 To 7. En su lugar,
emplee constantes con nombre, del tipo For i = 1 To NUM_DAYS_IN_WEEK para que
resulten fáciles de mantener y comprender.

Tablas

 Cuando ponga nombres a tablas, hágalo en singular. Por ejemplo, use Employee en lugar
de Employees.
 Cuando ponga nombre a las columnas de las tablas, no repita el nombre de la tabla; por
ejemplo, evite un campo llamado EmployeeLastName de una tabla llamada Employee.
 No incorpore el tipo de datos en el nombre de una columna. Así reducirá el esfuerzo que
podría ser necesario posteriormente para cambiar el tipo de datos.

Microsoft SQL Server

 No ponga prefijos sp a los procedimientos almacenados, ya que se trata de un prefijo


reservado para la identificación de procedimientos almacenados de sistemas.
 No ponga prefijos fn_ a las funciones definidas por el usuario, ya que se trata de un prefijo
reservado para funciones integradas.
 No ponga prefijos xp_a los procedimientos almacenados extendidos, ya que se trata de un
prefijo reservado para la identificación de procedimientos almacenados extendidos.

Varios

 Minimice el uso de abreviaturas; pero si las emplea, use coherentemente las que haya
creado. Una abreviatura sólo debe tener un significado y, del mismo modo, a cada palabra
abreviada sólo debe corresponder una abreviatura. Por ejemplo, si utiliza "min." para
abreviar "mínimo", hágalo siempre así, y no use también "min." para abreviar "minuto".

2
SISTEMAS DE INFORMACION
8
 Cuando ponga nombre a las funciones, incluya una descripción del valor que vaya a ser
devuelto, como por ejemplo GetCurrentWindowName().
 Los archivos y los nombres de carpetas, al igual que los nombres de procedimientos,
deben describir claramente su finalidad.
 Evite reutilizar nombres para elementos diferentes, como por ejemplo una rutina llamada
ProcessSales() y una variable iProcessSales.
 Evite los homónimos, como write y right, para evitar confusiones durante las revisiones
del código.
 Al dar nombre a los elementos, evite las palabras mal escritas comúnmente. Tenga
también cuidado con las diferencias que existen entre las diferentes variedades regionales
del idioma.
 Evite las marcas tipográficas para identificar tipos de datos, como $ para las cadenas, o %
para los enteros.

COMENTARIOS

Existen dos tipos de documentación de software: externa e interna. La documentación externa,


como por ejemplo las especificaciones, los archivos de ayuda y los documentos de diseño, se
mantiene fuera del código fuente. La documentación interna está formada por los comentarios
que los programadores escriben dentro del código fuente durante la fase de desarrollo.

Pese a la disponibilidad de la documentación externa, debe contarse con listados independientes


del código fuente, por si se perdiera la documentación de recuperación impresa. La
documentación externa puede constar de especificaciones, documentos de diseño, peticiones de
cambios, historial de errores y el estándar de codificación empleado.

Uno de los problemas de la documentación de software interna es garantizar que se mantienen y


actualizan los comentarios al mismo tiempo que el código fuente. Aunque unos buenos
comentarios en el código fuente no tienen ningún valor en el tiempo de ejecución, resultan
valiosísimos para un programador que tenga que mantener una parte de software particularmente
intrincada o compleja.

Los siguientes puntos son técnicas de comentarios recomendadas.

2
SISTEMAS DE INFORMACION
9
 Si programa en C#, utilice la función de documentación XML. Para obtener más
información, vea Documentación XML.
 Cuando modifique el código, mantenga siempre actualizados los comentarios
circundantes.
 Al principio de cada rutina, resulta útil hacer comentarios estándar, repetitivos, que
indiquen el propósito de la rutina, las suposiciones y las limitaciones. Un comentario
repetitivo podría consistir en una breve introducción que explicara por qué existe y qué
puede hacer.
 Evite añadir comentarios al final de una línea de código, porque lo hacen más difícil de
leer. Sin embargo, los comentarios de final de línea sí son apropiados al anotar
declaraciones de variables. En este caso, alinee todos los comentarios de final de línea en
la misma posición de tabulación.
 Evite los comentarios recargados, como las líneas enteras de asteriscos. En su lugar, utilice
espacios para separar los comentarios y el código.
 Evite rodear un bloque de comentarios con un marco tipográfico. Puede resultar
agradable, pero es difícil de mantener.
 Antes de la implementación, quite todos los comentarios temporales o innecesarios, para
evitar cualquier confusión en la futura fase de mantenimiento.
 Si necesita realizar comentarios para explicar una sección de código compleja, examine el
código para decidir si debería volver a escribirlo. Siempre que sea posible, no documente
un código malo, vuelva a escribirlo. Aunque, por regla general, no debe sacrificarse el
rendimiento para hacer un código más simple para el usuario, es indispensable un
equilibrio entre rendimiento y mantenibilidad.
 Use frases completas cuando escriba comentarios. Los comentarios deben aclarar el
código, no añadirle ambigüedad.
 Vaya comentando al mismo tiempo que programa, porque probablemente no tenga
tiempo de hacerlo más tarde. Por otro lado, aunque tuviera oportunidad de revisar el
código que ha escrito, lo que parece obvio hoy es posible que seis semanas después no lo
sea.
 Evite comentarios superfluos o inapropiados, como comentarios divertidos al margen.

3
SISTEMAS DE INFORMACION
0
 Use los comentarios para explicar el propósito del código. No los use como si fueran
traducciones interlineales.
 Comente cualquier cosa que no sea legible de forma obvia en el código.
 Para evitar problemas recurrentes, haga siempre comentarios al depurar errores y
solucionar problemas de codificación, especialmente cuando trabaje en equipo.
 Haga comentarios en el código que esté formado por bucles o bifurcaciones lógicas. Se
trata en estos casos de áreas clave que ayudarán a los lectores del código fuente.
 Realice los comentarios en un estilo uniforme, respetando una puntuación y estructura
coherentes a lo largo de toda la aplicación.
 Separe los comentarios de sus delimitadores mediante espacios. Si respeta estas normas,
los comentarios serán más claros y fáciles de localizar si trabaja sin indicaciones de color.

FORMATO

El formato hace que la organización lógica del código sea más clara. Si toma el tiempo de
comprobar que el código fuente posee un formato coherente y lógico, les resultará de gran
utilidad a usted y a otros programadores que tengan que descifrarlo.

Los siguientes puntos son técnicas de formato recomendadas.

 Establezca un tamaño estándar de sangría (por ejemplo, cuatro espacios) y úselo siempre.
Alinee las secciones de código mediante la sangría predeterminada.
 Use un único tipo de letra cuando publique versiones impresas del código fuente.
 Alinee verticalmente las llaves de apertura y cierre donde los pares de llaves se alinean,
como por ejemplo en:

También puede usar un estilo inclinado, en el que las llaves de apertura aparezcan al final
de la línea y las de cierre al principio, como por ejemplo en:

3
SISTEMAS DE INFORMACION
1
Sea cual sea el estilo que escoja, úselo siempre en todo el código fuente.
 Aplique una sangría al código en todas las líneas de construcción lógica. Si no aplica la
sangría, el código resulta difícil de seguir, como ocurre en:

La sangría aplicada al código hace que éste sea más fácil de leer, como por ejemplo en:

 Establezca una longitud de línea máxima para los comentarios y el código. Así no tendrá
que desplazarse en el editor del código fuente, y conseguirá presentaciones impresas
claras.
 Utilice espacios antes y después de los operadores siempre que eso no altere la sangría
aplicada al código. Una excepción es, por ejemplo, la pointer notation usada en C++.
 Use espacios en blanco para proporcionar indicaciones organizativas del código fuente.
Así, creará "párrafos" de código, que ayudarán al lector a comprender la segmentación
lógica del software.
 Cuando tenga que dividir una línea en varias, aclare que el código sigue en la línea de más
abajo mediante un operador de concatenación colocado al final de cada línea, y no al
principio.
 Siempre que sea posible, no coloque más de una instrucción por línea. Una excepción es
un bucle en C, C++, C#, o JScript, como en for (i = 0; i < 100; i++).

3
SISTEMAS DE INFORMACION
2
 Al escribir en HTML, establezca un formato estándar para las etiquetas y los atributos;
como por ejemplo, las etiquetas siempre en mayúscula y los atributos en minúscula. Como
alternativa, siga las convenciones de la especificación XHTML para asegurarse de que los
documentos HTML son válidos. Aunque existe una tamaño razonable que debe tenerse en
cuenta a la hora de crear páginas Web, utilice valores de atributo entre comillas y
etiquetas de cierre, para una mejor mantenibilidad.
 Cuando escriba instrucciones SQL utilice mayúsculas para las palabras clave y mayúsculas y
minúsculas para los elementos de la base de datos, como tablas, columnas y vistas.
 Divida el código fuente de manera lógica entre diferentes archivos.

 Coloque las cláusulas SQL principales en líneas separadas, de modo que las instrucciones
sean más fáciles de leer y editar. Por ejemplo:

 Divida las secciones de código grandes y complejas en otras más pequeñas y


comprensibles.

7. Base de Datos

Base de Datos es un conjunto exhaustivo no redundante de datos estructurados organizados


independientemente de su utilización y su implementación en máquina accesibles en tiempo real
y compatibles con usuarios concurrentes con necesidad de información diferente y no predicable
en tiempo.

Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos
de manera estructurada, con la menor redundancia posible. Diferentes programas y diferentes
usuarios deben poder utilizar estos datos. Por lo tanto, el concepto de base de datos
generalmente está relacionado con el de red ya que se debe poder compartir esta información. De
allí el término base. "Sistema de información" es el término general utilizado para la estructura
global que incluye todos los mecanismos para compartir datos que se han instalado.

3
SISTEMAS DE INFORMACION
3
Una base de datos proporciona a los usuarios el acceso a datos, que pueden visualizar, ingresar o
actualizar, en concordancia con los derechos de acceso que se les hayan otorgado. Se convierte
más útil a medida que la cantidad de datos almacenados crece.

Una base de datos puede ser local, es decir que puede utilizarla sólo un usuario en un equipo, o
puede ser distribuida, es decir que la información se almacena en equipos remotos y se puede
acceder a ella a través de una red.

La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden acceder a ellas al
mismo tiempo.

7.1. Administración de Base de Datos

Rápidamente surgió la necesidad de contar con un sistema de administración para controlar tanto
los datos como los usuarios. La administración de bases de datos se realiza con un sistema llamado
DBMS (Database management system [Sistema de administración de bases de datos]). El DBMS es
un conjunto de servicios (aplicaciones de software) para administrar bases de datos, que permite:

 Un fácil acceso a los datos


 Acceso a la información por parte de múltiples usuarios
 Manipulación de los datos encontrados en la base de datos (insertar, eliminar, editar).

Los principales sistemas de administración de bases de datos son:

 Borland Paradox
 Filemaker
 IBM DB2
 Ingres
 Interbase
 Microsoft SQL server
 Microsoft Access
 Microsoft FoxPro
 Oracle

3
SISTEMAS DE INFORMACION
4
 Sybase
 MySQL
 PostgreSQL
 mSQL

3
SISTEMAS DE INFORMACION
5

También podría gustarte