miércoles, 24 de septiembre de 2008

SOFTWARE Y SU IMPULSO (Ensayo)

Creo que gracias a el software (hablando de manera general) ha hecho que todo sea más fácil hoy en nuestro días, pues este nos ayuda a resolver situaciones o de la vida cotidiana, pero como se dijo una vez en clase, “la computadora no hace magia”, yo creo que de eso nos encargamos nosotros, pero bueno, a lo que me refiero es que conforme avanza la tecnología, podemos dar solución a situaciones cada vez mas sofisticadas.

Primeramente gracias a el software podemos darle las instrucciones a al hardware, y así producir el comportamiento deseado. Al desarrollar un software se debe seguir un procedimiento de gestión para tener la seguridad de que desde el proceso, elaboración y entrega se verifique ciertos estándares de calidad, pero de eso me gustaría hablar mas adelante.

El software tiene varias clasificaciones, estas se basan en ciertas características, como aquella que se basa en la utilización que se le de al software, que es donde se desprenden los de gestión de información, los ofimáticas, los de formación o divulgación, o hasta aquellos que se encargan de hacernos pasar un rato entretenido, me refiero a los juegos. Luego se clasifican según el tratamiento comercial que tienen, como los que encontramos comúnmente en diversas tiendas, o el software a medida. Otra clasificación podría ser aquella que se basa en como y a que nivel se desarrolla, o sea que se mide su eficiencia.

En cuanto al desarrollo del software son varios los factores que se deben de tomar en cuenta, primeramente el desarrollador debe contar con ciertas formas de visualizar las cosas, así como contar con ciertas características para poder desarrollar algo en base a su conocimiento.

Para desarrollar un software, se debe de llevar todo un proceso, hace décadas, este proceso ese demasiado largo y costoso, hoy en día se cuentan con ciertos principios y métodos para la elaboración de software. Con esto nos referimos a la ingeniería de software, que en si, se refiere a la serie de principios de ingeniería aplicados a la elaboración de un software que se sea económico, eficiente y fiable para las personas.

En la ingeniería de software se lleva un proceso, el cual se basa en el enfoque de la calidad, esto quiere decir que todo lo que se realice se hará pensando en hacerse de la mejor forma, un punto importantísimo; los métodos, los cuales nos indican el como haremos para realizar el software; el proceso, que define lo que se va a realizaren ciertos puntos clave del proceso; y las herramientas, que nos proporcionan lo indispensable para hacer todo lo ya mencionado, estas nos facilitan las tareas ha realizar.

Hay varios modelos o paradigmas de ingeniería de software, los cuáles cuentan con diferentes entre si, así, cada uno de esos paradigmas nos ofrece una perspectiva diferente de trabajo, con esto nosotros nos podremos ajustar al modelo que mas nos beneficie y que nos haga realizar el software de manera eficiente, por que no es lo mismo ser eficaz, que eficiente, pues en la segunda se cuidan los aspectos de cómo se realizan la actividades, la eficacia se basa en que yo puedo hacer algo, pero hacerlo de la mejor manera posible; ahorrando tiempo, esfuerzo, etc.

Son cinco principales modelos de desarrollo de software:
  • DESARROLLO EN CASCADA O LINEAL. Este es un modelo que se enfoca en ordenar cada una de sus etapas, esto, de forma rigurosa, pues es la esencia de este método. Esto quiere decir que no se podrá pasar a la siguiente etapa hasta que la primera este completamente terminada, y así con cada una de ellas (análisis de diseño, diseño de sistema, diseño del programa, codificación, pruebas, implantación y mantenimiento). Una de sus ventajas es que todo esta bien organizado desde principio a fin pues en cada paso se detectan y eliminar los errores, en contraparte es un modelo demasiado tardado, pues es muy difícil que el cliente nos diga todos los requerimientos, con solo algo que falte por muy pequeño, atrasa el proyecto.
  • MODELO DE DESARROLLO DE PROTOTIPOS. En este modelo lo primero que se hace es obtener los objetivos globales, para hacer un bosquejo o prototipo, el cual se va a ir trabajando conforme se interactué con el cliente, y así ir desarrollando el proyecto. Una de sus ventajas es que se tiene una gran interacción con el cliente, además de que no necesitamos saber todos los objetivos, sino solamente los mas esenciales. En cuanto a desventajas encontramos que la mayoría de las veces el cliente ve el prototipo como el proyecto final, y al trabajar en prototipos se descuidan un poco los aspectos en cuanto a la calidad del mismo.
  • DESARROLLO RAPIDO DE APLICACIONES. El modelo se basa en desarrollar ciertos grupos de trabajo, a los cuales se les dará una tarea en especifica, o sea que el trabajo se no se hará por un solo grupo, sino por la participación de varios, los cuáles se centran en el modelado de gestión, modelado de datos, modelado de proceso, generación de aplicaciones y pruebas de entrega. Con el inconveniente de que se debe contar con los recursos humanos necesarios para poder repartir los procesos, además de que la comunicación se debe tomar como talón de Aquiles para poder organizar a los distintos grupos de trabajo, sin ella, todo será un fracaso.
  • MODELO INCREMENTAL. Se divide en cuatro procesos; análisis, diseño, código y pruebas. En este modelo no es necesaria la intervención de muchas personas, ya que en cada incremento se pueden ir sumando al proyecto. Es un modelo que como ya se dijo no se necesita mucha gente (al principio), y además es un modelo interactivo sin mencionar que es un modelo perfecto para proyectos grande y de larga duración.
  • MODELO DE DESARROLLO EN ESPIRAL. Es un modelo evolutivo, en el que primeramente tenemos que planificar y determinar los objetos, después se hace el análisis de riesgos, donde localizamos y prevemos los riesgos que se pudieran dar a futuro, después entramos a la etapa donde desarrollamos, verificamos y validamos, para después pasar a la evaluación del cliente, donde depende de los resultados que nos de se tendrá que repetir el mismo ciclo. Lo malo de este modelo es que resulta muy costoso y tardado.

