Sesión 1: Introduccion. ¿Qué es ingeniería de software?
1. Sesión I: Introducción.
¿Qué es ingeniería de software?
Ing. Luis Alfredo Fernández Vizcarra
lfernandez@speedy.com.pe
lfernandez@coesi.com.pe
2. Vistazo rápido: Software
¿Qué es?
• Producto que los ingenieros de software
construyen y lo mantienen a largo plazo.
• Se encuentran del computador de
cualquier tamaño y arquitectura.
¿Quién lo hace?
• Los ingenieros de software lo construyen
y lo custodian.
• Es usado directa o indirectamente por
casi todo el mundo industrializado.
¿Por qué es importante?
• Afecta de forma cercana a los aspectos de
nuestras vidas.
• Omnipresente en el comercio, la cultura,
y las actividades cotidianas.
¿Cuáles son los pasos?
• Se aplica el enfoque de ingeniería de
software.
• Se construye como cualquier producto de
éxito.
• Proceso que conduzca a un resultado de
alta calidad y que satisfaga la necesidad
de la gente que usará el producto.
¿Cuál es el producto
obtenido?
• Perspectiva del Ing. de software:
producto, programas, contenido (datos) y
documentos.
• Perspectiva del usuario: El producto
obtenido es la información resultante que
mejore el mundo del usuario.
¿Cómo puedo estar seguro
de que lo he hecho
correctamente?
• Seleccionar las ideas aplicables a un
software específico.
3. – Primeras décadas:
• Desarrollar el hardware
• Reducir costes de procesamiento y almacenamiento
– Década de los ochenta:
• Desarrollo de la microelectrónica
• Mayor potencia de cálculo y reducción de costes
– Objetivo actual: mejorar la calidad de las soluciones software.
Orientación
por lotes
Distribución
limitada
Software a
medida
Multiusuario
Tiempo real
Bases de datos
Software como
producto
Mayores gastos
de mantenimiento
Sistemas distribuidos
Inteligencia Artificial
Hardware de bajo
coste
Impacto en el
consumo
Redes area local
y global
Gran demanda
Potentes sistemas
de sobremesa
Tecnología de objetos
Sistemas expertos
Redes neuronales
Cliente/servidor
Tecnologías de
Internet.
1959 - 1965 1965 - 1975 1975 - 1989 1989 -
AUMENTAN los problemas del desarrollo de software:
Subexplotación del potencial del hardware.
Incapacidad de atender a la demanda.
Incapacidad de mantener el software existente.
Características y evolución del software
4. El software desde una perspectiva industrial
– El valor del software: de “elemento añadido” a principal elemento de
coste
– El desarrollo del software:
– Algunas preguntas:
• ¿Por qué se tarda tanto? (y casi siempre más de lo previsto)
• ¿Por qué la productividad es tan baja?
• ¿Por qué cuesta tanto?
• ¿Por qué siempre quedan errores sin localizar?
Características y evolución del software
5. El software como elemento lógico.
1. Se desarrolla, no se fabrica:
• Calidad del diseño.
• Costes más importantes en la ingeniería
• Gestión especial de los proyectos
2. Se “deteriora” con el mantenimiento y no se “desgasta”.
3. Desarrollo a medida (ausencia de componentes)
La “crisis” del software: problemas que aparecen en el desarrollo del
software al desarrollar, mantener y atender la demanda de nuevas
aplicaciones.
Insatisfacción del cliente
Planificación y estimaciones
imprecisas
Calidad
Sin tiempo para recoger
datos históricos
Baja productividad
Dificultad de mantener
el software existente
Naturaleza y problemas del desarrollo del
software
6. Conforme grupos de 03 integrantes y sitúese en un escenario donde se solicita
elaborar un software para automatizar un proceso de productivo o servicio.
Baetjer puntualiza: “El proceso ofrece una interacción entre usuarios y diseñadores,
entre usuarios y herramientas en evolución, entre diseñadores y herramientas en
evolución [tecnología]”.
Hágase cinco (05) preguntas respecto a…
a) … lo que los diseñadores deben preguntar a los usuarios.
b) … los usuarios deben de preguntar a los diseñadores.
c) … lo que los usuarios deben de preguntarse a sí mismos sobre el producto de
software que se construirá.
d) … lo que los diseñadores deben de preguntarse a sí mismos sobre el producto de
software que se construirá y el proceso que se utilizará para hacerlo.
Caso práctico
7. Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1
Jacobson, I., Booch, G., Rumbaugh, J., El Proceso Unificado de Desarrollo de
Software, cap. 1
Pressman, R.S., Ingeniería del Software. Un enfoque práctico, cap. 1 y 2
Sommerville, I., Ingeniería de Software, cap. 1, 2 y 3
Referencias