miércoles, 21 de marzo de 2018

Mantenimiento del Computador

Definición: Se trata de actividades tanto físicas como lógicas que buscan reducir la posibilidad de fallas en los equipos de cómputo (incluyendo no sólo computadoras, sino también el ratón, impresoras, teclados, pantallas, etc.) e inclusive la corrección de fallas menores.
RAZONES PARA HACER UN MANTENIMIENTO AL PC
Las computadoras funcionan muy bien y están protegidas cuando reciben mantenimiento. Si no se limpian y se organizan con frecuencia, el disco duro se llena de información, el sistema de archivos se desordena y el rendimiento general disminuye.
Si no se realiza periódicamente un escaneo del disco duro para corregir posibles errores o fallas, una limpieza de archivos y la desfragmentación del disco duro, la información estará más desprotegida y será más difícil de recuperar.
El mantenimiento que se debe hacer, se puede resumir en tres aspectos básicos importantes, los cuales son:
  • Diagnóstico.
  • Limpieza.
  • Desfragmentación.
DIAGNOSTICO
La computadora trabaja más de lo que normalmente se cree. Está constantemente dando prioridad a las tareas, ejecutando órdenes y distribuyendo la memoria.
Sin embargo, con el tiempo ocurren errores en el disco duro, los datos se desorganizan y las referencias se vuelven obsoletas.
Estos pequeños problemas se acumulan y ponen lento el sistema operativo, las fallas del sistema y software ocurren con más frecuencia y las operaciones de encendido y apagado se demoran más.
Para que el sistema funcione adecuadamente e incluso para que sobre todo no se ponga tan lento, se debe realizar un mantenimiento periódico.
Asegurándonos de incluir en la rutina del mantenimiento estas labores:
  • Exploración del disco duro para saber si tiene errores y solucionar los sectores alterados.
  • Limpieza de archivos.
  • Desfragmentación el disco duro.
LIMPIEZA
Para garantizar un rendimiento optimo y eficaz de la computadora, debemos mantenerla limpia y bien organizada.
Debemos eliminar los programas antiguos, programas que no utilicemos y las unidades de disco para liberar la memoria y reducir la posibilidad de conflicto del sistema.
Un disco duro puede presentar diversas deficiencias, que casi siempre se pueden corregir estas son:
  • Poco espacio disponible.
  • Espacio ocupado por archivos innecesarios.
  • Alto porcentaje de fragmentación.
Se debe eliminar los archivos antiguos y temporales. Además, entre más pocos archivos innecesarios tenga la computadora, estará más protegida de amenazas como el hurto de la identidad en Internet.
Cuando el espacio libre de un disco se acerca peligrosamente a cero, la PC entra en una fase de funcionamiento errático: se torna excesivamente lenta, emite mensajes de error (que en ocasiones no especifican la causa), algunas aplicaciones no se inician, o se cierran después de abiertas, etc.
Como factor de seguridad aceptable, el espacio vacío de un disco duro no debe bajar del 10% de su capacidad total, y cuando se llega a este límite deben borrarse archivos innecesarios, o desinstalar aplicaciones que no se usen, o comprimir archivos.
Todas las aplicaciones de Windows generan archivos temporales.
Estos archivos se reconocen por la extensión .tmp y generalmente existe uno o varios directorios donde se alojan.
En condiciones normales, las aplicaciones que abren archivos temporales deben eliminarlos cuando la aplicación concluye, pero esto a veces no sucede cuando se concluye en condiciones anormales, o Windows "se cuelga" o por una deficiente programación de la aplicación.
Estos archivos temporales deben borrarse del disco duro.
Existen otro tipo de archivos que pueden borrarse, y no son temporales: la papelera de reciclaje, el caché de Internet (windows\temporary internet files) y algunas carpetas que permanecen el disco después que se baja o se instala un programa.
El caché de Internet debe borrarse si resulta estrictamente necesario, ya que después de borrado no podrán verse  las páginas visitadas sin estar conectado.
Debe hacerse mediante la función explícita del navegador, y además ajustarse el tamaño del caché.
Un usuario experimentado puede intentar otras posibilidades, como por ejemplo eliminar DLL duplicadas, instaladores, datos de aplicaciones desinstaladas, etc.
Debe obrar con mucho cuidado cuando haga esta "limpieza profunda" y si no hay plena seguridad de que un archivo en cuestión puede ser borrado, no debe eliminarlo de la papelera de reciclaje hasta comprobarlo, pudiendo reponerse a su ubicación original si resultara necesario.
En general lo que se debe realizar son estas labores:
  • Eliminar los programas antiguos y archivos temporales.
  • Eliminar la información obsoleta
  • Asegurarnos de guardar de manera segura la información.
  • Eliminar las entradas de registro inválidas y los accesos directos dañados.
DESFRAGMENTACIÓN
De todos los componentes de una PC, el disco duro es el más sensible y el que más requiere un cuidadoso mantenimiento.
La detección precoz de fallas puede evitar a tiempo un desastre con pérdida parcial o total de información (aunque este evento no siempre puede detectarse con anticipación).
  • Alto porcentaje de fragmentación: Durante el uso de una PC existe un ininterrumpido proceso de borrado de archivos e instalación de otros nuevos.
Estos se instalan a partir del primer espacio disponible en el disco y si no cabe se fracciona, continuando en el próximo espacio vacío.
Un índice bajo de fragmentación es tolerable e imperceptible, pero en la medida que aumenta, la velocidad disminuye en razón del incremento de los tiempos de acceso al disco ocasionado por la fragmentación, pudiendo hacerse notable.
Todas las versiones de Windows incluyen el desfragmentador de disco.
El proceso de desfragmentación total consume bastante tiempo (en ocasiones hasta horas), y aunque puede realizarse como tarea de fondo no resulta conveniente la ejecución simultanea de otro programa mientras se desfragmenta el disco, debiendo desactivarse también el protector de pantalla.
El problema es que las computadoras se han vuelto tan confiables y convenientes, que damos por hecho su operación eficaz.
Sin embargo, al igual que una casa o un automóvil, las computadoras ocasionalmente requieren atención.
Si se realiza las siguientes labores de mantenimiento con frecuencia la computadora funcionará de manera segura y sin problemas:
  • Diagnóstico.
  • Limpieza.
  • Desfragmentación.
