EL PROCESO DEL SOFTWARE
Ingeniería del Software
La Ingeniería de Software es el establecimiento y uso de principios
robustos de la ingeniería a fin de obtener económicamente software que
sea fiable y que funcione eficientemente sobre máquinas reales
(Fritz Bauer)
Ingeniería de
software
Objetivos
Mejorar la
calidad
Aumentar la
productividad
Suministrar
las bases
para su
construcción
Facilitar el
control
Definir una disciplina
para garantizar
producción y
mantenimiento
Ingeniería del Software
¿Cual es nuestro trabajo
como ingenieros del software..?
Realizar software de calidad en el plazo y costo establecido.
•Planificar su trabajo
•Hacer su trabajo de acuerdo con el plan
•Esforzarse en producir productos de
calidad
El Proceso del Software
 Conjunto estructurado de actividades requeridas para desarrollar un
sistema de software de alta calidad y proporciona el marco de trabajo
desde el cual se puede establecer un plan detallado para el desarrollo
del software.
 Actividades:
 Especificación.
 Diseño.
 Validación.
 Evolución.
El Proceso del Software
Combinaciones validas para formar sistemas capaces de producir
resultados
Personas +
Tecnología
Personas +
Tecnología +
Procesos
Producción heroica
Producción Basada
en Procesos
Ingeniería del software: tecnología
estratificada
Un Enfoque de Calidad
Procesos
Métodos
Herramientas
Las capas de la ingeniería del software
- Base para un proceso de software completo.
- Es como un libro de recetas de cocina.
“Siento que una receta es sólo un tema con el
que un cocinero inteligente puede jugar cada
vez de una manera distinta” Madame Benoit
- La adaptación es esencial.
Marco de trabajo del proceso
Marco de trabajo del Proceso común
Marco de trabajo del proceso
Actividades de Protección
-Aplicables a lo largo del proceso del software.
-Su objetivo la gestión, el rastreo y el control del
proyecto.
- Garantizar la calidad del software.
Marco de trabajo del Proceso común
Marco de trabajo del proceso
Actividades de Protección
Marco de trabajo del Proceso común
Actividades del marco de trabajo
-Aplicables a todos los proyectos.
Actividades de Protección
Marco de trabajo del Proceso común
Actividades del marco de trabajo
Marco de trabajo del proceso
-Actividades que hacen que el marco de trabajo se adapte a las
características particulares de cada proyecto de software.
-Define el trabajo real a cumplirse.
Conjunto de Tareas
Tareas
Hitos, entregas
Puntos SQA
Marco de trabajo genérico del proceso
Marco de trabajo del Proceso común
Actividades del marco de trabajo
Comunicación
Planeación
Modelado
Construcción
Despliegue
¿Qué involucra el desarrollo de
una actividad?
Actividad
Herramienta
Actividad
Rol
Desarrollador
Producto
tiene_entrada
tiene_intermedio
tiene_salida
tiene_sub
emplea
Dirección
Actividad Recurso OrganizaciónProducto
obedece
necesitajuega
tiene_sub
Actividades Sombrilla
Actividades de Protección
Seguimiento y control
Gestión del riesgo
Aseguramiento de la calidad del software
Revisiones técnicas formales
MediciónGestión de la configuración del software
Gestión de la reutilización
Preparación y Producción del producto
Integración del modelo de capacidad de
madurez (IMCM)
Modelo para la mejora o evaluación de los procesos de desarrollo y
mantenimiento de sistemas y productos de software.
Creado por el SEI en el 2000 y publicado en el 2002 con el objetivo
de realizar mejoras respecto al CMM.
Incluye 4 disciplinas en función de la amplitud de procesos que cubre:
•CMMI-SW: +Software
•CMMI-SE/SW : + Ingeniería de sistemas
•CMMI-SE/SW/IPPD : + Desarrollo integrado de proceso
•CMMI-SE/SW/IPPD/SS : + Gestión de proveedores
Integración del modelo de capacidad de
madurez (IMCM)
CMMI
Continuo Discreto
Incompleto
Realizado
Administrado
Definido
Adminis.Cuan
titativamente
Mejorado
Optimizado
Gestionado
Cuantitativamen
te
Definido
Ejecutado
Niveles de
capacidad
Niveles de
madurez
Patrones del Proceso
Proceso de Software
De Tarea De Escenario De Fase
-Principios
Abstractos
- Específicos
a una
situación.
- Ofrece una plantilla.
- Describe un
problema.
- Define una posible
solución .
- Es reusable.
- Permite
organización.
- Evita la reiteración
- Formalizar un
vocabulario común
Plantilla de un Patrón
Nombre del patrón
Propósito
Tipo
Contexto inicial
Problema
Solución
Contexto resultante
Patrones relacionados
Usos conocidos/ejemplos
Un ejemplo sencillo:
Evaluación del proceso
 La existencia de un proceso no es garantía de que se elabora un
