ingeniería de sw · atlassian bamboo construcción de sistemas biblo: s25.3 es el proceso de...
TRANSCRIPT
ClasesIngeniería
de SW
Introducción ala Ingenieríade Software
Biblo: S.C1
Procesos deSoftware
Biblo: S.C2
Desarrollo Ágilde Software
Biblo: S.C3
Ingeniería deRequerimientos
Biblo: S.C4
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
Administración de
CM Plan
Resumen
Modeladode Sistemas
Biblo: S.C5
Diseño de laArquitectura
Biblo: S.C6
Planeamiento deProyectos de SW
Biblo: S.C23
sólo la sección deestimaciones de Sw
Diseño eimplementación
Biblo: S.C7
PruebasdeSoftware
Biblo: S.C8
Referencias,ideas, cronograma
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
se generan nuevasVersiones del SW (oconjuntos de versiones)
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
necesidad
definición
Administración de
Versiones
Biblo: S25.2
Construcciónde sistemas
Biblo: S25.3
Entregas(Releases)
Biblo: S25.3
Cambios
Biblo: S25.1
info adicional
CM Plan
en base al estándar IEEE 828-1998
contenido
ejemplo de un CM real
Resumen
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
se generan nuevasVersiones del SW (oconjuntos de versiones)
Relaciones
necesidad
SW
cambia
requerimientos
funcionalidades
interfaces
bugs corregir
con variaciones
distintos clientes
distintasfuncionalidades
en paralelo
nuevoHardware
Plataformas de SW
definición
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
se generan nuevasVersiones del SW (oconjuntos de versiones)
es fácil perder elseguimiento de loscambios y de las versiones
modificar la versión y elarchivo incorrectocorregir un defecto corregido
entregar una funcionalidada un cliente incorrecto
perder modificaciones hechaspor otros y uno mismo
tienen que
controlarse
manejarsereproducirse
para administrarlos sistemascambiantes desoftware
recomendable para individuosContar anécdotas desistema seguidor de peces
obligatorio para equipos Contar anécdotas deproyectos en MotorolaRelaciones
necesidadSW
nuevo
definiciónManejo de lasConfiguraciones (CM)
políticasprocesos
herramientas
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
se generan nuevasVersiones del SW (oconjuntos de versiones)
para administrarlos sistemascambiantes desoftware
Relaciones
necesidadSW
nuevo
definición
Manejo de lasConfiguraciones (CM)
políticas
procesos
herramientas
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
se generan nuevasVersiones del SW (oconjuntos de versiones)
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
necesidad
definición
Administración de
Versiones
Biblo: S25.2
Construcciónde sistemas
Biblo: S25.3
Entregas(Releases)
Biblo: S25.3
Cambios
Biblo: S25.1
info adicional
CM Plan
Resumen
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Administración de
Versiones
Biblo: S25.2
Construcciónde sistemas
Biblo: S25.3
Entregas(Releases)
Biblo: S25.3
Cambios
Biblo: S25.1
info adicionalClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
ej. real conAtlassianBamboo
Administración de
Versiones
Biblo: S25.2
seguir las múltiplesversiones
¿porqué es necesariotrabajar con versiones?
Ramas
LineasBase
sistemas deversionado
Construcciónde sistemas
Biblo: S25.3
es el proceso de ensamblar
componentes
Integracióncontinua
Entregas(Releases)
Biblo: S25.3
preparar el SW para una entrega externa
Release = Versión quese entrega a los clientes
Factores q/puedenafectar la decisión
componentes
Cambios
Biblo: S25.1
seguir los pedidos de cambio(CR: change request)
proceso
Formulario de pedido
análisis
historial
info adicional
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Administración de
Versiones
Biblo: S25.2
seguir las múltiplesversiones
¿porqué es necesariotrabajar con versiones?
Ramas
LineasBase
sistemas deversionado
Construcciónde sistemas
Biblo: S25.3
Entregas(Releases)
Biblo: S25.3
Cambios
Biblo: S25.1
info adicional
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
en
Versiones
Biblo: S25.2
seguir las múltiplesversiones
de los componentes del sistema
asegurando quelos cambios
hechos por múltiplesdesarrolladores
no se interfieranentre ellos
¿porqué es necesariotrabajar con versiones?
Problema a evitar
solución
Ramas
LineasBase
sistemas deversionado
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Versiones
Biblo: S25.2
¿porqué es necesariotrabajar con versiones?
Problema a evitar
solución
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Versiones
Biblo: S25.2
seguir las múltiplesversiones
¿porqué es necesariotrabajar con versiones?
Problema a evitar
solución
Ramas
LineasBase
sistemas deversionado
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Versiones
Biblo: S25.2
seguir las múltiplesversiones
¿porqué es necesariotrabajar con versiones?
Ramas
LineasBase
sistemas deversionado
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Versiones
Biblo: S25.2
seguir las múltiplesversiones
¿porqué es necesariotrabajar con versiones?
Ramas
LineasBase
sistemas deversionado
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Versiones
Biblo: S25.2
seguir las múltiplesversiones
¿porqué es necesariotrabajar con versiones?
Ramas
LineasBase
sistemas deversionado
funcionalidades
identificación
manejo
registro
soporte proyectos
herramientas
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
sistemas deversionado
funcionalidades
identificaciónVersionesEntregas (Releases)
manejo
almacenamientoincremental
desarrollo
independiente
paralelo
compartido
registro
soporte proyectos
herramientas
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
sistemas deversionado
funcionalidades
identificación
manejo
registro
cambiosCheck-in vs Check-out
historialetiquetado
líneas bases
soporte proyectos componentes compartidos
herramientas
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
sistemas deversionado
funcionalidades
herramientas
gratis
SVN (Subversion)CVSGit
pagas
ClearCaseRational Team ConcertStart TeamPerforceSource Safe
comparación http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
ej. real conAtlassianBamboo
Administración de
Versiones
Biblo: S25.2
Construcciónde sistemas
Biblo: S25.3
es el proceso de ensamblar
componentes
Integracióncontinua
Entregas(Releases)
Biblo: S25.3
Cambios
Biblo: S25.1
info adicional
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
ej. real conAtlassianBamboo
Construcciónde sistemas
Biblo: S25.3
es el proceso de ensamblar
componentes, datos ylibrerías de los programas
linkeándolos ycompilándolos
para crear sistemas ejecutables
componentes
compilación(builds y linkeo)
integración
generación
Integracióncontinua
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
ej. real conAtlassianBamboo
Construcciónde sistemas
Biblo: S25.3
es el proceso de ensamblar
componentes
compilación(builds y linkeo)
generación de scripts
mínima sólo en componentes modificados
Contar anécdotas de repositoriosmultisite y las 12 horas decompilación completa en Softswitch
creación de ejecutables linkeo de componentes
Herramientas ej.
MavenAnt
Makehttp://en.wikipedia.org/wiki/List_of_build_automation_software
integraciónSistemas de Manejo de Versiones
Automatización de pruebas ej. JUnit, JBehave, etc.
generación
reportesbuilds exitosos vs rotos
casos de puebas automaticos pasaron vs fallaron
documentación
Release Notes
Páginas de Ayuda para
usuarios
desarrolladoresej. doxygen,javadoc
Integracióncontinua
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
ej. real conAtlassianBamboo
Construcciónde sistemas
Biblo: S25.3
es el proceso de ensamblar
componentes
compilación(builds y linkeo)
integración
generación
Integracióncontinua
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
ej. real conAtlassianBamboo
soluciónparcial
Construcciónde sistemas
Biblo: S25.3
es el proceso de ensamblar
componentes
Integracióncontinua
no siempre posible
Herramientas ej.
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
soluciónparcial
Integracióncontinua
no siempre posible
en sistemas muy grandesvarias horas
compilar
correr las pruebas
sólo una vez por día
plataformas muy diferentesdesarrollo no se puede
correr pruebas de sistema
usar el mismo HW y/o OS
sistema final ej. embedded
Herramientas ej.
Hudson/Jenkins
Cruise Control
Bamboo
Team Fundation Serverhttp://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
soluciónparcial
distintos niveles de testing por plataforma
uso de simuladores/emuladors
integracióncontinua
c/cambio
builds
test unitariotest integración
noche
despliegue sistematest de sistema
test no funcionales
Integracióncontinua
no siempre posible
Herramientas ej.
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
Administración de
Versiones
Biblo: S25.2
Construcciónde sistemas
Biblo: S25.3
Entregas(Releases)
Biblo: S25.3
preparar el SW para una entrega externa
Release = Versión quese entrega a los clientes
Factores q/puedenafectar la decisión
componentes
Cambios
Biblo: S25.1
info adicional
CM Plan
Resumen
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Entregas(Releases)
Biblo: S25.3
preparar el SW para una entrega externa monitorear versionesentregadas a los clientes
Release = Versión quese entrega a los clientes ej. MAC OS 10.5.8
Major Release10 & .5
usualmente pagos
Minor Release.8
usualmente gratiscada versión nueva debería tener suaseguramiento de calidad y revisiones
Factores q/puedenafectar la decisión
Mucha funcionalidad nueva
Mala calidad
Cambio
Competencia
Compromisos
componentes
Archivos de
Instalador
Documentación
empaquetado y publicidad
opcional
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Entregas(Releases)
Biblo: S25.3
preparar el SW para una entrega externa monitorear versionesentregadas a los clientes
Release = Versión quese entrega a los clientes
Factores q/puedenafectar la decisión
Mucha funcionalidad nueva
muchos bugs limita el uso
seguido de parche paracorregir bugs críticosmejorar desempeño
Mala calidad
de una entrega en producción
defectosgraves nueva entrega
menores entrega de un parche
Cambio
de la plataformanuevo release si cambia el sistema operativo
ej. Windows XP a Windows 7 (64bits)
de funcionalidad pedida por un cliente prepaga
Competencia nuevo releasecon funcionalidad que puedeafectar la porción del mercado
Compromisoscon clientesen demos o simposio
componentes
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
especialmente si releaseamosversiones mayores a 1 ej. v2.3
Entregas(Releases)
Biblo: S25.3
preparar el SW para una entrega externa monitorear versionesentregadas a los clientes
Release = Versión quese entrega a los clientes
Factores q/puedenafectar la decisión
componentes
Archivos de
EjecutablesConfiguraciónDatos
Instalador
Documentaciónelectrónicapapel
empaquetado y publicidad
opcional
Scripts de Migracióndatosentornos
Casos deVerificación
pruebas de aceptación paraverificar el correcto funcionamiento
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
Administración de
Versiones
Biblo: S25.2
Construcciónde sistemas
Biblo: S25.3
Entregas(Releases)
Biblo: S25.3
Cambios
Biblo: S25.1
seguir los pedidos de cambio(CR: change request)
proceso
Formulario de pedido
análisis
historial
info adicional
CM Plan
Resumen
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Cambios
Biblo: S25.1
seguir los pedidos de cambio(CR: change request)
de los clientes y desarrolladores
analizando el impacto y el costode hacer o no hacer los cambios
decidiendo si vale la pena implementarlos
proceso
Formulario de pedido
análisis
historial
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Cambios
Biblo: S25.1
seguir los pedidos de cambio(CR: change request)
proceso
Formulario de pedido
análisis
historial
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Cambios
Biblo: S25.1
seguir los pedidos de cambio(CR: change request)
proceso
Formulario de pedido
análisisCCB
no hacerlo consecuencias
hacerlo
beneficios# usuarios afectadoscostoimpacto en entregas planeadas
Change Control Board grupo de control de cambios
historial
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
Administración de
Versiones
Biblo: S25.2
Construcciónde sistemas
Biblo: S25.3
Entregas(Releases)
Biblo: S25.3
Cambios
Biblo: S25.1
info adicional
http://www.cmcrossroads.com/index.php
usar proyectosrepositorios en la nube
análisis de repositorios SVN
SVN ClientstortoiseSVN
subclipse
CM Plan
Resumen
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
info adicional
http://www.cmcrossroads.com/index.phpusar proyectos
repositorios en la nubehttp://code.google.comhttps://github.com/
análisis de repositorios SVN
http://www.svnhostingcomparison.com/
SVN Clients
tortoiseSVN
http://tortoisesvn.tigris.org/
OSS in Googelcodeguia de usuario online en español
subclipse
http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
Administración de
CM Plan
en base al estándar IEEE 828-1998
contenido
identifica los ítems bajo control (CI)sus ubicaciones
y su convención de nombres
prescribe un esquema de ramas (o branches)y la política de uso en cada uno
los controles de calidad de cada uno
especifica políticas de versionado y guardado de los releases
identifica las personas que participan en la CCB (changecontrol Board) y la frecuencia de las reuniones
describe el ciclo de los pedidos de cambios (CRs)ejemplo de un CM real
Resumen
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
CM Plan
en base al estándar IEEE 828-1998
contenido
ejemplo de un CM real
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
se generan nuevasVersiones del SW (oconjuntos de versiones)
todos soportados porherramientas de SW
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
necesidad
definición
Administración de
Versiones
Biblo: S25.2
Construcciónde sistemas
Biblo: S25.3
Entregas(Releases)
Biblo: S25.3
Cambios
Biblo: S25.1
info adicional
CM Plan
en base al estándar IEEE 828-1998
contenido
ejemplo de un CM real
Resumen CM
es manejar sistemas de SW que evolucionanprofesionales
procesos
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
todos soportados porherramientas de SW
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
Administración de
CM Plan
Resumen CM
es manejar sistemas de SW que evolucionanprofesionales
procesos
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
todos soportados porherramientas de SW
Resumen CM
es manejar sistemas de SW que evolucionan
profesionales aseguran cambiosse produzcan controladamentese registren
procesos
Manejo de
cambios
evaluación de pedidosde cambios para
clientesotras partes interesadas
decidiendo si es costo-efectivo implementarlos y cuando
versiones
seguimiento de lasversiones de componentes debido a cambios
entregas
incluyen
código ejecutable
archivos dedatosconfiguración
documentación
consiste en
decidir fechas de entregapreparar info a distribuirdocumentar entrega
construcción de sistemas
proceso deensamblar componentes del sistemaconstruir un ejecutable
en cada cambio SW debe ser
recompiladotesteadodesplegado
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
se generan nuevasVersiones del SW (oconjuntos de versiones)
para administrarlos sistemascambiantes desoftware
ClasesIngeniería
de SW
Introducción ala Ingenieríade Software
Biblo: S.C1
Procesos deSoftware
Biblo: S.C2
Desarrollo Ágilde Software
Biblo: S.C3
Ingeniería deRequerimientos
Biblo: S.C4
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
necesidad
definición
Manejo de lasConfiguraciones (CM)
políticas
procesos
herramientas
Administración de
Versiones
Biblo: S25.2
Construcciónde sistemas
Biblo: S25.3
Entregas(Releases)
Biblo: S25.3
Cambios
Biblo: S25.1
info adicional
CM Plan
en base al estándar IEEE 828-1998
contenido
ejemplo de un CM real
Resumen
Modeladode Sistemas
Biblo: S.C5
Diseño de laArquitectura
Biblo: S.C6
Planeamiento deProyectos de SW
Biblo: S.C23
sólo la sección deestimaciones de Sw
Diseño eimplementación
Biblo: S.C7
PruebasdeSoftware
Biblo: S.C8
Referencias,ideas, cronograma
C20 SoftwareEmbebido(Opcional)
C9 Evolucióndel Software(Opcional)
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -
se generan nuevasVersiones del SW (oconjuntos de versiones)
para administrarlos sistemascambiantes desoftware
ej. real conAtlassianBamboo
Administración yControl deConfiguraciones
Biblo: S.C25
Relaciones
necesidad
definición
Manejo de lasConfiguraciones (CM)
políticas
procesos
herramientas
Administración de
Versiones
Biblo: S25.2
seguir las múltiplesversiones
¿porqué es necesariotrabajar con versiones?
Ramas
LineasBase
sistemas deversionado
Construcciónde sistemas
Biblo: S25.3
es el proceso de ensamblar
componentes
Integracióncontinua
Entregas(Releases)
Biblo: S25.3
preparar el SW para una entrega externa monitorear versionesentregadas a los clientes
Release = Versión quese entrega a los clientes
Factores q/puedenafectar la decisión
componentes
Cambios
Biblo: S25.1
seguir los pedidos de cambio(CR: change request)
proceso
Formulario de pedido
análisis
historial
info adicional
CM Plan
en base al estándar IEEE 828-1998
contenido
identifica los ítems bajo control (CI)
prescribe un esquema de ramas (o branches)
especifica políticas de versionado y guardado de los releases
identifica las personas que participan en la CCB (changecontrol Board) y la frecuencia de las reuniones
describe el ciclo de los pedidos de cambios (CRs)
ejemplo de un CM real
Resumen
ClasesIngenieríaDeSoftware_MindMap.mmap - 02/07/2012 -