Mejores Practicas de Software

102
Preparado por: ejores Prácticas de Desarrollo de Softw Manuel Alcántara Ramírez

Transcript of Mejores Practicas de Software

Slide 1

51Ambientes: roundtrip engineering Capacidad de modelado UML

Sincrona entre modelos y cdigo.

Patrones de diseo.

Preparado por:5177Factores que dificultan la gestin del cambioComplejidad en el entorno del proyecto.

Tamao del equipo.Interdependencia entre componentes.Distribucin geogrfica.

Complejidad del Sistema de Software.

Tamao del producto.Complejidad de la arquitectura.Nmero de plataformas.

Aparicin de nuevas tecnologas y requisitos.

Preparado por:773Hechos del softwareEncontrar y corregir un error durante Produccin cuesta 100 -1000 veces ms que en el Diseo.

El tiempo de desarrollo no puede comprimirse ms de un 25% aumentando el nmero de gente.

Por cada $1 gastado en desarrollo, se gastan $2 en mantenimiento.

Los costos de desarrollo y mantenimiento estn directamente en funcin de las actividades manuales.

Programacin representa solo un 15% del esfuerzo de desarrollo.

En desarrollo de software existe deseconoma de escala (costo/lnea) Industrial Software Metrics Top 10 ListBarry Boehm Preparado por:34Sntomas de la crisis del SoftwareNo son cubiertas las necesidades del negocio.

Requerimientos mal definidos.

Mdulos que no se integran.

Difcil de mantener.

Tardo descubrimiento de defectos.

Baja calidad.

Usuario finales insatisfechos.

Bajo desempeo sobre altas cargas.

Esfuerzo no coordinado del equipo.

Liberaciones (Build-and-release issues)Preparado por:45

Crear Software de calidadConducir el equipo al xitoMaximizarBeneficiosJefe de ProyectoDesarrolladorDireccinProblemtica del desarrollo de SoftwarePreparado por:56

Jefe de ProyectoDesarrolladorDireccinProblemtica del desarrollo de SoftwareRetraso en proyectosOportunidades perdidas Amenazas de la competenciaFechas ajustadasRecortes de presupuestosPocos recursos.ReunionesCambiosRehacer trabajo hechoCrear Software de calidadConducir el equipo al xitoMaximizarBeneficiosPreparado por:67

Jefe de ProyectoDesarrolladorDireccinProblemtica del desarrollo de SoftwareRetraso en proyectosOportunidades perdidas Amenazas de la competenciaFechas ajustadasRecortes de presupuestosPocos recursos.ReunionesCambiosRehacer trabajo hechoCrear Software de calidadConducir el equipo al xitoMaximizarBeneficiosJefe de ProyectoDesarrolladorDireccinPreparado por:78Mejores Prcticas en Desarrollo de SoftwareMejores PrcticasProceso Prctico Desarrollo IterativoGestin de RequisitosArquitecturas Basadas en ComponentesModelado Visual (UML)Verificacin Continua de la CalidadGestin del Cambio Preparado por:89Qu son las Mejores Prcticas?Es un conjunto de principios, mtodos y procesos que permiten mejorar la calidad y productividad del desarrollo de software.Preparado por:910La validez de las Mejores Prcticas est probada Utilizadas en: 1000s de clientes.1000s de proyectos.Lderes del sector.

Preparado por:1011Mejores Prcticas en Desarrollo de SoftwareMejores PrcticasProceso Prctico Desarrollo IterativoGestin de requisitosArquitecturas Basadas en ComponentesModelado Visual (UML)Verificacin Continua de la CalidadGestin del Cambio Preparado por:1112Desarrollo en cascadaANLISIS DE REQUISITOSDISEOCODIFICACININTEGRACINPRUEBASPreparado por:1213Desarrollo iterativoTiempoIteracin 1 ICDRTIteracin 2 ICDRTIteracin n ICDRTCada iteracin produce una versin executable del sistema.Las primeras iteraciones atacan los riesgos mayores.Se define y robustece la arquitectura de la aplicacin en forma temprana.Cada iteracin permite la retroalimentacin del usuario.Se prueba desde el principio, verificando desempeo y escalabilidad.Entregables bien definidos y delimitados permiten tener metas a corto plazo y no una sola meta a largo plazo.El progreso se mide mediante la evaluacin de las implementaciones (mediciones reales).