producto de alta calidad, por lo mismo el proceso debe ser evaluado.
 Se pretende comprender el estado actual del proceso de software y se
intenta mejorarlo.
Evaluación del proceso de
software
Proceso del
software
Aumenta
Elevación de la
calidad del
producto
Mejoramiento del
Proceso de
software
La eficiencia de costes y tiempo
Posibilidad de tener éxito en el
proyecto
Dominación de los riesgos del
proceso
Confianza y Satisfacción del cliente
ISO 9001
serie normas internacionales establecidas para sistemas de calidad, las
mismas pueden aplicarse prácticamente en cualquier compañía, y
cuyo objetivo final es satisfacer al consumidor.
Beneficios:
•Mejor documentación.
•Información actualizada y efectiva.
•Carta de presentación para abrir nuevos mercados.
•Disminución de costos y procesos.
ISO 9001
ISO
Ciclos
Planear Hacer Revisar Actuar
ISO 9001
CERTIFICACION:
Documento con validad legal que certifica, que usted cumple las mas
estrictas normas de calidad.
Tipos de Certificaciones:
Certificación
Empresa Producto
Modelos de proceso personales
y en equipo
PSP
PSE
Proceso de software
Personal
Proceso de Software en Equipo
Según Watts Humphrey:
Proceso Software Personal
(PSP)
Trabajo efectivo
Requiere
1)Planificar el trabajo
2)Esforzarse por cumplir la planificación
3)Esforzarse por obtener productos de la mejor calidad
¿Cómo?
Trabajo efectivo
Proceso Software Personal
(PSP)
Software de alta calidad
Planeación
Se define el trabajo y cómo hacerlo, en base a
selección de requisitos.
Diseño
Se crea un diseño del componente, cuando existe incertidumbre
se crean prototipos.
Revisión del diseño
Se aplican métodos formales para verificar
errores en el diseño.
Desarrollo
El componente se refina y revisa.
Se genera, revisa, compila y prueba el códiga.
Análisis de Resultados
Proceso de Software en equipo
(PSE)
Actividades:
- Lanzamiento
- Diseño de alto nivel
- Implementación
- Integración y prueba
- Análisis de resultados.
-Construir un equipo de proyecto “auto dirigido” que
se organicen.
Tecnología del proceso:
Herramientas de modelado de proceso:
 Permiten que una organización de software construya un modelo
automatizado del marco de trabajo común del proceso, tareas y
actividades sombrilla.
 Puede aprovecharse para coordinar el uso de las herramientas de
ingeniería de software asistida por computadora
Tecnología del proceso:
Herramientas de modelado de proceso:
Herramientas de
tecnología de
proceso
Ayudan
Analizar procesos
actuales
Organizar sus
tareas
Administrar su
calidad técnica
Controlar y
mitotear su
progreso
PRODUCTO VS PROCESO
En las agencias de publicidad el producto final es tan
importante
que se convierte en una pesadilla.
No existe proceso, solo el briefing y la fecha de entrega.
¿Debería existir una dualidad?