De todos los componentes de una PC, el disco duro es el más sensible y el que más requiere un cuidadoso mantenimiento.
Por esta razón periódicamente debemos utilizar el Scandisk u otro utilitario para detectar si hay errores en el disco duro, y de haberlos tratar de repararlo.
Una vez esto hecho procedemos a realizar una limpieza profunda de todos los archivos innecesarios que ponen lento al sistema, tales archivos son: programas antiguos, archivos temporales de internet, instaladores de programas, entrada de registros inválidas, accesos directos dañados, los archivos contenido en la papelera de reciclaje, entre otros.
De esta manera conseguiremos una PC más rápida, eficiente, optima, segura y menos propensa a perder información.
El Mantenimiento Preventivo de Computadoras
Se define como el conjunto de actividades encaminadas a proteger los equipos de cómputo de posibles fallas, utilizando métodos de limpieza física y también métodos basados en el uso de Software.
Antes de que se comience el proceso de mantenimiento preventivo se deben tomar ciertas consideraciones:
  • Se verifica que el equipo no se encuentre dentro del periodo de garantía.
  • Se verifica la configuración básica del Setup, antes y después del servicio de mantenimiento, para comparar que se encuentren idénticas.
  • Se verifica que el sistema operativo funcione correctamente y que los dispositivos conectados a la computadora funcionen de manera correcta (ratón, unidades ópticas, disqueteras, etc.).
  • Realizar un respaldo de datos del usuario (Backup), si es posible, de todo el contenido del disco duro, sino, solo de sus datos mas importantes. 
  • Es necesario un inventario físico del equipo en presencia de un responsable, para que dé fe de las condiciones físicas y de velocidad en que se encuentra el equipo (velocidad de procesador, cantidad de memoria RAM, capacidad de disco duro ó unidad SSD, número de unidades de almacenamiento con que cuenta, etc.).
  • En general el mantenimiento deberá ser dado a todos los accesorios conectados al gabinete, elementos del interior de este y al Software:
  • Interiores: tarjeta principal, disco duro, memorias RAM, fuente de alimentación, procesador, tarjetas de expansión, ventiladores, disqueteras, unidades ópticas, etc.
  • Exteriores: pantalla LCD / Monitor CRT, teclado, Cámara Web, bocinas, escáner, impresora, etc.
  • Software: actualizaciones de sistema operativo, sistema de archivos, programas residentes en memoria, antivirus, memoria virtual, etc.
El Mantenimiento Preventivo Activo de Computadoras
El mantenimiento preventivo activo se basa en actividades que permiten al sistema aumentar su vida útil y evitar al máximo las fallas, cabe destacar que este procedimiento es posterior a las consideraciones generales:
Mantenimiento preventivo Nivel 1:
  • Se utilizan latas de aire comprimido, aspiradora ó una brocha en el interior de la computadora y por las ranuras externas de los demás dispositivos.
  • Se revisa la la falta de componentes secundarios (tornillos, conectores flojos, etc.).
  • Limpieza externa con solución jabonosa.
  • En el caso del ratón mecánico, se limpian los rodillos y la esfera con alcohol isopropílico.
Mantenimiento preventivo Nivel 2 (Aplica para todos los componentes que se encuentran conectados a la computadora):
  • Limpieza de tarjetas con latas de limpiador de circuitos.
  • Limpieza de disquetera, unidades ópticas y unidades digitales.
  • Limpieza de conectores, puertos, ranuras de expansión, pines de procesador, etc. con alcohol isopropílico.
  • Se utilizan latas de aire comprimido, aspiradora ó una brocha en el interior de la computadora y también de demás dispositivos conectados a ella.
  • En el caso del teclado, este se desmontan todas las teclas y se limpia su interior del mismo.
  • Limpieza exterior con solución jabonosa y aplicación de Teflón®.
  • Limpieza de virus y actualización del antivirus, instalación de actualizaciones del sistema operativo, desfragmentación de disco duro (reacomodo de archivos), revisión de errores en el sistema de archivos, optimización de RAM y optimización de memoria SWAP.
El Mantenimiento Preventivo Pasivo de Computadoras
Se trata de actividades encaminadas a proteger el equipo de cómputo, accesorios y al sistema en su conjunto de los factores del medio:
  • El uso de dispositivos capaces de evitar la interrupción total de los equipos tales como UPS ó también en evitar que disminuya el nivel de errores con el uso de reguladores de voltaje.
  • El uso de aire acondicionado en buen estado, imprescindible en lugares cerrados con gran cantidad de equipos, con la temperatura adecuada y el flujo correcto de aire por medio de salidas de aire y extractores.
  • El uso de suelo firme para evitar las vibraciones en exceso, ya que pueden ser causantes de pérdida de datos en discos duros de alta capacidad.
  • La correcta instalación del cableado eléctrico y de datos para la red cableada, así como el uso de muros que permitan el paso de señales de radio en el caso de redes inalámbricas y evitar interferencias.
  • La correcta polarización de los contactos eléctricos (tierra, fase y neutro), ya que de lo contrario, puede haber errores en el envió de bits en las redes cableadas.
