jueves, 16 de febrero de 2012

Programación estructurada.



La programación estructurada es una técnica de escritura de programas informáticos la cual utiliza para desarrollar la solución de los problemas tres estructuras básicas:
  1. Secuencia
  2. Selección
  3. Iteración
El uso de estas estructuras hace que otras como GOTO, EXIT o FUNCTION se vuelvan obsoleto por lo que el uso de “instrucciones de transferencia incondicional” es remplazado por las tres estructuras mencionadas.
El teorema del programa estructurado demuestra que la solución a todo problema puede ser hallada mediante el uso de tres estructuras de control siguientes:

Estructura secuencial

Se dice que una estructura de programa es secuencial cuando todas sus instrucciones son ejecutadas una detrás de otra y en ningún momento una instrucción no se ejecuta hasta el termino de la anterior.

Estructura selectiva

En este tipo de estructuras el programa puede tener dos caminos posibles para llegar a la mejor solución, pero al ejecutarse el algoritmo llegará a un punto donde deba decidir cual sera el que lo lleve a la solución óptima; esto mediante el cumplimiento de condiciones lógicas. Cabe mencionar que de las dos opciones el programa solo puede tomar uno; el que sea mas viable.

Estructura iterativa

Este tipo de estructura plantea una o varias operaciones que se ejecutaran una y otra vez hasta que se cumpla una condición que la detendrá y mostrara un resultado. El número de iteraciones estará determinado por en cambio en la condición la cual se encuentra dentro del mismo bucle.
Básicamente se pueden escribir dos tipos de iteraciones, las llamadas “mientras que” y las llamadas “hasta que”. La diferencia entre ellas es que la primera realiza la comprobación antes de realizar el proceso y el segundo realiza el proceso y después comprueba la condición y decide si volver hacer el proceso o continuar el camino.

Fases del diseño de un programa estructurado

Para escribir programas con un algoritmo estructurado es necesario seguir tres fases



Descomposición: Divide el problema en partes mas pequeñas que resolverá cada una de modo independiente .
Jerarquización de módulos: Cada parte es acomodada en un arreglo en forma de pirámide donde la parte superior representa el problema global y las inferiores las partes en las que descompuso para ser resuelto en orden de importancia.
Independencia: Determina en que grado la resolución de un modulo o parte afecta al otro.
Acoplamiento: Define que tan relacionado esta un modulo con el otro, para la correcta resolución es deseable que el acoplamiento sea menor.
Cohesión: Se define como la medida de fuerza existente entre las sentencias o grupos de sentencias de un módulo.

Ventajas del diseño estructurado

  • Los programas son sencillos de entender ya que al no existir los saltos con GOTO se leen de arriba hacia abajo de forma secuencial.
  • Las estructuras están fuertemente ligadas entre si.
  • El mantenimiento de estos códigos es muy bajo.
  • Los módulos son considerado auto-explicativos así que su depuración es sencilla.
  • Al no utilizar las estructuras GOTO no existen saltos del programas lo que los hacen mas rápidos de ejecución y con mayor rendimiento

Desventajas del diseño estructurado

Con el paso del tiempo y tras varias depuraciones y exenciones el código fuente se torna bastante grande haciéndolo demasiado difícil de manejar.
Resulta complicado el manejo de gráficos por lo que se tiende a mezclar programas estructurados con el principio de modularidad.

domingo, 12 de febrero de 2012

Soporte técnico


El soporte técnico es un servicio orientado a otorgar ayuda con el software y el hardware de una computadora y en general de cualquier dispositivo electrónico o mecánico. El fin de esta ayuda es la de resolver problemas por parte del usuario.
Este soporte es brindado por parte de las empresas que construyen los dispositivos o por parte de terceros que venden sus servicios para este objetivo; en las empresas el soporte técnico para las maquinas de la misma es brindado generalmente por el departamento que ellas misma crean para este objetivo y no verse en la necesidad de contratar a otra empresa.

Objetivo