Preparado por:1314Los retos del Lder del ProyectoDificultad para conocer el estado real de los proyectosFalta de comunicacin con el equipo y poca eficienciaEn las juntas de equipo slo se recopila informacin y no se resuelven problemasMltiples proyectos, prioridades y procesos

??????

?

Lder del proyectoPreparado por:1415Perfil de riesgo de un desarrollo iterativoIterativoRiesgoCascadaTiempo Preparado por:1516Actividades Secuenciales:Anlisis Diseo Cdigo Integracin PruebasSntomas de un proceso convencional en cascada Problemas de retrasos en proyectos 40% esfuerzo en integracion y pruebasProblemaReduccin del retrabajo100%Tiempo

Progreso (% codificado)Fecha FinOriginalInicio deIntegracinFecha FinRealPreparado por:1617Reduccin del retrabajo100%Tiempo

Progreso (% codificado)Fecha FinOriginalFecha FinReal Prototipos ArquitecturaVersiones Versin FuncionalesFinalFases secuenciales Actividades iterativasPreparado por:1718

Ejemplo de un proceso iterativoTiempoContenidoPreparado por:1819Rational Unified ProcessProcesses represent recipes for success, based on the past experience on projectsDr. Pankaj Jalote, 2002

RUP se ha convertido en el proceso de desarrollo de software ms utilizadoOktaba, Ibargengoitia y Ruiz 2001to transform an organization into a highly productive team, one of the best decisions you can make is to CHANGE what you can, ACCEPT what you cant change, and BORROW EVERYTHING you can that has been validated by a successful software community.Philippe Krutchen, 2001

Preparado por:1920

Niveles de estimadosN1Variacin de +/- 50% o msN2Variacin de +/- 30%N3Variacin de +/- 10%Preparado por:2021

Niveles de PlanesN1

N2

Preparado por:2122El plan de desarrollo de software integra otros planes

Preparado por:2223Mejores Prcticas en Desarrollo de SoftwareMejores PrcticasProceso Prctico Desarrollo IterativoGestin de RequisitosArquitecturas Basadas en ComponentesModelado Visual (UML)Verificacin Continua de la CalidadGestin del Cambio Preparado por:2324

Por qu preocuparnos por los requisitos?Preparado por:2425

Como lo solicitel clienteComo lo diseel arquitectoComo lo especificel ingenieroComo lo solicitcomprasComo lo construyel contratistaComo quedfinalmenteLO QUE REALMENTESE NECESITABArase un proyecto ...Preparado por:2526Standish Group, 99Entre Otros:Porqu falla un Proyecto?El usuario no sabe lo que quiere (o nosotros no lo entendemos?).Requerimientos y especificaciones incompletos.Cambio en los requerimientos y especificaciones.Carencia de participacin por parte del usuario.No existe documentacin.Falta de una metodologa para la gestin de requisitos. Preparado por:2627Qu son los requisitos?Un requisito es una propiedad/caracterstica que debe ser mostrada por el sistema que se est construyendo.

Caracterstica que debe incluirse en un sistema

Preparado por:2728Costo de reparacin de erroresEtapaBoehm 76, 88Impacto de los errores en los requisitos Resolver errores en fase de mantenimiento cuesta 200 veces ms que resolverlos en gestin de requisitos.

Average cost ratio 14:1Grady 198920051020501-2Elicitacin de requisitosDiseoCodificacinPruebas unitariasPruebasMantenimientoPreparado por:2829Gestin de requisitos implicaAsegurarse de:

Resolver el problema correcto.Construir el sistema apropiado.

Fases de gestin de requisitos:

