PARA DAR INICIO A ESTE TEMA ES NECESARIO APRENDER UN POCO
SOBRE LA METODOLOGIA XP, ES UNA METODOLOGIA “AGIL”, QUE CONSISTE EN TENER UNA
COMUNICACIÓN PERMANENTE CON EL CLIENTE, AL RECIBIR LOS REQUERIMIENTOS Y SI SE
DESEAN HACER ALGUNOS CAMBIOS, Y SE TRABAJA POR PAREJAS (PAIR-PROGRAMMING). CON
ESOS CAMBIOS SE PUEDEN IR HACIENDO LAS CORRECIONES Y SE CREAN VARIOS PROTOTIPOS
DE SISTEMA QUE SE VAN PROBANDO, PARA VERIFICAR QUE FUNCIONE CORRECTAMENTE Y SU
CALIDAD, ASI AL FINAL SE ENTREGA UN PRODUCTO TERMINADO Y DE ALTA CALIDAD.
SU PRINCIPAL VENTAJA, ES QUE PERMITE INCLUIR NUEVOS
REQUERIMIENTOS A LO LARGO DE LA ELABORACION DEL PROYECTO, DE ESTA FORMA PERMITE
DAR UN PROTOTIPO AL CLIENTE RAPIDAMENTE PARA QUE LO PRUEBE CON LOS
REQUERIMIENTOS QUE VA PIDIENDO EN EL TRANSCURSO DE SU ELABORACION. ESTA
METODOLOGIA SE APLICA EN PROYECTOS PEQUEÑOS Y MEDIANOS. DE IGUAL FORMA, UNA DE
SUS DESVENTAJAS ES QUE DEBE ESTAR SIEMPRE EN CONTACTO CON EL CLIENTE QUE DEBE
CONOCER MUY BIEN LA EMPRESA PARA ACERTAR CON SUS NECESIDADES.
AL DESARROLLAR UN
PROYECTO DE SISTEMA NECESITAMOS DE UNA METODOLOGIA COMO ESTA QUE NOS ORIENTE, Y
QUE TAMBIEN NOS PERMITA ORGANIZAR NUESTRO GRUPO DE PROYECTO, DE MANERA QUE
SIRVA PARA AGILIZAR EL PROCESO. DE IGUAL MANERA, AL ELABORAR EL SISTEMA
NECESITAMOS CUBRIR CIERTOS PASOS, COMO LA ELABORACION DE UN PATRON DE DISEÑO,
ESTE ES UNA PEQUEÑA O GRANDE
ESTRUCTURA, QUE CONTIENE EN SU CÓDIGO UNA DETERMINADA FUNCIÓN, ESTA PUEDE
INTERACTUAR CON DIVERSAS APLICACIONES Y COMPLEMENTAR UNA SOLUCIÓN PARA UNO O
VARIOS PROBLEMAS.
LOS PATRONES DE DISEÑO SON MUY IMPORTANTES A
LA HORA DE DESARROLLAR UN SOFTWARE, YA QUE PERMITEN SOLUCIONAR UN PROBLEMA DE
MUCHAS FORMAS DIFERENTES Y ORDENADAMENTE, PUDIENDO REUTILIZAR EL MISMO PATRÓN
PARA OTROS PROBLEMAS SIMILARES QUE NECESITEN REALIZAR UNA FUNCIÓN DETERMINADA.
ESTOS PATRONES DE DISEÑO PUEDEN SER: CREACIONALES, ESTRUCTURALES Y DE
COMPORTAMIENTO, LOS CUALES SE UTILIZARAN DE ACUERDO AL PROBLEMA QUE SE HAYA
PRESENTADO.
TAMBIÉN SE DEBE TOMAR
EN CUENTA, LA TECNOLOGÍA DE PROGRAMACIÓN BASADA EN COMPONENTES, QUIEN ES LA QUE
SE ENCARGA DE ESCOGER MÓDULOS O PATRONES NECESARIOS PARA FORMAR GRANDES
APLICACIONES, Y ESTOS PATRONES, COMO SE EXPLICO ANTERIORMENTE, PUEDEN SER
UTILIZADOS POR OTRAS APLICACIONES Y A SU VEZ ESTAR INTERACTUANDO ENTRE SI.
PARA CREAR UNA
APLICACIÓN, DEBE ESTAR COMPUESTA POR DIVERSOS ELEMENTOS QUE LA CONFORMAN, ESTOS
ELEMENTOS SON LOS MÓDULOS, QUE SON PEQUEÑAS FUNCIONALIDADES QUE MUCHAS PERSONAS
HAN DESARROLLADO Y QUE AL IGUAL QUE LOS PATRONES SE PUEDEN UTILIZAR MUCHAS
VECES CON DIVERSOS FINES; ESTOS MÓDULOS SE UNEN PARA FORMAR UNA APLICACIÓN QUE
BIEN PUEDE SER COMPLEJA O PUEDE SER PEQUEÑA. ESTO QUIERE DECIR, QUE LOS
COMPONENTES DE DISEÑO DEL SOFTWARE SON MUY IMPORTANTES, YA QUE PERMITEN UNIR
ESAS PEQUEÑAS APLICACIONES CREADAS POR MUCHOS PERO QUE DE UNA U OTRA FORMA NOS
PERMITEN RESOLVER UN PROBLEMA O UNA NECESIDAD DE NUESTRO CLIENTE SIN TENER QUE DESARROLLAR
UN SOFTWARE NUEVO.
DE IGUAL FORMA, SI LO
QUE SE DESEA ES APLICAR REINGENIERIA QUE ES QUIEN TIENE LA RESPONSABILIDAD DE
VOLVER A CONSTRUIR ALGO QUE YA ESTABA
HECHO Y ADAPTARLE NUEVOS MÓDULOS Y NUEVOS CÓDIGOS QUE SIRVAN PARA SOLUCIONAR
OTRA DE LAS NECESIDADES QUE EL CLIENTE TENGA POSTERIORMENTE, BIEN SEA DÁNDOLE
UN NUEVO DISEÑO O AGREGARLE OTRAS FUNCIONES ÚTILES AL SISTEMA.
DENTRO DE LA
REINGENIERÍA SE ENCUENTRA LA INGENIERÍA INVERSA Y LA INGENIERÍA DIRECTA. EL
TRABAJO DE LA INGENIERÍA INVERSA ES DESCUBRIR EL CÓDIGO FUENTE DE UN SISTEMA,
ORDENAR SU CÓDIGO Y OBTENER EL DISEÑO DEL SISTEMA; A DIFERENCIA DE LA
INGENIERÍA DIRECTA, QUIEN OBTIENE EL CÓDIGO DEL VIEJO SISTEMA Y LE AÑADE LAS
NUEVAS FUNCIONALIDADES QUE DESEE EL CLIENTE, LOGRANDO UN NUEVO DISEÑO, LUEGO SE
REIMPLEMENTA, SE LE HACEN LAS PRUEBAS CORRESPONDIENTES Y SE HACE ENTREGA AL
CLIENTE. LA REINGENIERÍA, LA INGENIERÍA INVERSA Y LA DIRECTA, VAN DE LA MANO,
YA QUE TODAS SE UTILIZAN AL MOMENTO DE RECONSTRUIR UN SISTEMA, DÁNDOSE ASÍ
MISMA GRAN IMPORTANCIA A LA HORA DE INNOVAR, PORQUE PERMITE LOGRAR UN SISTEMA
DE ALTA CALIDAD, CON MAYOR RENDIMIENTO, AUMENTA LA VIDA DEL SISTEMA Y CON MAYOR
FACILIDAD DE MANTENIMIENTO YA QUE SE CUENTA CON UN SOFTWARE NUEVO Y
ACTUALIZADO.
POR ULTIMO Y EN EL
TRANSCURSO DE TODO EL DESARROLLO DEL PROYECTO SE DEBEN APLICAR PRUEBAS DE
CALIDAD DE SOFTWARE, PEQUEÑAS PRUEBAS QUE SE VAN APLICANDO A UN DETERMINADO
SOFTWARE QUE SE ESTÉ DESARROLLANDO, CON EL FIN DE QUE SE VAYAN OBTENIENDO
MEJORAS EN EL TRANSCURSO DE SU DESARROLLO, PERMITIENDO DE ESTA FORMA ENTREGAR
UN SOFTWARE DE ALTA CALIDAD A SUS CLIENTES.LUEGO DE LA ENTREGA DEL SOFTWARE
DEBEN HACERSE REVISIONES PERIÓDICAMENTE, PARA VERIFICAR SU CORRECTO
FUNCIONAMIENTO Y ASÍ CERTIFICAR QUE FUNCIONE CORRECTAMENTE, Y SI PRESENTA
FALLAS CORREGIRLAS, VOLVER APLICAR PRUEBAS DE CALIDAD DE SOFTWARE Y HACER
ENTREGA DEL PRODUCTO FINAL.
POR LO TANTO SE PUEDE
DECIR, QUE LOS PATRONES DE DISEÑO, LA CALIDAD DEL SOFTWARE, LA REINGENIERÍA, LA
INGENIERÍA INVERSA, Y LOS COMPONENTES DE DISEÑO DE DEL SOFTWARE CUMPLEN UN
PAPEL MUY IMPORTANTE DENTRO DEL MUNDO DEL DESARROLLO DE SISTEMAS DE TODO TIPO,
YA QUE NECESITAMOS DE PATRONES DE DISEÑO PARA PODER TENER UN ESQUEMA ORGANIZADO
DE LOS PASOS QUE SE VAN A SEGUIR, ESOS PATRONES SE PUEDEN HACER GRACIAS A LA
INGENIERÍA INVERSA Y LA REINGENIERÍA YA QUE SON ELLAS QUIENES SE ENCARGAN DE
BUSCAR LOS REQUERIMIENTOS NECESARIOS; AGREGARLE LOS COMPONENTES DE DISEÑO DE
SOFTWARE, DARLE UN NUEVO DISEÑO A LA INTERFAZ, APLICARLE PRUEBAS DE CALIDAD AL
SISTEMA Y HACER ENTREGA A SU CLIENTE, DE ESTA FORMA QUEDA DEMOSTRADO QUE TODAS
VAN DE LA MANO, Y QUE SI UNO DE ELLOS FALLA, EL SISTEMA PODRÍA PRESENTAR
ERRORES O BIEN NO CUBRIR CON LAS EXPECTATIVAS DEL CLIENTE.
DE ESTA FORMA LA
METODOLOGIA XP, PERMITE UTILIZAR TODOS ESTOS METODOS DE MANERA ORGANIZADA, EN
MUY CORTO TIEMPO. DE IGUAL FORMA, ESTA INFORMACIÓN ES MUY ÚTIL PARA PROYECTOS
INFORMATICOS, YA QUE PERMITE OBTENER MUCHO MAS CONOCIMIENTO SOBRE COMO ESTA
COMPUESTO UN SOFTWARE Y COMO SE DEBE HACER PARA LOGRAR DESARROLLAR UNO DE
CALIDAD Y DE FORMA ORGANIZADA.
