lunes, 24 de septiembre de 2012

PATRONES DE DISEÑO, TECNOLOGIA DE PROGRAMACION BASADA EN COMPONENTES, REINGENIERIA DE SOFTWARE Y PRUEBAS DE CALIDAD DE SOFTWARE.


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.

ATT: MARIA VERÓNICA URDANETA