SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
Análisis de Sistemas

TEMA 2
Modelos de proceso del software

María N. Moreno García
Departamento de Informática y Automática
Universidad de Salamanca
Análisis de Sistemas

Contenidos
1. Conceptos básicos
2. Procesos del ciclo d vida
2 P
d l i l de id
3. Modelos de proceso
Modelo clásico
Modelos iterativos basados en prototipos
Modelos en espiral
Desarrollo rápido de aplicaciones
Modelos orientados a la reutilización
Modelos para sistemas orientados a objetos
Procesos ágiles
Modelos de proceso de la Ingeniería Web

Modelos de proceso del software 2
Análisis de Sistemas

Conceptos básicos
Proceso del software: conjunto de actividades y resultados
asociados que conducen a l creación d un producto software
i d
d
la
ió de
d t
ft
[Sommerville, 2002]
Ciclo de vida del software: Aproximación lógica a la adquisición ,
p
g
q
el suministro, el desarrollo, la explotación y el mantenimiento del
software (norma IEEE 1074) [IEEE, 1999]
El ciclo de vida incluye
Ciclo de desarrollo del sistema
Tiempo de vida del sistema

Modelo de ciclo de vida: 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 l vida d l sistema d d l d fi i ió d l requisitos
b
d la id del i t
desde la definición de los
i it
hasta la finalización de su uso (norma ISO 12207-1) [ISO/IEC, 1995]
Actividad: conjunto de tareas
Tarea: acción que t
T
ió
transforma entradas en salidas
f
t d
lid
Modelos de proceso del software 3
Análisis de Sistemas

Procesos del ciclo de vida (I)
Norma ISO 12207-1 [ISO/IEC, 1995]
Procesos principales
Adquisición
Suministro
Desarrollo
Explotación
Mantenimiento

Procesos de la organización (generales)
Gestión
Mejora
M j
Infraestructura
Formación

Procesos de soporte
Documentación
Gestión de la configuración
Aseguramiento de la calidad
Verificación
Validación
Revisión conjunta
Auditoría
Resolución de problemas

Nuevos procesos (amendments 2002-2005)
Usabilidad
Evaluación de productos
Recursos Humanos
Gestión de “assets”
Gestión de petición de cambios
Gestión del programa de reutilización
Ingeniería del dominio

Modelos de proceso del software 4
Análisis de Sistemas

Procesos del ciclo de vida (II)
Norma ISO/IEC 12207:2008 [ISO/IEC, 2008]
Procesos d l ciclo de vida del sistema
P
del i l d id d l i t
Procesos de acuerdo (agreement): Adquisición, suministro
Procesos de organización del proyecto: Gestión del modelo de ciclo de vida, gestión
de la infraestructura, gestión del porfolio del proyecto, gestión de recursos humanos
infraestructura
proyecto
humanos,
gestión de la calidad
Procesos del proyecto: Planificación del proyecto, control y evaluación del proyecto,
gestión de las decisiones gestión de riesgos gestión de la configuración gestión de
decisiones,
riesgos,
configuración,
la información, medición
Procesos técnicos: Definición de requisitos de los stakeholders, análisis de requisitos
del sistema, diseño arquitectónico del sistema

Procesos específicos del software
Procesos de implementación del software: análisis de requisitos, diseño
arquitectónico, diseño detallado, construcción, integración, prueba
g
Procesos de soporte del software: Gestión de la documentación, gestión de la
configuración, aseguramiento de la calidad, verificación, validación, revisión conjunta,
auditoría, resolución de problemas
Procesos de reutilización del software: Ingeniería del dominio, gestión de assets,
gestión del programa de reutilización
Modelos de proceso del software 5
Análisis de Sistemas

Modelos de proceso
Modelos tradicionales
Formados por un conjunto d f
F
d
j t de fases o
actividades en las que que no tienen en
cuenta la naturaleza evolutiva del
software
Clásico, lineal o en cascada
Estructurado
Basado en prototipos
p
p
Desarrollo rápido de aplicaciones (RAD)

Modelos evolutivos
Son modelos que se adaptan a la
evolución que sufren los requisitos del
sistema en función del tiempo
En espiral
p
Evolutivo
Incremental
Modelo de desarrollo concurrente

Modelos orientados a la
reutilización
Basado en componentes
Proceso Unificado

Modelos para sistemas
orientados a objetos
Modelos con un alto grado de
iteratividad y solapamiento entre
p
fases
De agrupamiento
Fuente
Basado en componentes
Proceso Unificado

Procesos ágiles
Programación extrema (XP)
P
ió
t
Desarrollo de software adaptativo
Scrum, Crystal …

Modelos para sistemas web
UML-based Web Engineering
Modelos de proceso del software 6
Análisis de Sistemas

Modelos de proceso
Modelo clásico (I)
Conocido también como modelo lineal o “en cascada”
Versión original se debe a W. W. Royce [Royce, 1970], apareciendo
después numerosos refinamientos
Ca acte st cas
Características
Está compuesto por una serie de fases que se ejecutan secuencialmente
Obtención de documentos como criterio de finalización de fase
Problemas de la progresión
secuencial
Desconocimiento de las
necesidades por parte del
cliente

Análisis
Diseño

Inestabilidad de los requisitos
No se ven resultados hasta
muy avanzado el proyecto
Efecto big bang próximo a la
entrega

Codificación
Prueba
Ciclo de vida clásico
Modelos de proceso del software 7
Análisis de Sistemas

Modelos de proceso
Modelo clásico (II)
Modelo satisfactorio sólo en desarrollos conocidos y estables
El desconocimiento y el riesgo suele ser alto en el desarrollo del software
La linealidad no se corresponde con la realidad
Los retornos de información entre las fases se hacen necesarios para incorporar
correcciones hacia arriba en función de los descubrimientos realizados hacia
arriba,
abajo
Estos retornos entre fases perturban la visión lineal dada por el ciclo de vida en
cascada
Los retornos están limitados a fases adyacentes
Análisis
Diseño
Codificación
Prueba
Ciclo de vida clásico con realimentación
Modelos de proceso del software 8
Análisis de Sistemas

Modelos de proceso
Modelos iterativos basados en prototipos (I)
Un prototipo es un modelo experimental de un sistema o de un componente
de un sistema que tiene los suficientes elementos que permiten su uso
Objetivos:
Son un medio eficaz para aclarar los requisitos de los usuarios e identificar
las características de un sistema que deben cambiarse o añadirse
Mediante e p otot po se puede verificar la viabilidad de d se o de u s ste a
ed a te el prototipo
e ca a ab dad del diseño
un sistema

Características:
Es una aplicación que funciona
Su finalidad es probar varias suposiciones con respecto a las características
requeridas por el sistema
Se crean con rapidez
Evolucionan a través de un proceso iterativo
Tienen un costo bajo de desarrollo

Modelos de proceso del software 9
Análisis de Sistemas

Modelos de proceso
Modelos iterativos basados en prototipos (II)
Tipos de prototipos
Prototipos desechables: El prototipo es una versión rudimentaria del sistema que
posteriormente es desechada
Prototipos evolutivos: El prototipo debe convertirse, eventualmente, en el
sistema final usado (alternativa al ciclo de vida)
Combinación de prototipos evolutivos y desechables (prototipado operativo):
Se aplican técnicas convencionales para los requisitos bien conocidos y se crea una
línea base”
”línea base
Combinación de prototipos desechables y evolutivos para los requisitos poco conocidos
DESECHABLE
Enfoque de
desarrollo

EVOLUTIVO

Rápido y sin rigor

Riguroso

Qué construir problemáticas
bl áti

Sólo las partes

Primero las partes bien entendidas.
Sobre
S b una b
base sólida.
ólid

Directrices
del diseño

Optimizar el tiempo de
desarrollo

Optimizar la modificabilidad

Objetivo
último

Desecharlo

Incluirlo en el sistema

Diferencias entre los prototipos desechables y evolutivos
Modelos de proceso del software 10
Análisis de Sistemas

Modelos de proceso
Modelos iterativos basados en prototipos (III)
Prototipos desechables
Características:
Se desarrolla código para explorar factores críticos para el éxito del sistema
La implementación usa lenguajes y/o métodos de desarrollo más rápidos que los
definitivos
Se usa como herramienta auxiliar de la especificación de requisitos y el diseño:
Determinar la viabilidad de los requisitos
validar la funcionalidad del sistema
Encontrar requisitos ocultos.
q
Determinar la viabilidad de la interfaz de usuario.
Examinar alternativas de diseño.
Validar una arquitectura de diseño particular

Aplicaciones:
p cac o es
Interfaz de usuario
Formatos de informes
Formatos de gráficos
Organización de bases de datos
Rendimiento de bases de datos
Precisión e implementación de cálculos complejos
Partes con respuesta crítica en el tiempo en sistemas de tiempo real
Rendimiento de sistemas interactivos
Viabilidad de partes del sistema en las que no se tiene experiencia
Modelos de proceso del software 11
Análisis de Sistemas

Modelos de proceso
Modelos iterativos basados en prototipos (IV)
Prototipado evolutivo (ciclo de vida iterativo)
Características:
Enfoque de desarrollo que se utiliza cuando no se conoce con seguridad lo que
se quiere construir
Se comienza diseñando e implementando las partes más destacadas del
sistema
La evaluación del prototipo proporciona la realimentación necesaria para
aumentar y refinar el prototipo
El prototipo evoluciona y se transforma en el sistema final

Concepto
inicial

Diseño e
implementación
del prototipo
inicial
i i i l

Refinar el prototipo
hasta que sea
aceptable

Completar y
entregar el
prototipo

Modelo de prototipado evolutivo
Modelos de proceso del software 12
Análisis de Sistemas

Modelos de proceso
Modelos en espiral (I)
Ciclo de vida en espiral
Fue propuesto inicialmente por B. Boehm [Boehm, 1986, 1988]
Es un modelo de proceso de software evolutivo, que proporciona el
potencial para el desarrollo rápido de versiones incrementales del
software
Características
Puede considerarse como un metamodelo de proceso
Principalmente, reúne características del modelo clásico y de prototipos

Aparece el análisis de riesgo
Se divide en un número de actividades estructurales, también denominadas
regiones d t
i
de tareas. E el modelo original d B h aparecen cuatro
En l
d l
i i l de Boehm
t
regiones de tareas
Planificación, Análisis de riesgos, Ingeniería, Evaluación del cliente

El avance se realiza desde el centro de la espiral hacia el exterior
Modelos de proceso del software 13
Análisis de Sistemas

Modelos de proceso
Modelos en espiral (II)

Determinar objetivos,
Evaluar alternativas Identificar y
resolver riesgos

alternativas
Análisis
de riesgo

y restricciones

Análisis
de riesgo
Análisis
de riesgo
Análisis Protode riesgo tipo 1
Plan de requisitos y
del ciclo de vida

Plan de desarrollo
Plan de
integración y prueba

Prototipo
ti 2

Protot po
tipo 3

Simulaciones
Operación
Espec.
requisitos Diseño
Validación
requisitos
V&V
diseño
Servicio.

Diseño
detallado

Codificación

Pruebas
unidad
Pruebas
aceptación.

Desarrollo, verificación del
siguiente nivel del
producto

Plan para la próxima fase

Ciclo de vida en espiral [Boehm, 1988]
Modelos de proceso del software 14
Análisis de Sistemas

