ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Ing Software

jeniret30 de Enero de 2013

4.051 Palabras (17 Páginas)656 Visitas

Página 1 de 17

LA CRISIS DEL SOFTWARE

La crisis del software se refiere a un conjunto de problemas encontrados en el desarrollo del software de computadoras. Los problemas no están limitados al software que “no funciona adecuadamente”. Sino que la crisis del software abarca los problemas asociados con cómo desarrollar el software, cómo mantener un volumen creciente de software existente y cómo podemos esperar satisfacer la demanda creciente de software. Aunque la referencia a una “crisis del software” puede ser criticada por ser algo melodramático, la frase sirve como un propósito útil para alumbrar los problemas reales encontrados en todas las áreas de desarrollo del software.

Problemas:

La crisis del software se caracteriza por muchos problemas, pero los responsables del desarrollo del software se concentran sobre los aspectos de “fondo”: (1) la planificación y estimación de coste es frecuentemente muy imprecisa; (2) la “productividad” de la gente del software no se corresponde con la demanda de sus servicios, y (3) la calidad del software no llega a ser a veces ni adecuada. Se ha sufrido el sobrepasar los costes en un orden de magnitud. Se ha errado en la planificación en meses o años. Se ha hecho muy poco para mejorar la productividad de los trabajadores en software. Los errores en los nuevos programas producen en los clientes insatisfacción y falta de confianza.

Tales problemas son sólo las manifestaciones más visibles de otras dificultades del software:

• No tenemos tiempo de recoger datos sobre el proceso de desarrollo del software. Sin datos históricos como guía, la estimación no ha sido buena y los resultados predichos muy pobres. Sin una indicación sólida de productividad, no podemos evaluar con precisión la eficacia de las nuevas herramientas, técnicas o estándares.

• La insatisfacción del cliente con el sistema “terminado” se produce demasiado frecuentemente. Los proyectos de desarrollo del software se acometen frecuentemente con sólo una vaga indicación de los requerimientos del cliente. Normalmente la comunicación entre el cliente y el que desarrolla el software es muy escasa.

• La calidad del software es normalmente cuestionable. Hemos empezado a comprender recientemente la importancia de la prueba sistemática y técnicamente completa del software. Están comenzando a emerger conceptos cuantitativos sólidos sobre la fiabilidad del software y garantías de calidad [IAN84].

• El software existente puede ser muy difícil de mantener. La tarea de mantenimiento del software se lleva la mayor parte de todos los dólares invertidos en software. El mantenimiento no se ha considerado un criterio importante en la aceptación del software.

Hemos presentado primero las malas noticias. Ahora las buenas: todos los problemas descritos anteriormente pueden corregirse. La clave está en dar un enfoque de ingeniería al desarrollo del software, junto con la mejora continua de técnicas y herramientas.

Permanecerá un problema (podríamos llamarlo un hecho de la vida). El software absorberá mayores y mayores porcentajes del coste de desarrollo global de los sistemas basados en computadoras. En los Estados Unidos gastamos cerca de 50 billones de dólares cada año en el desarrollo, compra y mantenimiento de software de computadora. Nos hemos tomado más en serio los problemas asociados con el desarrollo del software.

Causas:

Los problemas asociados con la crisis del software se han producido por el carácter del propio software y por los errores de las personas encargadas del desarrollo del mismo. Sin embargo, es posible que esperemos demasiado en demasiado poco tiempo. Después de todo, nuestra experiencia no va más allá de 35 años.

El carácter del software de computadora se ha tratado brevemente en la sección anterior. Revisémoslo, el software es un elemento lógico en vez de físico; por tanto, el éxito se mide por la calidad de una única entidad en vez de por muchas entidades fabricadas. El software no se rompe. Si se encuentran fallos, existe una alta probabilidad de que se introdujeran inadvertidamente durante el desarrollo y no se detectaran durante la prueba. Reemplazamos las “partes defectuosas” durante el mantenimiento del software, pero tenemos muy pocas, o incluso ninguna, piezas de repuesto; es decir, el mantenimiento incluye normalmente la corrección o modificación del diseño.

La naturaleza lógica del software presenta un desafió a la gente que lo desarrolla. Por primera vez hemos aceptado la tarea de comunicarnos con un alienígena inteligente —una máquina. El desafió intelectual del desarrollo del software es seguramente una de las causas de la crisis del software, pero los problemas tratados anteriormente han sido causados por defectos humanos más mundanos.

