0% encontró este documento útil (0 votos)
149 vistas33 páginas

Modelos de Proceso de Software Explicados

El documento proporciona una introducción a los procesos de software, incluyendo una definición de proceso de software, por qué son importantes, quién los crea y sigue, los pasos típicos involucrados, y los modelos de procesos personales y en equipo. Explica que un proceso de software es una serie estructurada de actividades para especificar, diseñar, implementar y probar software, y que ofrece estabilidad, control y organización a la creación de software.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
149 vistas33 páginas

Modelos de Proceso de Software Explicados

El documento proporciona una introducción a los procesos de software, incluyendo una definición de proceso de software, por qué son importantes, quién los crea y sigue, los pasos típicos involucrados, y los modelos de procesos personales y en equipo. Explica que un proceso de software es una serie estructurada de actividades para especificar, diseñar, implementar y probar software, y que ofrece estabilidad, control y organización a la creación de software.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL

PEDRO RUIZ GALLO

Semana 2:Proceso de software – Modelos


de procesos de software

Docente: Luis Alberto Dávila Hurtado


Email :ldavilah@unprg.edu.pe
1
Vistazo
Vistazo rápido: rápido:
Proceso Software
de software
¿Qué es? ¿Quién lo hace?
• Una serie de pasos predecibles que ayude • Los ingenieros de software y sus jefes
a crear un resultado de alta calidad y a adaptan el proceso a sus necesidades y
tiempo. después lo siguen.
• Es un conjunto estructuradode • La gente que ha solicitado el software
actividades para: deben definir, construir y probar el
Especificar, diseñar, implementar y probar proceso.
software.

¿Por qué es importante? ¿Cuáles son los pasos?


• Ofrece estabilidad, control y organización • El proceso que se adopte depende del
a una actividad que puede volverse software que se está construyendo.
caótica si no se controla.
• Un enfoque de ingeniería del software
moderno debe ser “ágil”.

¿Cuál es el producto ¿Cómo puedo estar seguro


obtenido? de que lo he hecho
• Programas, documentos y datos que se correctamente?
producen como consecuencia de las • La calidad, el tiempo requerido, la
actividades y tareas definidas por el viabilidad a largo plazo del producto que
proceso. se construye son los mejores indicadores
de la eficacia del proceso que se utiliza.
Ingeniería del Software: Una Tecnología Estratificada
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)
Proporcionan el soporte
automatizado o semi automatizado
para el proceso y los métodos.
Proporcionan los “cómo” técnicos para
Herramientas construir software (comunicación, análisis de
requisitos, modelado del diseño, la
Métodos construcción del programa, la realización de
pruebas y el soporte)
Proceso
Es el elemento que mantiene juntos los
Un enfoque de calidad estratos de la tecnología y que permite el
desarrollo racional y a tiempo del
software de computadora.
La ingeniería del software es Es la base que soporta la ingeniería
una tecnología estratificada del software
Proceso de software

◼ Un proceso del software es un conjunto de actividades que


conducen a la creación de un producto de software

◼ La meta es desarrollar o mejorar procesos.

◼ El conjunto de personas, estructuras de organización, reglas,


políticas, actividades y sus procedimientos, componentes de
software, metodologías, y herramientas utilizadas o creadas
específicamente para definir, desarrollar, ofrecer un servicio,
innovar y extender un producto de software son parte de estos
procesos
Elementos típicos del proceso de software
Actividades
Actividades del
del marco demarco
trabajo del trabajo

COMUNICACIÓN
Colaboración y comunicación CONSTRUCCIÓN
con los clientes. Investigación de Generación de código + pruebas
requisitos y otras actividades del software
relacionadas.

PLANEACIÓN DESPLIEGUE
Tareas técnicas, riesgos Es la entrega al cliente para su
probables, los recursos que prueba con el fin de obtener
serán requeridos, los productos información que permita
y un programa de trabajo. mejorar el producto.

