Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Seguro, Robusto, Arquitectura,
Documentacin
Por qu ?
Construccin
Ingeniera del Software
La Administracin y gerencia
Tecnologa
Ingeniera de software
Causas
Construccin
Ingeniera del Software
Administracin y gerencia
Tecnologa
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios
IS
Ingeniera de software
Inevitable El software DEBE evolucionar (corregir, mejorar, adaptar,
extender, etc.)
El problema no es que haya que hacer mantenimiento sino que es muy
costoso
Costo de desarrollar una lnea: 30 dlares.
Costo de mantenerla: 4000 dlares !! [Boehm]
Causas
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios.
Si es necesario esta etapa ?
SOFTWARE SIN MANTENIMIENTO = VEHCULO SIN TALLER
2 - 3
Aos
Ingeniera de software
Las consecuencias de los errores detectados cuando el sistema ya est en
operacin pueden ser catastrfico
Clientes insatisfechos debido a la dificultad para satisfacer los nuevos
requerimientos
Dificultades para tratar todas las solicitudes de modificacin
Causas
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios
Problema: Etapa de mantenimiento muy
costosa
2 - 3
Aos
Ingeniera de software
Malos o ausencia de diseos que se traducen en software poco flexible, difcil de
extender o adaptar.
Se entrega sin ser terminado y probado (Unit Test).
No hay documentacin del sistema. La nica manera para entender el software es ir a las
lneas de cdigo.
El cdigo fue escrito por varias personas no es uniforme y no cumple un estndar:
estilos y convenciones distintas.
Causas
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios
Hay que entregar todos los artefactos
producidos durante la ejecucin del proyecto
2 - 3
Aos
Ingeniera de software
private boolean metodo1()
{
String cu = leer(Digite valor 1);
String cl = leer(Digite valor 2);
if( cl==db.cl && cu==db.cu )
{mensaje (Credenciales validas+ n + pa); return true;
}
else
{mensaje ( Ups, credenciales invalidas ); i++;
return false;
}
}
/**
* Mtodo para autenticar una cuenta de usuario
* return boolean: true: si es valido, false: si es invalido
*/
private boolean autenticar() {
String cuentaUsuario = leer(Digite Login);
String clave = leer(Digite Clave);
if( clave==admin123 && cuentaUsuario==administrador) {
mensaje ( Bienvenido al sistema+ nombre + primerApellido);
return true;
} else {
mensaje ( Lo siento, credenciales invalidad );
intentos++;
return false;
}
}
Causas
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios
Hay que entregar todos los artefactos
producidos durante la ejecucin del proyecto
Expongamos algunos ejemplos del
cdigo que ustedes escriben
Nombre del usuario:
Primer Apellido del usuario:
Segundo Apellido del usuario:
Neto del valor a pagar a un empleado:
Nombre de clase y mtodo para calcular la nomina de una empresa:
Ingeniera de software
Menosprecio hacia estas actividades de mantenimiento.
Normalmente, los costos del mantenimiento son subestimados.
Las personas menos expertas son designadas para mantener software.
Causas
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios
La Ingeniera del Software debe conocerla el
cliente
Ingeniera de software
Soluciones rpidas a problemas (sin anlisis y en el peor de los casos sin
diseo , hay que tener mucho cuidado con las nuevas tecnologas) .
Los equipos de mantenimiento trabajan en malas condiciones.
Causas
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios
La Ingeniera del Software debe conocerla el
cliente
Ingeniera de software
Los cambios son hechos sin evaluar su impacto, causando inconsistencias,
conflictos con solicitudes previas, etc.
Esto se agrava en la medida que los cambios se realizan concurrentemente
por desarrolladores distintos.
Bajo presin (tiempo, cliente, etc.) es difcil mantener actualizados artefactos
asociados al software como: Documentacin, Manuales, las pruebas, etc.
Causas
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios
As como hay cambio en el Software tambin
hay cambio en los dems artefactos
Ingeniera de software
Mantenimiento
El grfico es muy claro al respecto. El mantenimiento es una actividad
sper importante debido a que requiere entre un 70% a un 90% del
coste del ciclo de vida del producto:
Preventivo, Correctivo, Evolutivo, Adaptativo.
Ingeniera de software
Causas
Construccin
Ingeniera del Software
Administracin y gerencia
Tecnologa
Etc.
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios
Etc.
Salida, Baja
Migracin
Produccin en
paralelo
Sistema en lnea
legado
IS
Ingeniera de software
La migracin es un proyecto, necesita un cronograma.
Son necesarias reglas de transformacin de datos, filtros, etc.
No creo que el cliente le preste mucha atencin a este proceso
Esta etapa es tan critica que puede hacer caer el sistema, aunque este terminado correctamente.
La participacin de los interesados es clave
Si el cliente participa en el proceso de migracin todo ira bien, de lo contrario
Causas
Baja
Migracin
Produccin en paralelo
Sistema en lnea legado
Los datos de la aplicacin actual debe pasas
a la nueva
Ingeniera de software
Reducir riesgos
El hecho de que los datos sean el bien ms importante de una empresa significa que es esencial
que cualquier manipulacin sea realizada sin ninguna interrupcin.
Mejorar la calidad de los datos
Desde la perspectiva del usuario y del desarrollo, los resultados de los datos migrados debe ser
optimizados.
Migrar de manera homognea
Caractersticas comunes
Iteracin
Oportunidades iterativas identificando datos corruptos antes de migrar y as escoger la
informacin candidata.
Inspeccin
Se puede ver la informacin migrada.
Causas
Baja
Migracin
Produccin en paralelo
Sistema en lnea legado
La migracin de datos es una actividad
excepcional que es causada por
circunstancias puntuales.
Ingeniera de software
Que pasa si el sistema nuevo falla ?
Hay que comparar resultados de: reportes, acciones operativas, procesos
masivos, etc.
Hay qua hacer pruebas de carga, funcional, proponer planes de contingencia.
Causas
Baja
Migracin
Produccin en paralelo
Sistema en lnea legado
Terminamos el proyectos, mandemos a
produccin a ver que pasa
Viejo Nuevo
Ingeniera de software
Lo que queremos en una nueva aplicacin pero tener disponible la
informacin histrica.
Causas
Baja
Migracin
Produccin en paralelo
Sistema en lnea legado
Sera que el cliente quiere saber lo que paso
hace 5 aos en la empresa ?
Vieja Nueva
El viejo sigue activo !
Ingeniera de software
Causas
Construccin
Ingeniera del Software
Administracin y gerencia
Tecnologa
Mantenimiento
Herencia del desarrollo
Factor Humano
Procesos de Cambios
Salida, Baja
Migracin
Produccin en
paralelo
Sistema en lnea
legado
IS
Ingeniera de software
1. Escasa participacin de los usuarios
2. Requerimientos y especificaciones incompletas
3. Cambios frecuentes en los requerimientos y especificaciones
4. Falta de soporte ejecutivo
5. Incompetencia tecnolgica
6. Falta de recursos
7. Expectativas no realistas
8. Objetivos poco claros
9. Cronogramas irreales
10. Nuevas tecnologas
Causas
Ingeniera de software
Mejorar las prcticas de ingeniera de software:
Anlisis, diseo, programacin, pruebas, mantenimiento.
Procesos de administracin
Control de cambios, contrataciones, administrar riesgos, manejo de personal, etc.
Tecnologa
Formacin y entrenamiento de las personas.
Tomarlas como un medio no como un objetivo.
Nuestra tarea: Guiar a las organizaciones en la seleccin de estrategias
para mejorar los procesos de desarrollo de software.
CMM, TSP, SPICE, Normalizaciones ISO.
Solucin
Ingeniera de software
Solucin
Mejoramiento continuo
Ingeniera de software
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]
Solucin
Procesos
Tecnologas
Metodologas
Arquitectura
Ingeniera de software
Solucin
No se puede ser un buen director de proyecto sin saber del resto
Etc.
No se puede ser un buen diseador sin saber de
tecnologas
No basta con saber de tecnologa para ser un buen
arquitecto
El proceso tiene que ir apoyado por metodologas
No se puede disear el proceso sin tener en cuenta
la Arquitectura
No se puede ser un buen arquitecto sin saber
de tecnologa
Ingeniera de software
Arquitectura Procesos
Tecnologa Metodologa
Herramientas
Les toca a ustedes
1. Modelo lnea secuencial, o en cascada
2. Modelo de construccin de prototipos
3. Modelo de procesos evolutivos: Incremental
4. Modelo de procesos evolutivos: Es espiral
5. Modelo de procesos evolutivos: De desarrollo concurrente
6. Modelo de procesos evolutivos: De ensamblaje de componentes
7. Modelo en V
8. DRA
9. Modelo XP
Metodologa
Ingeniera de software
Reglas de Juego:
Inventarse: Nombre, logo, misin y visin.
Disear un formato de presentacin para sus exposiciones ( nico ).
Mximo 15 diapositivas
Poco texto
Contenido propuesto:
Estado del arte, La Metodologa (como funciona, grafica), Caractersticas y mas informacin
relevante, ventajas, desventajas, conclusiones.
Entregar trabajo resumen impreso en plantilla tipo articulo
Mximo 8 paginas.
Se evaluara:
Organizacin de la exposicin
Manejo del tema
Presentacin personal
Respuestas a preguntas relacionadas con el tema
La nota es individual
Ingeniera de software
http://sistemas.uniandes.edu.co
http://www.acis.org.co/