Modelos de proceso
Modelos en espiral (III)
Modelo en espiral de Pressman [Pressman, 2002]
Variante del modelo de Boehm con 6 regiones de tareas
Se define un eje con diferentes puntos de entrada para diferentes tipos de
proyectos
t
Planificación

Análisis de
riesgos

Comunicación
con el cliente

Puntos de entrada al proyecto
Proyecto de mantenimiento de productos
Proyecto de mejora de productos
ingeniería

Proyecto de desarrollo de productos nuevos
Proyecto de d
P
d desarrollo d conceptos
ll de

Evaluación
del cliente

Construcción y
adaptación

Modelo en espiral de Pressman
Modelos de proceso del software 15
Análisis de Sistemas

Modelos de proceso
Modelos en espiral (IV)
Modelo win-win [Boehm et al., 1998]
Extiende el modelo en espiral haciendo énfasis en las condiciones de
éxito (ganancia) de todas las partes involucradas en el proyecto
Consta de cuatro ciclos:
Ciclo 0. Grupos de aplicación: Determinación de la viabilidad de un grupo
Ciclo 1. Objetivos del ciclo de vida de la aplicación: objetivos, prototipos
1
objetivos prototipos,
planes, especificaciones de cada aplicación y arquitectura viable
Ciclo 2. Arquitectura del ciclo de vida de la aplicación: establecimiento de
una arquitectura d ll d y verificación d su viabilidad
i
detallada
ifi
ió de
i bilid d
Ciclo 3. Capacidad de operación inicial: consecución de la capacidad para
cada etapa crítica del proyecto

Modelos de proceso del software 16
Análisis de Sistemas

Modelos de proceso
Modelos en espiral (V)
Modelo win-win [Boehm et al., 1998]

Modelos de proceso del software 17
Análisis de Sistemas

Modelos de proceso
Desarrollo rápido de aplicaciones (I)
El modelo de desarrollo rápido de aplicaciones, DRA (RAD – Rapid
Application Development) o modelo de la caja de tiempo surgió como
respuesta al modelo formal y al ciclo en espiral
Enfatiza un ciclo de desarrollo extremadamente corto
Modelo funcional en 60 ó 90 dí
M d l f
i
l
días

No es un modelo bien definido
Secuencia de integraciones de un sistema evolutivo o de prototipos que se
revisan con el cliente
descubrimiento de los requisitos
Cada integración se restringe a un período de tiempo bien definido (caja de
tiempo)

Características
C
t í ti
Modelo secuencial: Separación en fases de cada caja de tiempo
Integraciones constantes
Centrado en el código más que en la documentación
Desarrollo basado en componentes
Uso efectivo de herramientas y frameworks
Participación activa del usuario
Modelos de proceso del software 18
Análisis de Sistemas

Modelos de proceso
Desarrollo rápido de aplicaciones (II)
Equipo nº 3
Modelado
de gestión
Modelado
Equipo nº 2
de datos
Modelado
Modelado
de procesos
de gestión
Gener. de

Modelado
aplicaciones
de datos
Pruebas y
Modelado
Modelado
entrega
de procesos
de gestión
Gener. de
Modelado
aplicaciones
de datos
Pruebas y
entrega

Equipo nº 1

Modelado
de procesos

Gener. de

aplicaciones
p

Cuando se utiliza en S.I.
Automatizados,
comprende las fases [Kerr
y Hunter, 1994]
Modelado de gestión
Modelado de datos
Modelado del proceso
Generación de
aplicaciones
Pruebas y entrega

Pruebas y
entrega

De 60 a 90 días
Modelo DRA [Kerr y Hunter, 1994]
Modelos de proceso del software 19
Análisis de Sistemas

Modelos de proceso
Desarrollo rápido de aplicaciones (III)
Las limitaciones de tiempo demandan un ámbito de escalas
p
Si una aplicación de gestión puede modularse de forma que
p
pueda completarse cada una de las funciones p
p
principales en
p
menos de tres meses, es un candidato del DRA. Cada una de
estas funciones puede ser afrontadas por un equipo DRA
diferente y ser integradas en una sola aplicación
Inconvenientes [Butler, 1994]
Los proyectos grandes necesitan los recursos humanos suficientes
para crear el número correcto de equipos
Se requiere de un compromiso de las partes involucradas

Modelos de proceso del software 20
Análisis de Sistemas

