Calidad de Software: Modelos, Procesos, Arquitecturas - CIMAT
Calidad en Software: Proceso de Ingeniería de Software Dr. Cuauhtémoc Lemus Olalde Centro de...
-
Upload
maria-luz-hidalgo-san-segundo -
Category
Documents
-
view
225 -
download
3
Transcript of Calidad en Software: Proceso de Ingeniería de Software Dr. Cuauhtémoc Lemus Olalde Centro de...
Calidad en Software: Proceso de Ingeniería de Software
Dr. Cuauhtémoc Lemus Olalde
Centro de Investigación en Matemáticas A. C.
(CIMAT)
Febrero, 2003
Calidad en Software: Proceso de Ingeniería de Software
Dr. Cuauhtémoc Lemus Olalde
Centro de Investigación en Matemáticas A. C.
(CIMAT)
Febrero, 2003
UniversidadTecnológica
del Norte de Guanajuato
Cuarta Expo Informática
UniversidadTecnológica
del Norte de Guanajuato
Cuarta Expo Informática
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
CalidadCalidadConjunto de cualidades (etimología Conjunto de cualidades (etimología similar) de una persona ó cosasimilar) de una persona ó cosa– Lo que hace que una persona o cosa sea Lo que hace que una persona o cosa sea
lo que eslo que es– Propiedad, carácterPropiedad, carácter– Atributo, don, virtud, modalidadAtributo, don, virtud, modalidad
Superioridad, excelencia de alguna Superioridad, excelencia de alguna cosacosaImportanciaImportanciaCalificaciónCalificación– Calidad de vidaCalidad de vida– Calidad de la educaciónCalidad de la educación– Calidad del servicioCalidad del servicio
Educación de los hijosEducación de los hijos
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Que se esta haciendo en Que se esta haciendo en Calidad del Software? Calidad del Software?
Adopción de modelos y estándaresAdopción de modelos y estándares– CMMCMM– SPICESPICE– ISO 9001, etc.ISO 9001, etc.
Mejoramiento de procesos de Mejoramiento de procesos de software a través de técnicas y software a través de técnicas y métodos estadísticosmétodos estadísticos– PSP (Personal Software Process)PSP (Personal Software Process)– TSP (Team Software Process)TSP (Team Software Process)– Seis Sigma Software Seis Sigma Software
Desarrollo de Software (Calidad del Desarrollo de Software (Calidad del Producto)Producto)– Arquitectura de SoftwareArquitectura de Software– Líneas de Productos Líneas de Productos
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Perspectiva GeneralPerspectiva General
La Ingeniería de Software es una disciplina que estudia metodologías y enfoques de desarrollo de sistemas a gran escala.
Integrar a IS metodologías de organización y administración para formar una ambiente de IS basada en procesos.
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
HistoriaHistoria
En sus inicios IS se enfocó a En sus inicios IS se enfocó a aspectos técnicos: aspectos técnicos: – metodologías de programación,metodologías de programación,– lenguajes de programación, lenguajes de programación, – modelos de desarrollo de softwaremodelos de desarrollo de software– herramientasherramientas
En la industria el rol importante En la industria el rol importante paso de los programadores a paso de los programadores a líderes de proyecto y líderes de proyecto y administradores empresarialesadministradores empresariales
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
HistoriaHistoriaLos programadores requieren de Los programadores requieren de tecnologías de programación.tecnologías de programación.Los administradores y requieren de Los administradores y requieren de metodologías y estrategias.metodologías y estrategias.Los líderes de proyecto requieren de Los líderes de proyecto requieren de metodologías de calidad metodologías de calidad (aseguramiento de la calidad)(aseguramiento de la calidad)Aspectos actuales de IS:Aspectos actuales de IS:– Metodología e Infraestructura de Metodología e Infraestructura de
DesarrolloDesarrollo– OrganizaciónOrganización– AdministraciónAdministración
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
HistoriaHistoriaLas actuales metodologías de IS son Las actuales metodologías de IS son inadecuadas.inadecuadas.
Se requiere de un proceso de Se requiere de un proceso de Ingeniería de Software.Ingeniería de Software.
Un proceso de IS incluye:Un proceso de IS incluye:– Prácticas empíricas de Desarrollo Prácticas empíricas de Desarrollo
(Métodos, Modelos, Enfoques, Etapas)(Métodos, Modelos, Enfoques, Etapas)– Modelo Abstracto de las actividades de Modelo Abstracto de las actividades de
desarrollo.desarrollo.– Metodologías de Ingeniería para el Metodologías de Ingeniería para el
desarrollo, organización y administración desarrollo, organización y administración de sistemas a gran escala.de sistemas a gran escala.
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Modelos de Procesos de ISModelos de Procesos de IS
CMM (Capability Maturity Model)CMM (Capability Maturity Model)
ISO 9001ISO 9001
BOOTSTRAPBOOTSTRAP
ISO/IEC 15504 (SPICE – Software ISO/IEC 15504 (SPICE – Software Process Improvemente ?)Process Improvemente ?)
Modelo vs. Ciclo de VidaModelo vs. Ciclo de Vida– El modelo consiste de fases o etapas y El modelo consiste de fases o etapas y
esta orientado al desarrollo de software, y esta orientado al desarrollo de software, y el modelo consiste de procesos cubriendo el modelo consiste de procesos cubriendo todas las practicas en un proyecto de todas las practicas en un proyecto de software (organización, administración y software (organización, administración y desarrollo)desarrollo)
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Modelos de Procesos de ISModelos de Procesos de IS
Esfuerzos de investigación (Humprey Esfuerzos de investigación (Humprey 95, Kugler & Rementeria 95, Pfleeger 95, Kugler & Rementeria 95, Pfleeger 98) indican un cambio de enfoque:98) indican un cambio de enfoque:– En lugar de controlar la calidad en el En lugar de controlar la calidad en el
producto final de software, se optimizará producto final de software, se optimizará el proceso del cual se produce el el proceso del cual se produce el software.software.
Actualmente el desarrollo de Actualmente el desarrollo de aplicaciones de software son aplicaciones de software son proyectos de software (un solo proyectos de software (un solo sistema), pero el proceso podría sistema), pero el proceso podría definirse, estabilizarse, reutilizarse y definirse, estabilizarse, reutilizarse y estandarizarse.estandarizarse.
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Definición IS (1969)Definición IS (1969)Ingeniería de SoftwareIngeniería de Software– Establecimiento y uso de principios de ingeniería para Establecimiento y uso de principios de ingeniería para
obtener software económico que es confiable y funciona obtener software económico que es confiable y funciona eficientemente (Naur & Randell 69)eficientemente (Naur & Randell 69)
CaracterísticasCaracterísticas– Complejidad y diversidadComplejidad y diversidad– Dificultad en establecer y estabilizar los requerimientosDificultad en establecer y estabilizar los requerimientos– Software es cambiante (maleable)Software es cambiante (maleable)– Abstracción e intangibilidad de los productos de Abstracción e intangibilidad de los productos de
softwaresoftware– Requisito de variar conocimiento del dominio del Requisito de variar conocimiento del dominio del
problemaproblema– Diseño no-determinístico y con soluciones múltiplesDiseño no-determinístico y con soluciones múltiples– Uso de varios lenguajes y polimorfismo en la Uso de varios lenguajes y polimorfismo en la
implementaciónimplementación– Dependencia en las interacciones entre software, Dependencia en las interacciones entre software,
hardware y el usuariohardware y el usuario
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Definición IS (1991)Definición IS (1991)Ingeniería de Software es la ciencia y Ingeniería de Software es la ciencia y arte de especificar, diseñar, arte de especificar, diseñar, implementar y evolucionar, en forma implementar y evolucionar, en forma económica, a tiempo y elegante, económica, a tiempo y elegante, programas, documentación, y programas, documentación, y procedimientos operativos para que procedimientos operativos para que las computadores puedan ser útiles las computadores puedan ser útiles (McDermid 91)(McDermid 91)
IS-69: es un método para el desarrollo IS-69: es un método para el desarrollo de softwarede software
IS-91: una ciencia y arte de IS-91: una ciencia y arte de programación.programación.
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Definición (1998)Definición (1998)Ingeniería de Software es una Ingeniería de Software es una disciplina que adopta enfoques tales disciplina que adopta enfoques tales comocomo– MetodologíasMetodologías– ProcesosProcesos– HerramientasHerramientas– EstándaresEstándares– Métodos de OrganizaciónMétodos de Organización– Métodos de AdministraciónMétodos de Administración– Sistemas de aseguramiento de calidadSistemas de aseguramiento de calidad
Para desarrollar software a gran Para desarrollar software a gran escala con una alta productividad, escala con una alta productividad, bajo costo, calidad controlada, y bajo costo, calidad controlada, y agendas de desarrollo mensurables.agendas de desarrollo mensurables.
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Comparando Definiciones Comparando Definiciones de ISde IS
Def.Def. NaturalezaNaturaleza SignificadoSignificado ObjetivoObjetivo AtributosAtributos
19691969 Un métodoUn método Principios Principios genéricos de ISgenéricos de IS
SoftwareSoftware EconómicoEconómico
ConfiableConfiable
EficienteEficiente
19911991 Ciencia y arteCiencia y arte Ciclo de vida:Ciclo de vida:
EspecificaciónEspecificación
DiseñoDiseño
ImplementaciónImplementación
EvoluciónEvolución
Programas y Programas y documentosdocumentos
EconómicoEconómico
OportunoOportuno
EleganteElegante
19981998 Una disciplina Una disciplina de Ingenieríade Ingeniería
Enfoques:Enfoques:
MetodologíasMetodologías
ProcesosProcesos
HerramientasHerramientas
EstándaresEstándares
OrganizaciónOrganización
AdministraciónAdministración
CalidadCalidad
Software a Software a gran escalagran escala
ProductividadProductividad
CalidadCalidad
CostoCosto
TiempoTiempo
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Productos de Software vs. Productos de Software vs. Productos FísicosProductos Físicos
La revolución industrial se oriento La revolución industrial se oriento a la producción en masa a través a la producción en masa a través de maquinaria y procesos de maquinaria y procesos estándares y componentes estándares y componentes (Marshall 38)(Marshall 38)
El desarrollo de sistemas de El desarrollo de sistemas de software es una revolución que software es una revolución que transforma el procesamiento de transforma el procesamiento de información y partes de un información y partes de un producto físico en software.producto físico en software.
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Metodologías de Metodologías de ProgramaciónProgramación
PrincipiosPrincipiosAbstracciónAbstracción
Esconder InformaciónEsconder Información
Descomposición Funcional (50s)Descomposición Funcional (50s)
ModularizaciónModularización
ReutilizaciónReutilización
Programación Estructurada (70s)Programación Estructurada (70s)
Abstract Data Types (74)Abstract Data Types (74)
Lenguajes Orientados a Objetos (80s)Lenguajes Orientados a Objetos (80s)
Component Base Programming (COTS Component Base Programming (COTS – Components of the Shelf)– Components of the Shelf)
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Modelos de Modelos de Desarrollo de SoftwareDesarrollo de Software
El modelo intenta proveer un El modelo intenta proveer un conjunto de guías para el diseño conjunto de guías para el diseño e implementación del sistema.e implementación del sistema.– Modelo de Cascada (Royce 70)Modelo de Cascada (Royce 70)– Prototipos (Curtis y colegas 87)Prototipos (Curtis y colegas 87)– Espiral (Boehm 88)Espiral (Boehm 88)– V (GMOD 92)V (GMOD 92)– Evolucionario (Lehman 85, Gilb 88, Evolucionario (Lehman 85, Gilb 88,
Gustavsson 89)Gustavsson 89)– Incremental (Mills y colegas 80)Incremental (Mills y colegas 80)
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Automatización de ISAutomatización de ISAplicación de inteligencia artificial y técnicas Aplicación de inteligencia artificial y técnicas de basadas en el conocimiento.de basadas en el conocimiento.Categorías de Herramientas:Categorías de Herramientas:– CASE (Computer Aided Software Engineering)CASE (Computer Aided Software Engineering)– Unified Modeling LanguageUnified Modeling Language
Facilitan la automatización de las etapas de diseño Facilitan la automatización de las etapas de diseño y generación de código.y generación de código.
Problemas PrincipalesProblemas Principales– Adquisición y especificación de requerimientosAdquisición y especificación de requerimientos– Representación del conocimiento de una Representación del conocimiento de una
aplicaciónaplicación– Pruebas de corrección de una implementaciónPruebas de corrección de una implementación
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Clasificación de Clasificación de Herramientas de ISHerramientas de IS
CategoríaCategoría SubcategoríaSubcategoría ComentariosComentarios
Análisis de Análisis de SistemasSistemas
Análisis de requerimientos, adquisición, Análisis de requerimientos, adquisición, especificación, prototipos, modelación, especificación, prototipos, modelación, generación de interfases, etc.generación de interfases, etc.
Desarrollo de Desarrollo de SoftwareSoftware
Análisis y Análisis y Especificación de Especificación de RequerimientosRequerimientos
Análisis de Requerimientos, Representación Análisis de Requerimientos, Representación del conocimiento de un dominio, del conocimiento de un dominio, especificación, etc.especificación, etc.
ProgramaciónProgramación Compiladores, Debuggers, generadores de Compiladores, Debuggers, generadores de código, sistemas de reutilización, ambientes código, sistemas de reutilización, ambientes de programación, etc.de programación, etc.
PruebaPrueba Modular, Integración, sistema, aceptación, Modular, Integración, sistema, aceptación, prototipos, objetos, interfase, etc.prototipos, objetos, interfase, etc.
MantenimientoMantenimiento Reverse Engineering, Re-ingeniería, librería Reverse Engineering, Re-ingeniería, librería de reutilización, análisis estático y dinámico, de reutilización, análisis estático y dinámico, etc.etc.
CASECASE UML, ClearCase, Analystsw Toolkit, UML, ClearCase, Analystsw Toolkit, Automate+, BachmanSet, Excelerator, IEW, Automate+, BachmanSet, Excelerator, IEW, LBMS, Maestro, Oracle CASE, Select, LBMS, Maestro, Oracle CASE, Select, System Architect, Top CASE, Unis SCCS, System Architect, Top CASE, Unis SCCS, Yourdon ADT, Rational, etc.Yourdon ADT, Rational, etc.
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Enfoques de ISEnfoques de ISEnfoqueEnfoque DescripciónDescripción TécnicaTécnica OrganizaciónOrganización AdministraciónAdministración
ProgramaciónProgramación D. FuncionalD. Funcional
P. P. EstructuradaEstructurada
OOPOOP
CBPCBP
HH LL LL
Modelos deModelos de
Desarrollo Desarrollo
CascadaCascada
EspiralEspiral
PrototiposPrototipos
HH MM LL
Automatizar Automatizar ISIS
CASECASE
UMLUMLHH LL LL
Métodos Métodos FormalesFormales
CSPCSP
SDLSDL
ZZ
Clean RoomClean Room
HH LL LL
Procesos de Procesos de ISIS
CMMCMM
TrilliumTrillium
BOOTSTRAPBOOTSTRAP
ISO/IEC 15504ISO/IEC 15504
HH HH HH
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
ComentariosComentariosLas áreas de organización y Las áreas de organización y administración no han recibido mucha administración no han recibido mucha atención en cada uno de los atención en cada uno de los enfoques.enfoques.Los procesos de IS consideran Los procesos de IS consideran infraestructurasinfraestructuras– SistemáticasSistemáticas– OrganizacionalesOrganizacionales– AdministrativasAdministrativas
El software es cada vez más El software es cada vez más complejo, de gran tamaño, y de mejor complejo, de gran tamaño, y de mejor calidadcalidad
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
El Proceso de ISEl Proceso de ISUn proceso se describe como un Un proceso se describe como un conjunto de actividades que conjunto de actividades que transforman una entrada para crear transforman una entrada para crear una salida.una salida.El proceso de IS transforma El proceso de IS transforma requerimientos parea crear un requerimientos parea crear un producto de software.producto de software.Proceso de SoftwareProceso de Software– Método de Administración de Software Método de Administración de Software
( Gilb 88, Humphrey 89)( Gilb 88, Humphrey 89)– Enfoque de aseguramiento de calidad Enfoque de aseguramiento de calidad
(Evans & Marciniak 87, ISO 91)(Evans & Marciniak 87, ISO 91)– Técnicas de desarrollo de software Técnicas de desarrollo de software
(Curtis 87, Fayad 97)(Curtis 87, Fayad 97)
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
El Proceso de ISEl Proceso de ISNueva disciplina de Proceso de Nueva disciplina de Proceso de Ingeniería de SoftwareIngeniería de Software– Desarrollo de CMMDesarrollo de CMM– ISO 9000ISO 9000
Proceso de ISProceso de IS– FundamentosFundamentos– ModeloModelo– EstablecimientoEstablecimiento– EvaluaciónEvaluación– MejoramientoMejoramiento– EstandarizaciónEstandarización
… … de procesos de de procesos de softwaresoftware
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Definición de Proceso de ISDefinición de Proceso de IS
Conjunto de prácticas Conjunto de prácticas secuenciales que son secuenciales que son funcionalmente coherentes y funcionalmente coherentes y reutilizables en la organización, reutilizables en la organización, implementación y administración implementación y administración de la ingeniería de software.de la ingeniería de software.
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
HistoriaHistoriaProceso de ISProceso de IS
Ingeniería de Software & Ciencia Ingeniería de Software & Ciencia de la Administraciónde la Administración– 60s:Ingeniería de Procesos y 60s:Ingeniería de Procesos y
principios de administración en principios de administración en Ciencia de la Administración Ciencia de la Administración (Simon 60, Schein 61, Ellis & FRed (Simon 60, Schein 61, Ellis & FRed 62, Juran 62, Anthony 65, 62, Juran 62, Anthony 65, Richardson 66, Hall 67)Richardson 66, Hall 67)
– 70s & 80s: Establecimiento de 70s & 80s: Establecimiento de Ciencia de la Administración de Ciencia de la Administración de acuerdo a la tabla de de acuerdo a la tabla de de Fundamentos Fundamentos AdministrativosAdministrativos..
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
HistoriaHistoriaProceso de ISProceso de IS
Conformidad de la calidad a los Conformidad de la calidad a los requisitos y a las especificaciones requisitos y a las especificaciones (Crosby 79, Juran 80, Deming 82)(Crosby 79, Juran 80, Deming 82)– Círculo de Deming (Plan-Do-Check-Act Círculo de Deming (Plan-Do-Check-Act
PDCA) propuesto en Ciencia de la PDCA) propuesto en Ciencia de la Administración: Modelación y Análisis de Administración: Modelación y Análisis de Procesos de Software.Procesos de Software.
Proyecto ISO TC176 para desarrollar Proyecto ISO TC176 para desarrollar un estándar internacional de sistemas un estándar internacional de sistemas de calidad (ISO 9000 91,93,94) de calidad (ISO 9000 91,93,94) aplicable ingeniería e implementado aplicable ingeniería e implementado en IS (IS0 9001 89,94)en IS (IS0 9001 89,94)
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
HistoriaHistoriaProceso de ISProceso de IS
70s: Crisis de Software (Naur & Randell 69, 70s: Crisis de Software (Naur & Randell 69, Baker 72, Brooks 75, Hoare 75)Baker 72, Brooks 75, Hoare 75)80s: Proceso de Software se reconoce como 80s: Proceso de Software se reconoce como un arma de la Ingeniería de Software (Basili un arma de la Ingeniería de Software (Basili 80, Aron 83, Agresti 86, Evans 87, Boehm 80, Aron 83, Agresti 86, Evans 87, Boehm 81,86,87, Gilb 88, Humphrey 87, 88, 89)81,86,87, Gilb 88, Humphrey 87, 88, 89)Desarrollo del Modelo CMM (Humphrey 87, Desarrollo del Modelo CMM (Humphrey 87, Paulk 93)Paulk 93)80s: Otros Modelos:80s: Otros Modelos:– IEEE Software Engineering Standard (IEEE 83)IEEE Software Engineering Standard (IEEE 83)– British Standard BS 5750 (BSI 87) British Standard BS 5750 (BSI 87)
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Métodos y Procesos Métodos y Procesos de IS Actualesde IS Actuales
TickITTickIT
ISO 9001 (1)ISO 9001 (1)
CMM (2)CMM (2)
BOOTSTRAPBOOTSTRAP
ISO/IEC 12207ISO/IEC 12207
ISO/IEC TR 15504 (SPICE) (3)ISO/IEC TR 15504 (SPICE) (3)
BSIBSI
TrilliumTrillium
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Taxonomía y Dominios en Taxonomía y Dominios en los Modelos Actualeslos Modelos Actuales
NivelNivel CMMCMM BootstrapBootstrap SPICESPICE ISO 9001ISO 9001 SEPRMSEPRM
SistemaSistema CMMCMM BootstrapBootstrap SPICESPICE ISO 9001ISO 9001 SEPRMSEPRM
Sub-Sub-sistemasistema
-- Areas de Areas de Proceso [3]Proceso [3]
-- Sub-sistemas Sub-sistemas [3][3]
Sub-Sub-sistemas [3]sistemas [3]
CategoríCategoríaa
Niveles Niveles [5][5]
Categorías Categorías [9][9]
CategoríasCategorías
(PCs)(PCs)
[5][5]
-- Categorías Categorías {12]{12]
ProcesoProceso Areas Areas Prácticas Prácticas (KPAs) (KPAs)
[18][18]
Procesos Procesos [32][32]
Procesos Procesos (PRs) [35](PRs) [35]
Tópicos Tópicos Principales Principales de Areas de Areas
(MTAs) [20](MTAs) [20]
Procesos Procesos [51][51]
PrácticaPráctica Prácticas Prácticas (KPs) (KPs) [150][150]
Atributos de Atributos de Calidad Calidad (QSAs) (QSAs) [201][201]
Prácticas Prácticas Base Base (BPs) (BPs) [201][201]
Aspectos de Aspectos de Admon. (MIs)Admon. (MIs)
[177][177]
Actividades Actividades de Procesos de Procesos (BPAs) [444](BPAs) [444]
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Modelo de Modelo de Calidad ISO 9126Calidad ISO 9126
CaracterísticaCaracterística AtributoAtributoFuncionalidadFuncionalidad Conveniente, exactitud, Conveniente, exactitud,
interoperabilidad, seguridad interoperabilidad, seguridad
ConfiabilidadConfiabilidad Maduro, tolerancia a fallas, Maduro, tolerancia a fallas, recuperabilidad recuperabilidad
UtilidadUtilidad Fácil de entender, aprender, Fácil de entender, aprender, operaroperar
EficienciaEficiencia Comportamiento en el tiempo, Comportamiento en el tiempo, Comportamiento de los Comportamiento de los recursosrecursos
Fácil de MantenerFácil de Mantener Fácil de analizar, modificar, Fácil de analizar, modificar, probar; estabilidadprobar; estabilidad
PortabilidadPortabilidad Fácil de adaptarse, instalarse, Fácil de adaptarse, instalarse, adecuarse, reemplazarse.adecuarse, reemplazarse.
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Modelo Genérico del Modelo Genérico del Desarrollo de SoftwareDesarrollo de Software
Clientes
Procesos de Desarrollo
Procesos deAdministración
Desarrolladores
Administradores
Proceso de Organización
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Implementación del Implementación del Modelo GenéricoModelo Genérico
Proceso deOrganización
Modelo deReferencia
ProcesoDerivado
del Modelo
deReferencia
Proceso deAdministración
Proceso deDesarrollo
Proyecto 1
ProcesoDerivado
del Modelo
deReferencia
Proceso deAdministración
Proceso deDesarrollo
Proyecto n…
organización
proceso
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
IngSoft@CIMATIngSoft@CIMATProyecto ProCIS (Promoviendo Calidad en la Industria del Software)– Cultura de Calidad: Universidades e
Industria (PSP, TSP)– Investigación
Arquitecturas de Software (Líneas de Productos)
Proceso de IS (CMMi, SPICE, PSP, TSP, Seis-Sigma Software)
– Maestría en Ingeniería de Software (MIS)
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
LiteraturaLiteraturaYingxu Wang, Software Engineering Processes: Principles and Applications, Yingxu Wang, Software Engineering Processes: Principles and Applications, Boca Raton, CRC Press 2000.Boca Raton, CRC Press 2000.Paulk, M. C., y colegas, “CMM Versus SPICE Architectures”, Software Paulk, M. C., y colegas, “CMM Versus SPICE Architectures”, Software Process Newsletters, Spring 1994, pp. 7-11.Process Newsletters, Spring 1994, pp. 7-11.Paulk, M. C., “How ISO 9001 Compares with the CMM”, IEEE Software, Paulk, M. C., “How ISO 9001 Compares with the CMM”, IEEE Software, January 1995, pp. 74-83.January 1995, pp. 74-83.Jarvinen, J., “On Comparing Process Assessment Results: BOOTSTRAP Jarvinen, J., “On Comparing Process Assessment Results: BOOTSTRAP and CMM”, Software Quality Management, pp. 247-262, 1994.and CMM”, Software Quality Management, pp. 247-262, 1994.Kugler, H. J., y colegas, “From the Software Process to Software Quality: Kugler, H. J., y colegas, “From the Software Process to Software Quality: BOOTSTRAP and ISO 9000”, Proceedings of the First Asia-Pacific Software BOOTSTRAP and ISO 9000”, Proceedings of the First Asia-Pacific Software Engineering Conference, Tokyo, Japan, IEEE Computer Society Press, pp. Engineering Conference, Tokyo, Japan, IEEE Computer Society Press, pp. 174-182.1994.174-182.1994.Kitson , D. H., “” Relating the SPICE Framework and SEI Approach to Kitson , D. H., “” Relating the SPICE Framework and SEI Approach to Software Process Assessment” Proceedings of International Conference on Software Process Assessment” Proceedings of International Conference on Software Quality Management (SQM’96), MEP Press, London 1996, pp. 37-Software Quality Management (SQM’96), MEP Press, London 1996, pp. 37-49.49.Hoare, C. A. R., Communicating Sequential Processes, Prentice-Hall Hoare, C. A. R., Communicating Sequential Processes, Prentice-Hall International, Englewood Cliffs, NJ., 1985.International, Englewood Cliffs, NJ., 1985.Milner, R., Communicating and Concurrency, Prentice-Hall, Englewood Milner, R., Communicating and Concurrency, Prentice-Hall, Englewood Cliffs, NJ., 1989.Cliffs, NJ., 1989.Humphrey, W. S., A Discipline for Software Engineering, SEI Series in Humphrey, W. S., A Discipline for Software Engineering, SEI Series in Software Engineering, Addison-Wesley, Reading, MA., 1995.Software Engineering, Addison-Wesley, Reading, MA., 1995.Pressman, R. S., Software Engineering: A Practitioner’s Approach (3Pressman, R. S., Software Engineering: A Practitioner’s Approach (3 rdrd ed.), ed.), MacGraw-Hill International Editions, New York 1992.MacGraw-Hill International Editions, New York 1992.Fondo Mixto de Fomento a la Investigación Científica y Tecnológica Fondo Mixto de Fomento a la Investigación Científica y Tecnológica CONACYT-Gobierno del Estado de Guanajuato Programa para el desarrollo CONACYT-Gobierno del Estado de Guanajuato Programa para el desarrollo de la Industria de Software de la Industria de Software httphttp://://www.conacyt.mxwww.conacyt.mx/fondos//fondos/guanajuatoguanajuato/guanajuato2002-01./guanajuato2002-01.htmlhtml
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Introducción
PerspectivaIngeniería de Software (IS)
Proceso de IS
IngSoft
Preguntas?Preguntas?
Dr. Cuauhtémoc Lemus Olalde
www.cimat.mx/ingsoft
Febrero, 2003
Dr. Cuauhtémoc Lemus Olalde
www.cimat.mx/ingsoft
Febrero, 2003