calidad del software

Anuncio
Ingeniería del
software
Departamento de Lenguajes y Sistemas Informáticos
http://siul02.si.ehu.es/~alfredo/
Contenidos de la asignatura
‰
Introducción
¾ Definiciones
¾ La
‰
‰
‰
calidad del software
Arquitecturas de varios niveles (JAVA)
Evaluación y pruebas del software
Reutilización
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
2
Introducción: Definiciones (I)
‰
‰
‰
Alcance del proyecto (PMBOK versión tres en castellano):
Describe en detalle, los productos entregables del proyecto y el trabajo
necesario para crear tales productos entregables.
Autor del proyecto:
Persona u organización que es responsable de realizar el proyecto.
Calidad (www.rae.es )
Propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su
valor
¾
¾
¾
‰
Externos: Corrección, Robustez, Extensibilidad, Reusabilidad, Compatibilidad,
Eficiencia, Portabilidad, Facilidad de Uso, Funcionalidad, Oportunidad
Internos: Modularidad y legibilidad
En principio sólo importan los externos, pero la clave para conseguirlos radica en
los factores internos
Cliente (norma ISO 9000: 2000 (2.3.5) y SE-CMM 1995 - SEI)
Persona u organización que recibe un producto o servicio. También uno de los
que usa el producto o servicio. NOTA: Un cliente puede ser interno o externo a
la organización del suministrador.
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
3
Introducción: Definiciones (II)
‰
‰
‰
‰
‰
Diseño (SE-CMM 1995 - SEI):
Proceso de definición de la arquitectura, componentes, interfaces, y otras
características de un sistema o componente.
Desarrollo (SE-CMM 1995 - SEI):
Proceso de transformación de un diseño en componentes hardware y/o
software.
Documento:
Información registrada que puede considerarse como una unidad en un proceso
de documentación.
Especificación ( IEEE 729, IEEE 610.12, SE-CMM 1995, MIL-STD 499B )
Documento que establece, de una manera completa, precisa, verificable, los
requisitos, comportamiento, u otras características de un sistema o componente
y los procedimientos de verificación para determinar su grado de cumplimiento.
Evaluación (SA-CMM: 1996)
El uso de revisiones, inspecciones, y /o pruebas para determinar que un
producto o servicio software, hardware, etc., satisface los criterios o
especificaciones previamente establecidos.
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
4
Introducción: Definiciones (III)
‰
‰
Ingeniería
¾ IEEE: aplicación de un método sistemático, estructurado y cuantificable a
estructuras, máquinas, productos, sistemas o procesos.
¾ www.rae.es: conjunto de conocimientos y técnicas que permiten aplicar el
saber científico a la utilización de la materia y fuentes de energía.
Ingeniería del software
Ingeniería del Software es la ingeniería que trata de construir software de alta
calidad a bajo costo
¾ Meyer 1988: la IS es la producción de software de calidad.
¾ Ford, 1990: IS es una forma de ingeniería que aplica los principios de la
ciencia de los computadores y matemáticas para conseguir soluciones a
los problemas del software de forma efectiva y económica.
¾ IEEE 1993: IS es la aplicación de un enfoque sistemático, disciplinado y
cuantificable al desarrollo, operación y mantenimiento del software; es
decir, la aplicación de ingeniería al software.
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
5
Introducción: Definiciones (IV)
‰
‰
‰
Proceso (ISO 9000: 2000 (2.4.1) y ISO 12207:1995)
Conjunto de actividades interrelacionadas que usan recursos para transformar
entradas en salidas. NOTAS: Las entradas a un proceso son típicamente
salidas de otro proceso. Los procesos en una organización están típicamente
planificados y llevados a cabo bajo condiciones controladas para añadir valor.
Un proceso donde la conformidad del producto resultante no puede
evidenciarse o verificarse económicamente es referido frecuentemente como
un “proceso especial”
Proceso de ingeniería del producto software:
Conjunto de actividades, métodos, prácticas y transformaciones utilizados
para desarrollar software y los productos asociados: planes del proyecto,
documentos de análisis/diseño, codificación, casos de prueba, manuales de
usuario. Los mayores niveles de calidad se consiguen paso a paso: mejora del
proceso software
Producto (ISO 9000: 2000 (2.4.2)
Resultado de un proceso. NOTA: Cuatro categorías mencionables: hardware,
software, comunicaciones, servicios.
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
6
Introducción: Definiciones (V)
‰
‰
‰
Proyecto:
Conjunto de actividades planificadas y coordinadas, controladas,
presupuestadas, y documentadas con fechas de comienzo y finalización, que
se emprende para alcanzar unos objetivos conforme a requisitos específicos,
por una organización temporal adaptada a sus necesidades
Resultado (PMBOK-2004)
Es la consecuencia de la ejecución de procesos y actividades de gestión de
proyectos. Los resultados incluyen consecuencias (por ej., sistemas integrados,
procesos revisados, organización reestructurada, pruebas, personal capacitado,
etc.) y documentos (por ej., políticas, planes, estudios, procedimientos,
especificaciones, informes, etc.).
Requisito (ISO 9000:2000)
Necesidad o expectativa que se establece de forma explícita o implícita.
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
7
Introducción: Definiciones (VI)
‰
‰
‰
‰
‰
Servicio (ISO 9000: 2000 (2.4.3))
Producto intangible que es el resultado de realizar al menos una actividad en la
interfaz entre el suministrador y el cliente.
Sistema (Norma ISO/IEC 15288:2002)
Conjunto de elementos interrelacionados e interactuantes en uno o más de los
procesos que proporcionan la capacidad de satisfacer una necesidad u objetivo
definido. NOTA: Un sistema puede ser considerado como un producto o como
el servicio que proporciona.
Suministrador (Norma ISO 9000: 2000 (2.3.6))
Organización o persona que suministra un producto. NOTA: En una situación
contractual a un suministrador puede denominársele también “contratista”.
Usuario
Una persona u organización que usa el sistema para realizar una función
específica.
Validación (ISO/IEC 12207: 1995) y SE-CMM:1995)
Confirmación mediante examen y provisión de evidencia objetiva de que se
cumplen los requisitos particulares para ser usado con un propósito específico y
que satisface las necesidades del cliente.
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
8
Calidad del software
Juan M. Pikatza
Departamento de Lenguajes y Sistemas Informáticos
Objetivos
‰
‰
‰
Clarificar el significado del término
“calidad” en el desarrollo del software
Identificar los diferentes aspectos a
considerar
Conocer las ventajas de la producción
industrial
Contenidos del curso
‰
‰
¿A qué se le llama calidad en el software?
¿Cómo podemos presentar bien un
proyecto al cliente?
¾
‰
Una norma utilizable y sus exigencias
¿Cómo conseguir la certificación de
capacidad y madurez exigida por el
cliente?
Modelos de calidad y certificaciones
¾ Procesos y herramientas de soporte
¾
‰
Producción industrial y mejora continua
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
11
¿A qué se le llama
calidad en el software?
Hay quien piensa que..
Burocracia y retrasos en vez de escribir código
‰ Hacer un “papeleo” pesado, muchas reuniones
para establecer un “proceso”,….
‰
¾
‰
‰
Para conseguir un “sello” para nuestra publicidad:
ISO 9000, FQM: Q de oro, plata,…
Producto mejor que el de la competencia
¾
¾
Para hoy y el futuro (actualización)
Gestión del proceso y el conocimiento
¾
¾
plazos y costos conocidos (más cortos)
Garantgías
Poder repetir el éxito
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
13
¿Debe preocuparnos la calidad?
‰
Los clientes quieren un producto de calidad
¾
Evalúan las soluciones de los suministradores
9A
menudo con ayuda de auditores profesionales
9 Proyectos con diferentes objetivos y alcances
™
Alcance: Definición de requisitos, análisis, diseño,…
9 Exigen
™
¾
normas de presentación de proyectos
Conveniente seguir un proceso para conseguirlo
Exigen altas cotas de fiabilidad y seguridad
9 Se
consigue con un proceso pensado para la seguridad
9 Necesitan saber con qué proceso se desarrolló
™
Exigen un nivel dentro de un modelo de calidad de proceso
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
14
¿Cómo se consigue la calidad?
‰
Producción industrial
¾
Entrega en plazo con precio competitivo y calidad
9
9
‰
Esto no es habitual en el desarrollo del software
Existen industrias de referencia: automóvil
¿Como hacerlo?
¾
Sistematización del desarrollo
9
Proceso de desarrollo definido
™
¾
Requisitos, análisis, diseño, implementación, gestión, pruebas,
documentación, …
Especialización: dominio y líneas de productos
9
9
Dominio, menor coste y plazos de producción conocidos
Ejemplos:
™
™
Dominio = e-Administración
Línea de producto: relaciones ciudadano-ayuntamiento
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
15
Ingeniero en
Informática
Relación proveedor-cliente
El escenario completo
Proceso
judicial
Perito
FRACASO
Insatisfecho
No cumple
Requerimientos
(C) J.M. Pikatza
Control de calidad
Cumple
Fidelidad del
cliente
Superar a la
Producto de calidad
Satisfecho
competencia
Plazo más corto
EXITO
Solución
Plazo/presupuesto
PROBLEMA
Aumento
de la
Responsable
Proyecto
capacidad
de negocio
Auditor
CLIENTE
Suministrador
€€€€€€€
Evaluacióón
Evaluaci
Funciona
Mejorar
proceso
desarrollo
Dep. L.S.I. (UPV/EHU), 2005
16
Igual que en otras ingenierías
Optimización
de Procesos
Gestión del
Mejora de Conocimiento
Procesos
Conocimiento
Optimización
Gestión del de Procesos
Conocimiento Mejora de
Procesos
Conocimiento
Procesos
Métodos
Métodos
Producto
Diseños
Tecnología
Herramientas
Problema
Cliente
Componentes
Solución
Plazo/presupuesto
Proyecto
€€€€€€€
(C) J.M. Pikatza
Control de calidad
Piezas
Evaluacióón
Requerimientos / Evaluaci
Procesos
Productos
Patrones
Tecnología
Suministrador Herramientas
Dep. L.S.I. (UPV/EHU), 2005
17
Merece la pena..
‰
Elaborar bien un proyecto y presentarlo bien
¾
Aceptación → venta (€ $ £ ) → permanecer en el mercado
9 Cumplir las normas exigidas por el cliente.
™
™
™
Normas: ISO, ISO/IEC, IEEE, MIL-STD, Métrica v.3,UNE,..
Modelos de calidad: SA-CMM, SE-CMM, SE-CMM, CMMI
Algunos clientes utilizan la Web para informar a los clientes
„
„
‰
http://www.supplymanagement.ubc.ca
Risk Management of Treasury Board of Canada Secretariat:
http://www.cio-dpi.gc.ca/emf-cag/pmg-ggp/corp-min-process/risk-risq/risk-risq06_e.asp
Para poder presentar según norma
¾
‰
University of British Columbia Supply Management:
Más fácil si seguimos un proceso
Definir un proceso de desarrollo
¾
¾
Ayudarnos de herramientas de soporte
Certificar nuestro nivel de calidad
9
¾
¾
Modelos de calidad: SW-CMM, CMMI
Mejorarlo constantemente
Mejorar la tecnología: I+D+i
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
18
Contenidos del curso
‰
‰
¿A qué se le llama calidad en el software?
¿Cómo podemos presentar bien un
proyecto al cliente?
¾
‰
Una norma utilizable y sus exigencias
¿Cómo conseguir la certificación de
capacidad y madurez exigida por el
cliente?
Modelos de calidad y certificaciones
¾ Procesos y herramientas de soporte
¾
‰
Producción industrial y mejora continua
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
19
¿Cómo podemos
presentar bien un
proyecto al cliente?
Relación cliente-suministrador
‰
Incumplimientos de contrato habituales
¾
¾
‰
Clientes y suministradores “pequeños”
¾
‰
‰
Desconocimiento y baja calidad
Clientes “grandes” exigen calidad
¾
‰
Falta de normas → auditoria problemática → conflictos
Desconfianza en las empresas de software
Muchos exigen seguir un proceso y certificaciones
Preocupación: calidad, plazos y presupuestos
Saber hacer no garantiza hacer bien
¾
Capacidad para repetir haciendo bien y más rápido
9
Capacidad y madurez para hacer mejor siguiendo un proceso de
mejora continua
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
21
Relación cliente-suministrador
Normas
‰
El cliente, mediante normas, exige
¾
Formato de presentación de proyectos para una mejor
evaluación
9
Administraciones públicas:
™
¾
Calidad de producto
9
¾
Robustez, usabilidad
Calidad de servicio
9
¾
Normas: Métrica v3.0 (E), Merisse (F), SSADM (UK),..
Mantenimiento, formación,..
Seguimiento de un proceso de producción
9
Certificación de un nivel de calidad según algún modelo
™
™
Imposible sin sistematización de la producción
Proceso de producción industrial
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
22
Relación cliente-suministrador
Creación de normas
‰
Quién: Comité técnico de expertos
¾
Nivel estatal (AENOR), internacional (ISO,..)
9
9
‰
‰
Para quién: la sociedad
Para qué: mejorar las relaciones
¾
Definición de entregables, homogeneización
9
‰
Secretaría y edición: El Colegio de la profesión
Vocales: colegios, asociaciones profesionales, empresas,
Administración, universidades
Auditorias, peritajes, visados, evaluaciones, mejora procesos
Qué: un documento
¾
¾
Definciones
Normas acumplir
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
23
Relación cliente-suministrador
Una propuesta de norma
Desarrollada en AENOR
‰ Impulsada por todos los Colegios de
Ingenieros en Informática
‰
¾ Criterios
generales para la elaboración de
Sistemas Informáticos
‰
En fase de alegaciones
¾
Controversia en el uso de la palabra
“informática”
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
24
Contenidos
•
•
•
•
Motivación
Objeto y campo de aplicación
Definiciones
Requisitos generales
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
25
Motivación
• Amplio uso de los Sistemas Informáticos
• Disciplina relativamente nueva
• Falta de normas de ámbito estatal
Permanentes conflictos entre las partes
• Necesidad de definir una norma
– Siguiendo el modelo de otras ingenierías
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
26
Motivación
• En otras ingenierías:
Petición
Propuesta
Definición
Solución
Construcción
Cliente
• En nuestra ingeniería:
Implantación
Petición
Propuesta
Definición
Solución
Definición
ConstrucciónConstrucción
Implantación
Cliente
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
27
Motivación
Petición
Propuesta
Definición
Solución
Definición
ConstrucciónConstrucción
Implantación
Cliente
• Tradición arraigada
• Consecuencias:
– Dificultad de planificación de la construcción
– Impacto negativo en la calidad de producto
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
28
Motivación
• La norma contempla:
Petición
Propuesta
Definición
Solución
Construcción
Implantación
Cliente
• Tiene su origen en la norma UNE 157001
– Norma general de proyectos de ingeniería
• Objetivo: Garantizar un mínimo de calidad
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
29
Contenidos
•
•
•
•
Motivación
Objeto y campo de aplicación
Definiciones
Requisitos generales
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
30
Objeto y campo de aplicación
• Según el alcance del proyecto:
Petición
Propuesta
Definición
Solución
Construcción
Cliente
Definición del
problema
– Pudiendo incluir:
Captura de
requisitos
Análisis de
requisitos
Implantación
Elaboración
completa
Evaluación
visado
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
• Auditorias
• Revisiones
independientes
• Visado
• Peritajes
Dep. L.S.I. (UPV/EHU), 2005
31
Objeto y campo de aplicación
• Según el alcance del proyecto:
Petición
Propuesta
Definición
Solución
Construcción
Cliente
Definición
Captura
del Análisis
de
de
problema
requisitos
requisitos
Implantación
Elaboración Evaluación
completa
visado
– Características a cubrir en cada caso
• Estructura documental del proyecto
• Documentación completa a entregar
– Sin exigir ninguna metodología o proceso
• Pero recomendando seguir alguno
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
32
Contenidos
•
•
•
•
Motivación
Objeto y campo de aplicación
Definiciones
Requisitos generales
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
33
Definiciones
• Relación de normas para consulta
• Definiciones de conceptos
– ISO, UNE, ISO/IEC, CEN-CENELEC, IEEE, etc.
– Eurométodo
• Traducida al castellano
– Métrica versión 3 (MAP)
– PMBOK - A Guide to the Project Management
Body of Knowledge version 3 (PMI)
• Traducida al castellano
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
34
Contenidos
•
•
•
•
Motivación
Objeto y campo de aplicación
Definiciones
Requisitos generales
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
35
Requisitos generales
• Título que identifica el producto o servicio
• Documentos
– Generados no necesariamente de forma secuencial
– Obligatorios, justificar omisiones
– Portada: Volumen, título, tipo documento, cliente,
autores, y suministrador
– Cada página (número) o documento electrónico:
Título, documento, identificativo, versión, y fechas
– Capítulos y apartados según UNE 50-132
– De calidad, interpretables por personas diferentes a
los autores
– Orden de prioridad de los documentos
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
36
Requisitos generales
• Título
• Documentos
– Indice General
– Memoria
– Anexos
• Análisis y diseño del
Sistema
• Estimación de Tamaño y
Esfuerzos
• Planes de Gestión de la
Ejecución del Proyecto
• Seguridad
– Requisitos del sistema
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
• Toda la información relevante
– Justifica y describe la solución
– Referencia común entre suministrador y
cliente
• Comprensible no sólo por
profesionales
• Contenido
– Descripción de todos los entregables
– Reglas de identificación y gestión de
cambios
– Elementos a utilizar en la ejecución
•
•
•
•
Método
Organización
Validaciones
Etc.
– Contenidos de mayor detalle en
documentos aparte fuera de la memoria
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
37
Requisitos generales
• Título
• Documentos
– Indice General
– Memoria
– Anexos
• Análisis y diseño del
Sistema
• Estimación de Tamaño y
Esfuerzos
• Planes de Gestión de la
Ejecución del Proyecto
• Seguridad
– Requisitos del sistema
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
M0.M1.M2.M3.M4.M5.-
Hojas de identificación
Introducción
Objeto
Antecedentes
Descripción de la situación actual
Normas y referencias
M5.1.- Disposiciones legales y normas
aplicadas
M5.2.- Bibliografía
M5.3.- Métodos, Herramientas, Modelos,
Métricas y Prototipos
M5.4.- Plan de gestión de la calidad
aplicado durante la redacción del
Proyecto
M5.5.- Otras referencias
M6.- Definiciones y abreviaturas
M7.- Requisitos iniciales
M8.- Alcance
M9.- Hipótesis y restricciones
M10.- Estudio de alternativas y viabilidad
M11.- Descripción del sistema propuesto
M12.- Análisis de Riesgos
M13.- Organización y gestión del proyecto
M14.- Planificación temporal
M15.- Presupuesto
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
38
Requisitos generales
Título e identificador, cliente, suministrador,
resumen,
• duración
Títuloestimada, coste, y hoja
índice de la memoria
M0
• Documentos
Breve explicación
del General
objetivo, contenido y
– Indice
estructura – Memoria
M1
– del
Anexos
Objetivo final
proyecto y de la finalidad
•
Análisis y diseño del M2
que justifica su ejecución
Sistema
• Estimación
de Tamaño
Elementos significativos
del pasado
que y
Esfuerzos
tienen su influencia
en el proyecto
M3
• Planes de Gestión de la
del Proyecto
„ Punto de partidaEjecución
del proyecto
• Seguridad
„ Elementos que se ven afectados por el
– Requisitos
del sistema M4
cambio propuesto
en el proyecto
– Presupuesto y,
Utilizados en
elaboración
necesarios
– la
Estudios
cony entidad
M5
propia
para la ejecución
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
M0.M1.M2.M3.M4.M5.-
Hojas de identificación
Introducción
Objeto
Antecedentes
Descripción de la situación actual
Normas y referencias
M5.1.- Disposiciones legales y normas
aplicadas
M5.2.- Bibliografía
M5.3.- Métodos, Herramientas, Modelos,
Métricas y Prototipos
M5.4.- Plan de gestión de la calidad
aplicado durante la redacción del
Proyecto
M5.5.- Otras referencias
M6.- Definiciones y abreviaturas
M7.- Requisitos iniciales
M8.- Alcance
M9.- Hipótesis y restricciones
M10.- Estudio de alternativas y viabilidad
M11.- Descripción del sistema propuesto
M12.- Análisis de Riesgos
M13.- Organización y gestión del proyecto
M14.- Planificación temporal
M15.- Presupuesto
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
39
Requisitos generales
Características funcionales y no funcionales
que deba
• cumplir
Títulouna vez construido M7
• Documentos
Establecimiento
de lo que está incluido en el
proyecto y todo
lo queGeneral
no forma parte del
– Indice
mismo
M8
– Memoria
Hipótesis–deAnexos
partida
• Análisis
diseño del
„ Restricciones que
se han yutilizado
para la
Sistema
elaboración del proyecto
• Estimación de Tamaño y
„ Restricciones para la ejecución
M9
Esfuerzos
• Planes
Gestión de la
„ Alternativas tenidas
en de
cuenta
Ejecución
del
Proyecto
„ Justificación de la alternativa elegida
• Seguridad
„ Razones de los descartes
M10
„
– Requisitos del sistema
„
„
Visión global
del proyecto comprensible
– Presupuesto
y,
por especialistas
– Estudios con entidad
Enumeración
de características
propia
significativas
M11
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
M0.M1.M2.M3.M4.M5.-
Hojas de identificación
Introducción
Objeto
Antecedentes
Descripción de la situación actual
Normas y referencias
M5.1.- Disposiciones legales y normas
aplicadas
M5.2.- Bibliografía
M5.3.- Métodos, Herramientas, Modelos,
Métricas y Prototipos
M5.4.- Plan de gestión de la calidad
aplicado durante la redacción del
Proyecto
M5.5.- Otras referencias
M6.- Definiciones y abreviaturas
M7.- Requisitos iniciales
M8.- Alcance
M9.- Hipótesis y restricciones
M10.- Estudio de alternativas y viabilidad
M11.- Descripción del sistema propuesto
M12.- Análisis de Riesgos
M13.- Organización y gestión del proyecto
M14.- Planificación temporal
M15.- Presupuesto
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
40
Requisitos generales
Identificación de los riesgos de la fase de
elaboración
y de la fase de construcción M12
• Título
• Documentos
„Matriz de responsabilidades
„Directrices para la gestión de cambios
– Indice General
„Directrices para el seguimiento
„Directrices
de la información
– control
Memoria
„Comunicación cliente-suministrador
– Anexos
„Directrices aprobación de entregables
• Análisis y diseño del
„Lugar de trabajo
Sistema
„Etc.
M13
• Estimación de Tamaño y
Esfuerzos
Cronograma de entregas
parciales, hitos
• Planes
deproyecto
Gestión deM14
la
intermedios y fecha
final del
Ejecución del Proyecto
Coste total de la•ejecución
con costes
Seguridad
parciales – Requisitos del sistemaM15
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
M0.M1.M2.M3.M4.M5.-
Hojas de identificación
Introducción
Objeto
Antecedentes
Descripción de la situación actual
Normas y referencias
M5.1.- Disposiciones legales y normas
aplicadas
M5.2.- Bibliografía
M5.3.- Métodos, Herramientas, Modelos,
Métricas y Prototipos
M5.4.- Plan de gestión de la calidad
aplicado durante la redacción del
Proyecto
M5.5.- Otras referencias
M6.- Definiciones y abreviaturas
M7.- Requisitos iniciales
M8.- Alcance
M9.- Hipótesis y restricciones
M10.- Estudio de alternativas y viabilidad
M11.- Descripción del sistema propuesto
M12.- Análisis de Riesgos
M13.- Organización y gestión del proyecto
M14.- Planificación temporal
M15.- Presupuesto
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
41
Requisitos generales
• Título
• Documentos
– Indice General
– Memoria
– Anexos
• Análisis y diseño del
Sistema
• Estimación de Tamaño y
Esfuerzos
• Planes de Gestión de la
Ejecución del Proyecto
• Seguridad
– Requisitos del sistema
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
En función del alcance:
• Análisis:
– Modelo de análisis del
sistema a construir
• Diseño:
– Arquitectura del sistema
propuesto
– Modelos de diseño:
• Funcionalidad
• Interfaces
• Datos
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
42
Requisitos generales
• Título
• Documentos
– Indice General
– Memoria
– Anexos
• Análisis y diseño del
Sistema
• Estimación de Tamaño y
Esfuerzos
• Planes de Gestión de la
Ejecución del Proyecto
• Seguridad
– Requisitos del sistema
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
• Base para la elaboración
del presupuesto
– Selección de métricas
– Valoración de métricas
• Según datos del proyecto
• Criterios normalizados
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
43
Requisitos generales
• Título
• Documentos
– Indice General
– Memoria
– Anexos
• Análisis y diseño del
Sistema
• Estimación de Tamaño y
Esfuerzos
• Planes de Gestión de la
Ejecución del Proyecto
• Seguridad
– Requisitos del sistema
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
Forma en la que se realiza
la dirección del proyecto:
– Gestión del alcance
– Gestión de plazos
– Gestión de costes del
proyecto
– Gestión de la calidad
– Gestión de recursos
humanos
– Gestión de comunicaciones
– Gestión de riesgos
– Gestión de adquisiciones
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
44
Requisitos generales
• Título
• Documentos
– Indice General
– Memoria
– Anexos
• Análisis y diseño del
Sistema
• Estimación de Tamaño y
Esfuerzos
• Planes de Gestión de la
Ejecución del Proyecto
• Seguridad
– Requisitos del sistema
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
• Implantación de
seguridad
– Plan de seguridad
– Metodologías
– Herramientas
• Identificación de puntos
críticos
– Por su importancia
– Exigidos por leyes
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
45
Requisitos generales
• Título
• Documentos
– Indice General
– Memoria
– Anexos
• Análisis y diseño del
Sistema
• Estimación de Tamaño y
Esfuerzos
• Planes de Gestión de la
Ejecución del Proyecto
• Seguridad
– Requisitos del sistema
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
• Especificación detallada
de requisitos
– Funcionales y no
funcionales
– De producto y de proceso
– Debe depender de la
metodología empleada
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
46
Requisitos generales
• Título
• Documentos
– Indice General
– Memoria
– Anexos
• Análisis y diseño del
Sistema
• Estimación de Tamaño y
Esfuerzos
• Planes de Gestión de la
Ejecución del Proyecto
• Seguridad
– Requisitos del sistema
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
• Determinar y justificar el
costo económico del
proyecto
– Desglosada en capítulos
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
47
Requisitos generales
• Título
• Documentos
– Indice General
– Memoria
– Anexos
• Análisis y diseño del
Sistema
• Estimación de Tamaño y
Esfuerzos
• Planes de Gestión de la
Ejecución del Proyecto
• Seguridad
– Requisitos del sistema
– Presupuesto y,
– Estudios con entidad
propia
EUSKADIKO INFORMATIKAKO INGENIARIEN ELKARGO OFIZIALA
COLEGIO OFICIAL DE INGENIEROS EN INFORMÁTICA DEL PAÍS VASCO
• Documentos requeridos
por exigencias legales
–
–
–
–
LOPD
LSSI
Firma electrónica
Etc.
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
48
Contenidos del curso
‰
‰
¿A qué se le llama calidad en el software?
¿Cómo podemos presentar bien un
proyecto al cliente?
¾
‰
Una norma utilizable y sus exigencias
¿Cómo conseguir la certificación de
capacidad y madurez exigida por el
cliente?
Modelos de calidad y certificaciones
¾ Procesos y herramientas de soporte
¾
‰
Producción industrial y mejora continua
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
49
¿Cómo conseguir la
certificación de
capacidad y madurez
exigida por el cliente?
El cliente quiere saber cómo
desarrollamos
‰
La calidad es resultado de un proceso repetible
¾
¾
‰
Soluciones mantenibles, adaptables a problemas
similares y evolucionables. Plazo y costo limitado
No una obra genial única no repetible
El cliente exige certificaciones de procesos
¾
Existen modelos de calidad para evaluar procesos:
9
‰
‰
SW-CMM, CMMI, SPICE,..
No se pueden alcanzar sin seguir un proceso de
desarrollo definido
Proceso definido y en mejora continua
(suministrador)
¾
Aumento del rendimiento y capacidad de negocio
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
51
El cliente exige certificaciones
‰
Para definir un proceso que lleve a la calidad
¾
¾
‰
Modelos de calidad más conocidos
¾
¾
¾
¾
‰
Tenemos que ver qué exigen los modelos de calidad de procesos
La calidad hay que perseguirla en todo el proceso de desarrollo
Capability Maturity Model Integration (CMMI)
Capability Maturity Model (SW-CMM)
ISO-15504 (SPICE )
9 Software Process Improvement and Capability Determination
BOOTSTRAP ..
El más solicitado es el CMM (SW-CMM / CMMI)
¾
El problema
9
9
¾
Demasiados roles para una organización pequeña => FRACASO
Demasiado cambio para una organización grande => FRACASO
La solución: adaptar el proceso al proyecto, se puede
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
52
SW-CMM / CMMI
‰
Optimizado
Creado por el SEI (Univ.
Carnegie- Mellon).
www.sei.cmu.edu/cmm
‰
Los grandes clientes exigen
niveles de evaluación de 2 y 3
(CMM) a los suministradores
¾
¾
9
‰
Gestionado
(4)
(3)
Esfuerzo
Dinero
SW-CMM
certificación
por
niveles completados
CMMI por niveles completados o
por áreas clave completadas
(C) J.M. Pikatza
(5)
Definido
¡Del caos a la disciplina!
Certificación costosa
9
‰
Capability
Maturity
Model
(CMM)
Repetible
(2)
Inicial
ISO 9001
ISO 9004
procesos caóticos
(1)
Dep. L.S.I. (UPV/EHU), 2005
53
SW-CMM / CMMI y áreas clave
procesos que
mejoran
continuamente
procesos
predecibles
Análisis causal y resolución
Optimizado Innovación tecnológica proc. organiz.
(5)
Implantación innovación del proceso
Gestionado
(4)
Gestión cuantitativa de calidad y proceso
Realización del proceso organizativo
Enfoque del proceso organizativo
Definición del proceso organizativo
Definido Gestión de formación
proceso
Gestión integrada de proyecto
(3)
Gestión de riesgos
consistente
Gestión de requisitos
con estándares
Repetible Planificación de proyecto
Monitorización y control de proyecto
proceso
(2)
Gestión de suministradores
disciplinado
Mediciones y análisis
Aseguramiento de calidad de proceso y producto
Inicial
Gestión de configuración
(1)
Ad hoc, procesos caóticos
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
54
Entregaclave
en plazo
SW-CMM / CMMI y áreas
y con cero defectos
procesos que
mejoran
continuamente
procesos
predecibles
Análisis causal y resolución
Optimizado Innovación tecnológica proc. organiz.
(5)
Implantación innovación del proceso
Gestionado
(4)
Gestión cuantitativa de calidad y proceso
Realización del proceso organizativo
Enfoque del proceso organizativo
Definición del proceso organizativo
Definido Gestión de formación
proceso
Gestión integrada de proyecto
(3)
Gestión de riesgos
consistente
Gestión de requisitos
con estándares
Repetible Planificación de proyecto
Monitorización y control de proyecto
proceso
(2)
Gestión de suministradores
disciplinado
Mediciones y análisis
Aseguramiento de calidad de proceso y producto
Inicial
Gestión de configuración
(1)
Ad hoc, procesos caóticos
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
55
El modelo de calidad SW-CMM
‰
Key Areas de
SW-CMM por
¾
¾
Nivel
Ámbito
9
9
9
‰
‰
Gestión
Organización
Ingeniería
“Buenas
prácticas” que
debemos
cumplir
Exigentes para
individuos (C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
56
Modelo organizativo
SW-CMM
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
57
CMM – TSP - PSP
‰
CMMI es un modelo
mejorado de SWCMM
‰
TSP(Team Software
Process)
es
un
vehículo efectivo para
implementar mejoras
basadas en CMM
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
58
CMM – TSP - PSP
‰
CMMI marco conceptual basado en las mejores
prácticas de ingeniería del software para ayudar a
la organización en la:
¾
¾
¾
¾
Caracterización de la madurez de sus procesos
Establecimiento de objetivos de mejora de procesos
Establecimiento de prioridades de acción inmediata
Introducción de una cultura de ingeniería del
software de excelencia
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
59
CMM – TSP - PSP
‰
TSP (Team Software Process)
¾
¾
¾
¾
‰
TSP añade un nivel de gestión de proyectos a PSP
Enfoca en el desarrollo y mantenimiento del software con
equipos multidisciplinares de alto rendimiento
Nivel 5 en el manejo de equipos de 5-10 ingenieros
Puede ser extendido a grandes proyectos con TSP multi-team
PSP (Personal Software Process)
¾
¾
¾
¾
Uso individual para ajustar costos
Aplica las tareas personales más estructuradas
PSP extendido con TSP puede dar soporte al desarrollo de
grandes sistemas software
Utilizable para acelerar el paso del nivel 2 al 5
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
60
¿Algún proceso que nos lleve a CMM?
‰
Recomendaciones de consenso para ingenierías
¾
‰
PMBOK-2004 (Project Management Institute – PMI)
Metodologías y herramientas CASE
¾
¾
Las metodologías, habitualmente, están asociadas con
herramientas comerciales
Los principales suministradores son (por importancia):
9
9
9
9
9
IBM Rational Software (Rational Unified Process – RUP)
Computer Associates/Sterling Software
Select Software Tools
Aonix
Computer Associates/Platinum Technology
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
61
Procesos muy extendidos
RUP
Inicio
Elaboración Construcción Transición
PMBOK
Inicialización
Entorno
Planificación
Gestión de proyecto
Ejecución Modelado
Requisitos
Implementación
de
Despliegue
Análisis y
Test
negocio
Diseño
Requisitos
Control
Gestión de proyecto
Gestión de configuración y cambio
Cierre
RUP – 2005 : www.rational.com/university
=> inscribirse y bajar productos
PMI: www.pmi.org
PMBOK Guide - 2000 Edition Excerpts Welcome: => versión 2000 gratis, versión 2004 no
http://www.pmi.org/prod/groups/public/documents/info/pp_pmbok2k_conf.asp
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
62
PMBOK-2004 (www.pmi.org)
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
63
La evolución de las metodologías
Enfoque
Ericsson
Rational Software
Objectory
Unified Process
Select Software
KnowledgeWare
TI Software
Synon
Bachman
Cayenne
Cadre
Paul Allen
Perspective Process
Enfoque
Catalysis
Protosoft
Aion
Interactive Development Environments
Thomson Software Products
(C) J.M. Pikatza
QSS
CBOT
Sterling Software
Spex methodology
Tecnología
Platinum
Computer
Associates
Aonix
Dep. L.S.I. (UPV/EHU), 2005
64
Rational Unified Process (RUP)
www.rational.com
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
65
Rational Unified Process (RUP)
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
66
Rational Unified Process
(RUP)
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
67
Rational Unified Process
(RUP)
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
68
Proyecto como instancia de Proceso
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
69
Herramientas de Rational
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
70
Herramientas de Rational
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
71
Otras herramientas
‰
Computer
Associates
(www.ca.com)
¾
‰
AllFusion
Aonix
(www.aonix.com)
¾
Sistemas de
Tiempo-real
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
72
¿Cómo implantarlo en PYMES?
‰
Excusas para no incorporar un proceso
¾
¾
‰
Demasiados roles para una organización pequeña => Fracaso
Demasiado cambio para una organización grande => Fracaso
Una solución
¾
Creación de un modelo para las pequeñas
organizaciones, capaz de evolucionar a medida que la
empresa crece
9
9
Tarea compleja, hay que introducir una disciplina de trabajo
Implantando, en la medida de lo posible, en equipos pequeños
™
‰
‰
Menor cambio cuando la organización es grande!
Es un tema candente y existen antecedentes
Los procesos caóticos habituales llevan a la
desaparición de la empresa por pérdida de
clientes
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
73
Procesos de desarrollo para PYMES:
Antecedentes
‰
Intentos de adaptar CMM a PYMES
¾
Dynamic CMM (Laryd 00)
9
¾
People Capability Maturity Model (Curtis, 95)
9
¾
Curtis B., Hefley W.E. and Millar S. Overview of the People Capability Maturity
Model, CMU/SEI-95-MM-01, Carnegie Mellon University, (1995)
Aproximación matricial (Schultz, 01)
9
¾
Laryd A. and Terttu Orci T. Dynamic CMM for Small Organizations, Proceedings
ASSE 2000, the First Argentine Symposium on Software Engineering, Tandil,
Argentina, pp. 133--149, (2000)
Schultz D., Bachman J., Landis L., Stark M., Godfrey S. and Morisio M. A Matrix
Approach to Software Process Definition. Software Engineering Workshop
Greenbelt, MD, (2001).
http://mabwww.gsfc.nasa.gov/papers/DOCS/AMApproach.pdf
CMM nivel 2 para e-Comercio (Antón, 01)
9
Antón A.I, Carter R.A., Srikanth H., Sureka A., Williams L.A., Yang K. and Yang L.
Tailored CMM for a Small e-Commerce Company Level 2: Repeatable. North
Carolina State University Department of Computer Science Technical Report TR2001-09, (2001)
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
74
Procesos de desarrollo para PYMES:
Modelo
0
2
XSS
XS
S
5
15
50
personas
Customer
SW Quality
Assurance
Gestor
Desarrollador
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
75
Procesos de desarrollo para PYMES:
Modelo
0
2
XSS
XS
S
5
15
50
Customer
SW Quality
Assurance
Gestor
SW Engineering
Group
System
Group
personas
System Test
Group
(C) J.M. Pikatza
SW Configuration
Manager
Dep. L.S.I. (UPV/EHU), 2005
76
Procesos de desarrollo para PYMES:
Modelo
0
2
XSS
XS
S
5
15
50
personas
Proyecto
Project
Manager
SW Engineering
Group
System
Group
SW Quality
Assurance
System Test
Group
(C) J.M. Pikatza
Customer
SW Quality
Assurance
SW Configuration
Manager
Dep. L.S.I. (UPV/EHU), 2005
77
Procesos de desarrollo para PYMES:
Modelo
0
2
XSS
XS
S
5
15
50
personas
Proyecto
Proyecto
Proyecto
Project
Manager
SW Engineering
Group
System
Group
SW Quality
Assurance
System Test
Group
(C) J.M. Pikatza
Customer
SW Quality
Assurance
SW Configuration
Manager
Dep. L.S.I. (UPV/EHU), 2005
78
Procesos de desarrollo para PYMES:
Modelo
0
2
XSS
XS
S
5
15
50
Senior
Manager
personas
SW Quality
Assurance
Proyecto
Proyecto
Proyecto
Customer
SW Quality
Assurance
Project
Manager
SW Engineering
Group
System
Group
System Test
Group
(C) J.M. Pikatza
SW Configuration
Manager
Dep. L.S.I. (UPV/EHU), 2005
79
Procesos de desarrollo para PYMES:
Modelo
0
2
XSS
XS
S
5
15
50
Senior
Manager
personas
SW Quality
Assurance
Proyecto
Proyecto
Proyecto
Customer
SW Quality
Assurance
Project
Manager
SW Engineering
Group
System
Group
System Test
Group
(C) J.M. Pikatza
Project Conf.
Manager
Dep. L.S.I. (UPV/EHU), 2005
Software
Configuration
Manager
80
Procesos de desarrollo para PYMES:
Modelo
0
2
XSS
XS
S
5
15
50
personas
Tipo proyecto
Tipo
Tipo proyecto
proyecto
Senior
Manager
SW Quality
Assurance
Proyecto
Proyecto
Proyecto
Customer
SW Quality
Assurance
Project
Manager
SW Engineering
Group
System
Group
System Test
Group
(C) J.M. Pikatza
Project Soft.
Conf. Manager
Dep. L.S.I. (UPV/EHU), 2005
Software
Configuration
Manager
81
Procesos de desarrollo para PYMES:
Modelo
XSS
XS
S
Senior
Manager
SW Quality
Assurance
Tipo proyecto
Tipo
Tipo proyecto
proyecto
Project
Type
Project Type SW
Quality Assurance
Manager
Proyecto
Proyecto
Proyecto
Customer
SW Quality
Assurance
Project
Manager
SW Engineering
Group
System
Group
System Test
Group
(C) J.M. Pikatza
Project Soft.
Conf. Manager
Dep. L.S.I. (UPV/EHU), 2005
Project Type
SW Conf.
Manager
Software
Configuration
Manager
82
Procesos de desarrollo para PYMES:
Áreas de trabajo
Proceso
(Abstracto)
Proyecto
(Concreto)
XXS
1
XS
1
n
S
k
n
Nivel de
proceso
Nivel de
proyecto
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
83
Procesos de desarrollo para PYMES:
Áreas de trabajo
Proceso
(Abstracto)
Proyecto
(Concreto)
XXS
1
XS
1
n
S
k
m
n
Nivel de
proceso
Nivel de
Tipo proyecto
Nivel de
proyecto
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
84
Procesos de desarrollo para PYMES:
Key Process Areas de CMM
Tipo proyecto
Tipo
Tipo proyecto
proyecto
Project
Type
Manager
Proyecto
Proyecto
Proyecto
Seguimiento
SW Engineering
Group
Project
Manager
System
Group
Planificación de proyectos
Senior
Manager
ad
d
i
al
c
la
e
od
A
itos
s
i
u
req
n
ó
i
t
Ges
System Test
Group
(C) J.M. Pikatza
SW Quality
Assurance
t
en
i
ram
u
g
Project Type SW
se
Quality Assurance
Customer
SW Quality
Assurance
Project Type
SW Conf.
Manager
Project Soft.
Conf. Manager
Software
Configuration
Manager
Gestión de la configuración
Dep. L.S.I. (UPV/EHU), 2005
85
Unified Process y la reutilización
‰
‰
‰
‰
Sólo cubre las fases de desarrollo (ni
mantenimiento ni soporte)
No existe un soporte explícito para
infraestructura de desarrollo multiproyecto
No hay separación entre desarrollo de
componentes y desarrollo de aplicaciones
La reutilización se menciona sólo cuando se
desarrolla la arquitectura y el modelo del
dominio
¾
Sin indicar cómo se alcanza
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
86
¿Qué proceso seguimos?
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
87
RUP
‰
‰
RUP: el más extendido
¿Cómo presentaremos la solución?
¾
Siguiendo la norma anterior
9
9
¾
‰
Memoria y anexos para el cliente
Memoria de la elaboración del proyecto para el suministrador
Usar alguna otra norma
Si usamos RUP
¾
¿Qué artefactos desarrollaremos?
9
¾
Usar el sitio Web definido en RUP
9
¾
Hay un conjunto mínimo para proyectos pequeños
Util para compartir y presentar el proyecto
Veremos unos proyectos pequeños (PFC)
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
88
Conjunto mínimo de artefactos
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
89
RUP: Menú en la Web
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
90
Conclusiones
‰
Una ingeniería aplica un proceso sistemático
para construir soluciones repetidamente
¾
¾
‰
‰
‰
Necesidad de un proceso que se vaya mejorando
siguiendo el modelo de otras ingenierías
Entregar un código que “funciona” mal documentado
y sin diseño de partida => FRACASO
Las exigencias de los clientes requieren un
trabajo de ingeniería de excelencia
Es necesario disponer de herramientas de
soporte poderosas existentes pero caras
Todo ello es escalable a proyectos pequeños
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
91
Los procesos de
desarrollo también
afectan al cliente
Objetivos
‰
‰
‰
‰
Comprender los problemas del cliente
Entender sus exigencias de calidad
Valorar el enorme impacto que producen
en el suministrador
Ver la necesidad de construir
herramientas de soporte a la gestión de
procesos y proyectos
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
93
Solicitud de propuestas (cliente)
‰
Definición del problema a resolver
¾
‰
Estudios a realizar, posiblemente, por terceros
Petición de soluciones de calidad y evaluación
Normas de presentación obligatorias para
suministradores
¾ Evaluación:
¾
9 Auditorias
realizadas por terceros durante el desarrollo
del proyecto
9 Procesos de evaluación especiales:
Sector público (concurso), farmacia, medicina, aviónica,
ferrocarriles, espacio,..
™ Varios meses, retraso en la resolución, venta y cobro
™
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
94
Gestión del proyecto en marcha
Proyecto evaluado y aprobado
‰ Gestión del proceso de desarrollo del proyecto
‰
¾
Establecimiento de un proceso
9 Carencia
™
habitual => FRACASOS
El afectado principal es le cliente
9 Responsabilidades
e interlocución
9 Ejemplos en la Web
™
™
™
‰
Texas: http://www.dir.state.tx.us/eod/qa/index.htm
http://www.cio-dpi.gc.ca/emf-cag/pmg-ggp/corp-min-process/risk-risq/risk-risq06_e.asp
DIS, Washington: www.dis.wa.gov/portfolio/302G.doc
Certificación en un nivel de calidad de proceso
en el cliente
Todo lo dicho del suminstrador vale pare el cliente
¾ Gestión del conocimiento del cliente
¾
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
95
Contenidos del curso
‰
‰
¿A qué se le llama calidad en el software?
¿Cómo podemos presentar bien un
proyecto al cliente?
¾
‰
Una norma utilizable y sus exigencias
¿Cómo conseguir la certificación de
capacidad y madurez exigida por el
cliente?
Modelos de calidad y certificaciones
¾ Procesos y herramientas de soporte
¾
‰
Producción industrial y mejora continua
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
96
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
Aspectos a considerar
‰
Identificación de oportunidades de
reutilización
‰
Dominios y familias de productos
‰
Ingeniería basada en componentes
97
Identificación de
oportunidades de
reutilización
Objetivos
‰
‰
Entender los conceptos básicos de la
reutilización sistemática
Identificar factores de reutilización
críticos y barreras para su adopción
¿Por qué reutilizar?
‰
‰
La reutilización no es un fin en sí mismo
La motivación final es económica
¾
‰
‰
Es una inversión
Incrementa la predictibilidad en el
proceso de desarrollo del software
Barreras para la adopción de la
reutilización
Esto no es nuevo
‰
‰
Lo hemos practicado siempre de
alguna manera
Algunas formas ad-hoc de hacerlo
Copiar y pegar código
¾ Librerías de funciones
¾ Componentes genéricos
¾ Componentes tal cual
¾ Reutilizar personal
¾
‰
Poca aplicabilidad
Demasiadas versiones
Demasiadas funciones
Demasiado genéricos
Demasiado concretos
No escalable
Reutilización sistemática
‰
‰
El uso sistemático de activos (assets) reutilizables
en el desarrollo de nuevos sistemas para alcanzar
beneficios sustanciales en la capacidad de negocio
y rendimiento en un área de negocio o dominio
Exige:
¾
Gestión (igual que una inversión) de activos de:
9
9
¾
¾
‰
Producto: código, documentos, modelos, requisitos, diseño,…
Proceso: procesos, datos de rendimiento de procesos, planes de
proyecto, guías, plantillas, generadores de código, …
Personal, herramientas,…
Medir los avances, tener algún nivel CMM
Factoría del software: especialización en dominio
La reutilización se da entre
proyectos
‰
Proyecto A
Proyecto B
Proyecto C
‰
Activos reutilizados
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
‰
‰
103
Aspectos básicos de la mejora
basada en la reutilización
‰
‰
‰
Requiere del compromiso de la dirección
Requiere cambios en los procesos y la
organización
Debe ser introducido sistemática e
incrementalmente
El alcance del ciclo de mejora basada en la
reutilización es un dominio de aplicación
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
‰
104
Roles en la mejora basada en la
reutilización
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
‰
Patrocinador: Da soporte al
compromiso y se compromete en la
mejora basada en la reutilización
¾
¾
‰
Director de reutilización:
¾
¾
‰
Monitoriza el rendimiento
Asegura los recursos
Define objetivos de reutilización
Identifica acciones de mejora basada
en la reutilización
Ingeniero de reutilización:
¾
Implementa las acciones del programa
de reutilización
Por
dominio
Incluso
la
misma
persona
105
Beneficios de la reutilización
¾
Debería ser medida con respecto a los objetivos
de negocio establecidos
9 Beneficios
en rendimiento (resultados)
Reducción de costos
™ Mejora de la calidad
™ Reducción del tiempo de puesta en el mercado
™
9 Beneficios
en capacidad de negocio
Incremento de la madurez del proceso
™ Incremento de la capacidad de producción
™ Mejor conciencia de la capacidad existente
™ Estimaciones más precisas
™
‰
La estrategia de reutilización conlleva la
necesidad de reutilizar procesos específicos
‰
La introducción de la reutilización requiere de
la creación de nuevas fases en un ciclo
sistemático de desarrollo del software
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
Resumen
107
Dominios y familias
de productos
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
¿Qué desarrollamos?
¿Productos independientes o familias de
productos software?
¾ Una familia de productos puede ser:
¾
9 Un
conjunto de sistemas de aplicación para
diferentes clientes con similares necesidades
9 Un conjunto de variantes del mismo sistema
adaptados para las necesidades cambiantes de un
cliente
¾
Los productos pueden ser vistos como
familias de productos
109
‰
Definición práctica y económica
¾
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
Las familias según Parnas
‰
“Consederamos que un conjunto de
programas constituyen una familia si es útil
estudiar primero programas del conjunto,
para el primer estudio de las propiedades
comunes del conjunto, y después determinar
las especiales propiedades de los miembros
individuales de la familia”
David L. Parnas. Extension and Contraction of Software. IEEE
Transactions on Software Engineering, Vol. Se-s, No. 2, March 1979
110
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
Las familias según Dijkstra
‰
Diseño de guías para familias
¾
‰
“…la estructura del programa, debería ser tal que
anticipase sus adaptaciones y modificaciones.
Nuestro programa debería no sólo reflejar (por
estructura) nuestro comprensión sobre el, sino que
debería también ser claro, desde su estructura, qué
clase de adaptaciones pueden ser llevadas a cabo
sencillamente”
Edsger Dijkstra (1968)
¾
Sobre familias de programas
111
Dominios
‰
Dominio es un área conceptual o campo
definido por un conjunto de características
que son compartidas por sus miembros
Dominio del problema: requisitos comunes
¾ Dominio de la solución: diseño/código común
¾ Desde el punto de vista de la reutilización, se ve
más conveniente dar una solución global al
dominio que a individualidades
¾ El dominio establece el alcance de reutilización
¾
Ejemplos de dominios
‰
Control de tráfico aéreo
Control de tráfico aéreo en Hondarribia
¾ Control de tráfico aéreo en Frankfurt
¾
‰
Interfaces de usuario
Sistema con pantalla táctil
¾ Sistema con ratón
¾
‰
Acceso a bases de datos
Rutina de acceso a bases de datos Oracle
¾ Rutina de acceso a ficheros indexados
¾
Familias de productos y
Líneas de productos
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
‰
Familias de productos
¾
¾
‰
Un grupo de sistemas construido mediante un
conjunto común de activos (assets)
Perspectiva de la construcción: generalmente
asociado con un dominio técnico
Línea de productos
¾
¾
Una colección de productos que comparten un
conjunto común de características que atacan las
necesidades específicas de un área de negocio dado
Perspectiva de negocio: generalmente asociado con
un dominio de negocio
114
Cambios en el ciclo de vida
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
Estudio de
factibilidad
Análisis de
requisitos
Diseño
Codificación
y prueba
Integración y
prueba
Ingeniería
del
dominio
Mantenimiento
Ingeniería
Ingeniería
de
la
Ingeniería
de la
aplicación
de la
aplicación
aplicación
115
Esquema del proceso de
reutilización
Conocimiento
Objetivos de
negocio
Ingeniería del
dominio
Dominio
Infraestructura común
Necesidades
producto
Ingeniería de
aplicaciones
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
del dominio
Producto
Producto
Producto
aplicación
aplicación
aplicación
Necesidades
usuario
Uso del producto
116
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
Proceso de reutilización
‰
Dos ciclos de vida con objetivos diferentes
pero complementarios
¾
Ingeniería del dominio
9 Establece
un concepto compartido y estandarizado
dentro de un dominio en la organización
9 Desarrolla y mantiene la infraestructura para el
desarrollo de aplicaciones en un dominio
¾
Ingeniería de aplicaciones
9 Mecánicamente
deriva aplicaciones y los instancia
para necesidades especiales de los clientes
117
Análisis del dominio
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
‰
Establece una visión compartida del dominio
¾
¾
‰
Define su alcance y el modo en el que los miembros
del dominio son similares a los demás
Hace comprender lo que tienen en común los
miembros del dominio y sus diferencias
El análisis del dominio genera
¾
¾
¾
La definición del dominio (incluye nombre, sinopsis,
productos, glosario, tecnología, clientes, aspectos
organizativos, etc.)
Comunalidades y variabilidades
Modelo de decisión
9
Serie de preguntas que permiten caracterizar un miembro
del dominio del resto de miembros
118
(C) J.M. Pikatza
Dep. L.S.I. (UPV/EHU), 2005
Análisis del dominio
K. Kang, S. Cohen, J. Hess, W. Novak, and S. Peterson. Feature-Oriented Domain
An~ysis (FODA). Feasibility Study. Technical Report CMU/SE[-90-TR-21, Software
Engineering Institute, Pittsburgh, PA 15213, Nov. 1990
119
2.
3.
4.
5.
6.
7.
8.
9.
Definición del dominio
Nombre, para hacer referencia al
dominio
Descripción, sentencia informal
breve que indica el alcance del
dominio
Productos, lista representativa de
productos existentes (legado) y
futuros
Glosario, definiciones de
terminología relevante usada por
los expertos del dominio
Clientes, identificación de
clientes internos o externos del
dominio (los que usarán los
activos)
Organización implicada,
departamentos internos o grupos
que tienen alguna interacción con
el dominio
Tecnología, en la que se basa el
dominio
Componentes aplicables, propios
y de terceros disponibles
aplicables
Definición
de
dominio
Ejemplo
Definición
de
dominio
Ejemplo
Consejos para la definición de
dominios
‰
‰
‰
Debe representar una visión común y de consenso
de todas las personas y organizaciones implicadas
Debe incluir criterios para determinar pertenencia
Los productos legados puede ayudar a determinar
las características y hacer ingeniería inversa
¾
¾
‰
Pero no es la única fuente de información
Es necesario mirar hacia el futuro y hacer previsiones
La definición del dominio es un proceso iterativo
¾
No sale perfecta la primera vez
Comunalidad y variabilidad
‰
Comunalidad: Características comunes que
estan presentes en todos los miembros del
dominio
¾
‰
Caracteriza al dominio frente a otros dominios
Variabilidad: Características que pueden ser
diferentes para diferentes miembros del
dominio
¾
Recomendable identificar el rango de
variabilidad
Ejemplos de comunalidad
‰
Sistema:
¾
¾
¾
¾
¾
‰
Existe un catálogo de productos
Determinar exactamente un producto
Hacer varias compras
Conocer el valor del contenido del “carro”
Hacer el “pago”
Tecnología empleada
¾
¾
Sólo se usan páginas .jsp
Modelo “thin client” (cliente ligero)
Ejemplos de variabilidad
‰
De una aplicación a otra varía:
¾
¾
La funcionalidad
La estructura de la base de datos
9
9
¾
¾
Algunos aspectos legales
El idioma utilizado
9
‰
Por el número de variables a tener en cuenta
Por los tipos de datos de las variables
Por los usuarios
Las variaciones en el idioma a usar por los
desarrolladores en sus artefactos será más difícil de
solucionar
Consejos para la comunalidad y
variabilidad
‰
Para la comunalidad:
¾
¾
‰
Para la variabilidad:
¾
¾
¾
‰
Comparar sistemas del legado y mirar las características
esenciales. Desarrollar una lista por cada sistema
No entrar en mucho detalle. Preguntarse si representan
necesidades esenciales de los clientes afectados
Derivar variabilidades de las comunalidades
Preguntarse si representan características de selección
por parte de los usuarios
Limitar la explosión de combinaciones de variabilidad
El consenso simplifica enormemente el dominio
Modelo de decisión (MD)
‰
Un modelo de decisión recoge todas las
decisiones abiertas que caracterizan un dominio
¾
‰
‰
Una formalización de las variabilidades
Cada decisión puede ser representada como:
¾
¾
‰
Con los rangos de sus posibles valores de decisión
Una pregunta (una variable) y
Un rango de respuestas válidas (valores de la variable)
Puede ser representado como:
¾
¾
¾
Una tabla
Una declaración de tipo (p. ej. esquema de BD)
Un árbol (p. ej. FODA)
Representación tabular de un MD
‰
Decisiones con sus posibles valores:
Decisiones
Valores
Significado
Características llamada
Hacer llamada
Responder llamada
Si
Si/No
Si/No
Llamada esperando
Si/No
Habilidad para mantener una
Sólo si el llamante llamada entrante
habla otro idioma
Idioma de intereacción
En/fr/es
Mensajes en la pantalla del
móvil
…………………
…………….
……………….
Habilidad para llamar
Habilidad para responder
Esquema de representación de un
MD
‰
Tipos
¾
¾
¾
¾
¾
¾
‰
Tipos básicos: integer, real, Boolean
Intervalos: [1-10]
Tipos enumerados: (x|y|z)
Tipos agregación: x: tipo, y: tipo, z: tipo
Conjunto de tipos: conjunto {x, y, z}
Tipos colección: colección (x|y|z)
Restricciones adicionales
¾
¾
Opcional o obligatorio
Valor por defecto
Modelo de decisión para el
ejemplo e-Comercio
‰
‰
‰
SectorDeAplicación: {libros|consumibles}
NumModulos: [4-12]
Modulo:
¾
¾
IdentifModulo: String
Versión
9
9
‰
‰
‰
‰
Numversion: real
Características: String
ModulosInstalados: conjunto no vacio Puntos de
variación
Tecnología: (ASP, Java)
IdiomaDocumentación: (EU|EN|ES)
Restricción:
¾
SectorDeAplicación = libros
Representación arborescente de
un MD: Modelo de características
‰
Metodología aplicable:
¾
FODA (Feature Oriented Decision Analisis), SEI
http://www.sei.cmu.edu/domain-engineering/FODA.html
9 Inconvenientes:
™
™
¾
¾
Con muchas características la representación gráfica se satura
Mezcla decisiones con el orden en el que deben tomarse. Mejor
separarlos
Las decisiones están determinadas por la variabilidad
contemplada, no son muchas
Las decisiones que no se reflejan están fuera del
dominio
Representación arborescente de
un MD: Modelo de características
Las decisiones impactan en
todos los productos del proceso
‰
El modelo de
decisiones recoge
todas las decisiones
‰
Diferentes valores
en las decisiones
llevan a variaciones
en los productos del
proceso
Decisión del modelo
de decisión
Documentos
de requisitos
Arquitectura
/diseño
Código
fuente
Ingeniería basada en
componentes
Ingeniería basada en
componentes (CBE)
‰
Definición:
¾
‰
La creación y
desarrollo de
sistemas software a
base de ensamblar
componentes
reutilizables
Concepto de factoría
de software
Fases principales en Ingeniería
basada en componentes (CBE)
Desarrollo
Base de
activos
Especialización
y ensamblado
Aplicación 1
Aplicación 2
Ingeniería
del dominio
Retroalimentación
Aplicación n
Ingeniería de
de
laIngeniería
aplicación
laIngeniería
aplicaciónde
la aplicación
Componentes
‰
‰
‰
Un componente es un activo software reutilizable,
que puede formar parte de un sistema software
Los componentes son reutilizados en tiempo de
producción cuando se ensambla el sistema
Los componentes reutilizables son:
¾
¾
Empaquetados: Tienen existencia independientemente
de la aplicación en la que se usan. Nombre propio
Evolucionables: Existe un mecanismo claro que
determina el impacto del cambio en un componente de
forma que el sistema pueda evolucionar fácilmente para
adaptarse a las cambiantes tecnologías y necesidades
9
¾
Compatible hacia atrás
Flexibles: Adaptable a contextos específicos
Desarrollo del software
‰
‰
‰
‰
En la Ingeniería Basada en Componentes, el
proceso de desarrollo se parece más a una línea
de montaje
La parte creativa del desarrollo se concentra en
las partes innovadoras del software
Lo repetitivo se realiza de forma automática o
mecanizada
La aplicación software resultante se “deriva” de
la infraestructura de la base de activos existente
Arquitectura y componentes
‰
‰
En general, la arquitectura del dominio captura
los aspectos de la solución que son comunes a
todos los miembros
La arquitectura del dominio define el esqueleto
general del sistema y identifica los puntos en los
que se integran los componentes
Componentes comerciales
(COTS)
‰
Componentes COTS
¾
‰
‰
‰
‰
Commercial-Off-The-Shelf
A priori existen y pueden ser comprados y
licenciados por un vendedor comercial
Disponibles para público en general
La implementación física se oculta
Mantenidos por el vendedor de COTS
Roles en el mercado de COTS
‰
‰
El vendedor de COTS
El desarrollador de software
¾
‰
‰
Consultor/Evaluador de COTS/Asistente legal
Broker:
¾
‰
Desarrollo de software basado en COTS
Corredor o agente que relaciona clientes con
vendedores
Escrow
¾
El código fuente puede quedar en una institución
bancaria o similar para evitar el desastre que supone
la desaparición del vendedor
Roles en el mercado de COTS
Vendedor
Desarrollador
de software
de COTS
Broker
Escrow
Consultor/
Evaluador de COTS/
Asistente legal
CBE con COTS
‰
‰
El uso de componentes construidos por terceros
es lo normal en otras industrias
EL uso de COTS cambia el énfasis
¾
‰
‰
De desarrollo de aplicaciones a ensamblado de
aplicaciones
Requiere conocimiento y gestión de proveedores
Requiere flexibilidad en los requisitos de los
usuarios
Beneficios del uso de COTS
‰
‰
‰
‰
Es más barato
Plazos de entrega más cortos
Permite hacer uso de las últimas tecnologías
Calidad creciente:
¾
Los COTS se prueban en el mercado
Riesgos del uso de COTS (I)
‰
Problemas de integración no previstos
¾
¾
‰
El mantenimiento puede ser costoso
¾
¾
¾
‰
Aparición de nuevos problemas de integración
Necesidad de adquirir “upgrades” no deseadas
Dependencia del vendedor
El uso de estándares de propietario lleva a:
¾
¾
‰
Imprecisión en las estimaciones de proyectos
Problemas de compatibilidad e interoperabilidad
Problemas de portabilidad e integración
Dependencia del vendedor
La integración de COTS de distintos vendedores
aumenta los problemas
Riesgos del uso de COTS (II)
‰
Los COTS son cajas negras que dificultan su
prueba
¾
‰
Dificultades para asegurar la calidad y seguridad
La documentación incompleta o imprecisa lleva
a dificultades de integración (problemas
imprevistos)
Razones para construirlos
‰
‰
‰
‰
‰
‰
No hay COTS adecuados en el mercado
Los COTS implican demasiadas restricciones de
desarrollo (costos, licencias, etc.)
Se espera una impredecible evolución de
componentes o los COTS no ofrecen posibilidades
cuando es necesario
Los recursos y habilidades necesarios para
desarrollar un componente están altamente
disponibles en la compañía
La compañía no puede confiar completamente en
el proveedor
La compañía acepta el tiempo previsto de puesta
en el mercado
Razones para comprar
‰
‰
‰
‰
‰
‰
Hay COTS adecuados en el mercado
Se espera una pequeña y predecible evolución de
los componentes
Se puede disponer de código de calidad y
documentación
Los recursos y habilidades de la compañía son
escasos
La compañía confía en el proveedor
La compañía necesita reducir el tiempo de
puesta en el mercado
Resumen
‰
‰
‰
‰
Los componentes son activos empaquetados,
evolucionables y flexibles
La Ingeniería Basada en Componentes pretende
la derivación de aplicaciones software a partir de
componentes reutilizables de una base de
activos
Hay un cambio importante en el paso del
desarrollo de aplicaciones al ensamblado de
aplicaciones
Los componentes de software comerciales
(COTS) son usados crecientemente en la
construcción de sistemas
¾
Pero es necesario gestionar algunos riesgos
Descargar