Modelos de proceso
Modelos orientados a la reutilización (I)
Enfoque de desarrollo que trata de maximizar la reutilización de software
existente [Sommerville, 2002]
i t t [S
ill
Las unidades software reutilizables pueden ser de diferente tamaño:
Sistemas de aplicaciones: se reutiliza la totalidad del sistema
Sin ningún cambio (reutilización de productos COTS)
Desarrollo de familias de aplicaciones para plataformas diferentes o necesidades
específicas

Componentes: la reutilización va desde subsistemas hasta objetos simples
Funciones: componentes de software que implementan una sola función
Familias de aplicaciones o líneas de productos: conjunto relacionado de
aplicaciones que tiene una arquitectura común de dominio específico. Existen varios
tipos de especialización:
De la plataforma: varias versiones de la aplicación se desarrollan para diferente
plataforma
De la configuración: se crean diferentes versiones para manejar diversos
dispositivos periféricos
De la funcionalidad: diferentes versiones para clientes con requisitos diferentes
Modelos de proceso del software 21
Análisis de Sistemas

Modelos de proceso
Modelos orientados a la reutilización (II)
Desarrollo basado en componentes (I)
Configura aplicaciones a partir d componentes d software preparados
C fi
li
i
ti de
t de ft
d
[Pressman, 2002]
Enfoque iterativo y evolutivo [Nierstrasz, 1999]
Se enmarca en un contexto más amplio: ingeniería del software basada en
componentes
Planificación

Análisis de
riesgos

Identificar
componentes
candidatos

Comunicación
con el cliente

Construir la
iteración del
sistema

Evaluación
del cliente

Construcción y
adaptación de la
ingeniería

Buscar
componentes
en bibliotecas

Poner nuevos
componentes
en biblioteca

Extraer
componentes
disponibles

Construir
componentes
no di
disponibles
ibl

Modelos de proceso del software 22
Análisis de Sistemas

Modelos de proceso
Modelos orientados a la reutilización (III)
Desarrollo basado en componentes (II)
p
( )
Un componente es una unidad ejecutable e independiente
Los componentes publican su interfaz y todas las interacciones son a
través de ella
Una interfaz que se suministra define los servicios que ofrece el componente
Una interfaz que se solicita especifica qué servicios deben estar disponibles

Para el desarrollo con reutilización:
Debe ser posible encontrar los componentes re tili ables apropiados
reutilizables
Se debe confiar en que los componentes que se utilizan se comportan
conforme a lo especificado y son fiables
Los componentes deben tener documentación asociada para ayudar a
comprenderlos y adaptarlos a una nueva aplicación

Modelos de proceso del software 23
Análisis de Sistemas

Modelos de proceso
Modelos orientados a la reutilización (IV)
Ingeniería del software basada en componentes
Ingeniería del dominio
Desarrollo basado en
componentes
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 d
d t
de un d i i
dominio d
de
aplicación particular

Ingeniería del dominio
Análisis del
dominio

Desarrollo de
la
l arquitectura
it t
del software

Modelo del
dominio
d i i

Desarrollo
basado en
componentes
Análisis

Desarrollo de
componentes
t
reutilizables
Artefactos/
componentes
reutilizables
tili bl
de la reserva

Modelo
estructural
t
t
l

Actualización de
componentes

Cualificación de
componentes
Adaptación de
componentes

Diseño
arquitectónico

Software de
aplicaciones

Composición de
componentes

Ingeniería de
componentes

Comprobación

[Presman,
[Presman 2001]
Ingeniería del software basada en componentes
Modelos de proceso del software 24
Análisis de Sistemas

Modelos de proceso
Modelos orientados a la reutilización (V)
Actividades de la ingeniería del dominio
Análisis del dominio:
Definir el dominio a investigar
Categorizar los elementos extraídos del dominio
Recoger una muestra representativa de las aplicaciones del dominio
Analizar cada aplicación de la muestra
Desarrollar un modelo de análisis para los objetos
Definir un lenguaje del dominio: hace posible la especificación y construcción
posterior de aplicaciones dentro del dominio

Modelo del dominio: resultado de las actividades anteriores
Modelado estructural: Enfoque de ingeniería basado en tramas que
opera efectuando la suposición consistente de que todo dominio de
aplicación posee tramas repetidas (de función, de datos y de
comportamiento) que tienen un potencial de reutilización
Todo dominio de aplicación se puede caracterizar por un modelo estructural
Un modelo estructural es un estilo arquitectónico reutilizable
Punto de estructura: estructura bien diferenciada dentro de un modelo
estructural (genéricos: aplicaciones cliente, b
t t l(
éi
li
i
li t bases d d t
de datos, motores d cálculo,
t
de ál l
función de reproducción de informes, editor de aplicaciones)
Modelos de proceso del software 25
Análisis de Sistemas

Modelos de proceso
Modelos orientados a la reutilización (VI)
Actividades del desarrollo basado en componentes
Cualificación de componentes: Asegura que un componente
candidato llevará a cabo la función necesaria, encajará en el estilo
arquitectónico del sistema y tendrá la calidad requerida
Adaptación de componentes: Elimina conflictos de integración
Enmascaramiento de caja blanca, gris o negra

Composición de componentes: Ensambla componentes
cualificados, adaptados y diseñados p
,
p
para la arquitectura
q
establecida
Ingeniería de componentes: Diseño de componentes para su
reutilización
Actualización de componentes: El software actual se reemplaza
a medida que se dispone de nuevas versiones de componentes
Modelos de proceso del software 26
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (I)

Características
Eliminación de las fronteras entre fases
Desarrollo basado en componentes reutilizables
Desarrollo iterativo e incremental
Las tareas de cada fase se realizan de forma iterativa
Existe un ciclo de desarrollo que permite la evolución del sistema
Alto grado de iteración y solapamiento
El sistema se divide en un conjunto de particiones que se van
desarrollando e integrando de forma incremental

Se pueden combinar con modelos tradicionales

Modelos de proceso del software 27
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (II)

Modelo de agrupamiento (I)
Propuesto por Bertrand Meyer [Meyer, 1990]
Concepto clave: AGRUPAMIENTO (cluster) [Meyer, 1999]
Unidad organizativa básica
Grupo de clases relacionadas o, recursivamente, clusters
relacionados
Unidad t l
U id d natural para el d
l desarrollo por parte d un ú i d
ll
t de
único desarrollador
ll d
Evita el efecto todo-nada propio del modelo en cascada

Tiene un componente secuencial y un componente concurrente
p
p
Existencia de diferentes subciclos de vida (uno para cada cluster)
que pueden solaparse en el tiempo
Cada subciclo de vida que gobierna el desarrollo de un cluster está
formado por
Especificación, Diseño, Implementación, Verificación/Validación y
Generalización
Modelos de proceso del software 28
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (III)

Modelo de agrupamiento (II)
Enfoque ascendente
La ocultación de la información posibilita la forma del modelo

Tiempo

de clusters de ingeniería concurrente

Espec

Espec
Espec

DisRea

DisRea
DisRea

ValGen

ValGen

ValGen

Agrupamiento n

Agrupamiento 2

Agrupamiento 1
Tiempo

Distribución temporal de las fases de cada agrupamiento
Modelos de proceso del software 29
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (IV)

Modelo fuente (I)
Definido por Henderson-Sellers y Edwards en 1990 [HendersonSellers y Edwards, 1990]
Representa gráficamente el alto grado de iteración y
solapamiento que hace posible la tecnología de objetos
Propone dos modelos d ciclo d vida
P
d
d l de i l de id
Para el sistema completo
Para cada clase o módulo: Cada clase puede estar en una fase
diferente del ciclo de vida durante el desarrollo del sistema
El modelo permite la integración del análisis de dominio: identificación,
análisis y especificación de requisitos comunes de un dominio de
aplicación específico

Modelos de proceso del software 30
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (V)

Modelo fuente (II)
Utilización
Mantenimiento

Evolución

Utilización

Generalización
Re-evaluación

Generalización
Re-evaluación

Prueba
Pruebas
Sistema
Pruebas
Unitarias
Codificación
Componentes
Diseño
Conceptual

Implementación

Diseño de
Componente
Diseño
Conceptual

Análisis

Análisis

Estudio de
viabilidad y
requisitos

Requisitos

Piscina SW

Piscina SW

Modelo fuente para el sistema y para un componente
Modelos de proceso del software 31
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (VI)

El proceso unificado (I)
Definido por Rational Software Corporation [Jacobson et al., 2000]
Evolución del proceso Objectory de Rational
Utilización de UML [Booch et al., 1999] como lenguaje de modelado
[
,
]
g j
Basado en componentes

Características
Conducido por casos de uso
Los casos de uso se implementan para asegurar que toda la funcionalidad
se realiza en el sistema y verificar y probar el mismo. Como los casos de
uso contienen las descripciones de las funciones, afectan a todas las fases
y vistas

Centrado en la arquitectura
La arquitectura se describe mediante diferentes vistas del sistema. Es
importante establecer una arquitectura básica pronto, realizar prototipos,
i
t t
t bl
it t
bá i
t
li
t ti
evaluarla y finalmente refinarla durante el curso del proyecto

Iterativo e incremental
Resulta práctico dividir los grandes proyectos en mini proyectos cada uno
proyectos,
de los cuales es una iteración que resulta en un incremento
Modelos de proceso del software 32
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (VII)

El proceso unificado (II)
El Proceso Unificado se repite a lo largo de una serie de
ciclos
Cada ciclo consta de cuatro fases:
Inicio: se define el alcance del proyecto y se desarrollan los
casos de negocio
Elaboración: se planifica el proyecto, se especifican en
detalle la mayoría de los casos de uso y se diseña la
arquitectura del sistema
it t
d l i t
Construcción: se construye el producto
Transición: el producto se convierte en versión beta Se
beta.
corrigen problemas y se incorporan mejoras sugeridas en la
revisión

Modelos de proceso del software 33
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (VIII)

El proceso unificado (III)
Dentro de cada fase se puede, a su vez, descomponer el trabajo
en iteraciones con sus incrementos resultantes
Cada fase termina con un hito, cada uno de los cuales se
caracteriza por la disponibilidad de un conjunto de componentes
de software
Objetivos de los hitos:
Toma de decisiones para continuar con la siguiente fase
Controlar el progreso del proyecto
Proporcionar información para la estimación de tiempo y
recursos de proyectos sucesivos

Modelos de proceso del software 34
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (IX)

El proceso unificado (IV)
Cada ciclo concluye con una versión del producto para los clientes
Inicio

Elaboración

Construcción

Transición

tiempo
Vista

Inicio

Línea base
de arquitectura

Elaboración

Prelim ...
Iteración

Arqu.
Iteración

...

Versión Versión

Capacidad
inicial

Construcción
Des.
Des.
Iteración Iteración

Versión del
producto

Transición
...

Trans.
Iteración

...

Versión Versión Versión Versión

Versión

Modelos de proceso del software 35
Análisis de Sistemas

Modelos de proceso
Modelos para sistemas OO (X)

El proceso unificado (IV)
Las it
L iteraciones discurren a lo largo de los flujos d t b j
i
di
l l
d l fl j de trabajo
Fases
Flujos de trabajo

Inicio

Elaboración

Construcción

Transición

Requisitos

Análisis

Diseño

Implementación

Pruebas
Iteraciones
preliminares

ite r.
#1

ite r.
#2

ite r.
#n

ite r.
#n+1

Iteraciones

ite r.
#n +2

ite r.
#m

ite r.
#m +1

Modelos de proceso del software 36
Análisis de Sistemas

Modelos de proceso
Procesos ágiles (I)
Los procesos ágiles constituyen un nuevo enfoque en el desarrollo
de software cuyas principales características son:
Menor énfasis en el análisis, diseño y documentación
Equipos pequeños
Desarrollo incremental
Programación (planificación temporal) en cajas de tiempo
Supervivencia en un entorno caótico

Las
L aproximaciones á il emplean procesos té i
i
i
ágiles
l
técnicos y d gestión
de
tió
que continuamente se adaptan y se ajustan a (Turk et al., 2002)
Cambios derivados de las experiencias ganadas durante el desarrollo
g
Cambios en los requisitos
Cambios en el entorno de desarrollo

Diversas aproximaciones
XP (eXtreme Programming) [Beck, 1999]
Crystal [Alistair Cockburn, 1999]
Proceso Software Adaptativo [Jim Highsmith, 2000]
Scrum [Schwaber, 1995]
Modelos de proceso del software 37
Análisis de Sistemas

Modelos de proceso
Procesos ágiles (II)
Programación extrema [Beck, 1999]
Nuevo y controvertido enfoque de desarrollo de software
basado en el modelo incremental
Está indicado para
p
Equipos de tamaño mediano o pequeño
Requisitos imprecisos y cambiantes

Características:
C
t í ti
El juego de la planificación
Versiones pequeñas
Metáfora
Diseño sencillo
Hacer pruebas
p
Refactoring

Programación en parejas
Propiedad colectiva
Integración continua
Cliente in-situ
Estándares de codificación

Según Beck (2000) XP descansa sobre cuatro valores
Comunicación
Sencillez

Realimentación
Valentía
Modelos de proceso del software 38
Análisis de Sistemas

Modelos de proceso
Procesos ágiles (III)
Desarrollo de software adaptativo (I) [Highsmith, 2000]
Modelo ágil
M d l á il y adaptativo b
d t ti basado en l colaboración y orientado al
d
la l b
ió
i t d l
desarrollo de sistemas complejos
Fases del ciclo de vida:
Especulación
Inicio del proyecto
Planificación del ciclo adaptativo: enunciado, restricciones y requisitos básicos
Plan de lanzamiento: definición de un conjunto de ciclos (incrementos)

Colaboración
Construir la funcionalidad definida en la fase anterior
Uso de técnicas JAD (Joint Application Development) y trabajo colaborativo

Aprendizaje
Revisión de calidad al final de cada ciclo
Aprendizaje
Grupos enfocados
Revisiones técnicas formales
Post mortem
Modelos de proceso del software 39
Análisis de Sistemas

Modelos de proceso
Procesos ágiles (IV)

Desarrollo de software adaptativo (II)

Modelos de proceso del software 40
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (I)
Las características de sistemas y aplicaciones basados en Web
influyen enormemente en el proceso de Ingeniería Web (IWeb):
Intensivas de red
Controladas por contenido
Evolución continua
Inmediatez
Estética
E téti …

El ciclo de desarrollo de una aplicación Web consta de las siguientes
fases de ingeniería:
g
Definición y análisis de los sistemas Web
Diseño de los sistemas Web
Diseño arquitectónico
Diseño de la navegación
Diseño de la interfaz

Pruebas de las aplicaciones Web
Modelos de proceso del software 41
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (II)

Modelo de Pressman (I) [Pressman, 2002]

Planificación
Análisis
Formulación

Ingeniería
Evaluación
del cliente

Diseño del
contenido

Diseño
arquitectónico

Producción

Diseño de
la navegación
Diseño de la
interfaz

Generación de
páginas y
pruebas

Modelo de proceso de IWEB [Pressman, 2002]
Modelos de proceso del software 42
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (III)

Modelo de Pressman (II)
Formulación: identificación de metas y objetivos
Planificación: estimación de costes, evaluación de riesgos y
planificación temporal del proyecto
Análisis: establecimiento de requisitos
Ingeniería: dos grupos de tareas paralelas
paralelas,
Técnicas (diseño arquitectónico, de navegación y de interfaz)
No técnicas (diseño del contenido y producción)
(
p
)

Generación de páginas y pruebas
El contenido se fusiona con los diseños arquitectónico, de navegación
y de interfaz para elaborar páginas web ejecutables en HTML, JSP...
Integración con el software intermedio (middleware) de componentes

Evaluación con el cliente: revisión de cada incremento y solicitud de
cambios
Modelos de proceso del software 43
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (IV)

Modelo de Pressman (III) [Pressman, 2006]
Comunicación con el cliente:
Análisis de negocio
Formulación
F
l ió

Planificación: definición de tareas y calendario para el desarrollo
de un incremento
Modelado: las actividades de análisis y diseño convencionales se
adaptan y se funden con las específicas de las aplicaciones Web
Construcción: construcción y prueba de un incremento
Despliegue
Configuración d l aplicación para su ambiente operativo
C fi
ió de la li
ió
bi t
ti
Entrega a los usuarios
Evaluación

Las actividades se realizan siguiendo un flujo de proceso incremental
Modelos de proceso del software 44
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (V)
El proceso unificado en la Ingeniería Web (I)
La clave para utilizar el Proceso Unificado en el desarrollo de aplicaciones
Web la dan los casos de uso (Ward y Kroll, 1999)
Integran el marco de ingeniería, que ofrece el Proceso Unificado, con el proceso
de diseño creativo que caracteriza a las aplicaciones Web
Ofrecen una forma de expresar en términos comunes un entendimiento
compartido del comportamiento esperado de la aplicación Web
Juegan el papel de lengua franca en los proyectos software, es decir, son el
lenguaje hablado por todos los implicados en la definición y el desarrollo del
sistema Web

Integración del diseño creativo en el desarrollo
Requisitos

Prototipo inicial de IU Web

Diseño creativo

Guías IU

Mapa de navegación

Prototipo completo de IU Web

Simulación del diseño creativo

Mapa de navegación completo

Elementos de diseño Web
Modelos de proceso del software 45
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (VI)
El proceso unificado en la Ingeniería Web (II)

Modelos de proceso del software 46
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (VII)
El proceso unificado en la Ingeniería Web (III)
Requisitos
R
i it
Visión
Acuerdo sobre los problemas que deben resolverse
Definición de los límites del i t
D fi i ió d l lí it d l sistema
Descripción de las características más importantes del sistema

Modelo de casos de uso: documentación de los requisitos que permite a los
usuarios articular sus necesidades (servicios del sistema)
Los actores representan a los usuarios
Los casos de uso representan los servicios

Especificación suplementaria: contiene los requisitos no funcionales. Conviene
desarrollar un glosario con la terminología común del proyecto

Diseño creativo: guías iniciales de la interfaz de usuario
El “humor del sitio
humor
sitio”
Cómo accederán los usuarios al sitio, qué navegadores usarán
Si el sitio tendrá marcos
Limitaciones de color d l sitio
Li it i
d
l del iti
Aspectos relativos a gráficos, animaciones...
Modelos de proceso del software 47
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (VIII)
El proceso unificado en la Ingeniería Web (IV)
Mapa de navegación: representación jerárquica de la navegación de
los usuarios en el sitio (site map)
El número de niveles representa el número de clicks necesarios para llegar
a una página
Toma como referencia el modelo de casos de uso
Se identifican “páginas lógicas” candidatas para la interfaz de usuario. Se
representan en el análisis con el constructor UML boundary class
p
y

Modelos de proceso del software 48
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (IX)
El proceso unificado en la Ingeniería Web (V)
Simulación d l di ñ
Si l ió del diseño creativo: actividad d prototipado d l
ti
ti id d de
t ti d de la
interfaz de usuario de RUP
Se toma un caso de uso principal y se generan diseños alternativos
Se construyen prototipos de los diseños seleccionados por los
stakeholders

Elementos de diseño Web: imágenes gráficas discretas que se
ensamblan para construir la página web
Reutilización de componentes gráficos estándar
Identificación de componentes a partir de casos de uso
Se crean en paralelo con el diseño inicial del prototipo de IU

Prototipo inicial de IU Web: actividad RUP de protototipado de la
interfaz de usuario
Soporta sólo una porción del sistema
Se utilizan los elementos de diseño identificados en la etapa anterior
Modelos de proceso del software 49
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (X)
El proceso unificado en la Ingeniería Web (VI)
Guías IU: actividad RUP de Guías de desarrollo de IU
Prototipo completo de IU Web: extiende el prototipo inicial para
cubrir todos los casos de uso
Muestra la navegación completa entre pantallas y todos los
elementos visuales del sitio
Las páginas del prototipo se refinarán de forma iterativa en el
desarrollo

Mapa de navegación completo
Se basa en el mapa inicial y en la definición completa de los casos de
uso
Incluye t d las páginas/pantallas d l prototipo IU W b
I l
todas l
á i
/
t ll del
t ti
Web

Modelos de proceso del software 50
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la Ingeniería Web (XI)
UWE (UML-based Web Engineering) (I)
[Koch,
[Koch 2001; Hennicker y Koch 2000]
Koch,
Desarrollo iterativo e incremental: basado en el
Proceso unificado
Uso de UML: perfil UML propio
Centrado en la sistematización y automatización:
Proceso sistemático de diseño
á
Generación semiautomática de aplicaciones web a
través de un framework de publicación XML
(UWEXML)

UWE comprende:
Una notación
Un método
Un metamodelo
Un proceso de desarrollo
Una herramienta CASE
Modelos de proceso del software 51
Análisis de Sistemas

Modelos de proceso
Modelos de proceso de la
Ingeniería Web (XII)
UWE (UML b
(UML-based Web
dW b
Engineering) (II)

Vista general del proceso UWE
Modelos de proceso del software 52
Análisis de Sistemas

Bibliografía
Ambler, S. W. “In search of a generic SDLC for object systems”. Object Magazine, 4(6): 76-78, 1994.
Beck, K. “Embracing Change with Extrem Programming”, IEEE Computer 32, pp. 70-77, 1999.
Beck, K. “Extreme Programming Explained. Embrace Change”. Addison-Wesley, 2000.
Birrel, N. D., Ould, M.A. A
Birrel N D Ould M A “A practical Handbook for Software Development”. Cambridge University Press 1985
Development
Press, 1985.
Boehm, B. W. “A Spiral Model of Software Development and Enhancement”. ACM Software Engineering Notes,
11(4):22-42. 1986.
Boehm, B. W. “A Spiral Model of Software Development and Enhancement”. Computer , 21(5): 61-72 , 1988.
Boehm, B., Egyed, A., Port, D., Shah, A., Kwan, J., Madachy, R. “A Stakeholder Win-Win Approach to Software
Engineering Ed
E i
i
Education”. A
ti ” Annals of Software E i
l f S ft
Engineering , 6 295 321 1998
i
6, 295-321, 1998.
Booch, G., Rumbaugh, J., Jacobson, I. “El Lenguaje Unificado de Modelado”. Addison Wesley, 1999.
Butler, J. “Rapid Application Development in Action”. Managing System Development, Applied Computer Research,
14(5):6-8. May, 1994.
Cockburn, A. “Software Development as a Cooperative Game”, Humans and Tecnology inc., 1999.
http://alistair.cockburn.us/crystal/articles/sdacg/softwaredevelopmentasacooperativegame.html
htt // li t i
kb
/
t l/ ti l / d
/ ft
d
l
t
ti
ht l
Graham, I. “Métodos orientados a objetos”, Adison-Wesley, 1996.
Hennicker, R. y Koch, N. “A UML-based Methodology for Hypermedia Design”. En Proceedings of the Unified Modeling
Language Conference (UML’2000). A. Evans y S. Kent (Eds.). Lecture Notes in Computer Science LNCS Vol. 1939.
Páginas 410-424. Springer-Verlag, 2000.
g
p g
g
Henderson-Sellers, B., Edwards, J. M. “The fountain Model for object-oriented systems development”, Object
Magazine, julio/agosto, pp 71-79, 1993.
Henderson-Sellers, B., Edwards, J. M. “The object-oriented systems life cycle”, Communications of the ACM, 33(9):
143-159, 1990.
g
, ,
p
p
pp
g g
p
y
,
Highsmith, J., “Adaptive Software Development: A Colaborative Approach to Managing Complex Systems”, Dorset
House, 2000.
IEEE. “IEEE Software Engineering Standards Collection 1999 Edition. Volume 2: Process Standards”. IEEE
Computer Society Press, 1999.
ISO/IEC. “Information Technology – Software Life Cycle Processes”. Technical ISO/IEC 12207:1995(E), 1995.
SO/ C Syste s and Software engineering So t a e e cyc e processes”. SO/ C
0 008, 008
ISO/IEC. “Systems a d So t a e e g ee g - Software life cycle p ocesses ISO/IEC 12207:2008, 2008.

Modelos de proceso del software 53
Análisis de Sistemas

Bibliografía
Jacobson, I., Booch, G., Rumbaugh, J. “El Proceso Unificado de Desarrollo”, Addison Wesley, 2000.
Kerr, J., Hunter, R. “Inside RAD”, McGraw-Hill, 1994.
Koch, N.”Software Engineering for Adaptive Hypermedia Applications. Reference Model, Modeling Techniques and
,
g
g
p
yp
pp
,
g
q
Development Process”. PhD. Thesis, Ludwig-Maximilians-Universität München, 2001.
Kruchten, P. “Un processus de développement de logiciel itératif et centré sur lárchitecture”, Proceedings of the 4th
International Conference on Software Engineering. Toulouse, Paris, 1991.
Martin, J. “Rapid Application Development”, Prentice Hall, 1991.
Meyer, B. La
Meyer B “La Nueva Cultura del Desarrollo de Software , Systems pp. 12-13 Septiembre, 1990
Software” Systems, pp 12-13. Septiembre 1990.
Meyer, B. “Construcción de software orientado a objetos”, Prentice Hall, 1999.
Mills, H. D., Dyer, M., Linger, R. “Cleanroom Software Engineering”, IEEE Software, 4(5): 19-25. September 1987.
Muller, P. A. “Modelado de objetos con UML”, Eyrolles-Ediciones Gestión 2000, 1997.
Nierstrasz,O., Gibbs, S.J., Tsichritzis, D. “Component-Oriented Software Development”. CACM, 35(9): 160-165, 1992.
Piattini, M.G. et al. “Análisis y diseño detallado de aplicaciones Informáticas de Gestión”, Rama, 1996.
Pressman, R. S. “Ingeniería del Software, un enfoque práctico”, 5ª Edición. Mc Graw Hill, 2002.
Pressman, R. S. “Ingeniería del Software, un enfoque práctico”, 6ª Edición. Mc Graw Hill, 2006.
Royce, W. W. “Managing the Development of Large Software Systems: Concepts and Techniques”, In Proceedings
WESCON. August, 1970
WESCON August 1970.
Rumbaugh, J. “Over the waterfall and into the whirlpool”, JOOP, mayo, pp 23-26, 1992.
Sommerville, I. “Software Engineering”, 6th ed., Addison Wesley, 2001.
Schwaber, K. “SCRUM Development Process”. OOPSLA’95 Workshop on Business Object Design and Implementation,
http://www.tiac.netJusers/jsuthfoopsla/oo95summary.html, 10 Dee 95.
Turk, D., France, R. y Rumpe, B. (2002) Limitations of Agile Software Processes. En Proceedings of 4th International
Conference on eXtreme Programming and Agile Processes in Software Engineering, XP2002. (Alghero, Sardinia,
Italy, April 2002), pp. 43-46, 2002.
Ward, S. , Kroll, P., “Building Web Solutions with the Rational Unified Process: Unifying the Creative Design
Process and the Software Engineering Process”, Rational Software & Context Integration white paper, 1999.
g
g
,
g
p p ,

Modelos de proceso del software 54

Weitere ähnliche Inhalte

Was ist angesagt?

Ciclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gtCiclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gtDoris Aguagallo
 
Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4Eddie Malca
 
UML. un analisis comparativo para la diagramación de software
UML.  un analisis comparativo para la diagramación de softwareUML.  un analisis comparativo para la diagramación de software
UML. un analisis comparativo para la diagramación de softwareYaskelly Yedra
 
Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Marta Silvia Tabares
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDat@center S.A
 
Ciclo de vida del sw
Ciclo de vida del swCiclo de vida del sw
Ciclo de vida del swRVintimilla
 
Zurita mauricio presentacion
Zurita mauricio presentacionZurita mauricio presentacion
Zurita mauricio presentacionedumaury
 
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/Julio Pari
 
Fundamento del Diseño de Software
Fundamento del Diseño de SoftwareFundamento del Diseño de Software
Fundamento del Diseño de SoftwareGlamisleidys Chourio
 
Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo VVivitaGranizo
 

Was ist angesagt? (19)

Metodologia De Desarrollo De Software
Metodologia De Desarrollo De SoftwareMetodologia De Desarrollo De Software
Metodologia De Desarrollo De Software
 
Ciclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gtCiclosdevidadelsoftware 120724112952-phpapp02gt
Ciclosdevidadelsoftware 120724112952-phpapp02gt
 
Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4Curso de Ingeniería de Software - Capitulo4
Curso de Ingeniería de Software - Capitulo4
 
Ciclo de Vida del Software
Ciclo de Vida del SoftwareCiclo de Vida del Software
Ciclo de Vida del Software
 
Metodología de desarrollo
Metodología de desarrolloMetodología de desarrollo
Metodología de desarrollo
 
UML. un analisis comparativo para la diagramación de software
UML.  un analisis comparativo para la diagramación de softwareUML.  un analisis comparativo para la diagramación de software
UML. un analisis comparativo para la diagramación de software
 
Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4
 
AMSI
AMSIAMSI
AMSI
 
DiseñO De Sistemas
DiseñO De SistemasDiseñO De Sistemas
DiseñO De Sistemas
 
Modelos software
Modelos softwareModelos software
Modelos software
 
Modelos Prescriptivos de Proceso
Modelos Prescriptivos de ProcesoModelos Prescriptivos de Proceso
Modelos Prescriptivos de Proceso
 
Metodologia merinde y rup
Metodologia merinde y rupMetodologia merinde y rup
Metodologia merinde y rup
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 
Ciclo de vida del sw
Ciclo de vida del swCiclo de vida del sw
Ciclo de vida del sw
 
Zurita mauricio presentacion
Zurita mauricio presentacionZurita mauricio presentacion
Zurita mauricio presentacion
 
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
3 Clase Ciclo De Vida Del Software - http://blog.juliopari.com/
 
Fundamento del Diseño de Software
Fundamento del Diseño de SoftwareFundamento del Diseño de Software
Fundamento del Diseño de Software
 
Proceso unificado y modelo V
Proceso unificado y modelo VProceso unificado y modelo V
Proceso unificado y modelo V
 

Andere mochten auch

Andere mochten auch (6)

1057571401
10575714011057571401
1057571401
 
ASD (Adaptive Software Development)
ASD (Adaptive Software Development)ASD (Adaptive Software Development)
ASD (Adaptive Software Development)
 
Guia para desarrollo de software seguro
Guia para desarrollo de software seguroGuia para desarrollo de software seguro
Guia para desarrollo de software seguro
 
Manual de Construccion para Mestros de Obra
Manual de Construccion para Mestros de ObraManual de Construccion para Mestros de Obra
Manual de Construccion para Mestros de Obra
 
REGLAMENTO NACIONAL DE EDIFICACIONES
REGLAMENTO NACIONAL DE EDIFICACIONESREGLAMENTO NACIONAL DE EDIFICACIONES
REGLAMENTO NACIONAL DE EDIFICACIONES
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 

Ähnlich wie Julio 3

Modelos de proceso del software-Metodologias de Desarrollo de Software.pdf
Modelos de proceso del software-Metodologias de Desarrollo de Software.pdfModelos de proceso del software-Metodologias de Desarrollo de Software.pdf
Modelos de proceso del software-Metodologias de Desarrollo de Software.pdfsoyuzmir
 
Modelos de Proceso de Software
Modelos de Proceso de SoftwareModelos de Proceso de Software
Modelos de Proceso de Softwarehugoamo
 
clases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptclases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptTereBestene
 
clases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptclases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptronald flores
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Swmsc080277
 
Metodologia Estructurada
Metodologia EstructuradaMetodologia Estructurada
Metodologia EstructuradaSusana Daldin
 
Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWAREJ Martin Luzon
 
Respuestas de analisis de sistema
Respuestas de analisis de sistemaRespuestas de analisis de sistema
Respuestas de analisis de sistemaMurcie Lago
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREAlejandro Leon
 
PROCESOS DE CALIDAD SOFTWARE
PROCESOS DE CALIDAD  SOFTWAREPROCESOS DE CALIDAD  SOFTWARE
PROCESOS DE CALIDAD SOFTWAREAlejandro Leon
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad softwareAlejandro Leon
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwareMariaJose231620
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfBibliotecaenlineaUNI
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-shome
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevidaclaudiappaez
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup finalMariaC7
 

Ähnlich wie Julio 3 (20)

Modelos de proceso del software-Metodologias de Desarrollo de Software.pdf
Modelos de proceso del software-Metodologias de Desarrollo de Software.pdfModelos de proceso del software-Metodologias de Desarrollo de Software.pdf
Modelos de proceso del software-Metodologias de Desarrollo de Software.pdf
 
Modelos de Proceso de Software
Modelos de Proceso de SoftwareModelos de Proceso de Software
Modelos de Proceso de Software
 
clases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptclases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.ppt
 
clases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.pptclases3metodmetodlgiaherra.ppt
clases3metodmetodlgiaherra.ppt
 
Ciclo Vida Sw
Ciclo Vida SwCiclo Vida Sw
Ciclo Vida Sw
 
Metodologia Estructurada
Metodologia EstructuradaMetodologia Estructurada
Metodologia Estructurada
 
Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARE
 
Respuestas de analisis de sistema
Respuestas de analisis de sistemaRespuestas de analisis de sistema
Respuestas de analisis de sistema
 
introduccion metododologias de analisis y diseño de software
 introduccion metododologias de analisis y diseño de software introduccion metododologias de analisis y diseño de software
introduccion metododologias de analisis y diseño de software
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWARE
 
PROCESOS DE CALIDAD SOFTWARE
PROCESOS DE CALIDAD  SOFTWAREPROCESOS DE CALIDAD  SOFTWARE
PROCESOS DE CALIDAD SOFTWARE
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad software
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup final
 
Modelos de Desarrollo de Software - INF162 - 2017
Modelos de Desarrollo de Software - INF162 - 2017Modelos de Desarrollo de Software - INF162 - 2017
Modelos de Desarrollo de Software - INF162 - 2017
 

Kürzlich hochgeladen

Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Carol Andrea Eraso Guerrero
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfmiriamguevara21
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.profandrearivero
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docxMagalyDacostaPea
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdfEDNAMONICARUIZNIETO
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...Martin M Flynn
 

Kürzlich hochgeladen (20)

Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdf
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
 

Julio 3

  • 1. Análisis de Sistemas TEMA 2 Modelos de proceso del software María N. Moreno García Departamento de Informática y Automática Universidad de Salamanca
  • 2. Análisis de Sistemas Contenidos 1. Conceptos básicos 2. Procesos del ciclo d vida 2 P d l i l de id 3. Modelos de proceso Modelo clásico Modelos iterativos basados en prototipos Modelos en espiral Desarrollo rápido de aplicaciones Modelos orientados a la reutilización Modelos para sistemas orientados a objetos Procesos ágiles Modelos de proceso de la Ingeniería Web Modelos de proceso del software 2
  • 3. Análisis de Sistemas Conceptos básicos Proceso del software: conjunto de actividades y resultados asociados que conducen a l creación d un producto software i d d la ió de d t ft [Sommerville, 2002] Ciclo de vida del software: Aproximación lógica a la adquisición , p g q el suministro, el desarrollo, la explotación y el mantenimiento del software (norma IEEE 1074) [IEEE, 1999] El ciclo de vida incluye Ciclo de desarrollo del sistema Tiempo de vida del sistema Modelo de ciclo de vida: 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 l vida d l sistema d d l d fi i ió d l requisitos b d la id del i t desde la definición de los i it hasta la finalización de su uso (norma ISO 12207-1) [ISO/IEC, 1995] Actividad: conjunto de tareas Tarea: acción que t T ió transforma entradas en salidas f t d lid Modelos de proceso del software 3
  • 4. Análisis de Sistemas Procesos del ciclo de vida (I) Norma ISO 12207-1 [ISO/IEC, 1995] Procesos principales Adquisición Suministro Desarrollo Explotación Mantenimiento Procesos de la organización (generales) Gestión Mejora M j Infraestructura Formación Procesos de soporte Documentación Gestión de la configuración Aseguramiento de la calidad Verificación Validación Revisión conjunta Auditoría Resolución de problemas Nuevos procesos (amendments 2002-2005) Usabilidad Evaluación de productos Recursos Humanos Gestión de “assets” Gestión de petición de cambios Gestión del programa de reutilización Ingeniería del dominio Modelos de proceso del software 4
  • 5. Análisis de Sistemas Procesos del ciclo de vida (II) Norma ISO/IEC 12207:2008 [ISO/IEC, 2008] Procesos d l ciclo de vida del sistema P del i l d id d l i t Procesos de acuerdo (agreement): Adquisición, suministro Procesos de organización del proyecto: Gestión del modelo de ciclo de vida, gestión de la infraestructura, gestión del porfolio del proyecto, gestión de recursos humanos infraestructura proyecto humanos, gestión de la calidad Procesos del proyecto: Planificación del proyecto, control y evaluación del proyecto, gestión de las decisiones gestión de riesgos gestión de la configuración gestión de decisiones, riesgos, configuración, la información, medición Procesos técnicos: Definición de requisitos de los stakeholders, análisis de requisitos del sistema, diseño arquitectónico del sistema Procesos específicos del software Procesos de implementación del software: análisis de requisitos, diseño arquitectónico, diseño detallado, construcción, integración, prueba g Procesos de soporte del software: Gestión de la documentación, gestión de la configuración, aseguramiento de la calidad, verificación, validación, revisión conjunta, auditoría, resolución de problemas Procesos de reutilización del software: Ingeniería del dominio, gestión de assets, gestión del programa de reutilización Modelos de proceso del software 5
  • 6. Análisis de Sistemas Modelos de proceso Modelos tradicionales Formados por un conjunto d f F d j t de fases o actividades en las que que no tienen en cuenta la naturaleza evolutiva del software Clásico, lineal o en cascada Estructurado Basado en prototipos p p Desarrollo rápido de aplicaciones (RAD) Modelos evolutivos Son modelos que se adaptan a la evolución que sufren los requisitos del sistema en función del tiempo En espiral p Evolutivo Incremental Modelo de desarrollo concurrente Modelos orientados a la reutilización Basado en componentes Proceso Unificado Modelos para sistemas orientados a objetos Modelos con un alto grado de iteratividad y solapamiento entre p fases De agrupamiento Fuente Basado en componentes Proceso Unificado Procesos ágiles Programación extrema (XP) P ió t Desarrollo de software adaptativo Scrum, Crystal … Modelos para sistemas web UML-based Web Engineering Modelos de proceso del software 6
  • 7. Análisis de Sistemas Modelos de proceso Modelo clásico (I) Conocido también como modelo lineal o “en cascada” Versión original se debe a W. W. Royce [Royce, 1970], apareciendo después numerosos refinamientos Ca acte st cas Características Está compuesto por una serie de fases que se ejecutan secuencialmente Obtención de documentos como criterio de finalización de fase Problemas de la progresión secuencial Desconocimiento de las necesidades por parte del cliente Análisis Diseño Inestabilidad de los requisitos No se ven resultados hasta muy avanzado el proyecto Efecto big bang próximo a la entrega Codificación Prueba Ciclo de vida clásico Modelos de proceso del software 7
  • 8. Análisis de Sistemas Modelos de proceso Modelo clásico (II) Modelo satisfactorio sólo en desarrollos conocidos y estables El desconocimiento y el riesgo suele ser alto en el desarrollo del software La linealidad no se corresponde con la realidad Los retornos de información entre las fases se hacen necesarios para incorporar correcciones hacia arriba en función de los descubrimientos realizados hacia arriba, abajo Estos retornos entre fases perturban la visión lineal dada por el ciclo de vida en cascada Los retornos están limitados a fases adyacentes Análisis Diseño Codificación Prueba Ciclo de vida clásico con realimentación Modelos de proceso del software 8
  • 9. Análisis de Sistemas Modelos de proceso Modelos iterativos basados en prototipos (I) Un prototipo es un modelo experimental de un sistema o de un componente de un sistema que tiene los suficientes elementos que permiten su uso Objetivos: Son un medio eficaz para aclarar los requisitos de los usuarios e identificar las características de un sistema que deben cambiarse o añadirse Mediante e p otot po se puede verificar la viabilidad de d se o de u s ste a ed a te el prototipo e ca a ab dad del diseño un sistema Características: Es una aplicación que funciona Su finalidad es probar varias suposiciones con respecto a las características requeridas por el sistema Se crean con rapidez Evolucionan a través de un proceso iterativo Tienen un costo bajo de desarrollo Modelos de proceso del software 9
  • 10. Análisis de Sistemas Modelos de proceso Modelos iterativos basados en prototipos (II) Tipos de prototipos Prototipos desechables: El prototipo es una versión rudimentaria del sistema que posteriormente es desechada Prototipos evolutivos: El prototipo debe convertirse, eventualmente, en el sistema final usado (alternativa al ciclo de vida) Combinación de prototipos evolutivos y desechables (prototipado operativo): Se aplican técnicas convencionales para los requisitos bien conocidos y se crea una línea base” ”línea base Combinación de prototipos desechables y evolutivos para los requisitos poco conocidos DESECHABLE Enfoque de desarrollo EVOLUTIVO Rápido y sin rigor Riguroso Qué construir problemáticas bl áti Sólo las partes Primero las partes bien entendidas. Sobre S b una b base sólida. ólid Directrices del diseño Optimizar el tiempo de desarrollo Optimizar la modificabilidad Objetivo último Desecharlo Incluirlo en el sistema Diferencias entre los prototipos desechables y evolutivos Modelos de proceso del software 10
  • 11. Análisis de Sistemas Modelos de proceso Modelos iterativos basados en prototipos (III) Prototipos desechables Características: Se desarrolla código para explorar factores críticos para el éxito del sistema La implementación usa lenguajes y/o métodos de desarrollo más rápidos que los definitivos Se usa como herramienta auxiliar de la especificación de requisitos y el diseño: Determinar la viabilidad de los requisitos validar la funcionalidad del sistema Encontrar requisitos ocultos. q Determinar la viabilidad de la interfaz de usuario. Examinar alternativas de diseño. Validar una arquitectura de diseño particular Aplicaciones: p cac o es Interfaz de usuario Formatos de informes Formatos de gráficos Organización de bases de datos Rendimiento de bases de datos Precisión e implementación de cálculos complejos Partes con respuesta crítica en el tiempo en sistemas de tiempo real Rendimiento de sistemas interactivos Viabilidad de partes del sistema en las que no se tiene experiencia Modelos de proceso del software 11
  • 12. Análisis de Sistemas Modelos de proceso Modelos iterativos basados en prototipos (IV) Prototipado evolutivo (ciclo de vida iterativo) Características: Enfoque de desarrollo que se utiliza cuando no se conoce con seguridad lo que se quiere construir Se comienza diseñando e implementando las partes más destacadas del sistema La evaluación del prototipo proporciona la realimentación necesaria para aumentar y refinar el prototipo El prototipo evoluciona y se transforma en el sistema final Concepto inicial Diseño e implementación del prototipo inicial i i i l Refinar el prototipo hasta que sea aceptable Completar y entregar el prototipo Modelo de prototipado evolutivo Modelos de proceso del software 12
  • 13. Análisis de Sistemas Modelos de proceso Modelos en espiral (I) Ciclo de vida en espiral Fue propuesto inicialmente por B. Boehm [Boehm, 1986, 1988] Es un modelo de proceso de software evolutivo, que proporciona el potencial para el desarrollo rápido de versiones incrementales del software Características Puede considerarse como un metamodelo de proceso Principalmente, reúne características del modelo clásico y de prototipos Aparece el análisis de riesgo Se divide en un número de actividades estructurales, también denominadas regiones d t i de tareas. E el modelo original d B h aparecen cuatro En l d l i i l de Boehm t regiones de tareas Planificación, Análisis de riesgos, Ingeniería, Evaluación del cliente El avance se realiza desde el centro de la espiral hacia el exterior Modelos de proceso del software 13
  • 14. Análisis de Sistemas Modelos de proceso Modelos en espiral (II) Determinar objetivos, Evaluar alternativas Identificar y resolver riesgos alternativas Análisis de riesgo y restricciones Análisis de riesgo Análisis de riesgo Análisis Protode riesgo tipo 1 Plan de requisitos y del ciclo de vida Plan de desarrollo Plan de integración y prueba Prototipo ti 2 Protot po tipo 3 Simulaciones Operación Espec. requisitos Diseño Validación requisitos V&V diseño Servicio. Diseño detallado Codificación Pruebas unidad Pruebas aceptación. Desarrollo, verificación del siguiente nivel del producto Plan para la próxima fase Ciclo de vida en espiral [Boehm, 1988] Modelos de proceso del software 14
  • 15. Análisis de Sistemas Modelos de proceso Modelos en espiral (III) Modelo en espiral de Pressman [Pressman, 2002] Variante del modelo de Boehm con 6 regiones de tareas Se define un eje con diferentes puntos de entrada para diferentes tipos de proyectos t Planificación Análisis de riesgos Comunicación con el cliente Puntos de entrada al proyecto Proyecto de mantenimiento de productos Proyecto de mejora de productos ingeniería Proyecto de desarrollo de productos nuevos Proyecto de d P d desarrollo d conceptos ll de Evaluación del cliente Construcción y adaptación Modelo en espiral de Pressman Modelos de proceso del software 15
  • 16. Análisis de Sistemas Modelos de proceso Modelos en espiral (IV) Modelo win-win [Boehm et al., 1998] Extiende el modelo en espiral haciendo énfasis en las condiciones de éxito (ganancia) de todas las partes involucradas en el proyecto Consta de cuatro ciclos: Ciclo 0. Grupos de aplicación: Determinación de la viabilidad de un grupo Ciclo 1. Objetivos del ciclo de vida de la aplicación: objetivos, prototipos 1 objetivos prototipos, planes, especificaciones de cada aplicación y arquitectura viable Ciclo 2. Arquitectura del ciclo de vida de la aplicación: establecimiento de una arquitectura d ll d y verificación d su viabilidad i detallada ifi ió de i bilid d Ciclo 3. Capacidad de operación inicial: consecución de la capacidad para cada etapa crítica del proyecto Modelos de proceso del software 16
  • 17. Análisis de Sistemas Modelos de proceso Modelos en espiral (V) Modelo win-win [Boehm et al., 1998] Modelos de proceso del software 17
  • 18. Análisis de Sistemas Modelos de proceso Desarrollo rápido de aplicaciones (I) El modelo de desarrollo rápido de aplicaciones, DRA (RAD – Rapid Application Development) o modelo de la caja de tiempo surgió como respuesta al modelo formal y al ciclo en espiral Enfatiza un ciclo de desarrollo extremadamente corto Modelo funcional en 60 ó 90 dí M d l f i l días No es un modelo bien definido Secuencia de integraciones de un sistema evolutivo o de prototipos que se revisan con el cliente descubrimiento de los requisitos Cada integración se restringe a un período de tiempo bien definido (caja de tiempo) Características C t í ti Modelo secuencial: Separación en fases de cada caja de tiempo Integraciones constantes Centrado en el código más que en la documentación Desarrollo basado en componentes Uso efectivo de herramientas y frameworks Participación activa del usuario Modelos de proceso del software 18
  • 19. Análisis de Sistemas Modelos de proceso Desarrollo rápido de aplicaciones (II) Equipo nº 3 Modelado de gestión Modelado Equipo nº 2 de datos Modelado Modelado de procesos de gestión Gener. de Modelado aplicaciones de datos Pruebas y Modelado Modelado entrega de procesos de gestión Gener. de Modelado aplicaciones de datos Pruebas y entrega Equipo nº 1 Modelado de procesos Gener. de aplicaciones p Cuando se utiliza en S.I. Automatizados, comprende las fases [Kerr y Hunter, 1994] Modelado de gestión Modelado de datos Modelado del proceso Generación de aplicaciones Pruebas y entrega Pruebas y entrega De 60 a 90 días Modelo DRA [Kerr y Hunter, 1994] Modelos de proceso del software 19
  • 20. Análisis de Sistemas Modelos de proceso Desarrollo rápido de aplicaciones (III) Las limitaciones de tiempo demandan un ámbito de escalas p Si una aplicación de gestión puede modularse de forma que p pueda completarse cada una de las funciones p p principales en p menos de tres meses, es un candidato del DRA. Cada una de estas funciones puede ser afrontadas por un equipo DRA diferente y ser integradas en una sola aplicación Inconvenientes [Butler, 1994] Los proyectos grandes necesitan los recursos humanos suficientes para crear el número correcto de equipos Se requiere de un compromiso de las partes involucradas Modelos de proceso del software 20
  • 21. Análisis de Sistemas Modelos de proceso Modelos orientados a la reutilización (I) Enfoque de desarrollo que trata de maximizar la reutilización de software existente [Sommerville, 2002] i t t [S ill Las unidades software reutilizables pueden ser de diferente tamaño: Sistemas de aplicaciones: se reutiliza la totalidad del sistema Sin ningún cambio (reutilización de productos COTS) Desarrollo de familias de aplicaciones para plataformas diferentes o necesidades específicas Componentes: la reutilización va desde subsistemas hasta objetos simples Funciones: componentes de software que implementan una sola función Familias de aplicaciones o líneas de productos: conjunto relacionado de aplicaciones que tiene una arquitectura común de dominio específico. Existen varios tipos de especialización: De la plataforma: varias versiones de la aplicación se desarrollan para diferente plataforma De la configuración: se crean diferentes versiones para manejar diversos dispositivos periféricos De la funcionalidad: diferentes versiones para clientes con requisitos diferentes Modelos de proceso del software 21
  • 22. Análisis de Sistemas Modelos de proceso Modelos orientados a la reutilización (II) Desarrollo basado en componentes (I) Configura aplicaciones a partir d componentes d software preparados C fi li i ti de t de ft d [Pressman, 2002] Enfoque iterativo y evolutivo [Nierstrasz, 1999] Se enmarca en un contexto más amplio: ingeniería del software basada en componentes Planificación Análisis de riesgos Identificar componentes candidatos Comunicación con el cliente Construir la iteración del sistema Evaluación del cliente Construcción y adaptación de la ingeniería Buscar componentes en bibliotecas Poner nuevos componentes en biblioteca Extraer componentes disponibles Construir componentes no di disponibles ibl Modelos de proceso del software 22
  • 23. Análisis de Sistemas Modelos de proceso Modelos orientados a la reutilización (III) Desarrollo basado en componentes (II) p ( ) Un componente es una unidad ejecutable e independiente Los componentes publican su interfaz y todas las interacciones son a través de ella Una interfaz que se suministra define los servicios que ofrece el componente Una interfaz que se solicita especifica qué servicios deben estar disponibles Para el desarrollo con reutilización: Debe ser posible encontrar los componentes re tili ables apropiados reutilizables Se debe confiar en que los componentes que se utilizan se comportan conforme a lo especificado y son fiables Los componentes deben tener documentación asociada para ayudar a comprenderlos y adaptarlos a una nueva aplicación Modelos de proceso del software 23
  • 24. Análisis de Sistemas Modelos de proceso Modelos orientados a la reutilización (IV) Ingeniería del software basada en componentes Ingeniería del dominio Desarrollo basado en componentes 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 d d t de un d i i dominio d de aplicación particular Ingeniería del dominio Análisis del dominio Desarrollo de la l arquitectura it t del software Modelo del dominio d i i Desarrollo basado en componentes Análisis Desarrollo de componentes t reutilizables Artefactos/ componentes reutilizables tili bl de la reserva Modelo estructural t t l Actualización de componentes Cualificación de componentes Adaptación de componentes Diseño arquitectónico Software de aplicaciones Composición de componentes Ingeniería de componentes Comprobación [Presman, [Presman 2001] Ingeniería del software basada en componentes Modelos de proceso del software 24
  • 25. Análisis de Sistemas Modelos de proceso Modelos orientados a la reutilización (V) Actividades de la ingeniería del dominio Análisis del dominio: Definir el dominio a investigar Categorizar los elementos extraídos del dominio Recoger una muestra representativa de las aplicaciones del dominio Analizar cada aplicación de la muestra Desarrollar un modelo de análisis para los objetos Definir un lenguaje del dominio: hace posible la especificación y construcción posterior de aplicaciones dentro del dominio Modelo del dominio: resultado de las actividades anteriores Modelado estructural: Enfoque de ingeniería basado en tramas que opera efectuando la suposición consistente de que todo dominio de aplicación posee tramas repetidas (de función, de datos y de comportamiento) que tienen un potencial de reutilización Todo dominio de aplicación se puede caracterizar por un modelo estructural Un modelo estructural es un estilo arquitectónico reutilizable Punto de estructura: estructura bien diferenciada dentro de un modelo estructural (genéricos: aplicaciones cliente, b t t l( éi li i li t bases d d t de datos, motores d cálculo, t de ál l función de reproducción de informes, editor de aplicaciones) Modelos de proceso del software 25
  • 26. Análisis de Sistemas Modelos de proceso Modelos orientados a la reutilización (VI) Actividades del desarrollo basado en componentes Cualificación de componentes: Asegura que un componente candidato llevará a cabo la función necesaria, encajará en el estilo arquitectónico del sistema y tendrá la calidad requerida Adaptación de componentes: Elimina conflictos de integración Enmascaramiento de caja blanca, gris o negra Composición de componentes: Ensambla componentes cualificados, adaptados y diseñados p , p para la arquitectura q establecida Ingeniería de componentes: Diseño de componentes para su reutilización Actualización de componentes: El software actual se reemplaza a medida que se dispone de nuevas versiones de componentes Modelos de proceso del software 26
  • 27. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (I) Características Eliminación de las fronteras entre fases Desarrollo basado en componentes reutilizables Desarrollo iterativo e incremental Las tareas de cada fase se realizan de forma iterativa Existe un ciclo de desarrollo que permite la evolución del sistema Alto grado de iteración y solapamiento El sistema se divide en un conjunto de particiones que se van desarrollando e integrando de forma incremental Se pueden combinar con modelos tradicionales Modelos de proceso del software 27
  • 28. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (II) Modelo de agrupamiento (I) Propuesto por Bertrand Meyer [Meyer, 1990] Concepto clave: AGRUPAMIENTO (cluster) [Meyer, 1999] Unidad organizativa básica Grupo de clases relacionadas o, recursivamente, clusters relacionados Unidad t l U id d natural para el d l desarrollo por parte d un ú i d ll t de único desarrollador ll d Evita el efecto todo-nada propio del modelo en cascada Tiene un componente secuencial y un componente concurrente p p Existencia de diferentes subciclos de vida (uno para cada cluster) que pueden solaparse en el tiempo Cada subciclo de vida que gobierna el desarrollo de un cluster está formado por Especificación, Diseño, Implementación, Verificación/Validación y Generalización Modelos de proceso del software 28
  • 29. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (III) Modelo de agrupamiento (II) Enfoque ascendente La ocultación de la información posibilita la forma del modelo Tiempo de clusters de ingeniería concurrente Espec Espec Espec DisRea DisRea DisRea ValGen ValGen ValGen Agrupamiento n Agrupamiento 2 Agrupamiento 1 Tiempo Distribución temporal de las fases de cada agrupamiento Modelos de proceso del software 29
  • 30. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (IV) Modelo fuente (I) Definido por Henderson-Sellers y Edwards en 1990 [HendersonSellers y Edwards, 1990] Representa gráficamente el alto grado de iteración y solapamiento que hace posible la tecnología de objetos Propone dos modelos d ciclo d vida P d d l de i l de id Para el sistema completo Para cada clase o módulo: Cada clase puede estar en una fase diferente del ciclo de vida durante el desarrollo del sistema El modelo permite la integración del análisis de dominio: identificación, análisis y especificación de requisitos comunes de un dominio de aplicación específico Modelos de proceso del software 30
  • 31. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (V) Modelo fuente (II) Utilización Mantenimiento Evolución Utilización Generalización Re-evaluación Generalización Re-evaluación Prueba Pruebas Sistema Pruebas Unitarias Codificación Componentes Diseño Conceptual Implementación Diseño de Componente Diseño Conceptual Análisis Análisis Estudio de viabilidad y requisitos Requisitos Piscina SW Piscina SW Modelo fuente para el sistema y para un componente Modelos de proceso del software 31
  • 32. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (VI) El proceso unificado (I) Definido por Rational Software Corporation [Jacobson et al., 2000] Evolución del proceso Objectory de Rational Utilización de UML [Booch et al., 1999] como lenguaje de modelado [ , ] g j Basado en componentes Características Conducido por casos de uso Los casos de uso se implementan para asegurar que toda la funcionalidad se realiza en el sistema y verificar y probar el mismo. Como los casos de uso contienen las descripciones de las funciones, afectan a todas las fases y vistas Centrado en la arquitectura La arquitectura se describe mediante diferentes vistas del sistema. Es importante establecer una arquitectura básica pronto, realizar prototipos, i t t t bl it t bá i t li t ti evaluarla y finalmente refinarla durante el curso del proyecto Iterativo e incremental Resulta práctico dividir los grandes proyectos en mini proyectos cada uno proyectos, de los cuales es una iteración que resulta en un incremento Modelos de proceso del software 32
  • 33. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (VII) El proceso unificado (II) El Proceso Unificado se repite a lo largo de una serie de ciclos Cada ciclo consta de cuatro fases: Inicio: se define el alcance del proyecto y se desarrollan los casos de negocio Elaboración: se planifica el proyecto, se especifican en detalle la mayoría de los casos de uso y se diseña la arquitectura del sistema it t d l i t Construcción: se construye el producto Transición: el producto se convierte en versión beta Se beta. corrigen problemas y se incorporan mejoras sugeridas en la revisión Modelos de proceso del software 33
  • 34. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (VIII) El proceso unificado (III) Dentro de cada fase se puede, a su vez, descomponer el trabajo en iteraciones con sus incrementos resultantes Cada fase termina con un hito, cada uno de los cuales se caracteriza por la disponibilidad de un conjunto de componentes de software Objetivos de los hitos: Toma de decisiones para continuar con la siguiente fase Controlar el progreso del proyecto Proporcionar información para la estimación de tiempo y recursos de proyectos sucesivos Modelos de proceso del software 34
  • 35. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (IX) El proceso unificado (IV) Cada ciclo concluye con una versión del producto para los clientes Inicio Elaboración Construcción Transición tiempo Vista Inicio Línea base de arquitectura Elaboración Prelim ... Iteración Arqu. Iteración ... Versión Versión Capacidad inicial Construcción Des. Des. Iteración Iteración Versión del producto Transición ... Trans. Iteración ... Versión Versión Versión Versión Versión Modelos de proceso del software 35
  • 36. Análisis de Sistemas Modelos de proceso Modelos para sistemas OO (X) El proceso unificado (IV) Las it L iteraciones discurren a lo largo de los flujos d t b j i di l l d l fl j de trabajo Fases Flujos de trabajo Inicio Elaboración Construcción Transición Requisitos Análisis Diseño Implementación Pruebas Iteraciones preliminares ite r. #1 ite r. #2 ite r. #n ite r. #n+1 Iteraciones ite r. #n +2 ite r. #m ite r. #m +1 Modelos de proceso del software 36
  • 37. Análisis de Sistemas Modelos de proceso Procesos ágiles (I) Los procesos ágiles constituyen un nuevo enfoque en el desarrollo de software cuyas principales características son: Menor énfasis en el análisis, diseño y documentación Equipos pequeños Desarrollo incremental Programación (planificación temporal) en cajas de tiempo Supervivencia en un entorno caótico Las L aproximaciones á il emplean procesos té i i i ágiles l técnicos y d gestión de tió que continuamente se adaptan y se ajustan a (Turk et al., 2002) Cambios derivados de las experiencias ganadas durante el desarrollo g Cambios en los requisitos Cambios en el entorno de desarrollo Diversas aproximaciones XP (eXtreme Programming) [Beck, 1999] Crystal [Alistair Cockburn, 1999] Proceso Software Adaptativo [Jim Highsmith, 2000] Scrum [Schwaber, 1995] Modelos de proceso del software 37
  • 38. Análisis de Sistemas Modelos de proceso Procesos ágiles (II) Programación extrema [Beck, 1999] Nuevo y controvertido enfoque de desarrollo de software basado en el modelo incremental Está indicado para p Equipos de tamaño mediano o pequeño Requisitos imprecisos y cambiantes Características: C t í ti El juego de la planificación Versiones pequeñas Metáfora Diseño sencillo Hacer pruebas p Refactoring Programación en parejas Propiedad colectiva Integración continua Cliente in-situ Estándares de codificación Según Beck (2000) XP descansa sobre cuatro valores Comunicación Sencillez Realimentación Valentía Modelos de proceso del software 38
  • 39. Análisis de Sistemas Modelos de proceso Procesos ágiles (III) Desarrollo de software adaptativo (I) [Highsmith, 2000] Modelo ágil M d l á il y adaptativo b d t ti basado en l colaboración y orientado al d la l b ió i t d l desarrollo de sistemas complejos Fases del ciclo de vida: Especulación Inicio del proyecto Planificación del ciclo adaptativo: enunciado, restricciones y requisitos básicos Plan de lanzamiento: definición de un conjunto de ciclos (incrementos) Colaboración Construir la funcionalidad definida en la fase anterior Uso de técnicas JAD (Joint Application Development) y trabajo colaborativo Aprendizaje Revisión de calidad al final de cada ciclo Aprendizaje Grupos enfocados Revisiones técnicas formales Post mortem Modelos de proceso del software 39
  • 40. Análisis de Sistemas Modelos de proceso Procesos ágiles (IV) Desarrollo de software adaptativo (II) Modelos de proceso del software 40
  • 41. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (I) Las características de sistemas y aplicaciones basados en Web influyen enormemente en el proceso de Ingeniería Web (IWeb): Intensivas de red Controladas por contenido Evolución continua Inmediatez Estética E téti … El ciclo de desarrollo de una aplicación Web consta de las siguientes fases de ingeniería: g Definición y análisis de los sistemas Web Diseño de los sistemas Web Diseño arquitectónico Diseño de la navegación Diseño de la interfaz Pruebas de las aplicaciones Web Modelos de proceso del software 41
  • 42. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (II) Modelo de Pressman (I) [Pressman, 2002] Planificación Análisis Formulación Ingeniería Evaluación del cliente Diseño del contenido Diseño arquitectónico Producción Diseño de la navegación Diseño de la interfaz Generación de páginas y pruebas Modelo de proceso de IWEB [Pressman, 2002] Modelos de proceso del software 42
  • 43. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (III) Modelo de Pressman (II) Formulación: identificación de metas y objetivos Planificación: estimación de costes, evaluación de riesgos y planificación temporal del proyecto Análisis: establecimiento de requisitos Ingeniería: dos grupos de tareas paralelas paralelas, Técnicas (diseño arquitectónico, de navegación y de interfaz) No técnicas (diseño del contenido y producción) ( p ) Generación de páginas y pruebas El contenido se fusiona con los diseños arquitectónico, de navegación y de interfaz para elaborar páginas web ejecutables en HTML, JSP... Integración con el software intermedio (middleware) de componentes Evaluación con el cliente: revisión de cada incremento y solicitud de cambios Modelos de proceso del software 43
  • 44. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (IV) Modelo de Pressman (III) [Pressman, 2006] Comunicación con el cliente: Análisis de negocio Formulación F l ió Planificación: definición de tareas y calendario para el desarrollo de un incremento Modelado: las actividades de análisis y diseño convencionales se adaptan y se funden con las específicas de las aplicaciones Web Construcción: construcción y prueba de un incremento Despliegue Configuración d l aplicación para su ambiente operativo C fi ió de la li ió bi t ti Entrega a los usuarios Evaluación Las actividades se realizan siguiendo un flujo de proceso incremental Modelos de proceso del software 44
  • 45. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (V) El proceso unificado en la Ingeniería Web (I) La clave para utilizar el Proceso Unificado en el desarrollo de aplicaciones Web la dan los casos de uso (Ward y Kroll, 1999) Integran el marco de ingeniería, que ofrece el Proceso Unificado, con el proceso de diseño creativo que caracteriza a las aplicaciones Web Ofrecen una forma de expresar en términos comunes un entendimiento compartido del comportamiento esperado de la aplicación Web Juegan el papel de lengua franca en los proyectos software, es decir, son el lenguaje hablado por todos los implicados en la definición y el desarrollo del sistema Web Integración del diseño creativo en el desarrollo Requisitos Prototipo inicial de IU Web Diseño creativo Guías IU Mapa de navegación Prototipo completo de IU Web Simulación del diseño creativo Mapa de navegación completo Elementos de diseño Web Modelos de proceso del software 45
  • 46. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (VI) El proceso unificado en la Ingeniería Web (II) Modelos de proceso del software 46
  • 47. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (VII) El proceso unificado en la Ingeniería Web (III) Requisitos R i it Visión Acuerdo sobre los problemas que deben resolverse Definición de los límites del i t D fi i ió d l lí it d l sistema Descripción de las características más importantes del sistema Modelo de casos de uso: documentación de los requisitos que permite a los usuarios articular sus necesidades (servicios del sistema) Los actores representan a los usuarios Los casos de uso representan los servicios Especificación suplementaria: contiene los requisitos no funcionales. Conviene desarrollar un glosario con la terminología común del proyecto Diseño creativo: guías iniciales de la interfaz de usuario El “humor del sitio humor sitio” Cómo accederán los usuarios al sitio, qué navegadores usarán Si el sitio tendrá marcos Limitaciones de color d l sitio Li it i d l del iti Aspectos relativos a gráficos, animaciones... Modelos de proceso del software 47
  • 48. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (VIII) El proceso unificado en la Ingeniería Web (IV) Mapa de navegación: representación jerárquica de la navegación de los usuarios en el sitio (site map) El número de niveles representa el número de clicks necesarios para llegar a una página Toma como referencia el modelo de casos de uso Se identifican “páginas lógicas” candidatas para la interfaz de usuario. Se representan en el análisis con el constructor UML boundary class p y Modelos de proceso del software 48
  • 49. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (IX) El proceso unificado en la Ingeniería Web (V) Simulación d l di ñ Si l ió del diseño creativo: actividad d prototipado d l ti ti id d de t ti d de la interfaz de usuario de RUP Se toma un caso de uso principal y se generan diseños alternativos Se construyen prototipos de los diseños seleccionados por los stakeholders Elementos de diseño Web: imágenes gráficas discretas que se ensamblan para construir la página web Reutilización de componentes gráficos estándar Identificación de componentes a partir de casos de uso Se crean en paralelo con el diseño inicial del prototipo de IU Prototipo inicial de IU Web: actividad RUP de protototipado de la interfaz de usuario Soporta sólo una porción del sistema Se utilizan los elementos de diseño identificados en la etapa anterior Modelos de proceso del software 49
  • 50. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (X) El proceso unificado en la Ingeniería Web (VI) Guías IU: actividad RUP de Guías de desarrollo de IU Prototipo completo de IU Web: extiende el prototipo inicial para cubrir todos los casos de uso Muestra la navegación completa entre pantallas y todos los elementos visuales del sitio Las páginas del prototipo se refinarán de forma iterativa en el desarrollo Mapa de navegación completo Se basa en el mapa inicial y en la definición completa de los casos de uso Incluye t d las páginas/pantallas d l prototipo IU W b I l todas l á i / t ll del t ti Web Modelos de proceso del software 50
  • 51. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (XI) UWE (UML-based Web Engineering) (I) [Koch, [Koch 2001; Hennicker y Koch 2000] Koch, Desarrollo iterativo e incremental: basado en el Proceso unificado Uso de UML: perfil UML propio Centrado en la sistematización y automatización: Proceso sistemático de diseño á Generación semiautomática de aplicaciones web a través de un framework de publicación XML (UWEXML) UWE comprende: Una notación Un método Un metamodelo Un proceso de desarrollo Una herramienta CASE Modelos de proceso del software 51
  • 52. Análisis de Sistemas Modelos de proceso Modelos de proceso de la Ingeniería Web (XII) UWE (UML b (UML-based Web dW b Engineering) (II) Vista general del proceso UWE Modelos de proceso del software 52
  • 53. Análisis de Sistemas Bibliografía Ambler, S. W. “In search of a generic SDLC for object systems”. Object Magazine, 4(6): 76-78, 1994. Beck, K. “Embracing Change with Extrem Programming”, IEEE Computer 32, pp. 70-77, 1999. Beck, K. “Extreme Programming Explained. Embrace Change”. Addison-Wesley, 2000. Birrel, N. D., Ould, M.A. A Birrel N D Ould M A “A practical Handbook for Software Development”. Cambridge University Press 1985 Development Press, 1985. Boehm, B. W. “A Spiral Model of Software Development and Enhancement”. ACM Software Engineering Notes, 11(4):22-42. 1986. Boehm, B. W. “A Spiral Model of Software Development and Enhancement”. Computer , 21(5): 61-72 , 1988. Boehm, B., Egyed, A., Port, D., Shah, A., Kwan, J., Madachy, R. “A Stakeholder Win-Win Approach to Software Engineering Ed E i i Education”. A ti ” Annals of Software E i l f S ft Engineering , 6 295 321 1998 i 6, 295-321, 1998. Booch, G., Rumbaugh, J., Jacobson, I. “El Lenguaje Unificado de Modelado”. Addison Wesley, 1999. Butler, J. “Rapid Application Development in Action”. Managing System Development, Applied Computer Research, 14(5):6-8. May, 1994. Cockburn, A. “Software Development as a Cooperative Game”, Humans and Tecnology inc., 1999. http://alistair.cockburn.us/crystal/articles/sdacg/softwaredevelopmentasacooperativegame.html htt // li t i kb / t l/ ti l / d / ft d l t ti ht l Graham, I. “Métodos orientados a objetos”, Adison-Wesley, 1996. Hennicker, R. y Koch, N. “A UML-based Methodology for Hypermedia Design”. En Proceedings of the Unified Modeling Language Conference (UML’2000). A. Evans y S. Kent (Eds.). Lecture Notes in Computer Science LNCS Vol. 1939. Páginas 410-424. Springer-Verlag, 2000. g p g g Henderson-Sellers, B., Edwards, J. M. “The fountain Model for object-oriented systems development”, Object Magazine, julio/agosto, pp 71-79, 1993. Henderson-Sellers, B., Edwards, J. M. “The object-oriented systems life cycle”, Communications of the ACM, 33(9): 143-159, 1990. g , , p p pp g g p y , Highsmith, J., “Adaptive Software Development: A Colaborative Approach to Managing Complex Systems”, Dorset House, 2000. IEEE. “IEEE Software Engineering Standards Collection 1999 Edition. Volume 2: Process Standards”. IEEE Computer Society Press, 1999. ISO/IEC. “Information Technology – Software Life Cycle Processes”. Technical ISO/IEC 12207:1995(E), 1995. SO/ C Syste s and Software engineering So t a e e cyc e processes”. SO/ C 0 008, 008 ISO/IEC. “Systems a d So t a e e g ee g - Software life cycle p ocesses ISO/IEC 12207:2008, 2008. Modelos de proceso del software 53
  • 54. Análisis de Sistemas Bibliografía Jacobson, I., Booch, G., Rumbaugh, J. “El Proceso Unificado de Desarrollo”, Addison Wesley, 2000. Kerr, J., Hunter, R. “Inside RAD”, McGraw-Hill, 1994. Koch, N.”Software Engineering for Adaptive Hypermedia Applications. Reference Model, Modeling Techniques and , g g p yp pp , g q Development Process”. PhD. Thesis, Ludwig-Maximilians-Universität München, 2001. Kruchten, P. “Un processus de développement de logiciel itératif et centré sur lárchitecture”, Proceedings of the 4th International Conference on Software Engineering. Toulouse, Paris, 1991. Martin, J. “Rapid Application Development”, Prentice Hall, 1991. Meyer, B. La Meyer B “La Nueva Cultura del Desarrollo de Software , Systems pp. 12-13 Septiembre, 1990 Software” Systems, pp 12-13. Septiembre 1990. Meyer, B. “Construcción de software orientado a objetos”, Prentice Hall, 1999. Mills, H. D., Dyer, M., Linger, R. “Cleanroom Software Engineering”, IEEE Software, 4(5): 19-25. September 1987. Muller, P. A. “Modelado de objetos con UML”, Eyrolles-Ediciones Gestión 2000, 1997. Nierstrasz,O., Gibbs, S.J., Tsichritzis, D. “Component-Oriented Software Development”. CACM, 35(9): 160-165, 1992. Piattini, M.G. et al. “Análisis y diseño detallado de aplicaciones Informáticas de Gestión”, Rama, 1996. Pressman, R. S. “Ingeniería del Software, un enfoque práctico”, 5ª Edición. Mc Graw Hill, 2002. Pressman, R. S. “Ingeniería del Software, un enfoque práctico”, 6ª Edición. Mc Graw Hill, 2006. Royce, W. W. “Managing the Development of Large Software Systems: Concepts and Techniques”, In Proceedings WESCON. August, 1970 WESCON August 1970. Rumbaugh, J. “Over the waterfall and into the whirlpool”, JOOP, mayo, pp 23-26, 1992. Sommerville, I. “Software Engineering”, 6th ed., Addison Wesley, 2001. Schwaber, K. “SCRUM Development Process”. OOPSLA’95 Workshop on Business Object Design and Implementation, http://www.tiac.netJusers/jsuthfoopsla/oo95summary.html, 10 Dee 95. Turk, D., France, R. y Rumpe, B. (2002) Limitations of Agile Software Processes. En Proceedings of 4th International Conference on eXtreme Programming and Agile Processes in Software Engineering, XP2002. (Alghero, Sardinia, Italy, April 2002), pp. 43-46, 2002. Ward, S. , Kroll, P., “Building Web Solutions with the Rational Unified Process: Unifying the Creative Design Process and the Software Engineering Process”, Rational Software & Context Integration white paper, 1999. g g , g p p , Modelos de proceso del software 54