El Mantenimiento Correctivo de Computadoras
Este tipo de mantenimiento es básicamente el nivel 2 mas el cambio de partes que no necesariamente no funcionan, pero tienen cierto nivel de fallas que no requieren una reparación como tal.
  • Limpieza de tarjetas con latas de limpiador de circuitos.
  • Limpieza de disquetera, unidades ópticas y unidades digitales.
  • Limpieza de conectores, puertos, ranuras de expansión, pines de procesador, etc. con alcohol isopropílico.
  • Se utilizan latas de aire comprimido, aspiradora ó una brocha en el interior de la computadora y también de demás dispositivos conectados a ella.
  • En el caso del teclado, este se desmontan todas las teclas y se limpia su interior del mismo.
  • Limpieza exterior con solución jabonosa y aplicación de Teflón®.
  • Limpieza de virus y actualización del antivirus, instalación de actualizaciones del sistema operativo, desfragmentación de disco duro (reacomodo de archivos), revisión de errores en el sistema de archivos, optimización de RAM y optimización de memoria SWAP.
  • Cambio de partes que tienen indicios de fallas pero que no requieren una reparación como tal.
Cada Cuando Hay Que Dar Mantenimiento a una Computadora
  • Cada mes: equipos que se utilizan muy frecuentemente, esto es, por lo menos 8 horas diarias, durante 5 días a la semana, tales como oficinas de gobierno, centros de captura de datos, servicios de Internet público, colegios, etc.
  • Cada 6 meses: equipos que permanecen encendidos de manera regular como los utilizados en los hogares.
  • Cada año: equipos que se usen muy esporádicamente.
Actualización del Equipo del Cómputo
Un tema relacionado y muchas veces confundido por muchas personas es la actualización, la cuál consiste en reciclar los elementos de una computadora que funcionan y añadirle algunos otros que aumenten su capacidad (ejemplo, un disco duro de mayor capacidad, mas cantidad de memoria RAM, un procesador mas veloz, una fuente de alimentación con mayor potencia, etc.).
El Factor Humano Y Su Importancia (Humanware)
También llamado Humanware, es un elemento de suma importancia en la conservación de los equipos de cómputo, por lo que necesita también de cierto "mantenimiento", esto es, un espacio adecuado para operar el equipo, un salario que le permita motivarse a cuidar su herramienta de trabajo, salud para tener control conciente de su computadora, herramientas de software fáciles de utilizar, etc. entre muchos otros aspectos.

Como Recuperar Información Y El Software De Un Disco Duro Dañado

Pese a tomar medidas de prevención o realizar copias de seguridad, que un disco duro falle y podamos perder información valiosa entra dentro de las posibilidades del día a día habida cuenta de que el disco duro puede sufrir accidentes, errores de diversa índole, que tiene una determinada vida útil o algo tan básico como borrar por accidente un determinado archivo.

Cuando un disco duro no es reconocido por nuestro sistema operativo, hace ruidos extraños o directamente parece "muerto", cómo recuperar la información que contiene, especialmente si es personal y/o del trabajo y no tenemos copia de seguridad, es una necesidad. Aunque dependiendo del tipo de error tendremos que recurrir o no a una empresa especializada, hay software y algunas comprobaciones que nos pueden ser de mucha ayuda para conocer la situación a la que nos enfrentamos y poder actuar en consecuencia para recuperar la información perdida en un disco duro.
Tipos de fallo en un disco duro: cómo reconocerlos

Hablar de que un disco duro está averiado nos puede servir de entrada para ponernos en alerta pero debemos afinar mucho más el diagnóstico para conocer de qué manera podemos actuar para tratar de recuperar la información. Decimos la información porque lo habitual es que si un disco duro ha sido dañado, lo más probable es que podamos recuperar la información pero no seguir usando esa unidad con seguridad.

Ante un disco duro averiado lo primero que debemos conocer es si se trata de un fallo físico o de software. Empezaremos analizando la parte física y para ello, si es un disco duro interno, lo más cómodo es retirarlo de su lugar habitual pero manteniéndolo conectado, de manera que lo podamos manipular cómodamente. No hay que olvidarse de descargarnos de electricidad estática antes de cualquier operación con él. Que el fallo del disco duro sea físico/electrónico o lógico/software va a determinar que podamos solucionarlo nosotros mismos y la cantidad de información que se podrá recuperar

Una vez extraído el disco duro debemos comprobar si al encenderlo el disco duro gira o emite ruidos que no podemos asociar al habitual cuando hemos estado funcionando con él normalmente. Si al ponerlo en funcionamiento no hace ruido ni parece que los discos giren (en el caso de los mecánicos), hay que asegurarse que no es problema de la alimentación. Lo mejor es revisar que los cables están bien conectados y no hay desperfectos en ellos. Si pese a todo sigue sin hacer nada, podemos probar a cambiar los cables para descartar que esté ahí el fallo.

Otra comprobación sencilla y directa para desechar que el problema sea de alimentación del ordenador y no del disco duro es conectarlo a otro ordenador directamente (si funciona, el problema puede estar en la fuente de alimentación de nuestro equipo) o por medio de una carcasa externa.
Además de lo relacionado con la alimentación, entre los fallos electrónicos de un disco duro hay que considerar los relacionados con la placa lógica del disco (PCB). Hace unos años, buscar un modelo exactamente igual y cambiar la PCB podía servir en casos muy concretos, pero esa tarea que parece de entrada sencilla es casi imposible de realizar con discos actuales, los cuales tienen algunos componentes como los cabezales parametrizados para ese disco en concreto. Los fallos físicos de los discos duros suelen requerir la intervención de empresas especializadas, con un coste alto para el usuario doméstico. En todo caso el disco ya no se podrá usar más con seguridad

En estos casos es recomendable tratar de buscar solución a temas de PCB en servicios técnicos que cuentan con entorno, herramientas y piezas que podrían servir para recuperar la información que ha quedado inaccesible en el disco duro.