MODELADO
Determinar un modelo o
esquema compartido entre
desarrollador y cliente, para
tener una orientación de lo que
se va a crear.
ActividadesActividades
sombrilla Sombrillas
Seguimiento y
control del
proyecto de Preparación y
software producción del
Gestión del producto de
riesgo trabajo
Ocurren a lo largo del
proceso de software y se
Aseguramiento enfocan de modo Gestión de la
principal en la gestión, el reutilización
de la calidad del rastreo y el control del
software proyecto.

Revisiones Gestión de la
técnicas configuración
formales del software
Medición
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
Integración del modelo de
el objetivo de realizar mejoras respecto al CMM.
capacidad de madurez
La IMCM representa un modelo completo de proceso en dos formas diferentes:

(IMCM)
❑ Como modelo continuo: 05 niveles de capacidad

NIVEL 0 NIVEL 1 NIVEL 2 NIVEL 3 NIVEL 4 NIVEL 5


Incompleto Realizado Definido Administrado en
Administrado forma Mejorado
cuantitativa
El área del Las metas Todas las tareas Criterios del Criterios del nivel Criterios del
proceso aún específicas de trabajo y nivel 2 3 cumplidos. El nivel 4
no se realiza han sido productos están cumplidos. El área del proceso satisfechos. El
monitoreados, c proceso está se controla y área del
o no alcanza satisfechas. adaptado al mejora mediante
todas las ontroladosy proceso se
revisados; y son conjunto de mediciones y adapta y
metas y procesos evaluación mejora
objetivos. evaluados de
estándar de la cuantitativa. mediante el
acuerdo a la organización.
descripción del uso de medios
cuantitativos
proceso. para conocer
las
necesidades
cambiantes del
cliente.
Integración del modelo de capacidad de madurez
(IMCM)
❑ Como modelo discreto: 05 niveles de madurez

Integración del modelo de


capacidad de madurez
Mejora continua del proceso Optimizado
1 (IMCM)
Gestionado de
Ejecución del proceso manera cuantitativa
2 organizacional

Estandarización del Definido


3 proceso

Gestión básica del Gestionado


4 proyecto

5 Ejecutado
Modelos deProceso
Modelos de procesoPersonales
personalyyen
enEquipo
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 a) Planeación: Seleccionar requisitos,
❑ Esforzarse por cumplir la establecer el tamaño del proyecto y
planificación estimar recursos.
❑ Esforzarse por obtener productos b) Diseño de alto nivel: elaborar las
de la mejor calidad 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 niveldel
componente se refina y revisa.
e) Análisis de resultados: Se determina la
efectividad del proceso mediante las
mediciones y medidas recolectadas.
Modelos deProceso
Modelos de procesoPersonales
personalyyen
enEquipo
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.

Lanzamiento: con una secuencia de tareas


como base sólida para iniciar el proyecto.

Diseño de alto nivel


Actividades

Implementación

Integración y prueba

Análisis de resultados
Modelos prescriptivos de
software
Vistazo rápido: Modelos Prescriptivos
¿Qué es? ¿Quién lo hace?
• Un conjunto distinto de actividades, • Los ingenieros de software y sus
acciones, tareas, fundamentos y gerentes adaptan un modelo
productos de trabajo que se prescriptivo de proceso a sus
requieren para desarrollar software necesidades y después lo siguen.
de alta calidad. • La gente que ha solicitado el
• Proporcionan una guía útil para el software participa durante la
trabajo de la ingeniería del software. ejecución del modelo de software.

¿Por qué es importante? ¿Cuáles son los pasos?


• Proporciona estabilidad, control y • El proceso conduce a un equipo de
organización a una actividad que si software a través de un conjunto de
no controla puede volverse caótica. actividades del marco de trabajo que
se organizan en un flujo de
proceso, el cual puede ser
lineal, incremental o evolutiva.

¿Cuál es el producto ¿Cómo puedo estar seguro


obtenido? de que lo he hecho
• Desde el punto de vista de un correctamente?
ingeniero de software: programas, • Los mejores indicadores de la
documentos y datos que se eficacia del proceso que se utiliza
producen como consecuencia de las son la calidad, el tiempo de entrega y
actividades y tareas que define el la viabilidad a largo plazo del
proceso. producto que se construye.
Modelos de proceso de software

◼ Un modelo de software es 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 (norma ISO 12207-1)
[ISO/IEC, 1995]