El objetivo del soporte técnico es el de solucionar problemas entre los usuarios y los dispositivos que utiliza. Esto es pensando para que el usuario se enfoque a su trabajo y no a la complejidad que sobreviene del entendimiento a fondo de su herramienta. Por otra parte el soporte técnico tiene como finalidad la de mantener los equipos en óptimo estado para aminorar los retrasos relacionados con la perdida de tiempo por los equipos descompuestos o con problemas por parte del usuario en la interacción con su maquina.

Tipos de soporte técnico

En soporte técnico conoce tres niveles de servició, dicha división se hace por la profundidad de su alcance y de la especialización del técnico que realiza el soporte y en ocasiones el medio por el que lo hace ya sea por correo electrónico, vía telefónica, presencial o remota.

Soporte de nivel 1 (tier 1)

Este es el nivel con el que todo usuario que requiera soporte técnico comienza su búsqueda de una solución. Una de las principales funciones de este nivel es la de recolectar toda la información que sea posible por parte del usuario para con esta determinar y delimitar el problema de forma mas precisa mediante el análisis de los síntomas. Con toda la información posible el técnico comienza a realizar de forma ordenada un catalogo de posibles soluciones que es determinado con el análisis anterior. Esto es en si lo que ya podemos nombrar como soporte técnico. Esto incluye incidencia en la resolución de lineas físicas, problemas comunes de configuración, posible desconexión del equipo, instalación y reinstalación del software y sus aplicaciones utilizadas, navegación por los menús del software e incluso ayuda sobre el funcionamiento del mismo si es que el usuario requiere hacer determinada tarea para la que el software esta pensado pero desconoce como hacerlo.
Es sabido que el personal de este nivel es considerado como usuario medio a alto en cuanto a sus conocimientos se refiere y que sus capacidades do incluyen todas las posibilidades en las que un usuario puede requerir o presentar como problema pero en este nivel se atienden entre el 70 al 80% de los problemas de forma satisfactoria sin la necesidad de recurrir al uso de otro nivel de soporte. Es por esto la importancia que dan tantas empresas en este nivel y usualmente se destinan buena parte de recursos en mantener este nivel.
Este nivel de soporte también es aplicado a otros sectores como en la banca donde es conocido como call center donde resuelven incidencias acerca de los productos que ofrece la empresa para la que trabajan y que no tienen nada que ver con cuestiones técnicas si no con el uso de productos financieros. Aquí el operador que contesta la linea necesita un buen conocimiento de los términos sobre el producto.
Generalmente estos servicios de soporte están disponibles 24 horas al día 7 días a la semana ya que como se menciono el porcentaje de casos resueltos es muy alto y en el caso de bancos e igual en telefonía el soporte técnico de nivel 1 se refiere a la cancelación de tarjetas o teléfonos.

Soporte de nivel 2 (tier 2)

Los casos que no pueden ser resueltos (residual mente entre 20 y 30%) en el nivel anterior son etiquetados y se pasan los técnicos de nivel dos que tienen un nivel mayor y mas preciso sobre el tema o que realizan gestiones mas físicas o mas extensas.
En este nivel se realizan recuperaciones de datos, cambios de equipo, reseteo de computadoras para ponerla como de fabrica.
El caso particular del cambio de equipo en este nivel no siempre se refiere a que estos ya no funcionen del todo, si no que son recogidos para su reparación con el objetivo de que el usuario continué su trabajo sin mayores demoras causadas por las fallas especialmente en ambientes empresariales donde las perdidas de tiempo se reflejan en perdidas económicas.

Soporte de nivel 3 (tier 3)