Si al conectar el disco duro éste se enciende pero emite ruidos extraños (el típico es un clac-clac repetitivo) hay que empezar a pensar que el problema es mecánico y debido a errores de lectura del cabezal por un desplazamiento del mismo o a que los platos están dañados. Aquí una pequeña parada: si escuchaste alguna vez el "truco" de congelar el disco duro, salvo que tu unidad sea muy antigua y de muy baja capacidad, mejor no lo intentes. No funcionará con los nuevos materiales de los platos, que ya no se ven afectados a ese nivel por el calor, y hay más riesgos de perder los datos completamente que
de solucionar el problema.

Estos fallos de cabezales se pueden deber a golpes, vibraciones continuas o degradación de la emulsión. Además de por el ruido repetitivo (también puede arrancar con ruido y luego apagarse de golpe), lo habitual es que la unidad no sea reconocida por la BIOS y suela fallar el arranque del sistema. Si logramos que un disco duro con fallo físico funcione un tiempo, lo único que debemos hacer es realizar un clonado para tratar de recuperar la información en la copia y no el disco dañado

En la mayoría de los casos de fallos físicos o electrónicos, se va a requerir la intervención de una empresa especializada que realizará cambios o limpieza del cabezal, trasplante de platos, reparación de módulos de firmware…
Una regla importante a cumplir con cualquier fallo del disco duro es que, si logramos recuperarlo o que funcione un tiempo suficiente, lo primero debe ser realizar un clonado del mismo para trabajar en esa copia y asegurarnos que no perdemos una base que está y que podríamos perder definitivamente actuando directamente sobre el disco duro dañado.

Reparar un disco duro que falla o da errores

A la hora de tratar de recuperar información de un disco duro averiado, la mejor de las situaciones es que el daño no sea físico (o éste solo haya provocado sectores defectuosos) sino lógico. Los motivos pueden ser numerosos: un formateo no premeditado, corrupción de ficheros, borrado de determinados documentos o incluso algún virus. En muchos de estos casos, el usuario con ayuda de software específico puede recuperar toda o parte de la información. Si nuestro disco tiene sectores defectuosos deberemos actuar lo antes posible para que la información que podamos recuperar sea la mayor posible

Partiendo de la situación en que el sistema operativo arranca pero o bien una partición, disco duro externo o incluso zonas del interno, no son accesibles, hay diferentes caminos que podemos tomar para tratar de salvar la información.

Si el error es por sectores defectuosos, que pueden venir provocados por degradación del propio disco duro o por fallos del cabezal puntuales, el disco duro será accesible parcialmente y la actuación deberemos hacerla inmediatamente para evitar que el problema se vaya agravando. Lo habitual es que notemos los síntomas por una ralentización repentina del funcionamiento del disco duro o incluso ruidos cuando se trata de acceder a la zona afectada por esos sectores defectuosos.
Aunque se puede recuperar la totalidad de la información si el daño no es físico, incluso la de los sectores defectuosos, no hay una garantía del 100% de que ocurra siempre así.
Lo primero a realizar si el sistema operativo arranca y pensamos que hay errores en sectores, será un diagnóstico del disco duro, lo cual podemos realizar con la propia función incluida en Windows para comprobar si hay errores del disco o herramientas gratuitas como CrystalDiskInfo, bastante más completas. Si usamos la herramienta de Windows desde ella misma podremos aplicar ya soluciones que nos propone la misma. Un disco duro con sectores defectuosos, incluso reparado, deja de ser fiable para almacenar información que no queramos perder.
Si con esta acción no queda solucionado el problema, podemos recurrir a software especializado en reparar sectores dañados como HDD Regenerator, que trabaja en los sectores con fallos de magnetización. Una vez acabado el proceso de recuperación llega la hora de realizar un clonado del disco duro para iniciar la recuperación de la información de esa unidad.
Si estos métodos no funcionan, hay que recurrir a métodos más agresivos como el formateo a bajo nivel que nos proporcionan herramientas como HDD LLF o Lowvel. En estos casos la información ya no será recuperable pero podremos obtener una unidad de disco donde, aislando los sectores defectuosos en una partición, poder darle un uso no esencial pues será cuestión de tiempo que el disco pueda volver a fallar.

Cómo recuperar archivos borrados

Lo más sencillo al trabajar con un disco duro donde queremos recuperar información es que podamos usar determinado software para rescatar imágenes, datos o documentos que hemos perdido por corrupción de ficheros, formateo o borrado de archivos por accidente. Lo mismo se aplica a tarjetas de memoria o discos USB de forma general. Para recuperar un archivo borrado de un disco duro el tiempo que pasa desde que lo eliminamos es clave para tener éxito en la recuperación. Trata de salvar todo en cuanto puedas.

Cuando un archivo se borra de un disco duro, en realidad lo que ocurre es que el sistema operativo recibe la información de que ese espacio que antes ocupaba una imagen o documento está de nuevo libre para ser utilizado. Por lo tanto la información se mantiene físicamente y hay bastantes probabilidades de que podamos recuperarla de forma sencilla.

Lo más importante al tratar de recuperar información borrada de un disco duro es hacerlo lo antes posible, ya que tanto nosotros mismos como el propio sistema operativo podría ocupar ese espacio con nueva información en cualquier momento y hacer más complejo y costoso tratar de recuperarlo. Si el documento a recuperar es de suma importancia, lo mejor es desconectar el disco duro y usarlo como esclavo en otro ordenador para evitar que el sistema operativo lo use más allá de lo necesario. Y si podemos, debemos ejecutar el software de recuperación desde una unidad diferente de la que tratamos de analizar en busca del archivo borrado.
Uno de los programas más sencillos e intuitivos para recuperar archivos borrados es Recuva, Filerecovery o Pandora Recovery. En todos ellos se realiza una búsqueda de archivos borrados, de los que podemos conocer el estado y si son recuperables o no.
Si queremos ir más allá podemos usar TestDisk, que además de ayudarnos a recuperar archivos, puede analizar unidades, reparar particiones, realizar copias de seguridad o trabajar con errores de arranque de nuestro PC. Si lo que buscamos es algo más específico para fotos de tarjetas de memoria, Undelete Plus nos puede servir perfectamente.

