Clase 5 VIRTUAL - U3 - Pressman Cap.2

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 19

Universidad Nacional de Lomas de Zamora

Facultad de Ciencias Económicas

Ingeniería del software


Un enfoque practico
(7ma edición)
Roger Pressman
CAP 2 (completo)
Índice
1. Modelo general de proceso
2. Evaluación y mejora del proceso
3. Modelos de proceso prescriptivo
a. Cascada
b. Incremental
c. Evolutivo
d. Espiral
e. Concurrente
4. Modelos de proceso especializado
5. El proceso unificado
6. Modelos del proceso personal y del equipo
7. Tecnología del proceso
8. Producto y proceso
1 - Modelo general de proceso Estructura general
Proceso es la colección de actividades de trabajo, acciones y tareas que se
realizan cuando va a crearse algún producto terminado.
Estructura general para la ingeniería de software:
● Comunicación
● Planeación
● Modelado
● Construcción
● Despliegue
1 - Modelo general de proceso
Flujos de proceso lineal e iterativo
1 - Modelo general de proceso
Flujos de proceso evolutivo y paralelo
1 - Modelo general de proceso

Definición de actividad estructural:


Contactar al cliente. Analizar requerimientos. Organizarlos
y obtener feedback.
Identificación de un conjunto de tareas:
Desglosar el proyecto en colecciones de tareas y
agruparlas de acuerdo al tipo de trabajo (desarrollo, calidad, etc).
Patrones del proceso:
Identifican un problema puntual del proceso, el ámbito
donde surge y sugiere cómo resolverlo.
2 - Evaluación y mejora del proceso
Todo proceso debe garantizar que cumple con ciertos criterios básicos para
conducir a características de calidad a largo plazo en el software.
Algunos enfoques:
● SCAMPI: Modelo de 5 fases (Inicio, diagnóstico, establecimiento, actuación y
aprendizaje)
● CBA IPI: diagnostica la madurez relativa de una organización de software
● SPICE (ISO/IEC 15504): estándar orientado a la elaboración de
requerimientos.
● ISO9001:2000: estándar aplicable a organizaciones y compañías de
software
3 - Modelos de proceso prescriptivo

Los modelos intentan reducir el caos inherente al desarrollo de software


Los tradicionales presentan una estructuración que los hace inflexibles ante
las “sorpresas”
En uno prescriptivo, si bien se respetan las actividades estructurales
generales, cada una de ellas puede definir un flujo de proceso diferente
3 - Modelos de proceso prescriptivo

Es un enfoque sistemático y secuencial.


Presenta tres problemas principales:
1. Es difícil realizar cambios avanzado el proyecto.
2. 2. El cliente no siempre puede definir un requisito al 100% al inicio
3. 3. Hasta que el proyecto no se encuentre avanzado, no hay una versión
funcional/prototipo
Aplicable a proyectos con requerimientos fijos y trabajo lineal
3 - Modelos en V

Una variante de la representación del modelo de la cascada se denomina


modelo en V
3 - Modelos de proceso prescriptivo
Modelo incremental
Combina flujos de proceso lineal y paralelo
Con cada incremento, se agrega una o más funcionalidades concretas
Se entrega un producto incompleto pero funcional al final de cada incremento.
Administra mejor el riesgo técnico cuando hay incertidumbre
3 - Modelos de proceso prescriptivo
Modelo evolutivo
El software con el tiempo sufre cambios dada la
dinámica del negocio que soporta y sus
requerimientos
El modelo evolutivo permite al software, mediante
iteraciones, adaptarse a los nuevos requisitos y
continuar vigente
Cada iteración genera un prototipo, el cual a su
vez sirve para identificar futuros requerimientos
3 - Modelos de proceso prescriptivo
Modelo espiral
Variación del modelo evolutivo, orientado a desarrollos con mucho riesgo
En cada iteración, se entrega un prototipo más sofisticado
Permite ajustar dinámicamente el plan del proyecto.
Se utiliza en proyectos de gran escala, ya que el flujo ofrece un enfoque muy
realista
3 - Modelos de proceso prescriptivo
Modelo concurrente
Representa las actividades o tareas que se dan de
manera recurrente en las distintas fases, pero que
tienen un estado distinto en cada una
También define la transición del estado entre ciclos.
Por ejemplo, si el cliente propone cambios, la tarea de
análisis de requerimientos que estaba completa pasa a
en desarrollo
4 - Modelos de proceso especializado
Reúnen características de modelos tradicionales, pero tienen un enfoque a
software específico
Basado en componentes: apuntan al desarrollo de un módulo particular,
que se integrará a un software más complejo. Permite la modularidad y
favorece reutilización
Métodos formales: orientado a software de cómputo con implementación de
notación matemáticas rigurosa. Complejidad técnica muy alta
Orientado a aspectos: enfocado a solucionar problemas o requerimientos
transversales a varios módulos, por ejemplo, seguridad del software.
5 - El proceso unificado
Intenta unir lo mejor de los modelos tradicionales con los principios del
desarrollo ágil
Surge el UML (lenguaje de modelado unificado), siendo una notación robusta
para modelar y desarrollar software orientado a objetos, pero no define la
estructura del proceso
El proceso unificado utiliza UML y define las fases del proceso de manera
iterativa e incremental
6 - Modelos del proceso personal y del equipo
Un proceso de software debe también cubrir las necesidades del equipo que lo
desarrollará. Hay dos enfoques:
El proceso personal del software (PPS) mide a nivel individual el producto
generado como también la calidad del mismo. Delega al desarrollador el poder
de controlar el proceso de desarrollo. No es muy adoptado por la industria
dado que implica mucha capacitación y costos elevados.
El proceso del equipo de software (PES) contempla un equipo autodirigido el
cual planee, establezca metas y se adueñe de sus procesos y planes. Exige un
compromiso a nivel equipo pero proporciona mayores beneficios en cuanto
productividad y calidad.
7 - Tecnología del proceso
Existen herramientas de tecnología del proceso que ayudan al equipo de
desarrollo analizar, organizar, planificar, controlar y medir el avance del
proyecto y sus actividades
Definen alternativas de proceso donde se visualiza el tiempo o costo de cada
una
Al tener un proceso ya definido, permite asignar, vigilar y controlar todas las
tareas del mismo
8 - Producto y proceso

Si bien la calidad de un producto final está relacionada como


fue su proceso, esta relación no debe ser de estrecha
dependencia
El desarrollador obtiene tanta (o más) satisfacción del
proceso creativo como del producto final

También podría gustarte