Ya vimos lo que es software, algunas características, su clasificación, así como lo que es ingeniería del software y algunos de los modelos más utilizados en ella, pero, ¿Qué es lo que pasa con el recurso humano para poder realizar software de calidad, y a un nivel de exportación? Hoy en día se están haciendo muchos esfuerzos para hacer profesionales altamente capacitados y que cumplan con las expectativas del mercado, no solo a nivel regional o nacional, sino a nivel mundial, lo que hará al país un participe dentro de la revolución del desarrollo de software que se lleva a cabo en todo el mundo.

Gracias a las certificaciones un profesional puede alcanzar puestos más ambiciosos (en el buen sentido de la palabra), pero detrás de esto el profesional debe de contar con los conocimientos necesarios para obtener una certificación, pues esta es la que comprueba nuestras capacidades, conocimientos y habilidades. El punto es que es una tarea de todos, tanto del gobierno, industria y aun mas importante, de nosotros mismos, pues aunque se tengan los apoyos necesarios, si nosotros no le sacamos provecho, dichos esfuerzos seria inútiles. Un ejemplo de esos apoyos seria el Programa de Desarrollo de la industria del Software ( PROSOFT) el cual fue desarrollado por la academia y el gobierno.

Una de los proyectos que se están apoyando es la creación de parques tecnológicos, siendo 6 en el país (los que se encuentran en los estados de Aguascalientes, Baja California, Jalisco, Nuevo León, Sonora y el Estado de México), todo esto conlleva a la creación de empresas cada vez más grandes y con la infraestructura necesaria para competir a nivel mundial con empresas de alto renombre. O lo que es parecido, la creación de clusters (lugares donde se posicionan empresas de un mismo giro y trabajan en un ambiente de competencia saludable, lo que impulsa a las empresas a esforzarse cada vez más, desarrollando el capital humano, así como el talento y las habilidades en TI para el futuro, además de implementar modelos de calidad, brinda un apoyo solidó a la innovación, y da estrategias comunes de desarrollo. Según datos del anuario PROSOFT para este año se cuentan con 20 estados en el país que cuentan con clusters, 23 clusters lo que arroja un total de 700 empresas participantes, en cuanto a las iniciativas del mismo solo el 9% es proporcionar por parte del estado, siendo las empresas quienes más proponen. Los clusters deberán cumplir con los siguientes pasos; iniciación, formación, expansión y consolidación.

Hablando de cuanto se genera en profesionales anualmente, a nivel nacional el índice de egresados es de 60,000 en carreras relacionadas con TI, siendo una cantidad igual de profesionales activos en la industria del software, pero con todo eso hay un déficit de alrededor de 50,000 profesionales.

En términos nacionales, el 43.71% de las empresas de Ti se encuentran en la zona centro-este del país, y en términos nacionales, México ocupa la 9ª posición en cuanto a la reserva mundial para ofrecer servicios de TI con el 4%, mientras que la India ocupa el numero 1 con un 28%.

En cuanto al estado de Zacatecas se invirtió en el año de 2007 en los siguientes rubros lo siguiente:


CAPACITACION ($47,748,004)
INFRAESTRUCTURA ($28,822,401)
NORMAS Y MODELOS ($0)
USO DE TI Y SERVICIOS RELACIONADOS($3,952,539)
PROTECCION DE PROPIEDAD INTELECTUAL ($337,185)
COMERCIALIZACION ($540,500)
ESTUDIOS ($2,428,387)
SERVICIOS PROFESIONALES DIVERSOS ($0)
EVENTOS ($193,985)
INNOVACION ($904605)
CREACION Y FORTALECIMIENTO DE FONDOS ($0)

Además de la parte de los $80, 000,000 que le toco al estado para el desarrollo de software para este año, se están haciendo los avances y se esta tratando de abrir el camino hacia la superación y el desarrollo de software de calidad.



No hay comentarios: