SlideShare una empresa de Scribd logo
1 de 13
AUDITORIA DE CÓDIGO DE
     APLICACIONES
Contenido
• Control de versiones
• Programas para control de versiones
• ¿Para qué es el control de cambios en el
  código?
• Control de versiones con el método X.Y.Z
• ¿Versiones Beta, Alpha, RC?
• Beneficios de una Auditoria de Código
• Proceso de pase a producción
Control de versiones
• Se llama control de versiones a la gestión de los diversos cambios
  que se realizan sobre los elementos de algún producto o una
  configuración del mismo. Una versión, revisión o edición de un
  producto, es el estado en el que se encuentra dicho producto en un
  momento dado de su desarrollo o modificación. Aunque un sistema
  de control de versiones puede realizarse de forma manual, es muy
  aconsejable disponer de herramientas que faciliten esta gestión
  dando lugar a los llamados sistemas de control de versiones o SVC
  (del inglés System Version Control).
• El control de versiones se realiza principalmente en la industria
  informática para controlar las distintas versiones del código
  fuente dando lugar a la sistemas de control de código fuente o
  SCM (siglas del inglés Source Code Management). Sin embargo, los
  mismos conceptos son aplicables a otros ámbitos como
  documentos, imágenes, sitios web, etc.
Programas para control de
          versiones