Lo mas común en los sistemas de mantenimiento es que estos se gestionen en un máximo de tres niveles siendo este; el tercero; el último y el que tiene mayor capacidad de resolver un problema pues no pudieron ser resueltos por los dos niveles anteriores.
Por una parte los técnicos de nivel 3 tienen como responsabilidad dar apoyo directo a los técnicos de nivel 1 y nivel 2 y por otra parte su finalidad es la de diseñar los algoritmos para la solución de problemas para los niveles anteriores para nuevos equipos y tecnologías.
La interacción de estos técnicos con el usuario es poca y generalmente esta enfocada a determinar si existe una posible solución o se opta por el camino del remplazo definitivo cuando la implementación resulta ser tan problemática que este camino es el mas razonable.
Otra de las funciones de este nivel es la de mantener interacción con los fabricantes de equipo para reportar incidencias comunes muy frecuentes para que puedan implementar una solución desde fabrica; si es posible; y así evitar costos elevados en el futuro por cambios de equipos; incluso se puede llegar al punto en que sea preferible un rediseño del equipo ya sea de forma física o a nivel software. Un ejemplo reciente de esto fue el iPad I que no soportaba funciones multitarea para lo que el fabricante se vio orillado a publicar un parche para permitirle al SO esta función. Lo mismo se vio con el iPhone; del mismo fabricante; donde su diseño puso la antena en un lugar donde es normal tener contacto con la mano aumentando la incidencia de aparatos dañados por lo que se opto por el rediseño ya que la cantidad de teléfonos que eran reportados como irreparables fue muy grande.

Soporte de nivel 4 (tier 4)

Este nivel de soporte en las organizaciones o en los fabricantes de software y hardware se refiere a otro nivel de escalonado donde se opta por capacitar a un tercero, mayoritariamente algún vendedor y/o distribuidor para dar servicio con mano de obra calificada, o dicho en otros términos como Service Level Agreement (SLA) donde el usuario puede acudir para solucionar sus problemas como si lo hiciese con el fabricante mismo. El objetivo de este nivel es que para una empresa que fabrique por ejemplo computadoras, le resulta poco rentable establecer una red de servicio de primera mano y utiliza la de otro por motivos de llegar a un mayor número de clientes o en lugares donde son muy pocos y alguien ya lo hace y puede cumplir con los requisitos de calidad tanto en instalaciones como en capacidad técnica. Muchos centros de servicio son propiedad de particulares que se manejan a modo de franquicias y que respetan los términos dela garantía original.

Importancia del soporte técnico

El soporte técnico refleja un costo a las organizaciones si, pero por otro lado se ve obligado a prestarlo ya que para que un producto sea atractivo necesita contar con el respaldo de una garantía en cualquier momento por un tiempo establecido. Esto es por parte del fabricante, por parte del consumidor se puede decir que la mayoría de las personas no están capacitadas para resolver todos sus problemas relacionados a los conocimientos tecnológicos que requieren para dar solución a muchos de sus problema no relacionados con su trabajo en si; un contador puede hacer las finanzas de una empresa mediante el uso de una software para esto, pero si la base datos donde guarda todos sus registros se cae necesitara de una persona que le ayude a restablecer todo en el menor tiempo posible.
Lo mismo pasa con los equipos en su hardware, el uso diario puede ocasionar problemas de configuración al igual que estamos expuestos a percances por descargas que dañen algún periférico o a toda la computadora, es cierto que podemos intentar arreglar las cosas por nuestra cuenta pero no siempre podemos hacerlo ya que el nivel de conocimiento en la tecnología puede ser insuficiente para lo que necesitamos en ese momento así que recurrimos a consultar a alguien o usar los servicios de un tercero que se dedique a esto.
Por otra parte cuando los ordenadores son para trabajo el tener un retardo por que tiene algún problema puede reflejarse; como ya se menciono; en perdidas de dinero por los retrasos laborales, y se requiere retomar la normalidad lo mas pronto posible y en la mejor condición y es entonces que recurrimos a un servicio de soporte técnico para ello.
En resumen el soporte técnico tiene una gran importancia pues es quien puede darnos una solución en el momento que algo no funciona y nos evita perder información o vernos en la necesidad de cambiar un equipo si puede arreglarse.
Todo esto se refleja en disminución de costos relacionados con el mal funcionamiento de equipos y aparatos y de igual forma para servicios