SlideShare une entreprise Scribd logo
1  sur  18
Sesión II: Visión General
El proceso del software
Ing. Luis Alfredo Fernández Vizcarra
lfernandez@speedy.com.pe
lfernandez@coesi.com.pe
Vistazo rápido: Software
¿Qué es?
• Una serie de pasos predecibles que ayude
a crear un resultado de alta calidad y a
tiempo.
• Es un conjunto estructurado de
actividades para: Especificar, diseñar,
implementar y probar software.
¿Quién lo hace?
• Los ingenieros de software y sus jefes
adaptan el proceso a sus necesidades y
después lo siguen.
• La gente que ha solicitado el software
deben definir, construir y probar el
proceso.
¿Por qué es importante?
• Ofrece estabilidad, control y organización
a una actividad que puede volverse
caótica si no se controla.
• Un enfoque de ingeniería del software
moderno debe ser “ágil”.
¿Cuáles son los pasos?
• El proceso que se adopte depende del
software que se está construyendo.
¿Cuál es el producto
obtenido?
• Programas, documentos y datos que se
producen como consecuencia de las
actividades y tareas definidas por el
proceso.
¿Cómo puedo estar seguro
de que lo he hecho
correctamente?
• La calidad, el tiempo requerido, la
viabilidad a largo plazo del producto que
se construye son los mejores indicadores
de la eficacia del proceso que se utiliza.
Un enfoque de calidad
Proceso
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 del Software: Una Tecnología Estratificada
Métodos
Herramientas
La ingeniería del software es
una tecnología estratificada
Es la base que soporta la ingeniería
del software
Proporcionan el soporte
automatizado o semi automatizado
para el proceso y los métodos.
Proporcionan los “cómo” técnicos para
construir software (comunicación, análisis de
requisitos, modelado del diseño, la
construcción del programa, la realización de
pruebas y el soporte)
Es el elemento que mantiene juntos los
estratos de la tecnología y que permite el
desarrollo racional y a tiempo del
software de computadora.
Marco de Trabajo para el Proceso
MARCO DE TRABAJO DEL PROCESO
Actividades sombrilla
Actividad del marco de trabajo # 1
acción de la ingeniería de software #1.1
Conjunto
de tareas
Tareas del trabajo - productos del trabajo - puntos de aseguramiento
de la calidad - fundamentos del proyecto
acción de la ingeniería de software # 1.k
Conjunto
de tareas
Tareas del trabajo - productos del trabajo - puntos de aseguramiento
de la calidad - fundamentos del proyecto
Actividad del marco de trabajo # n
acción de la ingeniería de software #n.1
Conjunto
de tareas
Tareas del trabajo - productos del trabajo - puntos de aseguramiento
de la calidad - fundamentos del proyecto
acción de la ingeniería de software # n.m
Conjunto
de tareas
Tareas del trabajo - productos del trabajo - puntos de aseguramiento
de la calidad - fundamentos del proyecto
Actividades del marco del trabajo
COMUNICACIÓN
Colaboración y comunicación
con los clientes. Investigación de
requisitos y otras actividades
relacionadas.
PLANEACIÓN
Tareas técnicas, riesgos
probables, los recursos que
serán requeridos, los productos
y un programa de trabajo.
MODELADO
Determinar un modelo o
esquema compartido entre
desarrollador y cliente, para
tener una orientación de lo que
se va a crear.
CONSTRUCCIÓN
Generación de código + pruebas
del software
DESPLIEGUE
Es la entrega al cliente para su
prueba con el fin de obtener
información que permita
mejorar el producto.
Actividades Sombrillas
Ocurren a lo largo del
proceso de software y se
enfocan de modo
principal en la gestión, el
rastreo y el control del
proyecto.
Gestión del
riesgo
Seguimiento y
control del
proyecto de
software
Aseguramiento
de la calidad del
software
Revisiones
técnicas
formales Medición
Gestión de la
configuración
del software
Gestión de la
reutilización
Preparación y
producción del
producto de
trabajo
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.
La IMCM representa un modelo completo de proceso en dos formas diferentes:
 Como modelo continuo: 05 niveles de capacidad
