Bienvenido a mi Blog

miércoles, 24 de abril de 2013

Crisis del Software



El término “Crisis del Software” fue acuñado a principios de los años 70, cuando la ingeniería de software era prácticamente inexistente. El término expresaba las dificultades del desarrollo de software frente al rápido crecimiento de la demanda por software, de la complexidad de los problemas a ser resueltos y de la inexistencia de técnicas establecidas para el desarrollo de sistemas que funcionaran adecuadamente o pudieran ser validados.

La percepción de que esta crisis existía empezó a mediados de los años 60. Una de las primeras referencias al término, y de las más notables, fue hecha por E.W.Dijkstra, en el discurso que pronuncio durante la entrega del premio Turing en 1972.

En este trabajo abordaremos por que se produjo esta crisis, y cuál fue el camino adoptado para resolverla, o minimizar sus efectos de algún modo.




CAUSAS DE LA CRISIS DEL SOFTWARE

Durante finales de los años 50 i principios de los 60, la potencia computacional de las maquinas era bastante limitada. Es por esto que los programas que se desarrollaban eran “simples” desde nuestro punto de vista actual. Seguían un proceso de desarrollo bastante artesanal, sin una metodología o un camino a seguir para su desarrollo. En esta época se solían usar los lenguajes de bajo nivel para el desarrollo de Software.

Pero a finales de los 60, la potencia de las maquinas empezó a aumentar de forma considerable. Empezaron a aparecer los lenguajes de programación de alto nivel, y las maquinas necesitaban programas mucho más complejos de los desarrollados hasta la época. En definitiva, fue un salto tremendo en cuanto a potencial de hardware, que no fue acompañado por un salto en el desarrollo de software.

En esta época, se empezó a concebir el Software como producto, y se empezaron a desarrollar algunos proyectos para que funcionaran en las máquinas de la época. Pero aparecieron importantes problemas: los productos excedían la estimación de costes, había retrasos en las entregas, las prestaciones no eran las solicitadas, el mantenimiento se hacía extremadamente complicado y a veces imposible, las modificaciones tenían un coste prohibitivo…en resumen, se desarrollaba software de mala calidad, ya que la técnica utilizada para desarrollar pequeños programas para maquinas con mucho menos potencial se quedaba desfasada, y muchas veces este software acababa en el olvido. Como ejemplo, podemos ver este gráfico del año 1979, en el que se recoge la inversión en desarrollo de sistemas software en ese año ($6.8 Millones),y como acabó ese software

Fuente: Apuntes Ingeniería del Software de Gestión. “Tema 1: Software e Ingeniería del Software”

Una de las principales causas de todo esto, si no la principal, era el enfoque dado al proceso de desarrollo de software, el cual era malo e incluso a veces era inexistente. En este proceso, solo ¼ del tiempo de desarrollo se dedicaba a las fases de análisis, diseño, codificación y pruebas, y más de ¾ del tiempo se dedicaba a correcciones y mantenimiento. Es evidente que dedicándole sol ¼ del tiempo a las primeras fases, se arrastran errores graves, sobre todo procedentes de las fases de análisis y diseño, lo que dificultaba muchísimo la implementación, produciendo constantes paradas y retrocesos para revisar este análisis/diseño.

Para que nos hagamos una idea, el conjunto de las fases de análisis y diseño abarcaban el 8% del tiempo total de desarrollo de software. Además casi el 80% de los errores se producían en estas dos fases, con lo que se incrementaba el coste de corrección de errores conforme evolucionaban las fases de manera bestial. Con estos indicadores estaba claro que algo estaba fallando y que el proceso de desarrollo de software necesitaba un cambio radical.




Ingenieros en Software VS Ingenieros en Sistemas

INGENIEROS EN SOFTWARE



Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software, y el estudio de estos enfoques, es decir, la aplicación de la ingeniería al software. Es la aplicación de la ingeniería al software, ya que integra matemáticas, ciencias de la computación y prácticas cuyos orígenes se encuentran en la ingeniería.

Se pueden citar otras definiciones enunciadas por prestigiosos autores:
  • Ingeniería de software es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978)
  • Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como desarrollo de software o producción de software (Bohem, 1976).
  • Ingeniería de software trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales (Bauer, 1972).

En el 2004, en los Estados Unidos, la Oficina de Estadísticas del Trabajo (U. S. Bureau of Labor Statistics) contó 760.840 ingenieros de software de computadora. El término "ingeniero de software", sin embargo, se utiliza en forma genérica en el ambiente empresarial, y no todos los ingenieros de software poseen realmente títulos de ingeniería de universidades reconocidas.

Algunos autores consideran que "desarrollo de software" es un término más apropiado que "ingeniería de software" para el proceso de crear software. Personas como Pete McBreen (autor de "Software Craftmanship") cree que el término IS implica niveles de rigor y prueba de procesos que no son apropiados para todo tipo de desarrollo de software.

Indistintamente se utilizan los términos "ingeniería de software" o "ingeniería del software". En Hispanoamérica el término usado normalmente es el primero de ellos.

La creación del software es un proceso intrínsecamente creativo y la ingeniería del software trata de sistematizar este proceso con el fin de acotar el riesgo del fracaso en la consecución del objetivo creativo por medio de diversas técnicas que se han demostrado adecuadas en base a la experiencia previa.

