Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema1 2006 2007
Tema1 2006 2007
Tema 1
El software como
ingeniería
Índice
1. Perspectiva histórica
2. Principios de ingeniería del software
3. Concepto de proceso software
z “Disciplina de la ingeniería”
Se aplican teorías, métodos y herramientas en
la forma adecuada para encontrar soluciones a
problemas incluso cuando no hay teorías que lo
soporten
z “Todos los aspectos de la producción de software”
No sólo están relacionados con los temas
tecnológicos sino que también interviene en la
planificación y gestión del proyecto, selección
de herramientas, etc.
Primeros años
z Dependencia HW-SW
z Trabajos batch (diferidos) Segunda periodo (55-65)
z Distribución limitada z 2ª generación HW=> multiusuario,
z SW a medida tiempo real, bases de datos
z Lenguaje máquina z Aparecen: Diseñadores vs.
Programadores: ARTESANIA
z Producto SW
z Comienzos:
programación = forma de generar secuencias de instrucciones
para hacer algo útil
Programador = usuario
z Aparecen los lenguajes de programación
Nace la “profesión” de programador (años 60)
Programador <> usuario ⇒ Necesidad de especificar
z Primeros grandes proyectos (mediados 60)
Software grande <> software pequeño
Problemas de escalabilidad
z Problemas
– comunicación entre los desarrolladores
– Enfoque artesano frente a sistemático
⇒ aparecen metodologías
z Conclusión final:
“El software es un producto complejo que
requiere un proceso de ingeniería”
z Responsabilidad profesional
– Confidencialidad: los ingenieros deben respetar la
confidencialidad tanto de sus clientes como de sus patronos
independientemente de que exista o no un acuerdo de
confidencialidad
– Competencia: los ingenieros deben aceptar trabajos que
estén dentro de lo que consideran sus niveles de competencia
– Derechos de la propiedad intelectual: los ingenieros deben
tener conocimiento de las leyes locales que gobiernan el uso
de la propiedad intelectual y tener cuidado de que se protegen
tanto para sus clientes como sus patronos
– Mala utilización de los recursos: los ingenieros de software
no deben utilizar sus habilidades técnicas para hacer un mal
uso de los ordenadores de otras personas (leves, desde por
ejemplo jugar en una máquina no de su propiedad a, graves,
diseminación de virus)
Departamento de Organización y Estructura de la Información. Ingeniería del Software © 2007
Universidad Politécnica de Madrid
Entorno de la Ingeniería del Software
z Rigor y formalismo
Precisión y exactitud en la descripción. El proceso
del software debe poder ser dirigido y evaluado por
métodos formales
z Separación de ámbitos
Identificar los diferentes ámbitos que intervienen en
un problema para poder afrontar soluciones para
cada uno de la manera más adecuada
z Modularidad
Descomposición de un sistema complejo en
subsistemas de menor complejidad. Da soporte al
principio de separación de ámbitos
Departamento de Organización y Estructura de la Información. Ingeniería del Software © 2007
Universidad Politécnica de Madrid
Principios de Ingeniería del Software
z Abstracción
Técnica fundamental para el entendimiento y
análisis de problemas complejos. Permite separar
los aspectos importantes de los superficiales.
z Predicción y anticipación de cambios
El software está evolucionando constantemente
debido a los cambios solicitados por los clientes ⇒
hay que buscar cómo diseñar de forma que los
cambios tengan el menor impacto.
z Generalidad
No tiene porqué ser más difícil resolver un problema
general que un caso particular. Las soluciones
generales facilitan la reutilización del esfuerzo.
z Desarrollo incremental
La obtención de un producto software es un proceso
evolutivo que se ve influido por las sucesivas
realimentaciones durante el proceso de desarrollo
z Por todo ello hacen falta además Procesos
bien definidos y Metodologías
z Construcción a medida
La mayoría del sw se construye a medida, en vez de
ensamblar componentes existentes
Índice de fallos
Índice de fallos
Continúa al mismo
nivel hasta estar
obsoleto
tiempo tiempo
60 - 100 *
1’5 - 6 *
1*