NIVEL 0
Incompleto
NIVEL 1
Realizado
NIVEL 2
Administrado
NIVEL 3
Definido
NIVEL 4
Administrado en
forma
cuantitativa
NIVEL 5
Mejorado
El área del
proceso aún
no se realiza
o no alcanza
todas las
metas y
objetivos.
Las metas
específicas
han sido
satisfechas.
Todas las tareas
de trabajo y
productos están
monitoreados, c
ontrolados y
revisados; y son
evaluados de
acuerdo a la
descripción del
proceso.
Criterios del
nivel 2
cumplidos. El
proceso está
adaptado al
conjunto de
procesos
estándar de la
organización.
Criterios del nivel
3 cumplidos. El
área del proceso
se controla y
mejora mediante
mediciones y
evaluación
cuantitativa.
Criterios del
nivel 4
satisfechos. El
área del
proceso se
adapta y
mejora
mediante el
uso de medios
cuantitativos
para conocer
las
necesidades
cambiantes del
cliente.
Integración del modelo de capacidad de
madurez (IMCM)
Como modelo discreto: 05 niveles de madurez
Ejecutado
Gestionado
Definido
Gestionado de
manera cuantitativa
Optimizado
5
4
3
2
1
Gestión básica del
proyecto
Estandarización del
proceso
Ejecución del proceso
organizacional
Mejora continua del proceso
Patrones del Proceso
TIPODEPATRONES
Patrones de Tarea: Definen una acción de la
ingeniería de software o una tarea de trabajo
importante.
Patrones de Escenario: Definen una actividad
del marco de trabajo para el proceso.
Patrones de fase: Definen la secuencia de
actividades del marco de trabajo que ocurre
junto con el proceso.
Un patrón de proceso ofrece una plantilla: un método consistente para describir
una característica importante del proceso de software. Se definen en cualquier
grado de abstracción (un proceso completo o una actividad del marco de trabajo
importante o una tarea dentro de una actividad del marco de trabajo).
Plantilla para describir un patrón de proceso
Usos conocidos/Ejemplos: Se indican los ejemplos específicos en los cuales el
patrón es aplicable.
Patrones relacionados: lista de todos los patrones de proceso directamente
relacionados con éste.
Contexto resultante: Se describen las condiciones que habrá una vez que el
patrón haya sido implementado con éxito. Definen una acción de la ingeniería
de software o una tarea de trabajo importante.
Solución: Se describe la implementación del patrón
Contexto inicial: Se describen las condiciones en las cuales se aplica el patrón.
Tipo: De tarea, de escenario o de fase
Propósito: Objetivo del patrón
Nombre del patrón: Describe su función dentro del software
Plantilla para describir un patrón de proceso
EJEMPLO:
 Nombre del patrón
 Propósito
 Tipo
 Contexto inicial
 Problema
 Solución
 Contexto resultante
 Patrones relacionados
 Usos conocidos/ejemplos
En la evaluación se pretende comprender el estado actual del proceso de
software y se intenta mejorarlo.
Evaluación del Proceso
Proceso del
software
Mejoramiento
del proceso de
software
Evaluación del
proceso de software
Determinación
de la capacidad
Identifica
modificaciones a
Es examinado
por
Identifica capacidades
y riesgos de
Conduce a Conduce a
Motiva
Enfoques para la evaluación del proceso de
software
Método de
evaluación de la
IMCM para el
mejoramiento del
proceso
(MEIEMP):
iniciación,
diagnóstico,
establecimiento,
acción y
aprendizaje.
Apreciación
basada en el
CMM para el
mejoramiento
del proceso
interno (ABC
MPI).
SPICE (ISO/IEC
15504)
ISO 9001:2000 para
software:
Serie de 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.
CICLOS: Planear – hacer
– revisar - actuar
Modelos de Proceso Personales y en Equipo
1.PROCESO DE SOFTWARE PERSONAL (PSP): Destaca la necesidad de registrar y
analizar los tipos de errores que se cometen para desarrollar estrategias
encaminadas a eliminarlos.
REQUIERE ACTIVIDADES DEL MARCO DE TRABAJO
 Planificar el trabajo
 Esforzarse por cumplir la