Identificacin.Organizacin (estructura y rastreabilidad).Documentacin (especificacin).Validacin de requisitos.Gestin: del cambio en requisitos, de los atributos, de la rastreabilidad.

Preparado por:2930Tcnicas de trabajo con usuariosTalleres de requerimientos

Entrevistas

Cuestionarios

Prototipos

Juego de roles

Anlisis de regulaciones y procesos actuales

Lluvia de ideasPreparado por:3031Atributos de los requisitosReq.201Req.202Req.100PrioridadEstadoCostoResponsableRiesgoDificultadRelacinPreparado por:3132Atributos de requisitos en la Admn. del ProyectoReq. 10Aprobado Bajo Alta Req. 13Propuesto MedioBajaReq. 40Obligatorio AltoAlto$$$$$$Costo EsfuerzoRiesgoStatusPrioridadPreparado por:3233Evaluacin del impacto del cambioNecesidades Negocio

Caractersticas producto (casos de uso)

PruebasRastreabilidad:la relacin entre los artifactosNecesidades Negocio:Caractersticas del producto:

Casos de Uso:

es una caracterstica de la relacin de dependencia de los requerimientos para reaccionar a los cambios de sus elementos relacionadosPreparado por:3334

Desarrolladores y diseadoresUsuarios y Clientes`GerentesLder de ProyectoAseguramiento de la Calidad

AnalistasCada uno de los participantes del proyecto requiere tener acceso a los requisitos.Compartir los requisitos ReqPreparado por:3436Matriz de rastreabilidad

Muestra las dependencias entre requerimientosPreparado por:3637Mejores Prcticas en Desarrollo de SoftwareMejores PrcticasProceso Prctico Desarrollo IterativoGestin de RequisitosArquitecturas Basadas en ComponentesModelado Visual (UML)Verificacin Continua de la CalidadGestin del Cambio Preparado por:3738V 1.2aV 1.2Evolucin tpica de una aplicacin ...nuevo requerimientoarreglo A812arreglo A790Arquitectura 1.0Preparado por:3839V 1.2aResistencia al cambioArquitectunuevo requerimientoarreglo A812arreglo A790V 1.2a 1.0rPreparado por:3940

Por qu utilizar arquitecturas de componentes?La clave del xito es crear arquitecturas:DuraderasFlexibles al cambioBasadas en componentes

La Arquitectura es el 20% del esfuerzo que produce el 80% ms importanteDesarrollar: Con Reuso Para ReusoPreparado por:4041Reuso de todo artefactoArquitectura Casos de Uso, Anlisis, Diseo, Implementacin y PruebasModelos de interfaces, modelos de negocio, patrones arquitectnicos, etc.

Reuso de tecnologaProceso y automatizacinProyectos Guas

Activos de software reutilizablePreparado por:4142CompradoExistenteNuevoDatabaseCRMFunciones de cliente/productosMecanismos de interfacesFunciones de licenciamientoClienteProductoLicenciaEjemplo: Arquitectura basada en componentesPreparado por:4243Arquitectura de los Sistemas Corporativos3-capasPRESENTACINLGICA NEGOCIOINTEGRACINInterfaces de usuariosTransactions procesing monitorsBases de datosPreparado por:4344J2EEWeb Server

Contenedor Web

Servicios J2EEServicios J2SEJSPServeletEJB Server

Contenedor de EJB

Servicios J2EEServicios J2SE EJBEJBDispositivo Cliente

HTML,XML,WMLDispositivo Cliente

Contenedor de Applets

Servicios J2SEAppletDispositivo Cliente

Contenedor de Aplicacines Cliente

Servicios J2SEAplicacinClienteServicios J2EEMail ServerDirectoryServicesMessageQueueJavaApplicationCORBAJDBCJavaMailJNDIJMSRMIRMIHTTPHTTPHTTPCLIENTESERVIDORPRESENTACINLGICA DE NEGOCIOINTEGRACINPreparado por:4445Mejores Prcticas en Desarrollo de SoftwareMejores PrcticasProceso Prctico Desarrollo IterativoGestin de RequisitosArquitecturas Basadas en componentesModelado Visual (UML)Verificacin Continua de la CalidadGestin del Cambio Preparado por:4546

Qu es UML?UML es el lenguaje estndar para visualizar, especificar, construir y documentar los artefactos de una aplicacin softwarePreparado por:4647UML: El lenguaje para el desarrollo softwareJune 1996 UML 0.9Unified Method 0.8OOPSLA 95UML 1.0UML partnersOMG Acceptance, Nov 1997Final submission to OMG, Sept 1997First submission to OMG, Jan 1997UML 1.1UML 2.0Planned major revision (2003)

OMTBooch methodOOSEOtras metodologasApproved minor revision 2001UML 1.4Current minor revision 1999UML 1.3Preparado por:4748

UML

Modelado de DatosModelado de Aplicaciones

Modelado Web

Modelado de Negocio

Modelado de RequisitosUn nico lenguaje para todo el equipo

Preparado por:4849Perspectivas arquitectnicas de una casa

123Preparado por:4950VISTA DE DESPLIEGUE

Arquitectura en desarrollo de SW: 4+1 VistasVISTA LGICA

VISTA IMPLEMENTACIN

VISTA DE PROCESO

CASOS DE USO

Actor AUse Case 1Use Case 2Use Case 3Actor BGrpFile

read( )

open( )

create( )

fillFile( )repRepository

name : char * = 0

readDoc( )

readFile( )(from Persistence)FileMgr

fetchDoc( )

sortByName( )DocumentList

add( )

delete( )Document

name : int

docid : int

numField : int

get( )

open( )

close( )

read( )

sortFileList( )

create( )

fillDocument( )fList1FileList

add( )

delete( )1File

read( )read() fill the code.. Window95 .EXE WindowsNT .EXEWindowsNT Windows95Solaris.EXE AlphaUNIX IBM MainframeWindows95 - 95 : - NT: - : , - IBM : , [yes]usermainWndfileMgr : FileMgrrepositorydocument : DocumentgFile1: Doc view request ( )2: fetchDoc( )3: create ( )4: create ( )5: readDoc ( )6: fillDocument ( )7: readFile ( )8: fillFile ( )9: sortByName ( ) . . .DocumentRepositoryFileListFileManagerGraphicFileFilePreparado por:5052Diseo y construccin del sistema desde una herramienta nicaAnalista de NegocioDesarrolladorDiseador DBArquitecto

Una Herramienta para todo el equipo.Diseo de Datos

Preparado por:5253Mejores Prcticas en Desarrollo de SoftwareMejores PrcticasProceso Prctico Desarrollo IterativoGestin de RequisitosArquitecturas Basadas en ComponentesModelado Visual (UML)Verificacin Continua de la CalidadGestin del Cambio Preparado por:5354Verificacin continua de la calidadCostoTransicinConstruccinElaboracinConcepcinCosto de reparar el software.Costo de perder oportunidades.Costo de perder clientesEs de 100 a 1000 veces ms costoso encontrar y reparar los problemas del software despus del desarrollo Preparado por:5455Causas principales de la baja calidad del softwareProbar Software es muy difcil.

Cambios en los requerimientos.

Falta de un proceso sistemtico de pruebas.

Mala comunicacin entre miembros del equipo.

Preparado por:5556Solucin: Verificacin Continua

We have lost two generations of developers who think they just need to debug at the end, when they instead shouldnt introduce any defects along the way.Ivar Jacobson, Mxico 2001 Problema de Actitud:bugs son normales, defectos no son aceptadoslos programadores ensucian, otros (clientes) limpian

Cambiar:Verificar y probar todo continuamente desde el inicio.Toda actividad es verificada: los casos de prueba se definen a partir de: requerimientos, anlisis, diseo, codificacin... Automatizar la verificacin de la calidad con herramientasPreparado por:5657

Cada actividad incluye su verificacinActividadVerificacinEjecucinAccinTodo aquello que hagas, no lo habrs terminado,hasta que hayas verificado que hiciste lo que debas de hacer.Preparado por:5758Plan de actividades de aseguramiento de la calidadConjunto de actividades que sern ejecutadas para generar confianza en que el producto cumplir con los requerimientos y el proceso es efectivoClienteNecesidades

RequisitosRevisionesVerificacionesValidacionesProductoPreparado por:5859Jerarqua de planes

Plan de DesarrolloPlan de Aseguramiento de la CalidadPlan de Pruebas (de software)Preparado por:5960IMPLEMENTACIN. Probar en cada iteracin .....Build 1Pruebas ManualesRe-ejecutar primeras pruebas y ...TiempoPruebasPreparado por:6061...las nuevas pruebas...Build 1Build 2Build 3, 4, 5, 6, 7, 8Build 9Build 10Difcil de forma manual!...ms tiempoTiempoIMPLEMENTACIN. Pruebas de regresinPruebas ManualesPruebasPreparado por:6162Calidad - el elemento evasivoLa perspectiva transcendental... algo que se puede reconocer pero no definir

La perspectiva del usuario apropiada para su objetivo (fitness for purpose)

La perspectiva de manufactura conformancia con la especificacin

La perspectiva de producto la calidad se encuentra intensamen te relacionada con caractersticas inherentes al producto

La perspectiva del valor la calidad es dependiente de la cantidad que el cliente quiere pagar por ellaPreparado por:6263Calidad: IEEE Standard Glossary of Software Engineering TerminologyEl grado en el que un sistema, componente o proceso cumple con:

los requisitos especificados, y

las necesidades y expectativas del cliente o usuarioPreparado por:6364Calidad del Software: Caractersticas(ISO 9126)Calidad del SoftwareEficienciaFacilidad de UsoFiabilidadFuncionalidadFacilidad de MantenimientoPortabilidadPreparado por:6465La capacidad del software de proveer funciones que cumplan con las necesidades implcitas y las establecidas Calidad del SoftwareEficienciaFacilidad de UsoFiabilidadFuncionalidadFacilidad de MantenimientoPortabilidadsuitabilityaccuracyinteroperabilitysecuritycomplianceapropiadoprecisininteroperacinseguridad de accesoconformidad

functionalityPreparado por:6566La capacidad del software de mantener su nivel de desempeoCalidad del SoftwareEficienciaFacilidad de UsoFiabilidadFuncionalidadFacilidad de MantenimientoPortabilidadmadureztolerancia a falloscapacidad de recuperacinconformidad

maturityfault tolerancerecoverabilitycompliancereliability

Preparado por:6667La capacidad del software de ser entendido, aprendido, usado y gustado por el usuario Calidad del SoftwareEficienciaFacilidad de UsoFiabilidadFuncionalidadFacilidad de MantenimientoPortabilidadentendiblefacilidad de aprendizajefacilidad de operacinatractivoconformidad

usabilityunderstandabilitylearnabilityoperabilityattractivenesscompliancePreparado por:6768La capacidad del software de proveer el desempeo requerido, relativo a la catidad de recursos usadosCalidad del SoftwareEficienciaFacilidad de UsoFiabilidadFuncionalidadFacilidad de MantenimientoPortabilidadtiempos de respuestaconsumo de recursosconformidad

efficiencytime behaviourresource utilizationcompliancePreparado por:6869La capacidad del software de ser modificado. Modificaciones pueden incluir correcciones, mejoras o adaptaciones a cambiosCalidad del SoftwareEficienciaFacilidad de UsoFiabilidadFuncionalidadFacilidad de MantenimientoPortabilidadfacilidad de anlisisfacilidad de modificacionesestabilidadfacilidad de pruebasconformidad

maintainabilityanalysabilitychangeabilitytestabilitycompliancestabilityPreparado por:6970La capacidad del software de ser transferido de un ambiente a otro (organizacional, hardware o software)Calidad del SoftwareEficienciaFacilidad de UsoFiabilidadFuncionalidadFacilidad de MantenimientoPortabilidadfacilidad de adaptacinfacilidad de instalacinco-existenciafacilidad de reemplazoconformidadportabilityadaptabilityinstallabilityreplaceabilitycomplianceco-existencePreparado por:7071Mejores Prcticas en Desarrollo de SoftwareMejores PrcticasProceso Prctico Desarrollo IterativoGestin de requisitosArquitecturas basadas en componentesModelado Visual (UML)Verificacin Continua de la CalidadGestin del Cambio Preparado por:7172En el desarrollo de software, Los cambios ocurren!RequerimientosModelosEspecificaciones de integracinCdigoPruebasCriterios de liberacinPlataforma de distribucinErroresTodo el tiempo!Cambiar!Qu es lo primero que se le viene a la mente?

Otra vez!Ya no lo hago!Problemas!Preparado por:7273El Proceso de Cambio: El ProblemaBuild 3Build 2Build 1ProbadoresDesarrolladoresNuevo diseo webNueva transaccin del clienteError 98Nuevo botn GUI Aadir clculo de promocinError 179Nueva plataformaError 849Error 527Error 251Error 348Integrador

Analista

Lder de Proyecto

Por qu el build no se realiz?Por supuesto que no olvid el archivo...El requerimiento462 se incluy enesta liberacin?Cuntos errores de Prioridad 1 faltan?Se arregl el error 873 en este build?Preparado por:7374

DesarrolladorDificultades del Desarrollador:Acceso a la versin adecuada del producto.Desarrollar y probar en un entorno estable.Sincronizacin con el resto del equipo.Como resolver defectos sin afectar al desarrolloPreparado por:7475Dificultades del Lder de Proyecto:Evaluar el estado del proyecto.Comunicacin entre los miembros.Gestionar de proyectos en paralelo.Procesos de control y seguimiento.

Lder de ProyectoPreparado por:7576Dificultades del IntegradorJefe de ProyectoGran cantidad de versiones de archivos.Dependencias entre componentes.Pases a produccin consistentes.

IntegradorIntegradorPreparado por:7678Unificar la administracin de cambiosCmo cerrar el ciclo?Los artefactos se integran en lneas baseLas Actividades generan artefactos (i.e., mdulos de cdigo)?Bug 98Aadir el Clculo de PromocinError 179Nuevo boton GUINueva plataformaNuevo diseo WebError 849Error 527Error 251Nueva Transaccin del ClienteErro 348

La gente realiza las actividades ( i.e., rdenes de trabajo, correccin de errores)Preparado por:7879El Proceso de Cambio: La SolucinAdministracin de configuracin y cambiosFallas reportadasrdenes de TrabajoPeticin de nuevascaractersticas

Peticin de cambios y arreglo de defectosAdministracin de configuracinCalidad del productoPreparado por:7980Proceso basado en actividades

Bug 862Bug Fix 581Bugs 411Bug 611New widgetMore stuff!Bug Fix 480Bug 862Bug Fix 581More stuff!Bug 611New widgetNew ButtonNew ScriptBug 862Bug Fix 581Bugs 411Bug 611New TransactionBug 396New widgetBug 952More stuff!Bug 953Bug Fix 480Bugs 411New widgetBug 952Bugs 411New GUIUpdate DocNew ButtonNew ScriptBug 950Bugs 959New DB supportBug 396Bug Fix 196Bug Fix 581Bug 952Bugs 411New Web GraphicsNew GUIBugs 411New widgetBug Fix 480Bug 862More stuff!Bug 611New ListNew ScriptBug 951MS Windows 2000New widgetNew TransactionNew DB supportNew GUIBug Fix 480Bug 400Preparado por:8081Proceso basado en actividadesDB supportBug 396Bugs 411More stuff!Bug 611MS Win 2000Bugs 411New widgetNew GUINew GraphicsBug Fix 480Bug Fix 480New ListBug Fix 581IntegrationNew widgetNew GUIBug 862Bug Fix 196New ScriptNew buttonDB supportNew GUI

Preparado por:8182Controlar los cambios del software1.Define Promo

3.Add Use CaseTo Do ListRequirements2.Define GUIRequirement Document

Lder de ProyectoRequerimientosDiseoDesarrolloPruebasOrden de Trabajo

Delete itemsCancel OrderSpecial Promo

1.Test Promo 3.Test GUI applet To Do ListTest Scripts2.Verify Bug 467

Fix Bug 6712. Special Promo3. Fix Bug 829 To Do ListCodehello.cfoo.cRose models

2.Add copyright3.Update price To Do ListContent1.Special Promo

Preparado por:8283

Administracin de la configuracin y cambios: MedicionesLos defectos de alto grado se lograron resolver en este build?Cales cambios faltan por resolver?

Mtricas revelan el estado del proyecto en cualquier momento.

Lder del ProyectoPreparado por:8384Gestin del trabajo en paralelo

Lneas de desarrollo y de mantenimiento. Concurrencia en el desarrollo.Particularizacin de componentes.Distintas versiones en produccin.

Preparado por:8485Administracin de Configuracin y CambiosPermitir, controlar y monitorear cambios para habilitar un desarrollo iterativo. Controlar todos los artefactos de software - modelos, cdigo, documentos, etc.

Administrar todas las versiones, con integracin automtica a los cambios realizados al software.

Establecer espacios de trabajo seguros y aislados para cada desarrollador.

Contar con mtricas de estado y avance. Saber qu est pasando en el equipo y en el proyecto !Preparado por:86Gestin de Procesos

tenemos tiempo?.Preparado por:8687Modelos de Gestin de ProcesosISO 9000CMM Mejores PrcticasMetodologa- Proceso de la OrganizacinHerramientasQU GenricoQU EspecializadoCMOCON QUPreparado por:8788Caractersticas de ISO 9000Norma mexicanaCertificacin reconocida a nivel internacionalAsegura la mejora continua de procesosEstablece una cultura organizacional de calidadNo provee lineamientos especficos para procesos especializados a un rea de aplicacin (de software en particular) ISO 9000Preparado por:8889En el ao 2000 se emiti una serie revisada de normasEstructura orientada a procesosnfasis en la mejora continua, para mejorar la calidad del sistema y los procesosMedicin de la satisfaccin del clienteMayor atencin a la provisin de recursosAnlisis de datos del desempeo del sistemaISO 9000Preparado por:8990Los Ocho Principios de Gestin de la CalidadOrientacin al clienteLiderazgoParticipacin del personalEnfoque a procesosEnfoque sistmicoMejora continua Toma de decisiones basadas en hechosRelaciones mutuamente benficas con proveedores

ISO 9000Preparado por:9091Enfoque a la Gestin de Procesos ISO 9001:2000 ISO 9000Responsabilidad de la DireccinGestin de los RecursosClienteRequisitos

Realizacin del ProductoProductoClienteSatisfaccin

Medicin, Anlisis y MejoraPreparado por:9192Gestin de ProcesosEstablecer y mantener una poltica organizacional.Establecer y mantener requisitos, objetivos y planes.Proveer recursos adecuados.Asignacin de la responsabilidad y autoridad.Capacitacin de la gente.Realizacin del proceso.Administracin de la configuracin de los productos de trabajo.Seguimiento y control de actividades.Verificacin objetiva de la conformidad.Revisin por la alta gerencia y resolucin de asuntos.

ISO 9000Preparado por:9293El Software Engineering Institute (SEI)El Software Engineering Institute (SEI) de la Universidad de Carnegie Mellon (Pittsburgh, Pa.) es financiado por el departamento de defensa de los E.U.A.

El SEI ha desarrollado, y constantemente est refinando, una metodologa para la gestin y mejora de la capacidad del proceso de software

El Capability Maturity Model (CMM) fu desarrollado con dos propsitos:Proporcionar al Departamento de Defensa un medio para caracterizar la capacidad de los contratistas de softwareAyudar a determinar y mejorar las capacidades de las organizaciones de desarrollo de software

CMMInformacin relacionada con el SEI: http://www.sei.cmu.edu

Preparado por:9394

Niveles de Madurez de Capacidad del ProcesoGestin del Proceso de SoftwareResponsabilidad de la DireccinGestin de los RecursosRealizacin del ProductoMedicin, Anlisis y Mejora Proceso de Software1A la medida2Repetible/ Proyecto3Definido/ Organizacin5Optimizado4AdministradoCMMPreparado por:9495Institucionalizacin de procesosDireccinRecursosRealizacinMedicinCompromiso para EjecutarHabilidad para EjecutarActividades RealizadasVerificacin de la ImplantacinMedicin y Anlisis Plan de Calidad del ProcesoISO 9001: 2000Caractersticas Comunes del ProcesoCMMCMMPreparado por:9596Institucionalizacin de procesosDireccinRecursosRealizacinMedicinCompromiso para EjecutarHabilidad para EjecutarActividades RealizadasVerificacin de la ImplantacinMedicin y Anlisis Plan de Calidad del ProcesoISO 9001: 2000Caractersticas Comunes del ProcesoCMMCMMPreparado por:9697Institucionalizacin de procesosDireccinRecursosRealizacinMedicinCompromiso para EjecutarHabilidad para EjecutarActividades RealizadasVerificacin de la ImplantacinMedicin y Anlisis Plan de Calidad del ProcesoISO 9001: 2000Caractersticas Comunes del ProcesoCMMCMMPreparado por:9798Institucionalizacin de procesosDireccinRecursosRealizacinMedicinCompromiso para EjecutarHabilidad para EjecutarActividades RealizadasVerificacin de la ImplantacinMedicin y Anlisis Plan de Calidad del ProcesoISO 9001: 2000Caractersticas Comunes del ProcesoCMMCMMPreparado por:9899Institucionalizacin de procesosDireccinRecursosRealizacinMedicinCompromiso para EjecutarHabilidad para EjecutarActividades RealizadasVerificacin de la ImplantacinMedicin y Anlisis Plan de Calidad del ProcesoISO 9001: 2000Caractersticas Comunes del ProcesoCMMCMMPreparado por:99100

Niveles de Madurez de Capacidad del Procesoreas Clave del Proceso de Software1A la medida2Repetible/ Proyecto3Definido/ Organizacin5Optimizado4AdministradoPlaneacin de Proyectos (PP-2)Seguimiento a Proyectos (SP-2)Admn. de Subcontratistas (AS-2)Aseguramiento de la Calidad (QA-2)Admn. de Configuraciones (AC-2)Enfoque a Procesos de la Organizacin (EP-3)Definicin de Procesos de la Organizacin (PO-3)Revisiones entre Colegas (RC-3)Admn. Integrada de Software (AI3) Programa Integral de Capacitacin (PC-3)Coordinacin Intergrupal (CI-3)Admn. de Requerimientos (AR-2)Ingeniera de Software (IS-3)CMMPreparado por:100101Responsabilidad de la DireccinGestin de los RecursosRealizacin del ProductoMedicin, Anlisis y Mejora Proceso de Software5Optimizado4Administrado

RUP: materializa las Mejores Prcticas y asegura que todos entiendan claramente y puedan seguir un proceso prctico al desarrollar softwareRUPRUP : Un Proceso Prctico de DesarrolloPreparado por:101102RUP entrega el COMO que requiere ISO y CMM

El RUP define QUE actividades hay que hacer, QUIEN, CUANDO y COMO hacerlas La informacin que necesitas (con tanto detalle como requieras)Cuando la necesitasEn un formato realmente utilizable

RUP is a way to successfully fulfill CMM requirementsPhilippe Krutchen,2001RUPPreparado por:102