martes, 2 de febrero de 2016

Programación

Programación concepto:

Es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones. Del proceso de programación surge lo que comúnmente se conoce como software (conjunto de programas), aunque estrictamente este último abarca mucho más que solo la programación.

Usos de la Programación

Una persona piensa y se comporta obedeciendo a un secuencial lógico. Un computador realiza tareas y maneja datos en memoria obedeciendo a una secuencia de pasos lógicos para lo cual ha sido programado.
Programar computadoras es indispensable en cualquier área de la ingeniería, ya que diferentes problemas que se puedan presentar tardan tiempo resolverlos de manera manual. La computadora resuelve problemas de acuerdo como se le haya programado de manera rápida. 

Elementos básicos de un Programa

En el ámbito general, un programa codificado o escrito bajo cualquier lenguaje de programación estructurado consta básicamente de dos secciones:
  • Sección encabezado
  • Sección cuerpo de programa
La sección de encabezado es usada para declarar, mencionar o identificar las variables con sus respectivos tipos y/o las constantes que se vayan a utilizar en el desarrollo del programa, así como también el nombre de las funciones y/o los procedimientos que ejecutarán las instrucciones de los diferentes algoritmos que va a tener dicho programa. Además en esta sección se declaran los archivos de inclusión (Archivos con extensión “.h”) que permiten el uso de algunas funciones que son necesarias para el desarrollo en si del programa. Igualmente se especifican las estructuras de datos complejas que se vayan a manejar.
En la sección cuerpo de programa realmente se describen todos los procedimientos y/o funciones que se van a ejecutar dentro del programa así como también el código del programa principal. Como cuerpo de programa es indispensable que haya parte principal mientras que los procedimientos y/o funciones son opcionales. 

Estructuración al Programar

Turbo Pascal y C por su diseño son lenguajes estructurados. C y Turbo PASCAL no permiten al programador enlazar sentencias de cualquier manera. Existe una estructura básica que cada programa debe seguir (Estructura de un programa) y el compilador es estricto a la hora de hacer cumplir estas reglas. Un programa ha de ser codificado en varias partes y cada una de ellas debe ir en el lugar que le corresponde.
La idea fundamental del lenguaje C y Turbo Pascal es crear programas que sean comprendidos sin necesidad de emplear docenas de páginas de diagramas de flujo y miles de explicaciones. Esta manera de realizar los programas es a lo que denomina como "Programación Estructurada".
Aunque se pueda llegar a realizar programas que aparentan tener una estructura (ser estructurados), Turbo Pascal y C son lenguajes que exige su utilización. La programación estructurada le permite realizar pequeñas rutinas específicas para cada tarea que se quiera realizar, y a cada una de esas rutinas se les da un nombre (Identificador) para cuando el programador la requiera sólo la llame con su nombre y automáticamente se ejecutará.

Cómo programar tu propio software

Actualmente, los programas de computador están implementados en todas partes, desde los automóviles hasta los teléfonos y pasando por casi cualquier empleo que existe. A medida que el mundo se vuelve cada vez más digital, la necesidad de programas nuevos siempre irá en aumento. Si tienes una idea asombrosa para un programa, ¿por qué no la haces por tu cuenta? Lee el primer paso que está debajo para saber cómo empezar a aprender un lenguaje de programación, desarrollar tu idea para convertirla en un producto estable e iterar los procesos del programa hasta que esté listo para su lanzamiento.

Parte 1 de 6: Prepara una idea

  1. Piensa en varias ideas.
    Un buen programa llevará a cabo una tarea que simplificará la vida del usuario. Examina el programa que está disponible actualmente para cumplir la tarea que quieres hacer y revisa si existe la manera de hacer que el proceso sea más fácil o estable. Un programa exitoso es aquél que los usuarios encuentren muy útil.
    • Examina las tareas diarias que haces en tu computador. ¿Existe la manera de automatizar algunas de esas tareas con un programa?
    • Escribe todas las ideas que se te ocurran. Incluso si parece algo tonto o extravagante, puede tratarse de algo que podría convertirse en algo útil o incluso brillante.
  2. Examina otros programas. ¿Qué es lo que hacen? ¿Cómo podrían hacerlo de una mejor manera? ¿Qué es lo que les falta? Las respuestas a estas preguntas pueden ayudarte a pensar en ideas para tu propia perspectiva.
  3. Escribe un documento de diseño.
    Esto documento explicará las características del proyecto y lo que quieres lograr con él. Al remitirte al documento de diseño durante el proceso de desarrollo harás que el proyecto no pierda su rumbo y permanezca enfocado. Lee esta guía para conocer más detalles acerca de cómo escribir este documento. El documento de diseño también te ayudará a decidir el lenguaje de programación más conveniente para tu proyecto. 
  4. Empieza con algo sencillo. Cuando apenas comiences con la programación informática, es conveniente que empieces con un proyecto pequeño y que lo amplíes con el tiempo. Aprenderás mucho más si fijas metas concretas que puedes alcanzar con un programa básico. .