planificación
 Esforzarse por obtener productos
de la mejor calidad
a) Planeación: Seleccionar requisitos,
establecer el tamaño del proyecto y
estimar recursos.
b) Diseño de alto nivel: elaborar las
especificaciones externas para el diseño
de cada componente.
c) Revisión del diseño de alto nivel: los
métodos formales de verificación se
aplican a errores descubiertos en el
diseño.
d) Desarrollo: el diseño al nivel del
componente se refina y revisa.
e) Análisis de resultados: Se determina la
efectividad del proceso mediante las
mediciones y medidas recolectadas.
Modelos de Proceso Personales y en Equipo
2. PROCESO DE SOFTWARE EN EQUIPO: La meta del PSE es construir un
equipo de proyecto “autodirigido” que se organice para producir un
software de alta calidad.
Actividades
Lanzamiento: con una secuencia de tareas
como base sólida para iniciar el proyecto.
Diseño de alto nivel
Implementación
Integración y prueba
Análisis de resultados
Tecnología del Proceso
HERRAMIENTAS DE TECNOLOGÍA DEL 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
Herramientas de
tecnología de proceso
Ayudan
Analizar procesos
actuales
Organizar sus
tareas
Administrar su
calidad técnica
Controlar y
monitorear su
progreso
Producto y Proceso
Si el proceso es débil, sin duda el producto final sufrirá las consecuencias.
Una confianza excesiva en el proceso es peligrosa.
Las personas obtienen tanta satisfacción del proceso creativo que del
producto final.
Un profesional creativo del software debería también obtener tanta
satisfacción de la programación como del producto final.
La dualidad del producto y proceso es un elemento importante para
mantener ocupada a la gente creativa hasta que se finalice la transición de
la programación a la ingeniería del software.
Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1
Jacobson, I., Booch, G., Rumbaugh, J., El Proceso Unificado de Desarrollo de
Software, cap. 1
Pressman, R.S., Ingeniería del Software. Un enfoque práctico, cap. 1 y 2
Sommerville, I., Ingeniería de Software, cap. 1, 2 y 3
Referencias

Contenu connexe

Tendances

Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
Lorena Quiñónez
 

Tendances (20)

Estándares para el diseño de interfaz
Estándares para el diseño de interfazEstándares para el diseño de interfaz
Estándares para el diseño de interfaz
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Metodologia estructurada
Metodologia estructuradaMetodologia estructurada
Metodologia estructurada
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Rational rose
Rational roseRational rose
Rational rose
 
Ensayo ingenieria de requisitos
Ensayo ingenieria de requisitosEnsayo ingenieria de requisitos
Ensayo ingenieria de requisitos
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientos
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
2. El proceso del software
2. El proceso del software2. El proceso del software
2. El proceso del software
 
Análisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructuradoAnálisis y diseño de sistemas estructurado
Análisis y diseño de sistemas estructurado
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenarios
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de Datos
 

Similaire à Sesión 2: Visión General. El proceso del software

Proceso del software
Proceso del softwareProceso del software
Proceso del software
guest7886b8
 
Proceso del Software Una visión General
Proceso del Software Una visión GeneralProceso del Software Una visión General
Proceso del Software Una visión General
Ruth Hidalgo Tene
 
Proceso de Software Una Visión General
Proceso de Software Una Visión GeneralProceso de Software Una Visión General
Proceso de Software Una Visión General
Ruth Hidalgo Tene
 