◼ Es decir: un modelo de software es una


representación abstracta de un proceso del
software.
Modelos
Modelos Prescriptivos
Prescriptivos
Los Modelos Prescriptivos de Proceso definen un conjunto distinto de
actividades, acciones, tareas, flujo de trabajo, fundamentos y productos
de trabajo que se requieren para software de alta calidad.

MODELO EN CASCADA
CARACTERÍSTICAS DESVENTAJAS
▪ También se le conoce como ▪ Es muy raro que los proyectos reales sigan
Ciclo de Vida Clásico. el flujo secuencial que propone el modelo.
▪ Enfoque sistemático ▪ Con frecuencia es difícil para el cliente
secuencial hacia el establecer todos los requisitos de manera
desarrollo del software. explícita.
▪ Es el paradigma más antiguo ▪ El cliente debe tener paciencia.
para la ingeniería de ▪ La naturaleza lineal del modelo conduce a
Software. “estados de bloqueo” en los cuales algunos
miembros del equipo del proyecto deben
esperar a otros para terminar tareas
independientes.
Modelo
Modelo en en Cascada
cascada
• Inicio del proyecto
Comunicación
• Recopilación de requisitos

• Estimación
Planeación • Itinerario
• Seguimiento

• Análisis
Modelado
• Diseño

• Código
Construcción
• Prueba

• Entrega
Despliegue • Soporte
• Retroalimentación
Modelos de
Modelos deProceso
procesoIncrementales
incrementales
MODELO INCREMENTAL
Combina elementos
del modelo en
cascada aplicado en
forma iterativa.

Entrega una serie de


lanzamientos llamados CARACTERÍSTICAS
incrementos que
proporcionan en forma Se enfoca en la
progresiva más entrega de un
funcionalidad para los producto operacional
clientes a medida que se con cada incremento.
entrega cada uno de los
incrementos.
Modelo Modelo incremental
incremental
Comunicación
Funcionalidad y características del software

Planeación
Modelado (análisis, diseño)
Construcción (código, prueba)
Despliegue (entrega, retroalimentación)
Incremento # n
Entrega del
n-ésimo incremento

Incremento # 2
Entrega del
segundo incremento

Incremento # 1
Entrega del
primer incremento

Tiempo de calendario de proyecto


Modelosde
Modelos deproceso
Proceso Evolutivos
evolutivos
Los modelos evolutivos son iterativos, los caracteriza la forma en que
permiten que los ingenieros de software desarrollen versiones cada vez
completas del software.
Su propósito es desarrollar software de alta calidad de una manera
iterativa o incremental.

CONSTRUCCION DE PROTOTIPOS
CARACTERISTICAS DESVENTAJAS
Se puede utilizar como un modelo de ❑ El cliente no entiende lo que es
proceso independiente o como una un prototipo y el sistema final
técnica susceptible de implementarse ❑ El desarrollador puede
dentro de otros modelos. adaptarse al lenguaje con el
❑ Ayuda al ingeniero de sistemas y al que elaboró el prototipo
cliente a entender de mejor manera ❑ La calidad del software se
cual será el resultado de la reduce.
construcción cuando los requisitos
estén satisfechos.
Construcción
Construcción de de Prototipos
prototipos

Plan rápido

Modelado
Comunicación diseño
rápido

Desarrollo, entreg
ay Construcción
retroalimentación del prototipo
Modelos orientados a la reutilización

Ingeniería del Software basada en componentes


◼ Se enmarca en un contexto más
amplio: ingeniería del software
basada en componentes

◼ Enfoque de desarrollo que


trata de maximizar la
reutilización de software
existente [Sommerville,
2002]
Ingeniería de software basada en componentes

◼ Se divide en 2:

✓ Ingeniería del dominio

El objetivo de la ingeniería del dominio es


identificar, construir, catalogar y diseminar un
conjunto de componentes de software que tienen
aplicación en el software actual y futuro dentro de un
dominio de aplicación particular
Ingeniería de software basada en componentes

+
Ingeniería de software basada en componentes

✓ Desarrollo basado en componentes


◼ Un componente es una unidad ejecutable e independiente

