EL APORTE DE LA INGENIERIA DE SOFTWARE
A LAS ORGANIZACIONES
Wilson Ortega
Universidad del Cauca
Electiva Comercio electrónico
II-2007
QUE ES LA INGENIERÍA DEL SOFTWARE ?
“El establecimiento y uso de los principios de ingeniería con el fin de obtener
software confiable y que trabaje eficientemente en máquinas reales” [Bauer,
1972].
“El uso de metodologías, herramientas y técnicas para resolver problemas
prácticos que se presentan en la construcción, desarrollo, soporte y
evolución del software ” [NCR, 1990].
“Una aproximación sistemática, disciplinada y cuantificable aplicada al
desarrollo, operación y mantenimiento del software; esto es la aplicación de
ingeniería de software” [IEEE, 1991].
“Es la aplicación practica del conocimiento científico en el diseño y
construcción de programas de computadora y la documentación asociada
requerida para desarrollar, operar (funcionar) y mantenerlos. Se conoce
también como desarrollo de software o producción de software ” [Bohem,
1976].
PROCESOS & PRODUCTOS DE LA
INGENIERÍA DEL SOFTWARE
El
proceso general de resolución de
problemas contempla las siguientes etapas:
Decidir que hacer
Decidir como hacerlo
Hacerlo
Probar el resultado
Usar el resultado
OBJETIVOS DEL PROCESO SW
Satisfacer una necesidad mediante una solución tratable por
ordenador.
Producir el mantenimiento del software hasta el fin de su vida útil.
BENEFICIOS DEL PROCESO SW
Definir una estructura de proyecto manejable.
Definir un esquema para planificar, organizar, asignar personal,
coordinar, presupuestar, y dirigir las actividades de la construcción
de software.
Encadenar las tareas y actividades del proceso software de una
determinada forma.
Determinar entrega y producción de documentación guía para el
usuario.
Determinar que herramientas, técnicas y metodologías de IS
serán más apropiadas.
CAPAS DE LA INGENIERIA DE SOFTWARE
La Ing.Software es una
tecnología multicapa
Enfoque de Calidad
Proceso
Métodos
Herramientas
CAPAS DE LA INGENIERIA DE SOFTWARE
MARCO DE CALIDAD
Satisfacción de Necesidades de los Stakeholders
Organización, Orden, Transparencia, Controles
Estándares Internacionales de mejores prácticas
PROCESOS
Fases del Ciclo de Vida del Software
Asegurando un Producto Excelente
CAPAS DE LA INGENIERIA DE SOFTWARE
METODOLOGÍAS
Orientaciones sobre como manejar el desarrollo a
través del ciclo de vida del software
HERRAMIENTAS
Uso de tecnologías para asistir el desarrollo del
software y asegurar el cumplimiento de los objetivos
del software
Enfoque automático / semiautomático
GENERALIDADES DE LA GESTION
ESTRATEGICA DE PROYECTOS BASADOS
EN TECNOLOGIA INFORMATICA
LA CRISIS DEL SOFTWARE
Bajos niveles de productividad
Demasiados reprocesos
Sobrecostos
Tiempos de entrega inoportunos
Complejidad en el proceso de mejora continua
EL ESTADO DE DESARROLLO DE SOFTWARE
La mayoría de los proyectos de desarrollo de software
fallan
Qué significa fallar?
No cumplir los cronogramas
No cumplir el presupuesto
No satisfacer la funcionalidad requerida
Demasiados defectos una vez en producción
Demasiado frágil a los cambios
...
¿Qué tipo de Problemas Surgen?
Retrasos en los proyectos.
Falta de calidad.
Incumplimiento con la funcionalidad acordada.
Desarrolladores innovadores.
Exceso de requerimientos y funcionalidad.
Falta de planificación.
Motivación débil, Falta de participación.
No existe gestión de riesgos.
ALLSOFT, S.A.. de C.V., 2002
CONTRARRESTANDO LAS MALAS PRACTICAS
Todo empieza con optimismo y entusiasmo !
CONTRARRESTANDO LAS MALAS PRACTICAS
Pero muchos de ellos fracasan !
CONTRARRESTANDO LAS MALAS PRACTICAS
Los problemas empiezan en las practicas gerenciales del
proceso tecnológico (algunas veces el exceso de confianza)
LA GESTION TRADICIONAL EN LA INGENIERIA
DE SOFTWARE
CRISIS DEL SOFTWARE
RAZONES DE FRACASO RAZONES DE ÉXITO
% %
• 12.8 Falta de información de los usuarios • 15.9 Participación de los usuarios
• 12.3 Especificaciones incompletas • 13.9 Apoyo de la alta gerencia
• 11.8 Especificaciones cambiantes • 13 Requerimientos claros
• 7.5 Falta de compromiso de la alta gerencia • 9.6 Buena planificación
• 7 Incompetencia tecnológica • 8.2 Expectativas reales
• 6.4 Falta de recursos • 7.7 Alcances pequeños
• 5.9 Expectativas irreales • 7.2 Staff competente
• 5.3 Objetivos poco claros • 2.8 Objetivos claros
• 4.3 Tiempos optimistas • 2.4 Staff trabajador
• 2.3 Nueva Tecnología • 19.2 Otros
CRISIS DEL SOFTWARE
Estimación de costos y tiempos de los proyectos muy
imprecisa.
La productividad del software no corresponde con la
demanda de sus servicios.
Calidad del software apenas aceptable.
Deficiente administración de proyectos de software.
La mayoría del esfuerzo de los departamentos de sistemas
está centrado en la etapa de mantenimiento (Complejidad,
Costos, Tiempos de Respuesta, Obsolescencia)
EL ÉXITO EN DESARROLLO DE SOFTWARE