Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Is1 t03 Trans
Is1 t03 Trans
Tema 3
P
Procesos
d
de IIngeniera
i d
dell S
Software
ft
Universidad Cantabria Facultad de Ciencias
Juan Hernndez, Francisco Ruiz
Objetivos y Bibliografa
Complementaria
Co
p e e ta a
(2007).
(2005).
(2005).
Cap.
Cap 2 del libro de Pfleeger (2002).
(2002)
3.2
Contenido
Procesos Software
Naturaleza y Elementos
Relacin con otros tipos de Procesos
En Cascada
Incremental
En Espiral
Prototipado
Reutilizacin
Sntesis Automtica
Comparativa
Modelo
Modelo
Modelo
Modelo
Definicin y Objetivos
j
Elementos
Caractersticas Deseables
Conceptos Relacionados
Impacto en el Entorno
Estructuradas
Tipos de Metodologas
Orientadas a Procesos
Orientadas a Datos
3.3
Procesos Software
Naturaleza y Elementos
C
Personal
PROCESO
SW
Herramientas y
Metodologas.
3.4
Procesos Software
Naturaleza y Elementos
Son complejos.
No son procesos de produccin
produccin.
3.5
Procesos Software
Naturaleza y Elementos
Tiene sub
Tiene entrada
Tiene intermedio
Tiene salida
Actividad
Producto
Utiliza
Desarrollador
Herramienta
Necesita
Juega
Obedece
Rol
Actividad
Juan Hernndez, Francisco Ruiz - IS1
Tiene sub
Norma
Recurso
Producto
Organizacin
3.6
Procesos Software
Industriales
Informacin
Negocio
COSAS
DATOS
RELACIONES
Transformar y
ensamblar materiales y
componentes en otros
componentes
p
y
productos finales,
usando recursos
Procesar y transmitir
datos estructurados y no
estructurados, y
conocimiento
Tradiciones de la
ingeniera industrial
Tradiciones de la
ingeniera informtica
Basados en estructuras
de comunicacin y
coordinacin humanas
encontradas en todos
los lenguajes y culturas
Ensamblar,
Transformar,
Transportar, Almacenar,
Inspeccionar
Solicitar, Prometer,
Ofrecer, Rechazar,
Proponer, Cancelar,
Medir
Foco
Propsito
Caractersticas
Acciones
3.7
Ciclo de Desarrollo
3.8
3.9
Ley d
L
de llas aleaciones
l
i
d
de
metales preciosos
Requisitos de seguridad
de los neumticos y
llantas de motocicletas
AENOR 2004
Juan Hernndez, Francisco Ruiz - IS1
Emisiones gases de
escape, vehculos a
motor
Generalidades de
neumticos, llantas y
vlvulas para motocicletas
3.10
PROCESOS DE SOPORTE
ADQUISICIN
QU S C
DOCUMENTACIN
SUMINISTRO
GESTIN DE CONFIGURACIN
DESARROLLO
ASEGURAMIENTO DE CALIDAD
EXPLOTACIN
VERIFICACIN
MANTENIMIENTO
VALIDACIN
PROC. ORGANIZACIONALES
REVISIN CONJUNTA
AUDITORA
GESTIN
INFRAESTRUCTURA
MEJORA
RECURSOS HUMANOS
GESTIN DE ACTIVOS
GEST. PROG. REUTILIZACIN
INGENIERA DE DOMINIO
RESOLUCIN DE PROBLEMAS
USABILIDAD
EVALUACIN DE PRODUCTO
PROCESO
DE
ADAPTACIN
3.11
Proceso de Adquisicin.
Actividades y tareas que el comprador,
comprador
adquirir un sistema o producto software.
cliente o usuario,
usuario realiza para
Proceso de Suministro.
Actividades y tareas que efecta el suministrador, para proporcionar un
producto al cliente.
Proceso de Explotacin.
Explotacin
Incluye la operacin del producto
operativo a los clientes.
Proceso d
P
de Mantenimiento.
M t i i t
Incluye la modificacin de un sistema o producto software despus de la
entrega para:
3.12
Proceso de Desarrollo.
PROCESOS PRINCIPALES
ADQUISICIN
SUMINISTRO
DESARROLLO
EXPLOTACIN
Captura de Requisitos
Anlisis de Requisitos del Sistema
Diseo Arquitectnico del Sistema
Anlisis de los Requisitos del Software
Diseo de la Arquitectura del Software
Diseo del Software
Construccin del Software
Integracin del Software
Prueba del Software
Integracin del Sistema
Prueba del Sistema
Instalacin del Software
MANTENIMIENTO
3.13
Proceso de Verificacin:
Proceso de Validacin:
3.14
Entendimiento
Proceso de Auditora:
Proceso de Usabilidad:
3.15
3.16
3.17
3.18
3.19
Incremental
Espiral
Prototipado
i d
Ciclos
de
Vida
Reutilizacin
Sntesis
Automtica
3.20
Modelo en Cascada
3.21
Modelo en Cascada
Crticas:
No refleja realmente el proceso de desarrollo del software.
software
Se tarda mucho tiempo en pasar por todo el ciclo.
Acenta el fracaso de la industria del software en su comunicacin con
el usuario final.
Se convierten las especificaciones en implementaciones de manera
i f
informal.
l
El mantenimiento se realiza en el cdigo fuente.
Las revisiones de proyectos de gran complejidad son muy difciles.
difciles
Impone una estructura de gestin de proyectos.
3.22
Modelo Incremental
Anlisis
Requisitos
Se aplican
Sistema
secuencias lineales
de forma escalonada
Anlisis
Requisitos
Software
Incremento 1
Diseo
Preliminar
mientras progresa el
Diseo
Detallado
Corrige la
l necesidad
d d
de una secuencia no lineal
Codificacin
C
difi
i y
Pruebas
Incremento 2
Calendario.
Diseo
Detallado
...
Explotacin y
Mantenimiento
Codificacin y
Pruebas
Incremento n
Explotacin y
Mantenimiento
de pasos de desarrollo.
desarrollo
3.23
Modelo Incremental
Ventajas:
Se evitan proyectos largos y se entrega algo
algo de valor
valor a los usuarios
con cierta frecuencia.
El usuario se involucra ms.
Inconvenientes:
Difcil de evaluar el coste total.
Requiere gestores experimentados.
Difcil de aplicar a sistemas transaccionales que tienden a ser
integrados y a operar como un todo.
Los errores en los requisitos se detectan tarde y su correccin resulta
costosa.
3.24
Modelo en Espiral
3.25
Modelo en Espiral
Los objetivos de
la porcin
correspondiente.
di t
Las alternativas.
Restricciones.
de Riesgos
Anlisis
de Riesgos
Anlisis
de Riesgos
Anlisis de
Riesgos
Prototipo 3
Prototipo 2
Prototipo
Operativo
Prototipo 1
Simulaciones, modelos, benchmarks
Plan de Requisitos
Concepto de
Operacin
Plan de
Desarrollo
Validacin de
Requisitos
Plan de
Integracin
y Pruebas
V & V del
diseo
Requisitos
R
i it
Sw
Diseo
Producto
Sw
Diseo
detallado
Cdigo
Pruebas
unitarias
Se evalan
las
Planificar las
alternativas respecto a los
fases siguientes
objetivos
j
y las restricciones.
Desarrolar, Verificar el
producto del siguiente nivel
Se formula una estrategia efectiva
para resolver las fuentes de riesgos (simulacin, prototipado, etc.).
Se plantea el prximo prototipo.
Una vez resueltos los riesgos se sigue el ciclo en cascada.
Cada ciclo se completa con una revisin que incluye todo el ciclo anterior
y el plan para el siguiente.
Implementacin
Evaluar alternativas,
id tifi
identificar
y resolver
l
los riesgos
Anlisis
Determinar
objetivos,
j
,
alternativas,
restricciones
Prueba de
aceptacin
Integracin
y prueba
3.26
Modelo en Espiral
Ventajas:
Permite acomodar otros modelos.
Incorpora objetivos de calidad y gestin de riesgos.
Elimina
Eli i errores y alternativas
lt
ti
no atractivas
t ti
all comienzo.
i
Inconvenientes:
Es difcil de adaptar a los contratos. Ms adecuado para desarrollo
interno.
3.27
Prototipado
Escuchar al cliente.
cliente
Construir/revisar maqueta.
Probar maqueta.
CLAVE
Definir
fi i reglas
l del
d l juego
j
entre
desarrollador y cliente
TIPOS
Juan Hernndez, Francisco Ruiz - IS1
Rpido
Evolutivo
Operacional
3.28
Prototipado - Rpido
3.29
Prototipado - Rpido
3.30
Prototipado - Evolutivo
3.31
Prototipado - Operacional
El prototipado rpido
3.32
Prototipado - Operacional
Modo de trabajo:
Un prototipo evolutivo se
construye con los requisitos
b
bien
conocidos.
d
El usuario lo maneja y
especifica nuevos cambios o
d t t problemas.
detecta
bl
Si el usuario dice que no
se desechan.
Si el usuario dice que s
s
Se implementan y completan
para aadirlos al producto
evolutivo.
evolutivo
3.33
Reutilizacin
Principios de la reutilizacin:
3.34
Reutilizacin
BIBLIOTECA
Si la reutilizacin predomina
d
durante
t
ell desarrollo
d
ll
se
habla
de
Desarrollo
Basado en Componentes:
Anlisis de componentes (se
buscan componentes
p
adecuados).
Modificacin ( se modifican los
componentes para satisfacer
los requisitos).
Diseo con reutilizacin (se
disea o utiliza un nuevo
trabajo para el sistema).
Desarrollo e integracin.
3.35
Reutilizacin
Ventajas:
Reduce
R d
ti
tiempos
y costes
t de
d desarrollo.
d
ll
Aumenta la fiabilidad.
Inconvenientes:
Dificultad para reconocer los componentes potencialmente
reutilizables.
Dificultad de catalogacin y recuperacin.
Problemas de motivacin.
Problemas de gestin de configuracin.
3.36
Sntesis Automtica
3.37
Sntesis Automtica
Ventajas:
Se
S d
define
fi ell sistema
i t
utilizando
tili
d un lenguaje
l
j formal.
f
l
La implementacin es automtica, asistida por el ordenador.
La documentacin se genera de forma automtica
automtica.
Inconvenientes:
Hay dificultad en la participacin del usuario.
Los diseos estn poco optimizados.
3.38
tiempo
3.39
Cascada
Incremental
Juan Hernndez, Francisco Ruiz - IS1
Prototipado
Rpido
Espiral
p
3.40
Sntesis Automtica
Reutilizacin
l
3.41
Remolino
Pinball
3.42
(Meyer, 1990)
ESPEC
DISREA
DISREA
VALGEN
VALGEN
Agrupamiento 2
Agrupamiento 1
TIEMPO
Juan Hernndez, Francisco Ruiz - IS1
3.43
Representa grficamente:
Mantenimiento
Evolucin
Utilizacin
y solapamiento de la OO.
R tili i
Reutilizacin.
Pruebas
sistemas
Pruebas
unitarias
Codificacin
Componentes
Diseo Conceptual
Anlisis
Estudio
Est
dio de
viabilidad y
requisitos
Piscina SW
3.44
(Rumbaugh, 1992)
P
Proceso
multicclico
lti li no lineal
li
l con forma
f
de
d remolino.
li
3.45
(Ambler, 1994)
3.46
Metodologas de Desarrollo de Sw
Definicin y Objetivos
Por tanto,
tanto una metodologa representa el camino a seguir
para desarrollar software de manera sistemtica.
Objetivos:
j
Mejores Aplicaciones.
Un mejor Proceso de Desarrollo que identifique salidas (o productos
intermedios) de cada fase de forma que se pueda planificar y controlar
los proyectos.
Un Proceso Estndar en la organizacin.
3.47
Metodologas de Desarrollo de Sw
Elementos
Actividades y Tareas.
El
Procedimientos.
y Desarrolladores.
TCNICAS
ACTIVIDADES
C
S Y TAREAS
S
ABCD
PRODUCTOS
Productos.
WWWW
WWWW
WWWW
Procedimiento.
OTRAS HERRAMIENTAS
PROCEDIMIENTOS
AUBC
Se utilizan para aplicar un Procedimiento
Ent. Rel.
Int N:M R
Pueden ser Grficas y/o Textuales
Determinan el formato de los Productos resultantes en cada Tarea
Herramientas Software.
3.48
Metodologas de Desarrollo de Sw
Elementos
MODELO
CONCEPTUAL
ESQUEMA LOGICO
(Relacional)
PROFESOR
Imparte
clase
ALUMNO
UD
Reglas de
Transformacin
INGENIERO
Juan Hernndez, Francisco Ruiz - IS1
3.49
Metodologas de Desarrollo de Sw
En general:
Facilitar la portabilidad.
Flexibilidad / Escalabilidad
(independencia respecto de la
dimensin de los proyectos).
Rigurosidad.
Adopcin de estndares.
Caractersticas Deseables
En Desarrollo de Software:
3.50
Metodologas de Desarrollo de Sw
Conceptos Relacionados
3.51
Metodologas de Desarrollo de Sw
Opciones para la implantacin de
Metodologas:
de posibilidades y combinaciones de
mtodos de g
gestin,, tcnicas de
desarrollo y soporte automatizado,
para crear y desarrollar una
Metodologa
g de Desarrollo Software
especfica.
Impacto en el Entorno
PROCEDIMIENTOS
DE GESTION
Da informes
a la direccin
metodologas:
Tamao y estructura de la
Coordinan
y guan
METODOLOGIA
DE
DESARROLLO
Dan una
estructura visible
soportan
mtodos
SOPORTE
AUTOMATIZADO
TECNICAS
determinan
las herramientas
necesarias
organizacin.
3.52
Tipos de Metodologas
Estructuradas
Orientadas a Objetos
giles
3.53
Proponen la
representan:
creacin
de
modelos
del
sistema
que
Los procesos.
Los
os flujos.
ujos
Las estructuras de los datos .
Enfoque
q Top-Down
p
3.54
PROCESO
SALIDA
ESTRUCTURADA:
Modelo grfico, particionado,
descendente y jerrquico de los
procesos del sistema y de los
p
datos utilizados por stos.
Componentes:
- Diagrama de Flujo de Datos
- Diccionario de Datos
- Especificaciones de Procesos
Mtodo de DeMarco
Metodologa de Yourdon/Constantine
(Anlisis+Diseo orientados a Procesos):
PROCESO
SALIDA
El diseo lgico
g
debe p
preceder y estar separado
p
del diseo fsico.
3.56
Enfoques
q
OO:
Revolucionarios o Puros
La OO se entiende como un cambio profundo de las metodologas
estructuradas
t t d que se ven como obsoletas.
b l t
OOD (Booch), CRC/RDD (Wirfs-Brock).
Sintetistas
Sintetistas o Evolutivos
Evolutivos
nalisis y Diseo Estructurado se consideran como la base para el
desarrollo OO.
OMT,
OMT RUP.
RUP
3.57
3.58
Convencional
Estructurada
Orientada a Objetos
AO
1968
1974
1975
1977
1978
1981
1985
1986
1987
1989
1990
1993
1995
1998
METODOLOGA
Conceptos sobre la programacin estructurada de DIJKSTRA
Tcnicas de programacin estructurada de WARNIERy JACKSON
Primeros conceptos sobre diseo estructurado de MYERS y YOURDON
Primeros conceptos sobre anlisis estructurado GANE y SARSON
A li i estructurado:
Anlisis
t t d DEMARCOy WEINBERG
Nace MERISE
SSADM(versin inicial)
Information Engineering
g
g((versin inicial))
Anlisis y Diseo estructurado para sistemas de tiempo real de
WARDy MELLOR
SSADMVersin 3
A li i y Diseo
Anlisis
Di estructurado
t t d para sistemas
it
de
d tiempo
ti
reall de
d
HATLEYy PIRHBAY
METRICA(versin inicial)
SSADMVersin4
SSADM
Versin 4
METRICAVersin 2
METRICAVersin 2.1
MTRICAVersin 3
3.59
Desarrollo Convencional:
Aos 50.
Desarrollo artesanal y ausencia de Metodologa.
g
Enfocado en la Tarea de Programacin.
Inconvenientes:
o
o
o
o
3.60
Desarrollo Estructurado:
Programacin
i Estructurada
d [Aos
[
60 (entorno
(
acadmico), mediados 70 (industria)]
o Normas para escribir cdigo
o Facilitar comprensin de Programas
o Normas para la aplicacin de estructuras de datos y de control
Convencional
10
20
30
40
50
60
70
80
90
100
CLS
A=10
INPUT B
IF B=A THEN GOTO 50 ELSE GOTO 70
PRINT A Y B SON IGUALES
GOTO 100
IF A>B THEN GOTO 80 ELSE GOTO 90
B= B + 1; GOTO 40
B= B - 1; GOTO 40
B
END
PROGRAM NUMEROSIGUALES
Estructurado
BEGIN
CLEARSCREEN
CLEARSCREEN;
A :=10 ;
INPUT B;
REPEAT
IF B=A THEN PRINT A Y B SON IGUALES
ELSE REDUCEDIFERENCIA(A,B);
UNTIL B=A;
END;
PROCEDURE REDUCEDIFENCIA(A,B);
BEGIN
IF A>B THEN B:= B+1
ELSE B:= B - 1
END
3.61
Desarrollo Estructurado:
C
opcin
Leer Opcin
3
3.62
Desarrollo Estructurado:
3.63
Esencia: Identificacin
d
f
y organizacin
d
de conceptos del
d l
Aos 80
Trata
T t Funcionalidad
F
i
lid d y Datos
D t de
d forma
f
conjunta.
j t
Principios:
Abstraccin
b
3.64
DATOS
TRATAMIENTOS
CONCEPTUAL
ORGANIZATIVO
FSICO
3.65
Estudio completo
Consstruccin y P
Pruebas
Diseo Fsicco
D
Espeecificacin L
Lgica
del Sistema
Esspecificacin
n de
Requisitoss
Anlisis dee
Requisitoss
Planificacin
Estratgica
Estudio
o de Viabilid
dad
SSADM
Desarrollo
Produccin
Administracin y Control
3.66
Procesos:
1. Planificacin de Sistemas de Informacin (PSI)
2 Desarrollo de Sistemas de Informacin:
2.
a.
b.
c.
d.
e.
3.67
METRICA v.3.
TAREA
Productos
de Entrada
Productos
de Salida
lista de acciones
Tcnicas
Juan Hernndez, Francisco Ruiz - IS1
Prcticas
3.68
MANTEMA
3.69
MANTEMA
Common
Actividades
initial y
tareas
activities
iniciales
and tasks
PLANIFICABLE
Correctivo no urgente
Common
Actividades
final y
tareas
activities
finales
and tasks
Perfectivo
Preventivo
Adaptativo
Tcnicas
Juan Hernndez, Francisco Ruiz - IS1
3.70
Desarrollo OO
iterativo e incremental
usando UML.
3.71
OpenUP.
http://epf.eclipse.org/wikis/openup/
RUP abierto.
Ciclo de desarrollo:
Iterativo.
Micro-Incrementos.
Micro-Incrementos
Gestin gil del Proyecto.
3.72
XP eXTreme Programming.
http://www.extremeprogramming.org
Pone ms nfasis en la adaptabilidad que en la previsibilidad: los
3.73