Академический Документы
Профессиональный Документы
Культура Документы
• Antecedentes de TI
• Primeras décadas:
• Orientación al desarrollo el hardware, la reducción de
costos de procesamiento y el almacenamiento
• Década de los ochenta:
• Orientación al desarrollo de la microelectrónica, una
mayor potencia de cálculo y la reducción de costos
• Objetivo actual: mejorar la calidad de las soluciones
software.
Página 2 / 31
características y evolución del software
Página 3 / 31
características y evolución del software
Página 4 / 31
características y evolución del software
Página 5 / 31
características y evolución del software
Página 6 / 31
naturaleza y problemas del desarrollo de
software
Página 7 / 31
naturaleza y problemas del desarrollo de
software
Sin tiempo
para recoger
datos Dificultad de
históricos mantener
Planificación y el software
estimaciones existente
imprecisas
Baja productividad
Insatisfacción
del cliente
Calidad
Página 8 / 31
naturaleza y problemas del desarrollo de
software
Página 9 / 31
naturaleza y problemas del desarrollo de software
MITOS DE GESTIÓN
- Uso de estándares
- Uso de herramientas
- Mala planificación: aumento
de programadores
Página 10 / 31
la ingeniería del software
• Definiciones
• Implica el establecimiento y utilización de principios de
ingeniería “robustos, orientados a obtener software
económico, fiable, eficiente y que satisfaga las
necesidades del usuario”
• Es la disciplina que comprende “todos los aspectos de
la producción de software, desde las etapas iniciales
hasta el mantenimiento”:
• “disciplina de ingeniería”: aplicación de teorías, métodos
y herramientas para solucionar problemas teniendo en
cuenta restricciones financieras y organizativas
• “todos los aspectos de producción”: comprende los
procesos técnicos de desarrollo y actividades como la
administración de proyectos, desarrollo de
herramientas, métodos y teorías, etc.
Página 11 / 31
la ingeniería del software
• definiciones
• Implica el desarrollo de actividades de:
• Modelado
• Resolución de problemas
• Adquisición de conocimiento
• Guiadas por una fundamentación
Página 12 / 31
la ingeniería del software
herramientas para
mejores elementos automatizar
de programación los métodos
Coordinación, control
y buena gestión
Página 13 / 31
modelado
• Modelado
• Un método básico de la ciencia
• Modelo
• Es una representación abstracta de un sistema que
permite responder preguntas sobre el sistema
• Son útiles cuando el problema no es trivial y se trabaja
con complejos por tamaño, funcionalidad, y/o costosos
(o sea casa todos los sistemas!!!)
• Permiten visualizar y comprender sistemas que no
existen o que sólo se supone que existen (aún cuando
una parte de ellos ya haya sido construidos!!!)
Página 14 / 31
modelado
• Modelo
• Algunos ejemplos:
• En biología: modelos de dinosaurios a partir de restos
fósiles
• En aerodinámica: maquetas a escala o conjuntos de
ecuaciones matemáticas para analizar el
comportamiento del objeto real
• En meteorología: modelos estadísticos de predicción
para pronósticos
• Los ingenieros de software necesitan
• Comprender el ambiente de funcionamiento del sistema
por lo que deben construir modelos del dominio del
problema (sistemas de bolsa, control de tráfico
aéreo,...)
• Comprender los distintos sistemas que podrían construir
para evaluar alternativas por lo que deben construir
modelos del dominio de la solución
• Técnicas y herramientas para construir los modelos (por
ejemplo, diagramas de UML)
Página 15 / 31
solución de problemas
Página 16 / 31
solución de problemas
Página 17 / 31
participantes y roles
Página 18 / 31
participantes y roles
Página 19 / 31
otros conceptos de la ingeniería del software
• Sistemas y modelos
• Sistema: realidad subyacente
• Modelo: cualquier abstracción de la realidad
• Productos de trabajo
• Artefacto o elemento que se produce durante el
desarrollo (documento, fragmento de software,...)
• Pueden ser de dos tipos:
• Producto de Trabajo Interno: producto para el consumo
interno del proyecto (por ejemplo, una revisión de la
estructura de la base de datos, resultados de pruebas
para el gerente,...)
• Entregable: producto de trabajo para un cliente
(especificación de requisitos, manual de usuario,
producto final,...). Recordar el concepto de “servicio” y
de “visibilidad del cliente en un servicio”
Página 20 / 31
otros conceptos de la ingeniería del software
Página 21 / 31
otros conceptos de la ingeniería del software
Página 22 / 31
otros conceptos de la ingeniería del software
Página 23 / 31
otros conceptos de la ingeniería del software
Página 24 / 31
otros conceptos de la ingeniería del software
Página 25 / 31
Los servicios de TI y el “proceso de desarrollo”
de software
Demanda de tecnología
Requerimiento
Operativo Servicios de TI Puestos de Trabajo
Usuario Seguridad
Ambiente de Trabajo
Conectividad
Requerimiento
Estratégico Demanda
Infraestructura Operativa
Demanda de software
Requerimiento Aplicaciones
no planificado Proyectos
Proyectos
(estratégicos
(estratégicos)
y fuera de PA)
Cliente
Interno Mejoras por demanda operativa
Estratégica
Demanda Incidentes & Defectos
Página 26 / 31
Los servicios de TI y el “proceso de desarrollo”
de software
Interno
Mejoras por demanda operativa
Desarrollo de SW
Pruebas y QA
Proyecto Proyecto Proyecto
A B C Gestión de la configuración
Diseño y de desarrollo
Página 27 / 31
Demanda Estratégica de desarrollo de SW
Seguridad
Ambiente de Trabajo
Conectividad
Requerimiento
Estratégico
Infraestructura
Demanda de software
Aplicaciones
Proyectos (estratégicos)
Cliente
Interno
Estratégica
Demanda
Plan Estratégico
Gestión del portafolio de TI Oficina de Gestión de Proyectos
Página 28 / 31
Demanda Operativa de desarrollo de SW
Demanda de tecnología
Demanda
Infraestructura Operativa
Demanda de software
Aplicaciones
Proyectos (estratégicos y fuera de PA)
Requerimiento
no planificado
Cliente Mejoras por demanda operativa
Interno
Incidentes & Defectos
Diseño
Análisis de
impacto
Realización
Oficina de Gestión de Proyectos
Implantación
Proyecto Proyecto
Prueba B C
Página 29 / 31
Porque Ingeniería de Software I se focaliza en
Requerimientos, Proyectos , Calidad y Testing?
Aseguramiento de la Calidad
Gestión de Cambios
Requerimiento
Estratégico
Planificar Cambio
Gestión de Gestión de
Requerimiento Requerimientos Proyectos Administrar
no planificado Cambio
Desplegar Cambio
Desarrollo de
Cliente Software
Interno
Análisis
Diseño
Construcción
Control de
Calidad
(testing)
Aceptación
Página 30 / 31
Porque Ingeniería de Software I se focaliza en
Requerimientos, Proyectos , Calidad y Testing?
Aseguramiento de la Calidad
Gestión de Cambios
Requerimiento
Estratégico
Planificar Cambio
Gestión de Gestión de
Requerimiento Requerimientos Proyectos Administrar
no planificado Cambio
Desplegar Cambio
Desarrollo de
Cliente Software
Interno
Análisis
Diseño
Construcción
Control de
Calidad
(testing)
Aceptación
Página 31 / 31
bibliografía
Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1
Página 32 / 31