Similaire à Sesión 2: Visión General. El proceso del software (20)

Procesos de desarrollo de software
Procesos de desarrollo de softwareProcesos de desarrollo de software
Procesos de desarrollo de software
 
Proceso del software una visión general
Proceso del software una visión generalProceso del software una visión general
Proceso del software una visión general
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Proceso desarrollo software
Proceso desarrollo softwareProceso desarrollo software
Proceso desarrollo software
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Proceso del Software Una visión General
Proceso del Software Una visión GeneralProceso del Software Una visión General
Proceso del Software Una visión General
 
proceso del software_2
proceso del software_2proceso del software_2
proceso del software_2
 
Proceso de Software Una Visión General
Proceso de Software Una Visión GeneralProceso de Software Una Visión General
Proceso de Software Una Visión General
 
titulo de pdf
titulo de pdftitulo de pdf
titulo de pdf
 
Proceso Del Software
Proceso Del SoftwareProceso Del Software
Proceso Del Software
 
Proceso Del Software
Proceso Del SoftwareProceso Del Software
Proceso Del Software
 
Temas Unidad 2
Temas Unidad 2Temas Unidad 2
Temas Unidad 2
 
Modelo psp
Modelo pspModelo psp
Modelo psp
 
metodologia
metodologiametodologia
metodologia
 
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el SoftwareGestión de Proyectos de Software - Unidad II: Calidad en el Software
Gestión de Proyectos de Software - Unidad II: Calidad en el Software
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
 
PSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWAREPSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWARE
 
Tema5 la calidad del software
Tema5 la calidad del softwareTema5 la calidad del software
Tema5 la calidad del software
 
RUP
RUPRUP
RUP
 
Metodologia clasica en cascada
Metodologia clasica en cascadaMetodologia clasica en cascada
Metodologia clasica en cascada
 

Dernier

Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 

Dernier (20)

ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 

