Publicado el 14 de Enero del 2017
1.323 visualizaciones desde el 14 de Enero del 2017
1,6 MB
49 paginas
Creado hace 15a (01/10/2009)
INGENIERÍA DEL SOFTWARE I
Tema 2
Procesos de Ingeniería del Software
Univ. Cantabria – Fac. de Ciencias
Francisco Ruiz
Objetivos
• Comprender las relaciones entre los conceptos de
proceso software, ciclo de vida del software y
metodología.
• Conocer las características de los procesos software
y cuales pueden ser dichos procesos.
• Conocer los principales ciclos de vida del software.
• Comprender la finalidad y características de una
metodología software.
• Conocer los principales tipos de metodologías
software.
Francisco Ruiz, Michael González Harbour - IS1
2.2
1
Contenido
• Procesos Software
Naturaleza y Elementos
Relación con otros Tipos de Procesos
• Concepto de Ciclo de Vida
• Estándar ISO 12207.
Procesos Principales.
Procesos Secundarios.
• Ciclos de Vida Tradicionales
En Cascada
Incremental
En Espiral
Prototipado
Reutilización
Síntesis Automática
Comparativa
• Ciclos de Vida para Sistemas OO
Modelo de Agrupamiento
Modelo Fuente
Modelo Remolino
Modelo Pinball
• Metodologías de Desarrollo de
Software
Definición y Objetivos
Elementos
Características Deseables
Conceptos Relacionados
Impacto en el Entorno
Evolución
Desarrollo Convencional
Desarrollo Estructurado
Desarrollo OO
• Tipos de Metodologías
Estructuradas
Orientadas a Procesos
Orientadas a Datos
Orientadas a Objetos (OO)
Ágiles
• Ejemplos
Francisco Ruiz, Michael González Harbour - IS1
2.3
Bibliografía
• Básica
Caps. 2 y 3 del libro de Piattini (2007).
ISO/IEC 12207 Information Technology / Software Life
Cycle Processes. 1995.
Disponible versión española (norma UNE 71044).
• Complementaria
Charla de Antonio Vallecillo sobre “Desarrollo de software
dirigido por modelos: ¿quién quiere escribir código?”.
Caps. 2 y 3 del libro de Pressman (2005).
Caps. 2 y 4 del libro de Sommerville (2005).
Cap. 2 del libro de Pfleeger (2002).
Francisco Ruiz, Michael González Harbour - IS1
2.4
2
Procesos Software
• Un Proceso es
Naturaleza y Elementos
Un conjunto de actividades interrelacionadas que
transforman entradas en salidas
(ISO 12207/UNE 77104)
• Un Proceso Software (PS) es
Un conjunto coherente de políticas, estructuras
organizacionales, tecnologías, procedimientos y
artefactos que son necesarios para concebir,
desarrollar, instalar y mantener un producto
software.
(Fugetta, 2000)
Francisco Ruiz, Michael González Harbour - IS1
2.5
Procesos Software
Naturaleza y Elementos
Tipos de elementos para modelar/representar un Proceso Software
Tiene sub
Actividad
Tiene entrada
Tiene intermedio
Tiene salida
Utiliza
Desarrollador
Necesita
Juega
Obedece
Rol
Norma
Tiene sub
Producto
Herramienta
Tiene sub
Actividad
Recurso
Producto
Organización
Francisco Ruiz, Michael González Harbour - IS1
2.6
3
Procesos Software
Tipos de
procesos:
Industriales
Relaciones con otros Tipos de Procesos
de
Información
de
Negocio
Foco
COSAS
COSAS
DATOS
DATOS
RELACIONES
RELACIONES
Propósito
Transformar y ensamblar
materiales y
componentes en otros
componentes y
productos finales,
usando recursos
Procesar y transmitir
datos estructurados
y no estructurados,
y conocimiento
Alcanzar las
condiciones que
satisfacen las
necesidades de los
participantes, clientes o
usuarios
Característi-
cas
Tradiciones de la
ingeniería industrial
Tradiciones de la
ingeniería
informática
Acciones
Francisco Ruiz, Michael González Harbour - IS1
Ensamblar, Transformar,
Transportar, Almacenar,
Inspeccionar
Enviar, Invocar,
Grabar, Recuperar,
Consultar, Clasificar,
Basados en estructuras
de comunicación y
coordinación humanas
encontradas en todos
los lenguajes y
culturas
Solicitar, Prometer,
Ofrecer, Rechazar,
Proponer, Cancelar,
Medir
2.7
Concepto de Ciclo de Vida
CONCEPTO DE CICLO DE VIDA
CONCEPTO DE CICLO DE VIDA
“Una aproximación lógica a la adquisición, el suministro,
el desarrollo, la explotación y el mantenimiento del software”
IEEE 1074
“Un marco de referencia que contiene los procesos, las actividades
y las tareas involucradas en el desarrollo, la explotación y el
mantenimiento de un producto de software, abarcando la vida del
sistema desde la definición de los requisitos hasta la finalización
de su uso”
ISO 12207
Francisco Ruiz, Michael González Harbour - IS1
2.8
4
Estándar ISO 12207
• “Establece un marco de referencia común para los
procesos del ciclo de vida del software, con una
terminología bien definida, que puede ser
referenciada por la industria del software”.
• Define los procesos, actividades (que forman cada
proceso) y tareas (que constituyen cada actividad)
presentes en la adquisición, suministro, desarrollo, operación
y mantenimiento del software.
• Según esta norma, un proceso
proceso es un conjunto de
actividades interrelacionadas que transforman entradas en
salidas. Un proceso define quién, qué, cuándo, y cómo, para
alcanzar un determinado objetivo.
Francisco Ruiz, Michael González Harbour - IS1
2.9
Estándar ISO 12207
• Original:
ISO/IEC 12207: Information Technology / Software Life
Cycle Processes. 1995.
• Versión en español:
AENOR Norma UNE 71044: Tecnología de la información /
Procesos del ciclo de vida del software. 1999.
• Actualización y ampliación integrando el ciclo de vida
del software en el ciclo de vida de sistemas (en
general):
ISO/IEC FDIS 12207: Systems and software engineering
— Software life cycle processes. 2007.
Francisco Ruiz, Michael González Harbour - IS1
2.10
5
Estándar ISO 12207
Requisitos para los focos
Requisitos para los focos
de motocicletas
de motocicletas
Requisitos de seguridad
Requisitos de seguridad
de los neumáticos y
de los neumáticos y
llantas de motocicletas
llantas de motocicletas
Ley de las aleaciones de
Ley de las aleaciones de
metales preciosos
metales preciosos
Cascos de protección
Cascos de protección
para usuarios de
para usuarios de
ciclomotores
ciclomotores
Emisiones gases de
Emisiones gases de
escape, vehículos a
escape, vehículos a
motor
motor
Ruido emitido por
Ruido emitido por
ciclomotores en
ciclomotores en
mmovimiento
mmovimiento
Generalidades de
Generalidades de
neumáticos, llantas y
neumáticos, llantas y
válvulas para
válvulas para
motocicletas
motocicletas
© AENOR 2004
Francisco Ruiz, Michael González Harbour - IS1
IEEE – Institute of Electrical and Electronics Engineers
2.11
Estándar ISO 12207
PROCESOS PRINCIPALES
PROCESOS DE SOPORTE
PROCESOS DE SOPORTE
Procesos
del
Ciclo
de
Vida
ADQUISICIÓN
SUMINISTRO
DESARROLLO
EXPLOTACIÓN
MANTENIMIENTO
PROC. ORGANIZACIONALES
PROC. ORGANIZACIONALES
GESTIÓN
GESTIÓN
INFRAESTRUCTURA
INFRAESTRUCTURA
MEJORA
MEJORA
RECURSOS HUMANOS
RECURSOS HUMANOS
GESTIÓN DE ACTIVOS
GESTIÓN DE ACTIVOS
GEST. PROG. REUTILIZACIÓN
GEST. PROG. REUTILIZACIÓN
INGENIERÍA DE DOMINIO
INGENIERÍA DE DOMINIO
DOCUMENTACIÓN
DOCUMENTACIÓN
GESTIÓN DE CONFIGURACIÓN
GESTIÓN DE CONFIGURACIÓN
ASEGURAMIENTO DE CALIDAD
ASEGURAMIENTO DE CALIDAD
VERIFICACIÓN
VERIFICACIÓN
VALIDACIÓN
VALIDACIÓN
REVISIÓN CONJUNTA
REVISIÓN CONJUNTA
AUDITORÍA
AUDITORÍA
RESOLUCIÓN DE PROBLEMAS
RESOLUCIÓN DE PROBLEMAS
USABILIDAD
USABILIDAD
EVALUACIÓN DE PRODUCTO
EVALUACIÓN DE PRODUCTO
PROCESO
DE
ADAPTACIÓN
Francisco Ruiz, Michael González Harbour - IS1
2.12
6
ISO 12207: Procesos Principales
• Proceso de Adquisición
Actividades y tareas que el comprador,
cliente o usuario realiza para adquirir un
sistema o producto software.
PROCESOS PRINCIPALES
ADQUISICIÓN
SUMINISTRO
DESARROLLO
EXPLOTACIÓN
MANTENIMIENTO
• Proceso de Suministro
Actividades y tareas que efectúa el
suministrador.
Proporciona un producto al cliente
Francisco Ruiz, Michael González Harbour - IS1
2.13
PROCESOS PRINCIPALES
ADQUISICIÓN
SUMINISTRO
DESARROLLO
EXPLOTACIÓN
MANTENIMIENTO
ISO 12207: Procesos Principales
• Proceso de Desarrollo:
• Captura de Requisitos
• Análisis de Requisitos del Sistema
• Diseño Arquitectónico del Sistema
• Análisis de los Requisitos del Software
• Diseño de la Arquitectura del Software
• Diseño del Software
• Construcción del Software
• Integración del Software
• Prueba del Software
• Integración del Sistema
• Prueba del Sistema
• Instalación del Software
Francisco Ruiz, Michael González Harbour - IS1
2.14
7
ISO 12207: Procesos Principales
• Proceso de Explotación
PROCESOS PRINCIPALES
ADQUISICIÓN
SUMINISTRO
DESARROLLO
EXPLOTACIÓN
MANTENIMIENTO
Incluye la operación del producto software
en su entorno final y el soporte operativo a
los clientes.
• Proceso de Mantenimiento
Incluye la modificación de un sistema o producto software
después de la entrega para:
Corregir los fallos (correctivo)
Mejorar el rendimiento u otros atributos (de mejora)
Adaptarlo a un entorno modificado (adaptativo).
Esta modificación (o retirada) debe hacerse preservando
la integridad.
Francisco Ruiz, Michael González Harbour - IS1
2.15
ISO 12207: Procesos de Soporte
PROCESOS DE SOPORTE
DOCUMENTACIÓN
GESTIÓN DE LA CONFIGURACIÓN
• Proceso de Documentación: Desarrollo y
ASEGURAMIENTO DE CALIDAD
Mantenimiento de la información software
registrada por un proceso.
VALIDACIÓN
VERIFICACIÓN
• Proceso de Gestión de la Configuración:
Establecer y mantener de la integridad de
USABILIDAD
todos los productos de trabajo de un proceso
Comentarios de: INGENIERÍA DEL SOFTWARE I - Tema 2 - Procesos de Ingeniería del Software (0)
No hay comentarios