Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingenieria de Sistemas de Software PDF
Ingenieria de Sistemas de Software PDF
Isdefe
c/ Edison, 4
28006 Madrid.
Diseo y fotomecnica:
HB&h Direccin de Arte y Edicin
Infografa de portada:
Salvador Vivas
Impresin:
Closas Orcoyen S.L.
ISBN: 84-89338-10-8
Depsito legal: M- -1996
Printed in Spain - Impreso en Espaa.
3
4
INGENIERA DE SISTEMAS DE SOFTWARE
5
PRLOGO
NDICE GENERAL
1. LA COMPLEJIDAD DE LOS SISTEMAS DE SOFTWARE 13
1.1. Introduccin 14
1.2. El papel de los recursos software en sistemas complejos 15
1.3. Una perspectiva histrica 17
1.4. Enfoques complementarios de los sistemas de software 19
1.5. Caracterizacin de los sistemas de software 24
1.5.1. Caractersticas relevantes de un sistema de software 25
1.5.2. La utilidad de un sistema de software 28
1.5.3. El valor aadido del software 30
1.6. Ingeniera de sistemas de software 31
1.7. Resumen 32
3. TECNOLOGAS DE SOFTWARE 73
3.1. Introduccin 74
3.2. Concepto de tecnologa de software 75
3.3. Panorama de los componentes tecnolgicos 81
3.3.1. Notaciones 83
3.3.2. Marco de razonamiento sobre el sistema en desarrollo 85
3.3.3. Mtodos de desarrollo 87
3.3.4. Herramientas de soporte: entornos de desarrollo 89
3.3.5. Directrices de aplicacin industrial 96
3.3.5.1. Componentes reutilizables 97
3.3.5.2. Consolidacin del conocimiento previo 98
3.4. Ejemplos de tecnologas de software 98
3.4.1. Tecnologas de desarrollo estructurado 99
3.4.2. Tecnologas orientadas a objetos 102
3.5. Resumen 104
REFERENCIAS 205
BIBLIOGRAFA 211
GLOSARIO 215
12
INGENIERA DE SISTEMAS DE SOFTWARE
13
1
La complejidad
de los sistemas
de software
14
INGENIERA DE SISTEMAS DE SOFTWARE
1.1. Introduccin
Basta echar una ojeada a nuestro alrededor para ver cmo estos
sistemas de software estn teniendo una importancia creciente,
responsabilizndose de los xitos y fracasos de muchos sistemas
basados en ellos y siendo tambin responsables de los xitos y fracasos
de las empresas que los construyen o utilizan.
La gnesis (1965-1975).
Ligada a la crisis de la programacin se plantea la necesidad
de controlar el proceso de desarrollo. Se definen modelos de
ciclo de vida como una referencia en la que enmarcar las activida-
des requeridas (se analizarn en el Captulo 2). El concepto de
ciclo de vida en cascada surge de la necesidad del Departamento
de Defensa de EE.UU. de disponer de una documentacin
normalizada para todas las etapas del desarrollo y poder con-
trolar en base a ella a los suministradores de productos software.
18
INGENIERA DE SISTEMAS DE SOFTWARE
La consolidacin (1975-1985).
El control de las actividades de desarrollo debera permitir
gestionar el proceso. Durante esta etapa aparecen mtricas
para estimar a priori el coste o el tamao del sistema; se difunde
el uso de mtodos de desarrollo. Con ello, el programador se
convierte en analista, diseador o gestor. Se vislumbra la idea
de ingeniero (software).
A) La infraestructura de ejecucin.
Todo sistema de software requiere un procesador que
interprete o ejecute sus instrucciones y el apoyo de otros
programas que le ofrezcan una serie de servicios tiles
(como los ofrecidos por el sistema operativo).
B) El proceso de desarrollo.
No todos los sistemas de software se conciben y desarrollan
de la misma manera. Su desarrollo, desde las primeras ideas
sobre lo que deberan hacer y las restricciones de operacin,
hasta su entrega al usuario, pasan por una serie de fases. A
estas fases, junto con las que siguen una vez entregado el
producto al usuario hasta su retirada del mercado se les
denomina globalmente ciclo de vida.
C) La evolucin.
La atencin sobre un sistema de software no termina cuando
se entrega al usuario; de hecho, comienza un largo proceso
en el que el sistema es mantenido con el fin de adaptarlo a
las necesidades, reparar o completar la funcionalidad reque-
rida y, sobre todo, asegurar que sigue siendo til en el entorno
de ejecucin.
D) El dominio de la aplicacin.
Muchos sistemas de software comparten una misma
problemtica con otros sistemas similares o pertenecientes
al mismo tipo de aplicacin. Por ejemplo, los sistemas de
23
La complejidad de los sistemas de software
1.7. Resumen
2
Modelos de ciclo
de vida
36
INGENIERA DE SISTEMAS DE SOFTWARE
2.1.2. La organizacin
Definicin de requisitos.
Diseo.
Implementacin.
Transferencia del producto.
Evolucin.
2.3.2. Diseo
2.3.3. Implementacin
2.3.5. Evolucin
PRINCIPALES Determinar el entorno operativo Construccin del modelo lgico Construccin del modelo fsico Diseo de mdulos Instalacin
Pruebas de integracin
Pruebas de sistema
ENTREGABLES Documento de requisitos de Documento de requisitos Documento de diseo Documento de diseo detallado Documento de transferencia
usuario (DRU) software (DRS) arquitectnico (DDA) (DDD) SW
Manual de usuario
PRINCIPALES
aprobacin aprobacin aprobacin aprobacin
hitos DRU DRS DDA DDD
El desarrollo del sistema pasa por una serie de ciclos en los que
tanto el conocimiento del sistema a realizar como el propio sistema
van avanzando hasta obtener el producto final. En la ltima espiral se
prosigue con un desarrollo convencional al haberse eliminado las
incertidumbres en las espirales anteriores.
La idea clave detrs del modelo es asegurar que los aspectos menos
conocidos o ms crticos sean realizados antes, en la suposicin de que
de poco sirve completar partes poco crticas si stas pueden verse
modificadas o invalidadas por las partes crticas. El uso de prototipos es
fuertemente promovido (aunque basado en prototipos desechables). En
este sentido, el mismo Boehm indica que la caracterstica esencial es la
orientacin hacia la identificacin y resolucin de riesgos [9].
2.7. Resumen
3
Tecnologas
de software
74
INGENIERA DE SISTEMAS DE SOFTWARE
3.1. Introduccin
3.3.1. Notaciones
3.5. Resumen
4
Tecnologas
para desarrollo
de sistemas
de tiempo real
110
INGENIERA DE SISTEMAS DE SOFTWARE
4.1. Introduccin
ciones y puede que con ello, sea ms aceptado por el usuario final. En
un STR es necesario asegurar el cumplimiento de todos los plazos
siempre y no casi siempre. Asegurar que estos plazos se cumplen
puede llevar a sacrificar prestaciones globales.
B) Mtodo Statemate.
1) Notacin SA/RT.
2) Notacin Statemate.
4.4. Resumen
5
Gestin del
desarrollo
del software
146
INGENIERA DE SISTEMAS DE SOFTWARE
5.1. Introduccin
D) Gestin de riesgos.
1) Funcional.
2) Estructural.
f) manual de instalacin,
b) Documentacin de diseo.
5.4. Mtricas
B) Complejidad estimada.
C) Robustez.
A) Anlisis de riesgos.
B) Resolucin de riesgos.
5.8. Resumen
6
La mejora
del proceso
y la adopcin de
nuevas tecnologas
de software
188
INGENIERA DE SISTEMAS DE SOFTWARE
6.1. Introduccin
6.4. Resumen
Referencias
206
INGENIERA DE SISTEMAS DE SOFTWARE
[14] Harel, D., Bitting the Silver Bullet, IEEE Software, 1993.
Bibliografa
212
INGENIERA DE SISTEMAS DE SOFTWARE
Glosario
216
INGENIERA DE SISTEMAS DE SOFTWARE