• Los programas para control de versiones son un grupo de
  aplicaciones originalmente ideadas para gestionar ágilmente los
  cambios en el código fuente de los programas y poder revertirlos,
  cuyo ámbito ha sido ampliado pasando del concepto Control de
  versiones al de Software Configuration Management, en el que se
  engloban todas las actividades que pueden realizarse por un equipo
  sobre un gran proyecto software u otra actividad que genere
  ficheros digitales (e.g. documentos, ofertas, dibujos, esquemas...
• Estos sistemas facilitan la administración de las distintas versiones
  de cada producto desarrollado, así como las posibles
  especializaciones realizadas (por ejemplo, para algún cliente
  específico). Ejemplos de este tipo de herramientas son entre
  otros: CVS, Subversion, SourceSafe, ClearCase, Darcs, Bazaar , Plasti
  c SCM, Git, Mercurial, Perforce.
¿Para qué es el control de
       cambios en el código?
• Cuando se modifica un archivo pueden pasar
  dos cosas, mantener un historial de cambios o
  dejarlo sin una memoria de los cambios
  realizados, siendo esto último un dolor de
  cabeza cuando arruinamos aún más el archivo.
¿Para qué es el control de
        cambios en el código?
• Imaginemos que están haciendo un sistema en el que
  están involucradas muchas personas, cada uno
  trabajando en áreas diferentes, pero que de alguna u
  otra manera se relacionan entre sí. El sistema al final
  perdería contexto y no sabrían que significan las líneas
  de código que ustedes no pusieron.

  La buena noticia es que para casos como este ya hay
  software que se encargan de mantener un control de
  versiones de manera automática, haciendo la vida
  más sencilla de todos los involucrados en el proyecto.
Control de versiones con el
          método X.Y.Z
• El método más común para numerar las
  versiones de un sistema es basándose en dos
  o tres cifras decimales, dependiendo de la
  importancia de los cambios es el número que
  se debe cambiar. La primer cifra siempre se
  cambia cuando se hizo una modificación
  crítica o muy importante, siendo la segunda
  cifra de menor importancia
Control de versiones con el
          método X.Y.Z
      0.Y.Z
• Se debe iniciar desde 0.Y.Z, con esto estamos
  diciendo que el documento no está listo aún o
  que no cumple con los requerimientos
  mínimos.
  Cada cambio en esta cifra denota una
  reescritura o la incompatibilidad con versiones
  anteriores.
Control de versiones con el
          método X.Y.Z
     X.0.Z
• La segunda cifra X.0.Z se cambia cuando hay
  modificaciones en el contenido o la
  funcionalidad del documento, pero no lo
  suficientemente importantes como para decir
  que ya no es el mismo documento.
  Cuando se hace un cambio mayor (en la
  primer cifra), el segundo número se reinicia
  a0
Control de versiones con el
          método X.Y.Z
     X.Y.0
• La tercer cifra se cambia cuando se hacen
  correcciones al documento pero no se ha
  añadido ni eliminado nada relevante.
  Si se hace un cambio en la segunda cifra se
  debe reiniciar el número de la tercera a 0
¿Versiones Beta, Alpha, RC?
• Son versiones especiales, se usan previo a un cambio de versión
  significativa. Por ejemplo, si tenemos un sistema en la versión 1.9.0,
  pero queremos hacer cambios para probarlos antes de soltar al
  siguiente versión mayor, podemos poner el sistema como 2.0a (2.0
  alpha) siendo la primer versión previa.
• No significa que sea ya una versión completa, nada más es una
  previa, tomen eso mucho en cuenta siempre. Después de pruebas y
  modificaciones podemos pasar a la versión 2.0b (2.0 Beta), y se
  siguen haciendo pruebas y correcciones.
• El RC o Release Candidate se usa para no utilizar todas las letras
  griegas en nuestras versiones. Cuando ya tenemos una versión más
  completa, ya casi terminada y que no puede ser considerada como
  Beta (porque además ya todos odiamos lo que sea Beta), se usa RC.
Beneficios de una Auditoria
          de Código
• ¿Inversión o Gasto?
• COSTO APLICACION
• COSTO OPERACION
  + PERDIDAS MERCADOTECNIA (MARCA, ETC)
  + VENTAS PERDIDAS (En caso de ventas por
  Internet o sistemas críticos abajo)
  ____________________________________
  = COSTO DOWNTIME
Beneficios de una Auditoria
           de Código
• El pase a producción es la gestión de revisión y pruebas por las que tiene
  que pasar los aplicativos antes de ponerlos en línea o dicho de otra
  manera en producción.
• Para dicho proceso, se necesitan dos ambientes que simulen el ambiente
  actual de trabajo.
• Ambiente de desarrollo: Este ambiente es similar al que se encuentra en
  producción, pero es de uso exclusivo de desarrolladores, en el cual como
  su nombre dice, se desarrolla nuevas implementaciones, modificaciones
  de aplicativos, es importante saber que estos son los únicos fuentes o
  aplicativos que los desarrolladores pueden modificar.
• Ambiente de prueba: Este ambiente también es similar al que se
  encuentra en producción, pero es de uso exclusivo de los usuarios líderes,
  que se encargaran de probar las nuevas implementaciones,
  modificaciones de aplicativos.
• Ambiente de producción: Este ambiente se lo conoce también como
  ambiente en línea, son los aplicativos que están corriendo y generando la
  información real y al vivo de la empresa.

Más contenido relacionado

La actualidad más candente

Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Sergio Sanchez
 
Informe software de base
Informe software de baseInforme software de base
Informe software de base
mayra tapia
 
Mantenimiento adaptativo
Mantenimiento adaptativoMantenimiento adaptativo
Mantenimiento adaptativo
saritaseminario
 
Tutorial Javascript01
Tutorial Javascript01Tutorial Javascript01
Tutorial Javascript01
semuvi
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
Mirsha01
 

La actualidad más candente (20)

Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
Informe software de base
Informe software de baseInforme software de base
Informe software de base
 
Backup
BackupBackup
Backup
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Modelo SPICE
Modelo SPICEModelo SPICE
Modelo SPICE
 
Mantenimiento adaptativo
Mantenimiento adaptativoMantenimiento adaptativo
Mantenimiento adaptativo
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Ensayo de Diseño de Software
Ensayo de Diseño de SoftwareEnsayo de Diseño de Software
Ensayo de Diseño de Software
 
ISO/SPICE 15504
ISO/SPICE 15504ISO/SPICE 15504
ISO/SPICE 15504
 
Tutorial Javascript01
Tutorial Javascript01Tutorial Javascript01
Tutorial Javascript01
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Ventajas y desventajas modelos
Ventajas y desventajas modelosVentajas y desventajas modelos
Ventajas y desventajas modelos
 
Sistema Operativo Haiku
Sistema Operativo HaikuSistema Operativo Haiku
Sistema Operativo Haiku
 
Conceptos basicos calidad software
Conceptos basicos calidad softwareConceptos basicos calidad software
Conceptos basicos calidad software
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
 
Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
 
Semana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestionSemana 4 control de versiones planificacion y gestion
Semana 4 control de versiones planificacion y gestion
 
Sistema operacional solaris
Sistema operacional solarisSistema operacional solaris
Sistema operacional solaris
 

Destacado (8)

Auditoria electoral
Auditoria electoralAuditoria electoral
Auditoria electoral
 
Auditoria a aplicaciones en funcionamiento
Auditoria a aplicaciones en funcionamientoAuditoria a aplicaciones en funcionamiento
Auditoria a aplicaciones en funcionamiento
 
Checklist de pase a producción
Checklist de pase a producción Checklist de pase a producción
Checklist de pase a producción
 
Auditoria de Marca
Auditoria de MarcaAuditoria de Marca
Auditoria de Marca
 
Auditoria De ComunicacióN
Auditoria De ComunicacióNAuditoria De ComunicacióN
Auditoria De ComunicacióN
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Auditoria de aplicaciones
Auditoria de aplicacionesAuditoria de aplicaciones
Auditoria de aplicaciones
 
auditoria administrativa
auditoria administrativaauditoria administrativa
auditoria administrativa
 

Similar a Auditoria de código de aplicaciones

Herramientas case[gestion de cambio gestion de la configu
Herramientas case[gestion de cambio   gestion de la configuHerramientas case[gestion de cambio   gestion de la configu
Herramientas case[gestion de cambio gestion de la configu
Manuel Villalta
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erick
erick
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erick
erick
 

Similar a Auditoria de código de aplicaciones (20)

Herramientas case[gestion de cambio gestion de la configu
Herramientas case[gestion de cambio   gestion de la configuHerramientas case[gestion de cambio   gestion de la configu
Herramientas case[gestion de cambio gestion de la configu
 
Dpss u3 a2_paov
Dpss u3 a2_paovDpss u3 a2_paov
Dpss u3 a2_paov
 
Software
SoftwareSoftware
Software
 
Versionamiento de software
Versionamiento de softwareVersionamiento de software
Versionamiento de software
 
Dpss u3_a2_paov.pptx
 Dpss u3_a2_paov.pptx Dpss u3_a2_paov.pptx
Dpss u3_a2_paov.pptx
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erick
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erick
 
Software
SoftwareSoftware
Software
 
Guia para el diseño modular de sistemas
Guia para el diseño modular de sistemasGuia para el diseño modular de sistemas
Guia para el diseño modular de sistemas
 
Tarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computadorTarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computador
 
Gestión del Cambio del Software
Gestión del Cambio del SoftwareGestión del Cambio del Software
Gestión del Cambio del Software
 
Software sao
Software saoSoftware sao
Software sao
 
Software
SoftwareSoftware
Software
 
Tema5 apartado5
Tema5 apartado5Tema5 apartado5
Tema5 apartado5
 
Software 1
Software 1Software 1
Software 1
 
El software
El softwareEl software
El software
 
Software
SoftwareSoftware
Software
 
[ES] Control de versiones con subversion
[ES] Control de versiones con  subversion[ES] Control de versiones con  subversion
[ES] Control de versiones con subversion
 
Software
SoftwareSoftware
Software
 
S6-CDSQA.pptx
S6-CDSQA.pptxS6-CDSQA.pptx
S6-CDSQA.pptx
 

Auditoria de código de aplicaciones

  • 1. AUDITORIA DE CÓDIGO DE APLICACIONES
  • 2. Contenido • Control de versiones • Programas para control de versiones • ¿Para qué es el control de cambios en el código? • Control de versiones con el método X.Y.Z • ¿Versiones Beta, Alpha, RC? • Beneficios de una Auditoria de Código • Proceso de pase a producción
  • 3. Control de versiones • Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. Una versión, revisión o edición de un producto, es el estado en el que se encuentra dicho producto en un momento dado de su desarrollo o modificación. Aunque un sistema de control de versiones puede realizarse de forma manual, es muy aconsejable disponer de herramientas que faciliten esta gestión dando lugar a los llamados sistemas de control de versiones o SVC (del inglés System Version Control). • El control de versiones se realiza principalmente en la industria informática para controlar las distintas versiones del código fuente dando lugar a la sistemas de control de código fuente o SCM (siglas del inglés Source Code Management). Sin embargo, los mismos conceptos son aplicables a otros ámbitos como documentos, imágenes, sitios web, etc.
  • 4. Programas para control de versiones • Los programas para control de versiones son un grupo de aplicaciones originalmente ideadas para gestionar ágilmente los cambios en el código fuente de los programas y poder revertirlos, cuyo ámbito ha sido ampliado pasando del concepto Control de versiones al de Software Configuration Management, en el que se engloban todas las actividades que pueden realizarse por un equipo sobre un gran proyecto software u otra actividad que genere ficheros digitales (e.g. documentos, ofertas, dibujos, esquemas... • Estos sistemas facilitan la administración de las distintas versiones de cada producto desarrollado, así como las posibles especializaciones realizadas (por ejemplo, para algún cliente específico). Ejemplos de este tipo de herramientas son entre otros: CVS, Subversion, SourceSafe, ClearCase, Darcs, Bazaar , Plasti c SCM, Git, Mercurial, Perforce.
  • 5. ¿Para qué es el control de cambios en el código? • Cuando se modifica un archivo pueden pasar dos cosas, mantener un historial de cambios o dejarlo sin una memoria de los cambios realizados, siendo esto último un dolor de cabeza cuando arruinamos aún más el archivo.
  • 6. ¿Para qué es el control de cambios en el código? • Imaginemos que están haciendo un sistema en el que están involucradas muchas personas, cada uno trabajando en áreas diferentes, pero que de alguna u otra manera se relacionan entre sí. El sistema al final perdería contexto y no sabrían que significan las líneas de código que ustedes no pusieron. La buena noticia es que para casos como este ya hay software que se encargan de mantener un control de versiones de manera automática, haciendo la vida más sencilla de todos los involucrados en el proyecto.
  • 7. Control de versiones con el método X.Y.Z • El método más común para numerar las versiones de un sistema es basándose en dos o tres cifras decimales, dependiendo de la importancia de los cambios es el número que se debe cambiar. La primer cifra siempre se cambia cuando se hizo una modificación crítica o muy importante, siendo la segunda cifra de menor importancia
  • 8. Control de versiones con el método X.Y.Z 0.Y.Z • Se debe iniciar desde 0.Y.Z, con esto estamos diciendo que el documento no está listo aún o que no cumple con los requerimientos mínimos. Cada cambio en esta cifra denota una reescritura o la incompatibilidad con versiones anteriores.
  • 9. Control de versiones con el método X.Y.Z X.0.Z • La segunda cifra X.0.Z se cambia cuando hay modificaciones en el contenido o la funcionalidad del documento, pero no lo suficientemente importantes como para decir que ya no es el mismo documento. Cuando se hace un cambio mayor (en la primer cifra), el segundo número se reinicia a0
  • 10. Control de versiones con el método X.Y.Z X.Y.0 • La tercer cifra se cambia cuando se hacen correcciones al documento pero no se ha añadido ni eliminado nada relevante. Si se hace un cambio en la segunda cifra se debe reiniciar el número de la tercera a 0
  • 11. ¿Versiones Beta, Alpha, RC? • Son versiones especiales, se usan previo a un cambio de versión significativa. Por ejemplo, si tenemos un sistema en la versión 1.9.0, pero queremos hacer cambios para probarlos antes de soltar al siguiente versión mayor, podemos poner el sistema como 2.0a (2.0 alpha) siendo la primer versión previa. • No significa que sea ya una versión completa, nada más es una previa, tomen eso mucho en cuenta siempre. Después de pruebas y modificaciones podemos pasar a la versión 2.0b (2.0 Beta), y se siguen haciendo pruebas y correcciones. • El RC o Release Candidate se usa para no utilizar todas las letras griegas en nuestras versiones. Cuando ya tenemos una versión más completa, ya casi terminada y que no puede ser considerada como Beta (porque además ya todos odiamos lo que sea Beta), se usa RC.
  • 12. Beneficios de una Auditoria de Código • ¿Inversión o Gasto? • COSTO APLICACION • COSTO OPERACION + PERDIDAS MERCADOTECNIA (MARCA, ETC) + VENTAS PERDIDAS (En caso de ventas por Internet o sistemas críticos abajo) ____________________________________ = COSTO DOWNTIME
  • 13. Beneficios de una Auditoria de Código • El pase a producción es la gestión de revisión y pruebas por las que tiene que pasar los aplicativos antes de ponerlos en línea o dicho de otra manera en producción. • Para dicho proceso, se necesitan dos ambientes que simulen el ambiente actual de trabajo. • Ambiente de desarrollo: Este ambiente es similar al que se encuentra en producción, pero es de uso exclusivo de desarrolladores, en el cual como su nombre dice, se desarrolla nuevas implementaciones, modificaciones de aplicativos, es importante saber que estos son los únicos fuentes o aplicativos que los desarrolladores pueden modificar. • Ambiente de prueba: Este ambiente también es similar al que se encuentra en producción, pero es de uso exclusivo de los usuarios líderes, que se encargaran de probar las nuevas implementaciones, modificaciones de aplicativos. • Ambiente de producción: Este ambiente se lo conoce también como ambiente en línea, son los aplicativos que están corriendo y generando la información real y al vivo de la empresa.