Parte 2 de 6: Aprende un lenguaje de programación

  1. Descarga un buen editor de texto.
    Casi todos los programas se escriben en editores de texto y se compilan para que un computador los pueda ejecutar. Aunque puedes usar programas con el Bloc de notas o TextEdit, es muy recomendable que descargues un editor que resalte la sintaxis como Notepad++, JEdit o Sublime Text. Esto hará que sea más fácil analizar tu código visualmente.
    • Algunos lenguajes como Visual Basic incluyen un editor y un compilador en un solo paquete.
  2. Aprende un lenguaje de programación.
    Todos los programas se crean por medio de los códigos. Por lo tanto, si quieres crear tus propios programas, necesitarás estar familiarizado(a) con al menos un lenguaje de programación. Los lenguajes que necesites aprender dependerán del tipo de programa que quieres crear. Algunos de los lenguajes más útiles e importantes incluyen:
    • C. Este es un lenguaje de bajo nivel que interactúa muy de cerca con el hardware del computador. Es uno de los lenguajes de programación más antiguos que aún tienen un uso extendido.
    • C++. La mayor desventaja de C es que no está orientado a los objetos. Aquí es donde entra C++. Actualmente, C++ es el lenguaje de programación más popular del mundo. Los programas como Chrome, FireFox, Photoshop y muchos más están hechos con C++. También es un lenguaje muy popular para crear videojuegos.
    • Java. Java es la evolución del lenguaje C++ y es extremadamente versátil. La mayoría de computadores (independiente de su sistema operativo) pueden ejecutar una máquina virtual Java, lo que permite usar el programa casi universalmente. Se usa ampliamente en los videojuegos y en los programas empresariales, además de estar recomendado a menudo como un lenguaje esencial.
    • C#. Este lenguaje basado en Windows es uno de los más importantes para crear programas para este sistema operativo. Está relacionado estrechamente con los lenguajes Java y C++, por lo que debe ser fácil de aprender si estás familiarizado(a) con Java. Si quieres hacer un programa para los sistemas operativos Windows o Windows Phone, querrás analizar este lenguaje.
    • Objective-C. Este es otro lenguaje relacionado con el C que está diseñado específicamente para los sistemas Apple. Si quieres crear aplicaciones para el iPhone o el iPad, este es el lenguaje que necesitas.
  3. Descarga el compilador o el intérprete.
    Para cualquier lenguaje de alto nivel como C++, Java y muchos más, necesitarás un compilador para convertir tu código en un formato que pueda usar el computador. Hay una variedad de compiladores para escoger, dependiendo del lenguaje de programación que utilices.
    • Algunos lenguajes son "interpretados", lo que quiere decir que no necesitan un compilador. En vez de eso, solo necesitan que el intérprete del lenguaje esté instalado en el computador para que el programa se ejecute instantáneamente. Algunos ejemplos de lenguajes interpretados son el Perl y el Python.
  4. Aprende los conceptos básicos de la programación.
    Independiente del lenguaje que elijas, probablemente necesitarás entender algunos conceptos básicos comunes. Al saber la forma de manejar la sintaxis del lenguaje podrás crear programas mucho más potentes. Algunos conceptos comunes incluyen:
    • Declarar variables. Las variables son la manera en la que los datos quedan guardados temporalmente en el programa. Después, estos datos pueden guardarse, modificarse, manipularse y llamarse en el programa.
    • Usar sentencias condicionales como "If, else, when" (si esto ocurre, de lo contrario, cuando ocurra esto), entre otras. Estas son unas de las funciones básicas de los programas y determinan la manera en la que funciona la lógica. Las sentencias condicionales giran alrededor de las sentencias de "verdadero" y "falso".
    • Usar bucles como "for, goto, do" (para, ir a, hacer) entre otros. Los bucles que permiten repetir los procesos varias veces hasta que se dé el comando de parar.
    • Usar secuencias de escape. Estos comandos ejecutan funciones como crear líneas nuevas, guiones, comillas, etc.
    • Comentar el código. Los comentarios son esenciales para recordar lo que hace tu código, ayudar a otros programadores a entenderlo y para deshabilitar partes de él temporalmente.
    • Entiende las expresiones regulares.
  5. Encuentra algunos libros sobre el lenguaje que escojas.
    Hay libros para todos los lenguajes y niveles de experiencia. Puedes encontrar libros sobre programación en la librería de tu localidad o en cualquier tienda en línea. Un libro puede ser una herramienta invaluable, ya que puedes tenerlo a la mano mientras trabajas.
    • Más allá de los libros, el internet es una mina valiosa interminable de guías y tutoriales. Busca guías del lenguaje de tu elección en sitios web como CodeAcademy, Code.org, Udemy, Khan Academy entre muchos más.
  6. Toma algunas clases.
    Cualquier persona puede aprender por su cuenta a crear un programa si se esfuerza, pero en ocasiones recibir clases de un profesor en un ambiente académico puede resultar realmente beneficioso. Las clases individuales con un experto pueden reducir enormemente el tiempo que necesitas para comprender los fundamentos y los conceptos de la programación. De igual forma, las clases son un buen lugar para aprender las matemáticas avanzadas y la lógica que necesitarás para crear programas más complejos.
    • Las clases no son gratuitas, así que asegúrate de inscribirte en sesiones que te ayudarán a aprender lo que en realidad quieres saber.
  7. Pregunta. El internet es una manera fantástica de conectarte con otros desarrolladores. Si tienes un proyecto muy difícil en el que no puedes avanzar, pide ayuda en sitios web como "Entre desarrolladores". Asegúrate de preguntar de una manera inteligente y de justificar que trataste de solucionar tu problema de varias maneras.