La IS se puede considerar como la ingeniería aplicada al software, esto es, por medios sistematizados y con herramientas preestablecidas, la aplicación de ellos de la forma más eficiente para la obtención de resultados óptimos; objetivos que siempre busca la ingeniería. No es sólo de la resolución de problemas, sino más bien teniendo en cuenta las diferentes soluciones, elegir la más apropiada.


Objetivos


Los objetivos específicos de la titulación son los siguientes:

  • Diseñar aplicaciones informáticas que se ajusten a las necesidades de las organizaciones.
  • Dirigir y coordinar el desarrollo de aplicaciones complejas.
  • Intervenir en todas las fases del ciclo de vida de un producto.
  • Estimar los costes de un proyecto y determinar los tiempos de desarrollo.
  • Hacer el seguimiento de costes y plazos.
  • Dirigir equipos de trabajo de desarrollo software.
  • Organizar la realización de pruebas que verifiquen el correcto funcionamiento de los programas y que se ajustan a los requisitos de análisis y diseño.
  • Diseñar, construir y administrar bases de datos.
  • Dirigir y asesorar a los programadores durante el desarrollo de aplicaciones.
  • Introducir procedimientos de calidad en los sistemas, evaluando métricas e indicadores y controlando la calidad del software producido.
  • Organizar y supervisar el trabajo de su equipo de los técnicos de mantenimiento y los ingenieros de sistemas y redes.


INGENIERIA EN SISTEMAS




Es un modo de enfoque interdisciplinario que permite estudiar y comprender la realidad, con el propósito de implementar u optimizar sistemas complejos. Puede verse como la aplicación tecnológica de la teoría de sistemas a los esfuerzos de laingeniería, adoptando en todo este trabajo el paradigma sistémico. La ingeniería de sistemas integra otras disciplinas y grupos de especialidad en un esfuerzo de equipo, formando un proceso de desarrollo centrado.

La ingeniería de sistemas es, pues, la aplicación de las ciencias matemáticas y físicas para desarrollar sistemas que utilicen económicamente los materiales y fuerzas de la naturaleza para el beneficio de la humanidad.

Una de las principales diferencias de la ingeniería de sistemas respecto a otras disciplinas de ingeniería tradicionales, consiste en que la ingeniería de sistemas no construye productos tangibles. Mientras que los ingenieros civiles podrían diseñar edificios o puentes, los ingenieros electrónicos podrían diseñar circuitos, los ingenieros de sistemas tratan con sistemas abstractos con ayuda de las metodologías de la ciencia de sistemas, y confían además en otras disciplinas para diseñar y entregar los productos tangibles que son la realización de esos sistemas.

Otro ámbito que caracteriza a la ingeniería de sistemas es la interrelación con otras disciplinas en un trabajo transdisciplinario.

De manera equivocada algunas personas confunden la ingeniería de sistemas con las ingenierías de computación o en informática, cuando ésta es mucho más cercana a la electrónica y la mecánica cuando se aplica.

Actualmente existe gran controversia respecto a los estudios que se realizan en las universidades, sobre todo en Sudamérica, pues los estudios son similares a los de Ingeniería de Computación o Informática.



OBJETIVO GENERAL

Obtener las actitudes y habilidades necesarias, para desempeñarnos en cualquier campo laboral, desenvolviéndonos con facilidad y con la capacidad de dar solución a cualquier tipo de problema que se nos presente.


OBJETIVOS ESPECIFICOS

-Tener las herramientas necesarias para la rápida solución de problemas con los métodos de la Ingeniería de sistemas.
- Ser innovador, critico, analista y estar en constante investigación tecnológica
-Organizar y dirigir proyectos que faciliten el funcionamiento de una organización.
-Diseñar nuevas tecnologías para facilitar el funcionamiento de los sistemas.


Historia De Ford


Ford, fue fundada el 16 de junio del 1903 con 28.000 dólares aportados por doce inversores, entre los que se incluía el socio que le dio nombre a la compañía, Henry Ford, que por aquel entonces contaba con 40 años de edad. En sus primeros años, Ford producía unos pocos coches por día en su fábrica en la avenida Mack en Detroit, Míchigan. Grupos de dos o tres hombres trabajaban con cada automóvil utilizando componentes fabricados en otras compañías. Poco a poco, la Ford Motor Company continuaría creciendo hasta ser una de las compañías más grandes y lucrativas del mundo desarrollado, así como también una de las compañías más grandes dirigidas por una familia: la familia Ford ha mantenido el control de la compañía durante casi 100 años. Ford fue una de las empresas que logró sobrevivir a la Gran Depresión de los años 30.


En 1908, la Compañía Ford lanzó el modelo Ford T, cuya primera unidad fue fabricada en la Planta Manufacturera de Piquette. La compañía tuvo que trasladar poco después sus instalaciones de producción a la Planta de Highland Park, más grande que la anterior, para poder satisfacer la demanda del nuevo modelo T. Hacia 1913, la compañía había desarrollado todas las técnicas básicas de línea de producción y producción en masa. Ford creó la primera línea de producción móvil del mundo ese año, la cual redujo el tiempo de ensamblaje del chasis de 12 horas y media a 100 minutos.El primer modelo diseñado y realizado para Europa fue el Ford Y 8 HP.