IS Unidad 1A
IS Unidad 1A
IS Unidad 1A
(790464)
Unidad 1
Introducción a la Ingeniería de Software
(Producto y Proceso)
• Características:
– El software se desarrolla, no se fabrica en un sentido clásico.
– El software no se “Estropea”.
– La mayoría del software se construye a medida.
– Existe variedad de aplicaciones de software.
índice de fallo
tiempo
10
índice de fallo
tiempo
11
tiempo
12
13
Aplicaciones de Software
• Software de Sistemas
• Software de tiempo real
• Software de gestión
• Software de Ingeniería y científico
• Software empotrado
• Software de computadores personales
• Software basado en la Web
• Software de Inteligencia Artificial
14
15
• Productos genéricos.
l Productos que son producidos por una organización para ser
vendidos al mercado.
16
• Mantenibles
l Debe ser posible que el software evolucione y que siga
cumpliendo con sus especificaciones.
• Confiabilidad
l El software no debe causar daños físicos o económicos en el
caso de fallos.
• Eficiencia
l El software no debe desperdiciar los recursos del sistema.
• Utilización adecuada
l El software debe contar con una interfaz de usuario
adecuada y su documentación.
17
18
19
21
• Síntomas
1. Baja Calidad del Software.
2. Tiempo y Presupuesto Excedido.
3. Confiabilidad Cuestionable.
4. Altos Requerimientos de Personal para desarrollo y
mantenimiento.
22
23
24
25
26
27
28
29
30
31
• Mito 1:
“Tenemos un libro lleno de estándares y procedimientos
para construir el software, ¿no le proporciona ya a mi gente
todo lo que debe saber?”
32
• Mito 2:
“Mi gente dispone de las herramientas de desarrollo de
software más avanzadas, les compramos las computadoras
más modernas”.
33
• Mito 3:
“Si fallamos en la planificación, podemos añadir más
programadores y adelantar el tiempo perdido”.
34
• Mito 1:
“Una declaración general de los
objetivos es suficiente para 600 600
adelante)”.
300
• Mito 2:
“Los requisitos del proyecto cambian continuamente, pero
los cambios pueden acomodarse fácilmente ya que el
software es flexible”.
36
• Mito 1:
“Una vez que escribimos el programa y
hacemos que funcione, nuestro trabajo ha
terminado”.
37
• Mitos 2:
“Hasta que no tengo el programa
ejecutándose, no tengo forma de
comprobar su calidad”.
38
• Mitos 3:
“Lo único que se entrega al final del
proyecto es el programa funcionando”.
39
40
41
42
44
45
46
47
48
49
50
51
Modelo de Cascada
Distingue y separa las fases fundamentales de especificación y
desarrollo.
Desarrollo Evolutivo
Las fases de especificación y desarrollo se intercalan.
52
53
Definición de
Requerimientos
Diseño de Sistema
y de Software
Implementación y
Prueba de Unidades
Integración y
Prueba del
Sistema
Operación y
Mantenimiento
54
Aplicable en:
Sistemas pequeños con requerimientos bien entendidos
Problemas por:
Escasa flexibilidad al particionar el proyecto en estas
distintas etapas secuenciales.
55
1. Desarrollo Exploratorio
El objetivo es trabajar con el cliente para explorar sus requerimientos y evolucionar
al sistema final. El desarrollo comienza con las partes del sistema mejor
comprendidas.
2. Prototipos Desechables
El objetivo es entender los requerimientos del cliente y cumplido el objetivo se
descarta el prototipo y se construye el sistema. El prototipo se centra en
experimentar con los requerimientos del cliente más confusos o complejos.
56
Actividades
Concurrentes
Versión
Especificación Inicial
Bosquejo de Versiones
Desarrollo
la descripción Intermedias
Validación Versión
Final
57
58
59
60
61
62
63
64
Aplicable en:
Sistemas interactivos pequeños o medianos
Problemas por:
Pérdida de visibilidad del proceso
El sistema es a menudo pobremente estructurado
Se requiere de habilidades especiales para mantener el
proyecto bajo control (desarrollo rápido, lenguajes,
herramientas, gestión)
65
66
Aplicable en:
Problemas por:
Necesite de personal altamente especializado y con gran
entrenamiento en aplicación de la técnica.
Dificultad en la formalización de especificación de ciertos
aspectos como la Interfaz de usuario un sistema.
67
68
69
70
71