◼ Los componentes publican su interfaz y todas las interacciones


son a través de ella

◼ La ingeniería del software basada en componentes tiene la


ventaja obvia de reducir la cantidad de software a desarrollarse
y así reduce los costos y los riesgos. Por lo general permite
una entrega más rápida del software.
Modelo
Modelo en en Espiral
espiral

CARACTERÍSTICAS DESVENTAJAS
-Conjuga la naturaleza iterativa de la - Es difícil convencer a los clientes de
construcción de prototipos con los aspectos que el enfoque evolutivo es
controlados y sistemáticos del modelo controlable.
cascada.
- Requiere una habilidad considerable
-Proporciona el material para el desarrollo para evaluar el riesgo.
rápido de versiones incrementales del
software. - Si un riesgo importante no se
descubre y administra, sin duda
-Se puede adaptar y aplicar a través del ciclo surgirán problemas.
de vida completo de una aplicación, desde el
desarrollo del concepto hasta el
mantenimiento.
- Es un enfoque realista para el desarrollo de
software y de sistemas a gran escala.
- Se considera el riesgo en cada revolución
- Se revisa los costos
- Se adapta a lo largo de la vida del software
Modelo enModelo
espiralEspiral
Planeación
Estimación
Itinerario
Análisis de riesgos

Comunicación

Modelado
Análisis
Diseño
Inicio

Construcción
Despliegue
Código
Entrega Prueba
Retroalimentación
Modelo en espiral
El Proceso
El proceso Unificado
unificado

Es un ciclo de vida incremental e iterativo propuesto por los


creadores de UML (Unified Modeling Language).
CARACTERÍSTICAS

Dirigido por los casos de uso

Centrado en la arquitectura

Iterativo e incremental

Distingue 6 fases:
inicio, elaboración, construcción, transición, producción.
Fases del Proceso Unificado
Fase Inicio
Abarca la comunicación con el cliente y las actividades de planeación y destaca el desarrollo y el
refinamiento de casos de uso como un modelo primario.

Fase de elaboración
Abarca la comunicación con el cliente y las actividades de modelado con un enfoque en la creación de modelos
de análisis y diseño, con énfasis en las definiciones de clase y representaciones arquitectónicas.

Fase de Construcción
Refina y después traduce el modelo de diseño en componentes de software implementados.

Fase de Transición
Transfiere el software del desarrollador al usuario final para realizar las pruebas beta y obtener la
aceptación.

Fase de Producción
Se realiza el monitoreo continuo y el soporte.
El Proceso
El proceso Unificado
unificado
Elaboración
Inicio

Lanzamiento
Incremento del
software

Construcción
Producción Transición
Productos
Productosde
detrabajo
trabajodel
delproceso
procesounificado
unificado

Documento de la

Fase de inicio
Modelo de casos de uso

Fase de elaboración
visión Modelo del diseño

Fase de construcción
Requisitos

Fase de transición
Modelo inicial de suplementarios, se Componentes del Incremento
caso de uso incluyen los no software
funcionales de software
Glosario inicial del Modelo de análisis
Incremento integrado
proyecto integrado del
Descripción de la Reportes de
Caso inicial de arquitectura del software
software
negocio Plan y las pruebas
Prototipo arquitectónico
ejecutable procedimiento de beta
Evaluación inicial
del riesgo Modelo de diseño pruebas Retroaliment
preliminar
Plan de Casos de prueba ación
Lista revisada de riesgo
Proyecto, fases e Documentación del general del
Plan de proyecto que
iteraciones incluye: soporte usuario
Modelo del • Plan de iteración Manuales del
negocio si es •Flujos de trabajo usuario
necesario adoptados
• Fundamentos
Manuales de
Uno o más •Productos técnicos del instalación
prototipos trabajo Descripción del
•Manual preliminar del incremento actual
usuario
Referencias

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

• PRESSMAN ROGER, (2010) Ingeniería de software: un enfoque


práctico. Séptima edición. McGraw Hill. Capítulo 2,3
• SOMMERVILLE, Ian (2011): Ingeniería de Software. Novena Edición.
México. Pearson Educación. Capítulo 2

También podría gustarte