Parte 3 de 6: Construye tu prototipo

  1. Empieza escribiendo un programa básico con tu funcionalidad principal.
    Esto será el prototipo que mostrará la funcionalidad que deseas alcanzar. Un prototipo es un programa rápido en el que debes iterar hasta que encuentres un diseño que funcione. Por ejemplo, si estás creando un programa de calendarios, tu prototipo sería un calendario básico (¡con las fechas correctas!) que proporcione la opción de añadir eventos.
    • Tu prototipo cambiará frecuentemente durante el ciclo de desarrollo a medida que elaboras formas nuevas de solucionar los problemas o piensas en una idea posterior que quieres incorporar.
    • El prototipo no tiene que ser bonito. De hecho, el arte y el diseño deben ser unas de las últimas cosas en las que debes concentrarte. Regresando al ejemplo del calendario, lo más probable es que tu prototipo deba estar compuesto únicamente por texto.
    • Si estás creando un juego, ¡tu prototipo debe ser divertido! Si el prototipo no es divertido, es probable que el videojuego completo tampoco lo sea.
    • Si la mecánica que deseas simplemente no funciona en el prototipo, entonces quizás sea el momento de empezar de nuevo.
  2. Reúne un equipo.
    Si estás desarrollando un programa por tu cuenta, puedes usar un prototipo para reunir un equipo. Un equipo te ayudará a localizar más rápido los errores, iterar las características y diseñar el aspecto visual del programa.
    • Aunque un equipo definitivamente no es necesario para los proyectos pequeños, ayudará a reducir significativamente el tiempo de desarrollo.
    • Administrar un grupo de personas es un proceso complejo y difícil que requiere de buenas habilidades de gestión y una estructura sólida del equipo. Lee esta guía para conocer más detalles acerca de cómo liderar un grupo.
  3. Si es necesario, empieza desde el principio. Cuando estés familiarizado(a) con el lenguaje, probablemente puedas poner en funcionamiento los prototipos en solo unos días. Debido a su naturaleza rápida y si no estás feliz con el resultado, no temas desechar tu idea y comenzar desde el principio adoptando un ángulo diferente. Es mucho más fácil hacer cambios importantes en esta etapa del proyecto que en el futuro, cuando las características empiecen a quedar en su lugar.
  4. Coméntalo todo.
    Usa la sintaxis de comentarios en tu lenguaje de programación para dejar notas en casi todas las líneas de código, a excepción de las más básicas. Si tienes que alejarte del proyecto por un tiempo, esto te ayudará a recordar lo que estabas haciendo, además de ayudarle a otros desarrolladores a entender tu código. Esto es especialmente importante si estás trabajando como parte de un equipo de programación.
    • Durante las pruebas, puedes usar los comentarios para deshabilitar temporalmente algunas partes de tu código. Simplemente encierra el código que quieres deshabilitar con la sintaxis de comentarios para que no se compile. Puedes borrar la sintaxis de comentarios para restablecer el código.

Parte 4 de 6: Pruebas alfa

  1. Reúne un equipo de pruebas.
    En la etapa alfa, el equipo de pruebas puede y debe ser pequeño. Un grupo pequeño te proporcionará comentarios centrados y te da la capacidad de interactuar individualmente con las personas del equipo. Cada vez que le hagas actualizaciones al prototipo, se envían las versiones a los miembros del equipo de pruebas alfa. Estas personas probarán todas las características incluidas y tratarán de dañar el programa mientras documentan sus resultados.
    • Si estás desarrollando un producto comercial, querrás asegurarte de que todos los miembros del equipo de pruebas firmen un acuerdo de confidencialidad. Esto evitará que le cuenten a otras personas sobre el programa y prevendrá las fugas de información a la prensa y a otros usuarios.
    • Tómate algo de tiempo para proponer un plan de pruebas sólido. Asegúrate de que todos los miembros del equipo de pruebas tengan una manera sencilla de reportar los errores del programa y de acceder a las versiones nuevas del prototipo. Los repositorios de código son una manera excelente y sencilla de manejar este aspecto.
  2. Prueba tu prototipo varias veces.
    Los errores son la perdición de cualquier desarrollador. Los fallos en el código y el uso inesperado pueden ocasionar todo tipo de problemas en el producto terminado. A medida que sigues trabajando en tu prototipo, hazle todas las pruebas que puedas. Haz todo lo posible para dañar tu programa y luego trata de evitar que eso ocurra en el futuro.
    • Si tu programa maneja fechas, prueba ingresando fechas extrañas. Las fechas realmente antiguas o demasiado futuras pueden ocasionar reacciones extrañas en el programa.
    • Ingresa el tipo incorrecto de variables. Por ejemplo, si tienes un formulario que le pregunta la edad al usuario, en su lugar ingresa una palabra y observa lo que ocurre con el programa.
    • Si tu programa tiene una interfaz gráfica, haz clic en todo. ¿Qué ocurre cuando regresas a una pantalla anterior o haces clic en los botones en el orden equivocado?
  3.  Soluciona los errores en el orden de prioridad.
    Al revisar el programa en la etapa alfa, pasarás mucho tiempo arreglando características que no sirven correctamente. Cuando organices los reportes de errores para el equipo de pruebas, tendrás que dar dos criterios para organizar los resultados: gravedad y prioridad.
    • La gravedad de un error es una medida para determinar el daño que causa. Los errores que hacen fallar al programa, corrompen los datos y evitan que el programa se ejecute se conocen como "bloqueadores". Las características que no sirven o que proporcionan resultados incorrectos se conocen como errores "críticos", mientras que las características difíciles de usar o de mal aspecto se conocen como errores "importantes". También hay errores normales, menores y triviales que afectan las secciones más pequeñas o las características menos importantes.
    • La prioridad de un error determina el orden que debe tener cuando te pongas a la tarea de solucionar los problemas. Arreglar los errores de un programa es un proceso que demora bastante y le resta tiempo a las tareas de agregar características y perfeccionar el programa. Por lo tanto, tienes que tener en cuenta la prioridad de un error para asegurarte de cumplir con las fechas límite. Todos los errores bloqueadores y críticos toman la prioridad más alta, en ocasiones conocida como "P1". Los errores de tipo "P2" generalmente son aquellos clasificados como "importantes" que tienen programado su arreglo, pero no impiden que el producto final llegue a su destino. Los errores de tipo "P3" y "P4" generalmente no tienen programada una fecha para su arreglo y entran en la categoría de "características deseables".
  4. Agrega más características.
    Durante la fase alfa agregarás más características al programa para hacer que se acerque al concepto descrito en el documento de diseño. La etapa alfa es donde el prototipo evoluciona en la base para el programa completo. Al final de la etapa alfa, tu programa debe tener implementadas todas sus características.
    • No te alejes demasiado de tu documento de diseño original. Un problema común en el desarrollo de software es la "funcionalitis creciente", en el que se siguen añadiendo ideas nuevas que hacen perder el enfoque original y dividen el tiempo de desarrollo en muchas características diferentes. Quieres que tu programa sea el mejor en lo que se supone que debe hacer, más no una herramienta que sirva para todo.
  5. Prueba cada característica a medida que la agregas. A medida que agregas características al programa durante la fase alfa, envía la versión nueva al equipo de pruebas. La frecuencia de las versiones nuevas dependerá completamente del tamaño de tu equipo y del progreso que hagas en las características.
  6. Bloquea tus características cuando la etapa alfa termine. Cuando implementes todas las características y funciones en tu programa, puedes terminar la fase alfa. En este punto no debes añadir más características y las que están incluidas básicamente deben funcionar. Ahora puedes seguir a una etapa de pruebas y perfeccionamiento más amplia, conocida como la fase beta.

