1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas...
Transcript of 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas...
![Page 1: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/1.jpg)
1
INGENIERÍA DE SOFTWAREProblemas, causas y soluciones
Grupo de Construcción de Software
Facultad de Ingeniería
Universidad de los Andes
Rubby Casallas, Andrés Yie
Departamento de Sistemas y Computación
Facultad de Ingeniería
Universidad de los Andes
![Page 2: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/2.jpg)
2
Agenda
Motivación
Problemas
Causas
Soluciones
![Page 3: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/3.jpg)
“Casos”
Ingeominas – Sistema de información minera
Presupuesto: 857 millones / 6 meses
Análisis: 80 Casos de Uso
Diseño: 120 Clases
Implementación: 54 Clases
Tamaño promedio por Clase: 12.000 líneas de código.
Real: 1700 millones / 3 Años y 2 meses
La empresa desarrolladora no quiere cuantificar sus perdidas
En la revista semana de noviembre se dijo que el 1 de enero de
este año el sistema entraba a producción
3
![Page 4: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/4.jpg)
“Casos”
IDAC – Sistema de información de Catastro,
Notariado y Registro
Presupuesto: 5630 millones / 12 meses
No se hizo diseño
Real: Se cancelo a los 5 años / 1 año de pleito legal
“Un proyecto de ingeniería se convirtió en un
proyecto de Abogados”
4
![Page 5: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/5.jpg)
“Casos”
Supernotariado y Registro
Actualizar sistema en COBOL a J2EE
Presupuesto: 1000 millones / 14 meses
Real: 2500 millones / 36 meses
Se entrego la aplicación en una nueva versión de
COBOL.
5
![Page 6: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/6.jpg)
Problemas
Durante la construcción
![Page 7: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/7.jpg)
7
Un panorama pesimista
Insatisfacción del cliente porque el sistema no
satisface sus requerimientos
Abandono de los proyectos
Desfases de 2 o más veces el tiempo y el costo
estimado
Mala calidad percibida como:
errores frecuentes
sistemas no confiables
difícil de usar
Sistemas difíciles de adaptar, extender, mejorar
![Page 8: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/8.jpg)
8
Algunas causas
Durante la construcción
La ingeniería del software
La administración de la construcción
La tecnología
Durante el mantenimiento
La herencia del desarrollo
Factores Humanos
El proceso de cambio caótico
![Page 9: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/9.jpg)
9
Algunas causas
Durante la construcción
La ingeniería del software
Cliente o UsuarioDesarrollador
No saber cuál es el sistema que se
quiere construir:
LOS REQUERIMIENTOS
Desarrollador Cliente o Usuario
$$
![Page 10: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/10.jpg)
10
Algunas causas
Durante la construcción
La ingeniería del software
No hacer diseños
ni especificaciones
ni documentación
Desarrollador Cliente o Usuario
$$
![Page 11: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/11.jpg)
11
Algunas causas
Durante la construcción
La ingeniería del software
Programemos rápido para
tener tiempo de corregir y
entender lo que tocaba
hacer!!
Desarrollador Cliente o Usuario
$$
![Page 12: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/12.jpg)
12
Algunas causas
Durante la construcción
La ingeniería del software
Se acabo el tiempo,
entreguemos lo que tenemos
y probamos después
(además, debería funcionar)
Desarrollador Cliente o Usuario
$$
![Page 13: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/13.jpg)
13
Algunas causas
Durante la construcción
La ingeniería del software
La administración de la construcción
La tecnología
Durante el mantenimiento
La herencia del desarrollo
Factores Humanos
El proceso de cambio caótico
![Page 14: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/14.jpg)
14
Algunas causas
Durante la construcción
La administración de la construcción
DesarrolladorCliente o Usuario
Le puedo pagar
por 3 meses.
Cuánto tiempo estima
que se va a demorar ?
![Page 15: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/15.jpg)
15
Algunas causas
Desarrollador
mmm ...
más o menos
3 meses (?)
Cliente o Usuario
Le puedo pagar
por 3 meses.
Cuánto tiempo
estima que se va
a demorar ?
Durante la construcción
La administración de la construcción
![Page 16: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/16.jpg)
16
Algunas causas
C
Tenemos un contrato
pónganse a trabajar! Y el plan?
Departamento de Producción
de Software
Equipo de desarrollo
![Page 17: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/17.jpg)
Para qué?
Igual nunca funciona
y tenemos sólo 3 meses
17
Algunas causas
Departamento de Producción
de Software
Equipo de desarrollo
C
![Page 18: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/18.jpg)
18
Algunas causas
![Page 19: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/19.jpg)
19
Algunas causas
Ud. Dijo que
hacia esa parte
![Page 20: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/20.jpg)
20
Algunas causas
No, esa era su
responsabilidad!
![Page 21: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/21.jpg)
21
Algunas causas
Cuánto se demoraron en total?
Cuál fue el esfuerzo?
Que tan grande es el sistema?
Qué aprendimos?
![Page 22: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/22.jpg)
22
Algunas causas
Durante la construcción
La ingeniería del software
La administración de la construcción
La tecnología
Durante el mantenimiento
La herencia del desarrollo
Factores Humanos
El proceso de cambio caótico
Desarrollador Cliente o Usuario
$$
![Page 23: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/23.jpg)
23
Algunas causas
Objects? Aspects? JSP?
Servlets? XML? 3-Tiers?
JEE5? SOA? BPEL?
mmm... No debe ser tan difícil
Desarrollador Cliente o Usuario
$$
![Page 24: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/24.jpg)
24
Algunas causas
Durante la construcción
La ingeniería del software
La administración de la construcción
La tecnología
Durante el mantenimiento
La herencia del desarrollo
Factores Humanos
El proceso de cambio caótico
Desarrollador Cliente o Usuario
$$
![Page 25: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/25.jpg)
25
Algunas causas
Desarrollo
Años3
Mantenimiento
• No se puede evitar porque el software
DEBE evolucionar (corregir, mejorar,
adaptar, extender ...)
• El problema no es que haya que hacer
mantenimiento sino que es muy costoso
• Costo de desarrollar una línea: 30
dólares. Costo de mantenerla: 4000
dólares !! [Boehm]
![Page 26: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/26.jpg)
26
Algunas causas
Desarrollo
Años3
Mantenimiento
• La importancia del problema:
• Las consecuencias de los errores
detectados cuando el sistema ya está en
operación (pueden ser catastróficos)
• El deterioro del software hasta su muerte
• Clientes insatisfechos debido a la dificultad
para satisfacer los nuevos requerimientos
• Dificultades para tratar todas las solicitudes
de modificación
![Page 27: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/27.jpg)
27
Algunas causas
Durante el mantenimiento
La herencia del desarrollo:
Se entrega antes de ser terminado y debidamente
probado.
No se tiene la documentación del sistema. La única
manera para entender el software es a través de las
líneas de código!
Código escrito por varias personas, cada una con estilos y
convenciones distintas, difícil entender el software.
Malos diseños (o ausencia de ellos) que se traducen en
software poco flexible, difícil de extender o adaptar.
![Page 28: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/28.jpg)
28
Algunas causas
Durante el mantenimiento
Factores Humanos :
Menosprecio hacia estas actividades de mantenimiento.
Típicamente, los costos del mantenimiento son a menudo
subestimados.
Las personas menos expertas son designadas para
mantener software, los equipos de mantenimiento
trabajan en malas condiciones (las nuevas tecnologías y
herramientas son dejadas para los proyectos nuevos!) y
en general, las soluciones rápidas son a menudo
adoptadas.
![Page 29: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/29.jpg)
29
Algunas causas
Durante el mantenimiento
Deficiente proceso de cambio :
los cambios son hechos sin evaluar su impacto, causando
inconsistencias con otros productos, creando conflictos con
solicitudes previas, etc.
se agrava en la medida que los cambios se realizan
concurrentemente por desarrolladores distintos.
bajo la presión de tiempo, es difícil mantener
actualizados los demás productos asociados del software
como la documentación, los manuales, las pruebas, etc.
![Page 30: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/30.jpg)
30
Discusión
Cuáles de estos problemas les han ocurrido sus experiencias como desarrolladores?
Cuáles son novedosos o inesperados de acuerdo a su experiencia?
Qué soluciones podrían plantear?
Durante la construcción
La ingeniería del software
La administración de la construcción
La tecnología
Durante el mantenimiento
La herencia del desarrollo
Factores Humanos
El proceso de cambio caótico
![Page 31: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/31.jpg)
31
Las propuestas de solución
Mejorar las prácticas de ingeniería de software:
Ingeniería (análisis, diseño, programación, pruebas,..)
Procesos de administración (control de cambios,
contrata, admin. riesgos, manejo personal, …)
Tecnología
Formación y entrenamiento de las personas
![Page 32: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/32.jpg)
32
Las propuestas de solución
Guiar a las organizaciones en la selección de
estrategias para mejorar los procesos de
desarrollo de software.
Evaluación:
Capability Maturity Model CMM
SPICE
Normatización: ISO 9001, ISO 10007, ISO ....
![Page 33: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/33.jpg)
Las propuestas de solución
Los estándares podrían funcionarnos
Pero, en nuestra casa de SW nosotros ya hacemos las cosas de cierta manera (nuestro CAOS)
Implementar un estándar es muy costoso
Cómo podemos mejorar?
![Page 34: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/34.jpg)
3434
Proceso
Mediciones
Historia
Evaluación
Seguimiento/
Aseguramiento
Ciclo de mejoramiento continuo
![Page 35: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/35.jpg)
35
¿Qué es la IS?
Es la disciplina del desarrollo y mantenimiento
de sistemas computacionales que se
comportan de manera confiable y eficiente y
que su costo de desarrollo y mantenimiento
puede ser pagado [1]
[1] Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. A Volume of the
Computing Curricula Series. ACM y IEEEComputer Society. 2004
![Page 36: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/36.jpg)
36
Ejes de IS
Casallas Rubby, Villalobos, Jorge. “El actual ingeniero de Software”. Revista ACIS. Edición Nº 93
Julio - Septiembre de 2005. Descargable de: http://www.acis.org.co/index.php?id=547
![Page 37: 1 INGENIERÍA DE SOFTWAREisis2603/... · 2010-09-10 · 1 INGENIERÍA DE SOFTWARE Problemas, causas y soluciones Grupo de Construcción de Software Facultad de Ingeniería Universidad](https://reader033.fdocuments.ec/reader033/viewer/2022041816/5e5aabc7d4cd316a6f4f6bcb/html5/thumbnails/37.jpg)
37
Ejes de la IS
Dependencias profundas entre los ejes:
No se puede ser un buen diseñador sin saber de tecnologías
No se puede diseñar el proceso sin tener en cuenta la
Arquitectura
El proceso tiene que ir apoyado por metodologías
No se puede ser un buen director de proyecto sin saber del
resto
No se puede ser un buen arquitecto sin saber de tecnología
No basta con saber de tecnología para ser un buen
arquitecto
….