Sesión 2: Visión General. El proceso del software

  • 1. Sesión II: Visión General El proceso del software Ing. Luis Alfredo Fernández Vizcarra lfernandez@speedy.com.pe lfernandez@coesi.com.pe
  • 2. Vistazo rápido: Software ¿Qué es? • Una serie de pasos predecibles que ayude a crear un resultado de alta calidad y a tiempo. • Es un conjunto estructurado de actividades para: Especificar, diseñar, implementar y probar software. ¿Quién lo hace? • Los ingenieros de software y sus jefes adaptan el proceso a sus necesidades y después lo siguen. • La gente que ha solicitado el software deben definir, construir y probar el proceso. ¿Por qué es importante? • Ofrece estabilidad, control y organización a una actividad que puede volverse caótica si no se controla. • Un enfoque de ingeniería del software moderno debe ser “ágil”. ¿Cuáles son los pasos? • El proceso que se adopte depende del software que se está construyendo. ¿Cuál es el producto obtenido? • Programas, documentos y datos que se producen como consecuencia de las actividades y tareas definidas por el proceso. ¿Cómo puedo estar seguro de que lo he hecho correctamente? • La calidad, el tiempo requerido, la viabilidad a largo plazo del producto que se construye son los mejores indicadores de la eficacia del proceso que se utiliza.
  • 3. Un enfoque de calidad Proceso 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 del Software: Una Tecnología Estratificada Métodos Herramientas La ingeniería del software es una tecnología estratificada Es la base que soporta la ingeniería del software Proporcionan el soporte automatizado o semi automatizado para el proceso y los métodos. Proporcionan los “cómo” técnicos para construir software (comunicación, análisis de requisitos, modelado del diseño, la construcción del programa, la realización de pruebas y el soporte) Es el elemento que mantiene juntos los estratos de la tecnología y que permite el desarrollo racional y a tiempo del software de computadora.
  • 4. Marco de Trabajo para el Proceso MARCO DE TRABAJO DEL PROCESO Actividades sombrilla Actividad del marco de trabajo # 1 acción de la ingeniería de software #1.1 Conjunto de tareas Tareas del trabajo - productos del trabajo - puntos de aseguramiento de la calidad - fundamentos del proyecto acción de la ingeniería de software # 1.k Conjunto de tareas Tareas del trabajo - productos del trabajo - puntos de aseguramiento de la calidad - fundamentos del proyecto Actividad del marco de trabajo # n acción de la ingeniería de software #n.1 Conjunto de tareas Tareas del trabajo - productos del trabajo - puntos de aseguramiento de la calidad - fundamentos del proyecto acción de la ingeniería de software # n.m Conjunto de tareas Tareas del trabajo - productos del trabajo - puntos de aseguramiento de la calidad - fundamentos del proyecto
  • 5. Actividades del marco del trabajo COMUNICACIÓN Colaboración y comunicación con los clientes. Investigación de requisitos y otras actividades relacionadas. PLANEACIÓN Tareas técnicas, riesgos probables, los recursos que serán requeridos, los productos y un programa de trabajo. MODELADO Determinar un modelo o esquema compartido entre desarrollador y cliente, para tener una orientación de lo que se va a crear. CONSTRUCCIÓN Generación de código + pruebas del software DESPLIEGUE Es la entrega al cliente para su prueba con el fin de obtener información que permita mejorar el producto.
  • 6. Actividades Sombrillas Ocurren a lo largo del proceso de software y se enfocan de modo principal en la gestión, el rastreo y el control del proyecto. Gestión del riesgo Seguimiento y control del proyecto de software Aseguramiento de la calidad del software Revisiones técnicas formales Medición Gestión de la configuración del software Gestión de la reutilización Preparación y producción del producto de trabajo
  • 7. 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. La IMCM representa un modelo completo de proceso en dos formas diferentes:  Como modelo continuo: 05 niveles de capacidad NIVEL 0 Incompleto NIVEL 1 Realizado NIVEL 2 Administrado NIVEL 3 Definido NIVEL 4 Administrado en forma cuantitativa NIVEL 5 Mejorado El área del proceso aún no se realiza o no alcanza todas las metas y objetivos. Las metas específicas han sido satisfechas. Todas las tareas de trabajo y productos están monitoreados, c ontrolados y revisados; y son evaluados de acuerdo a la descripción del proceso. Criterios del nivel 2 cumplidos. El proceso está adaptado al conjunto de procesos estándar de la organización. Criterios del nivel 3 cumplidos. El área del proceso se controla y mejora mediante mediciones y evaluación cuantitativa. Criterios del nivel 4 satisfechos. El área del proceso se adapta y mejora mediante el uso de medios cuantitativos para conocer las necesidades cambiantes del cliente.
  • 8. Integración del modelo de capacidad de madurez (IMCM) Como modelo discreto: 05 niveles de madurez Ejecutado Gestionado Definido Gestionado de manera cuantitativa Optimizado 5 4 3 2 1 Gestión básica del proyecto Estandarización del proceso Ejecución del proceso organizacional Mejora continua del proceso
  • 9. Patrones del Proceso TIPODEPATRONES Patrones de Tarea: Definen una acción de la ingeniería de software o una tarea de trabajo importante. Patrones de Escenario: Definen una actividad del marco de trabajo para el proceso. Patrones de fase: Definen la secuencia de actividades del marco de trabajo que ocurre junto con el proceso. Un patrón de proceso ofrece una plantilla: un método consistente para describir una característica importante del proceso de software. Se definen en cualquier grado de abstracción (un proceso completo o una actividad del marco de trabajo importante o una tarea dentro de una actividad del marco de trabajo).
  • 10. Plantilla para describir un patrón de proceso Usos conocidos/Ejemplos: Se indican los ejemplos específicos en los cuales el patrón es aplicable. Patrones relacionados: lista de todos los patrones de proceso directamente relacionados con éste. Contexto resultante: Se describen las condiciones que habrá una vez que el patrón haya sido implementado con éxito. Definen una acción de la ingeniería de software o una tarea de trabajo importante. Solución: Se describe la implementación del patrón Contexto inicial: Se describen las condiciones en las cuales se aplica el patrón. Tipo: De tarea, de escenario o de fase Propósito: Objetivo del patrón Nombre del patrón: Describe su función dentro del software
  • 11. Plantilla para describir un patrón de proceso EJEMPLO:  Nombre del patrón  Propósito  Tipo  Contexto inicial  Problema  Solución  Contexto resultante  Patrones relacionados  Usos conocidos/ejemplos
  • 12. En la evaluación se pretende comprender el estado actual del proceso de software y se intenta mejorarlo. Evaluación del Proceso Proceso del software Mejoramiento del proceso de software Evaluación del proceso de software Determinación de la capacidad Identifica modificaciones a Es examinado por Identifica capacidades y riesgos de Conduce a Conduce a Motiva
  • 13. Enfoques para la evaluación del proceso de software Método de evaluación de la IMCM para el mejoramiento del proceso (MEIEMP): iniciación, diagnóstico, establecimiento, acción y aprendizaje. Apreciación basada en el CMM para el mejoramiento del proceso interno (ABC MPI). SPICE (ISO/IEC 15504) ISO 9001:2000 para software: Serie de 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. CICLOS: Planear – hacer – revisar - actuar
  • 14. Modelos de Proceso Personales y en Equipo 1.PROCESO DE SOFTWARE PERSONAL (PSP): Destaca la necesidad de registrar y analizar los tipos de errores que se cometen para desarrollar estrategias encaminadas a eliminarlos. REQUIERE ACTIVIDADES DEL MARCO DE TRABAJO  Planificar el trabajo  Esforzarse por cumplir la planificación  Esforzarse por obtener productos de la mejor calidad a) Planeación: Seleccionar requisitos, establecer el tamaño del proyecto y estimar recursos. b) Diseño de alto nivel: elaborar las especificaciones externas para el diseño de cada componente. c) Revisión del diseño de alto nivel: los métodos formales de verificación se aplican a errores descubiertos en el diseño. d) Desarrollo: el diseño al nivel del componente se refina y revisa. e) Análisis de resultados: Se determina la efectividad del proceso mediante las mediciones y medidas recolectadas.
  • 15. Modelos de Proceso Personales y en Equipo 2. PROCESO DE SOFTWARE EN EQUIPO: La meta del PSE es construir un equipo de proyecto “autodirigido” que se organice para producir un software de alta calidad. Actividades Lanzamiento: con una secuencia de tareas como base sólida para iniciar el proyecto. Diseño de alto nivel Implementación Integración y prueba Análisis de resultados
  • 16. Tecnología del Proceso HERRAMIENTAS DE TECNOLOGÍA DEL 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 Herramientas de tecnología de proceso Ayudan Analizar procesos actuales Organizar sus tareas Administrar su calidad técnica Controlar y monitorear su progreso
  • 17. Producto y Proceso Si el proceso es débil, sin duda el producto final sufrirá las consecuencias. Una confianza excesiva en el proceso es peligrosa. Las personas obtienen tanta satisfacción del proceso creativo que del producto final. Un profesional creativo del software debería también obtener tanta satisfacción de la programación como del producto final. La dualidad del producto y proceso es un elemento importante para mantener ocupada a la gente creativa hasta que se finalice la transición de la programación a la ingeniería del software.
  • 18. Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1 Jacobson, I., Booch, G., Rumbaugh, J., El Proceso Unificado de Desarrollo de Software, cap. 1 Pressman, R.S., Ingeniería del Software. Un enfoque práctico, cap. 1 y 2 Sommerville, I., Ingeniería de Software, cap. 1, 2 y 3 Referencias