Parte 5 de 6: Pruebas beta

  1. Aumenta el número de personas en tu equipo de pruebas.
    En la fase beta, el programa se pone a disposición de un número más grande de personas encargadas de hacer las pruebas. Algunos desarrolladores hacen pública la fase beta, lo cual se conoce como "beta abierta". Esto permite que cualquier persona se inscriba y participe en las pruebas del producto.
    • Dependiendo de las necesidades de tu producto, determinarás la viabilidad de hacer una fase beta abierta.
  2. Prueba la conectividad. Ya que los programas están interconectados entre sí cada vez más, hay una buena probabilidad de que tu programa dependa de las conexiones con otros productos o servidores. Las pruebas beta te permiten asegurarte de que estas conexiones funcionan bajo una carga pesada, lo cual en última instancia te garantiza que el público podrá utilizar tu programa cuando llegue el momento del lanzamiento.
  3. Perfecciona tu programa.
    En la fase beta no se agregan más características, así que puedes concentrar tu atención en mejorar la estética y la facilidad de uso del programa. En esta fase, el diseño de la interfaz del usuario se convierte en una prioridad, ya que es importante garantizar que los usuarios no tengan problemas para navegar por el programa o aprovechar las características.
    • El diseño y la funcionalidad de la interfaz del usuario pueden ser muy complejas. Hay personas cuya profesión es el diseño de interfaces del usuario. Solo asegúrate de que tu proyecto personal sea fácil de usar y agradable a la vista. Quizás no sea posible desarrollar una interfaz del usuario profesional sin un presupuesto ni un equipo.
    • Si tienes el presupuesto, existen muchos diseñadores gráficos independientes que podrías contratar para diseñar una interfaz del usuario. Si tienes un proyecto sólido que esperas convertir en el siguiente producto revolucionario, encuentra un buen diseñador de interfaces del usuario y hazlo parte de tu equipo.
  4. Sigue buscando los errores.
    A lo largo de la fase beta, debes seguir catalogando y priorizando los reportes de errores que envía tu base de usuarios. Ya que hay más personas que tendrán acceso al producto para probarlo, es probable que aparezcan errores nuevos. Soluciona los errores con base en su prioridad mientras tienes en cuenta tu fecha límite definitiva.

Parte 6 de 6: Lanza tu programa al público

  1. Promueve tu programa.
    Si quieres tener usuarios, querrás asegurarte de que sepan sobre la existencia de tu programa. Al igual que cualquier otro producto, necesitarás hacer un poco de publicidad para que las personas conozcan tu programa. El alcance y la profundidad de tu campaña publicitaria estarán determinados por las funciones de tu programa y los recursos que tengas disponibles. Algunas maneras sencillas para dar a conocer tu programa incluyen:
    • Hacer publicaciones sobre tu programa en foros relacionados. Asegúrate de seguir las reglas para publicar en el foro que selecciones para que las personas no denuncien tus publicaciones.
    • Envía comunicados de prensa a los sitios web de tecnología. Encuentra algunos blogs y sitios web de tecnología que concuerden con el género de tu programa. Envíale comunicados de prensa a los editores detallando tu programa y la función que cumple. Incluye algunas capturas de pantalla.
    • Haz algunos vídeos de YouTube. Si tu programa está diseñado para completar una tarea específica, haz algunos vídeos de YouTube que muestren tu programa en acción. Haz que los vídeos tengan una estructura de guía.
    • Crea páginas en las redes sociales. Puedes crear páginas gratuitas en Facebook y Google+ para tu programa, además de usar Twitter para noticias de la empresa y del programa.
  2. Hospeda tu programa en tu sitio web. Para los programas pequeños, lo más probable es que puedes hospedar el archivo en tu sitio web. Querrás incluir un sistema de pagos si vas a cobrar por tu programa. Si tu programa se vuelve muy popular, quizás necesites hospedar el archivo en un servidor que pueda soportar más descargas.
  3. Establece un servicio de soporte técnico. Cuando tu programa esté disponible al público, sin lugar a dudas tendrás usuarios con problemas técnicos o que no entienden el funcionamiento del programa. Tu sitio web debe tener disponible documentación minuciosa sobre el programa, como también alguna clase de servicio de soporte. Esto puede incluir un foro de soporte técnico, un correo electrónico de soporte, ayuda en vivo o una combinación de las opciones anteriores. Las opciones que proporciones dependerán de tus recursos disponibles.
  4. Actualiza constantemente tu producto. En la actualidad, casi todos los programas tienen correcciones y actualizaciones que se publican mucho después del lanzamiento inicial. Estas correcciones pueden solucionar errores críticos o leves, actualizar protocolos de seguridad, mejorar la estabilidad, agregar funciones o incluso rehacer la estética del programa. Mantener tu programa actualizado ayudará a que siga siendo competitivo

    Consejos y advertencias

    • Interactuar con otros programadores puede ayudarte a aprender más rápidamente. Encuentra un mentor o participa en un grupo de discusión para programadores en línea.