Upload
luis-fernandez
View
104
Download
0
Embed Size (px)
DESCRIPTION
La Ingeniería de Software es una disciplina que estudia los procesos, métodos y herramientas vinculadas en la producción de software de calidad.
Citation preview
Sesión I: Introducción.¿Qué es ingeniería de software?
Ing. Luis Alfredo Fernández [email protected]@coesi.com.pe
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.
– 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ónpor lotes
Distribuciónlimitada
Software a medida
Orientaciónpor lotes
Distribuciónlimitada
Software a medida
Multiusuario Tiempo real Bases de datos Software como
producto Mayores gastos
de mantenimiento
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
Sistemas distribuidos Inteligencia Artificial Hardware de bajo
coste Impacto en el
consumo Redes area local
y global Gran demanda
Potentes sistemasde sobremesa
Tecnología de objetos Sistemas expertos Redes neuronales Cliente/servidor Tecnologías de
Internet.
Potentes sistemasde 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
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
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 estimacionesimprecisas
Calidad
Sin tiempo para recogerdatos históricos
Baja productividad
Dificultad de mantenerel software existente
Naturaleza y problemas del desarrollo del software
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
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