Los ejecutivos de nivel medio y alto sin conocimientos en software, han sido frecuentemente responsables del desarrollo de software. Hay un viejo axioma de gestión que dice: “Un buen gestor puede gestionar cualquier proyecto”. Nosotros debemos añadir: “...Si desea aprender las técnicas novedosas que pueden utilizarse para medir el desarrollo del proyecto, aplicar métodos efectivos de control, ignorar la mitología y llegar a conocer una tecnología rápidamente cambiante”. El gestor debe comunicarse con todos los componentes implicados en el desarrollo del software —clientes, realizadores del software, equipo de soporte y otros—. La comunicación puede romperse debido a que las características especiales del software y los problemas particulares asociados con su desarrollo son mal comprendidos. Cuando esto ocurre, los problemas asociados con la crisis del software se multiplican.

Los trabajadores del software (la pasada generación se llamó programadores; esta generación se ganará el título de ingenieros en software) han tenido muy poco entrenamiento formal en las nuevas técnicas de desarrollo de software. En muchas organizaciones reina una suave forma de anarquía. Cada individuo enfoca su tarea de “escribir programas” con la experiencia obtenida en trabajos anteriores. Algunas personas desarrollan un método ordenado y eficiente de desarrollo del software mediante prueba y error, pero muchos otros desarrollan malos hábitos que dan como resultado una pobre calidad y mantenibilidad del software.

Todos nos resistimos al cambio. Sin embargo, es verdaderamente irónico, que mientras el potencial de cálculo (hardware) experimenta enormes cambios, la gente del software, responsables de aprovechar dicho potencial, se oponga normalmente a los cambios cuando se discuten, y se resistan al cambio cuando se introduce. Puede que ésta sea la causa real de la crisis del software.

IMPORTANCIA DE LA INGENIERA DEL SOFTWARE

Dentro de toda empresa o lugar de trabajo, siempre ha existido y existirá la necesidad de contar con una herramienta la cual permita la realización de una tarea en específico, con el fin de acelerar los procesos de la misma y ofrecer una mejor producción.

Sería difícil imaginarse una sociedad la cual no utilizara ningún aplicativo que facilitara las tareas a realizar dentro el contexto actual; se harían mucho menos dinámicas cada una de las actividades, no sería igual de eficaz y competitiva la empresa, se vería grandemente afectadas las ganancias de la empresa al no cumplir dentro del tiempo establecido por los clientes para el cumplimiento de sus demandas, etc.

Gracias a la labor de la ingeniería de software se evitan las problemáticas mencionadas anteriormente, además se promueve el uso de las tecnologías como medio para incrementar las capacidades de la empresa, aumentando la competitividad en el mercado al satisfacer todos los requerimientos de los usuarios; asimismo se impulsará a la capacidad de innovación al implementar los recursos brindados por las diversas tecnologías para encontrar la solución de un determinado problema.

Importancia de la ingeniería de software

La ingeniería de software se centra en los métodos, herramientas y procedimientos para establecer un control en el desarrollo del software, lo que permite construir software de calidad de forma productiva y evitando posibles errores humanos. De hecho, la predecibilidad de los resultados es uno de los factores que garantizan la calidad de los sistemas. Un mercado emergente en nuestro país, que refleja cómo el personal directivo de las empresas cada vez se preocupa más de la repercusión de los procesos de ingeniería de software en sus objetivos de negocio.

El IEEE (Institute of Electrical and Electronics Engineers) define la ingeniería de software como la rama de la ingeniería que aplica los principios de la ciencia de computación y las matemáticas para lograr soluciones eficaces económicamente a los problemas de desarrollo de software. Desde el punto de vista que nos atañe, es decir, la calidad y pruebas de software, se puede decir que se trata de la industrialización del software, que supone convertir el proceso de desarrollo y, en particular, la fase de pruebas del software en un proceso automatizado “para conseguir minimizar el impacto de lo que llamaríamos el error humano y facilitar la mejora continua”, según especifica Ana Ascasso, responsable de soluciones de calidad de Compuware en España.

Automatizar procesos en el desarrollo del software supone mejorar

las aplicaciones, disminuir las posibles incidencias en el mismo, lo que, para las empresas va a suponer, optimizar las funcionalidades y maximizar el rendimiento de sus productos software y de su cartera de servicios. Si bien durante muchos

...

Descargar como (para miembros actualizados) txt (27 Kb)
Leer 16 páginas más »
Disponible sólo en Clubensayos.com