Proceso del software

  • 1.
  • 2.
    Ingeniería del Software LaIngeniería de Software es el establecimiento y uso de principios robustos de la ingeniería a fin de obtener económicamente software que sea fiable y que funcione eficientemente sobre máquinas reales (Fritz Bauer) Ingeniería de software Objetivos Mejorar la calidad Aumentar la productividad Suministrar las bases para su construcción Facilitar el control Definir una disciplina para garantizar producción y mantenimiento
  • 3.
    Ingeniería del Software ¿Cuales nuestro trabajo como ingenieros del software..? Realizar software de calidad en el plazo y costo establecido. •Planificar su trabajo •Hacer su trabajo de acuerdo con el plan •Esforzarse en producir productos de calidad
  • 4.
    El Proceso delSoftware  Conjunto estructurado de actividades requeridas para desarrollar un sistema de software de alta calidad y proporciona el marco de trabajo desde el cual se puede establecer un plan detallado para el desarrollo del software.  Actividades:  Especificación.  Diseño.  Validación.  Evolución.
  • 5.
    El Proceso delSoftware Combinaciones validas para formar sistemas capaces de producir resultados Personas + Tecnología Personas + Tecnología + Procesos Producción heroica Producción Basada en Procesos
  • 6.
    Ingeniería del software:tecnología estratificada Un Enfoque de Calidad Procesos Métodos Herramientas Las capas de la ingeniería del software
  • 7.
    - Base paraun proceso de software completo. - Es como un libro de recetas de cocina. “Siento que una receta es sólo un tema con el que un cocinero inteligente puede jugar cada vez de una manera distinta” Madame Benoit - La adaptación es esencial. Marco de trabajo del proceso Marco de trabajo del Proceso común
  • 8.
    Marco de trabajodel proceso Actividades de Protección -Aplicables a lo largo del proceso del software. -Su objetivo la gestión, el rastreo y el control del proyecto. - Garantizar la calidad del software. Marco de trabajo del Proceso común
  • 9.
    Marco de trabajodel proceso Actividades de Protección Marco de trabajo del Proceso común Actividades del marco de trabajo -Aplicables a todos los proyectos.
  • 10.
    Actividades de Protección Marcode trabajo del Proceso común Actividades del marco de trabajo Marco de trabajo del proceso -Actividades que hacen que el marco de trabajo se adapte a las características particulares de cada proyecto de software. -Define el trabajo real a cumplirse. Conjunto de Tareas Tareas Hitos, entregas Puntos SQA
  • 11.
    Marco de trabajogenérico del proceso Marco de trabajo del Proceso común Actividades del marco de trabajo Comunicación Planeación Modelado Construcción Despliegue
  • 12.
    ¿Qué involucra eldesarrollo de una actividad? Actividad Herramienta Actividad Rol Desarrollador Producto tiene_entrada tiene_intermedio tiene_salida tiene_sub emplea Dirección Actividad Recurso OrganizaciónProducto obedece necesitajuega tiene_sub
  • 13.
    Actividades Sombrilla Actividades deProtección Seguimiento y control Gestión del riesgo Aseguramiento de la calidad del software Revisiones técnicas formales MediciónGestión de la configuración del software Gestión de la reutilización Preparación y Producción del producto
  • 14.
    Integración del modelode capacidad de madurez (IMCM) Modelo para la mejora o evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software. Creado por el SEI en el 2000 y publicado en el 2002 con el objetivo de realizar mejoras respecto al CMM. Incluye 4 disciplinas en función de la amplitud de procesos que cubre: •CMMI-SW: +Software •CMMI-SE/SW : + Ingeniería de sistemas •CMMI-SE/SW/IPPD : + Desarrollo integrado de proceso •CMMI-SE/SW/IPPD/SS : + Gestión de proveedores
  • 15.
    Integración del modelode capacidad de madurez (IMCM) CMMI Continuo Discreto Incompleto Realizado Administrado Definido Adminis.Cuan titativamente Mejorado Optimizado Gestionado Cuantitativamen te Definido Ejecutado Niveles de capacidad Niveles de madurez
  • 16.
    Patrones del Proceso Procesode Software De Tarea De Escenario De Fase -Principios Abstractos - Específicos a una situación. - Ofrece una plantilla. - Describe un problema. - Define una posible solución . - Es reusable. - Permite organización. - Evita la reiteración - Formalizar un vocabulario común
  • 17.
    Plantilla de unPatrón Nombre del patrón Propósito Tipo Contexto inicial Problema Solución Contexto resultante Patrones relacionados Usos conocidos/ejemplos Un ejemplo sencillo:
  • 18.
    Evaluación del proceso La existencia de un proceso no es garantía de que se elabora un producto de alta calidad, por lo mismo el proceso debe ser evaluado.  Se pretende comprender el estado actual del proceso de software y se intenta mejorarlo. Evaluación del proceso de software Proceso del software Aumenta Elevación de la calidad del producto Mejoramiento del Proceso de software La eficiencia de costes y tiempo Posibilidad de tener éxito en el proyecto Dominación de los riesgos del proceso Confianza y Satisfacción del cliente
  • 19.
    ISO 9001 serie normasinternacionales establecidas para sistemas de calidad, las mismas pueden aplicarse prácticamente en cualquier compañía, y cuyo objetivo final es satisfacer al consumidor. Beneficios: •Mejor documentación. •Información actualizada y efectiva. •Carta de presentación para abrir nuevos mercados. •Disminución de costos y procesos.
  • 20.
  • 21.
    ISO 9001 CERTIFICACION: Documento convalidad legal que certifica, que usted cumple las mas estrictas normas de calidad. Tipos de Certificaciones: Certificación Empresa Producto
  • 22.
    Modelos de procesopersonales y en equipo PSP PSE Proceso de software Personal Proceso de Software en Equipo Según Watts Humphrey:
  • 23.
    Proceso Software Personal (PSP) Trabajoefectivo Requiere 1)Planificar el trabajo 2)Esforzarse por cumplir la planificación 3)Esforzarse por obtener productos de la mejor calidad ¿Cómo?
  • 24.
    Trabajo efectivo Proceso SoftwarePersonal (PSP) Software de alta calidad Planeación Se define el trabajo y cómo hacerlo, en base a selección de requisitos. Diseño Se crea un diseño del componente, cuando existe incertidumbre se crean prototipos. Revisión del diseño Se aplican métodos formales para verificar errores en el diseño. Desarrollo El componente se refina y revisa. Se genera, revisa, compila y prueba el códiga. Análisis de Resultados
  • 25.
    Proceso de Softwareen equipo (PSE) Actividades: - Lanzamiento - Diseño de alto nivel - Implementación - Integración y prueba - Análisis de resultados. -Construir un equipo de proyecto “auto dirigido” que se organicen.
  • 26.
    Tecnología del proceso: Herramientasde modelado de proceso:  Permiten que una organización de software construya un modelo automatizado del marco de trabajo común del proceso, tareas y actividades sombrilla.  Puede aprovecharse para coordinar el uso de las herramientas de ingeniería de software asistida por computadora
  • 27.
    Tecnología del proceso: Herramientasde modelado de proceso: Herramientas de tecnología de proceso Ayudan Analizar procesos actuales Organizar sus tareas Administrar su calidad técnica Controlar y mitotear su progreso
  • 28.
    PRODUCTO VS PROCESO Enlas agencias de publicidad el producto final es tan importante que se convierte en una pesadilla. No existe proceso, solo el briefing y la fecha de entrega. ¿Debería existir una dualidad?