SlideShare una empresa de Scribd logo
Ingenieria software
En el principio se pidieron los
proyectos de Software.
Los proyectos estaban
desordenados y vacíos, y las
tinieblas estaban sobre la haz del
abismo, y el Espíritu de Dios se
movía sobre este mar de Caos.
Y dijo Dios: Sea la Planificación: y
fue la Planificación.
Y vio Dios que la Planificación era
buena: y apartó Dios la
Planificación del desorden…
1 Estimar
2 Planificar
ESTIMAR-> MIRAR AL FUTURO Y ACEPTAR CIERTO
GRADO DE INCERTIDUMBRE.
El gestor y el
equipo
Realizar
Estimación del trabajo
Estimación de recursos
Estimación del tiempo
 COMPLEJIDAD DEL PROYECTO
 TAMAÑO DE PROYECTO
 GRADO DE INCERTIDUMBRE ESTRUCTURAL
Ingenieria software
Establecer
plan de
proyectos
Defina
Tareas
Fechas clave
Identificar responsables
por tareas
Especificar dependencia
por tareas
Ingenieria software
El objetivo Se logra
Proceso de
descubrimiento
de la información
Proporciona Marco de
trabajo
Permita
realizar
Estimación del
trabajo
Estimación de
recursos
Estimación del
tiempo
 Control
 Datos a procesar
 Función
 Rendimiento
 Restricciones
 Interfaces
 Fiabilidad
Describe
Primera tarea de la
planificación de proyectos
Ingenieria software
Preguntas de
contexto libre
• ¿Quién esta detrás de
la solicitud de
trabajo?
• ¿Quién utilizará la
solución?
• ¿Cuál será el beneficio
económico de una
buena solución?
• ¿Hay otro camino para
la solución?
Comprender mejor el
problema
• ¿Cómo caracterizaría
un resultado correcto
que se generaría de
una solución
satisfactoria?
• ¿Con qué problema se
enfrentará esta
solución?
• ¿Hay aspecto o
limitaciones
especiales de
rendimiento que
afecten a la forma en
que se aborde la
solución?
Meta-cuestiones
Efectividad de la
reunión.
• ¿Es usted la persona
apropiada para
responder a estas
preguntas?
• ¿Son relevantes mis
preguntas para su
problema?
• ¿Estoy realizando
muchas preguntas?
• ¿Hay alguien más que
pueda proporcionar
información adicional?
• ¿Hay algo más que
debería preguntarle?
 Lectura de la entrada del
código de barras.
 Lectura del tacómetro de
pulsos.
 Descodificación de los
datos del código de pieza.
 Búsqueda en la base de
datos.
 Determinación de la
posición del
comportamiento.
 Producción de la señal de
control para el mecanismo
de maniobra.
Funciones importantes:
Acometer el esfuerzo de desarrollo de software
Segunda tarea de la
planificación de proyectos
Personal
Software
Reutilizable
Entorno Desarrollo
El
Planificador
debe
especificar
Habilidades Requeridas
Posición organizacional
Especialidad
 Componentes ya desarrollados
 Componentes ya experimentados
 Componentes con experiencia parcial
 Componentes nuevos
No inventar
el Agua Tibia
1
• Si los componentes ya desarrollados
cumplen los requisitos del proyecto,
adquiéralos.
2
• Si se dispone de componentes ya
experimentados, los riesgos asociados a la
modificación y a la integración se aceptan.
3
• Si se dispone de componentes de
experiencia parcial para el proyecto actual,
su uso se debe analizar con detalle.
 Incorpora hardware y software
 Se debe determinar el entorno de hardware y
software y verificar que estén disponibles.
 Un gran error en la estimación puede hacer
la diferencia entre Ganancia o Perdida.
Mala
Estimación
Desastre para
el
Desarrollador
Tercera tarea de la
planificación de proyectos
Implica
muchas
variables
• Humanas
• Técnicas
• Ambientales
• Políticas
• etc
Mientras mas se conozca menos
errores serios se cometerán.
Nunca es exacta
Basarse en proyectos similares
Descomposición Simple
Uso de Modelos Empíricos
USAR DATOS
HISTORICOS
TECNICAS DE
DESCOMPOSICION
MODELOS
EMPIRICOS
HERRAMIENTAS
AUTOMÁTICAS
 DESCOMPONER EL PROBLEMA EN CONJUNTO DE
PEQUEÑOS PROBLEMAS.
 SE DEBE DEFINIR ANTES EL TAMAÑO DE
SOFTWARE
1. Estimación basada en el problema
2. Estimación basada en el proceso
El grado con el cual se
ha estimado
adecuadamente el
tamaño
Habilidad para traducir
estimación en esfuerzo
humano, cronograma y
Dinero
Grado en el que la
planificación refleja las
habilidades del equipo
de Software
Estabilidad de los
requisitos del software
y el entorno que
soporta el esfuerzo de
la ingeniería de
software.
 Métricas basadas en la Productividad
 LDC/pm
 PF/pm
 Combinaciones
Optimista
Mas
Probable
Pesimista
Valor
Esperado
Ingenieria software
Descomposición funcional
absolutamente esencial
Considerables niveles de detalle
LDC se estima directamente.
Datos geométricos
 Los datos requeridos para estimar los Puntos de
Función son más macroscópicos que en LDC.
 Nivel de descomposición considerablemente
menos detallado que en LDC.
 PF se determina indirectamente mediante la
estimación del número de entradas, salidas,
archivos de datos, peticiones e interfaces
externas, entre otras.
Ingenieria software
 Técnica más habitual
 El proceso se descompone en actividades o
tareas y el esfuerzo requerido para llevar a
cabo cada tarea
2) Estimación Basada
en el Proceso
delimitar las funciones
obtenidas a partir del
ámbito del software
actividades del proceso
para cada función
estimación de esfuerzo
(persona-mes) para cada
actividad en cada
función
aplicación de índices de
trabajo medios
(esfuerzo coste/unidad)
al esfuerzo estimado
para cada actividad
cálculo de costes y
esfuerzo de cada
función y de la actividad
Ingenieria software
 Utilizan formulas empíricas para predecir el
esfuerzo.
 Los datos con los que se trabaja para estos
modelos son datos resultantes de una muestra
limitada de proyectos
 Deben manejarse con prudencia.
 El Modelo Constructivo de Costos
(COnstructive COst MOdel) es una jerarquía de
modelos de estimación para el software.
 Fue desarrollado por Boehm a finales de los
años 70 y comienzos de los 80.
COCOMO
Básico
• calcula el esfuerzo del desarrollo de software en función del
tamaño del programa expresando en líneas de código (LDC)
estimadas.
Intermedio
• calcula el esfuerzo del desarrollo de software en función del
tamaño del programa y de un conjunto de “conductores de
costo”, que incluyen la evaluación subjetiva del producto, del
hardware, del personal y de los atributos del proyecto.
Avanzado
• incorpora todas las características de la versión intermedia y
lleva a cabo una evaluación de impacto de los conductores de
costo en cada fase (análisis, diseño, etc.) del proceso de
ingeniería de software.
Modelo
Orgánico
• Proyectos de software relativamente pequeños
y sencillos.
• Trabajan pequeños equipos.
• Con buena experiencia en la aplicación.
• Conjunto de requisitos poco rígidos.
Modelo
Semiacoplado
• Proyectos de software intermedios (en tamaño
y complejidad).
• Equipos intermedios
• Con variados niveles de experiencia
• Conjunto de requisitos poco o medio rígidos
Modelo
Empotrado
• Proyectos de software que deben ser
desarrollados en un conjunto de hardware,
software y restricciones operativas muy
restringidas
programa de análisis
termal desarrollado
para un grupo
calórico
sistema de
procesamiento de
transacciones con
requisitos fijos para un
hardware de terminal
o un software de
gestión de base de
datos
software de control
de navegación para
un avión
EJEMPLOS
 FALTA LO MIO LO DEL EJERCICIO
VS
Opciones de
adquisición
El software se puede comprar ya desarrollado.
Se pueden adquirir componentes de software “totalmente
o parcialmente experimentado”, y entonces modificarse e
integrarse para cumplir las necesidades específicas.
El software puede ser construido de forma personalizada
por una empresa externa para cumplir las necesidades del
comprador.
Sentido
crítico del
software
Coste final
Menos caro
comprar
Menos caro
experimentar
Más caro es una
evaluación de
potenciales
paquetes de
software
Desarrollo de una
especificación para la función y
rendimiento del software
deseado.
Estimación de coste interno de
desarrollo y la fecha de entrega.
Selección de 3 o 4 aplicaciones
candidatos que cumplan mejor
las especificaciones.
Selección de componentes de
software reutilizables.
Desarrollo de una matriz de
comparación que permita una
comparación una a una de las
funciones clave.
Evaluación de cada paquete de
software o de componentes,
según la calidad de productos
anteriores, soporte del
vendedor, dirección del
producto.
Contacto con otros usuarios de
dicho software y petición del
producto.
Coste de
Soporte
Externo
Fecha
entrega
Coste de
Adquisición
Es un apoyo a la decisión desarrollar – comprar.
1) Construir el sistema X
desde el principio
2) Reutilizar los
componentes existentes de
“experiencia parcial” para
construir el sistema
3) Comprar un producto de
software disponible y
modificarlo para cumplir
las necesidades locales
4) Contratar el desarrollo del
software a un vendedor
externo
Ingenieria software
 Estrategia - táctica
 Contratación a un tercero que hace el
trabajo a bajo coste asegurando calidad.
PRO CONTRA
REDUCCION DE COSTES POR
AHORRO DE INFRAESTRUCTURA
AHORRO DE PERSONAL
SE PIERDE EL CONTROL DEL
SOFTWARE.
PROCESOS QUEDAN EN MANOS DE
TERCEROS
 Implementar en un software las técnicas
de descomposición, o técnicas empíricas.
 Permiten estimar costes y esfuerzo
 Analizar “que pasa si”
Descripción del
personal de
desarrollo y/o
entorno de
desarrollo
Estimación
cuantitativa
Características
cualitativas
Yo se Lenguaje
Ensamblador y
Fortran.
No necesito saber
ingeniería de
software
A la larga
90 %
Se quedan estancados
en el 90%, por no
llevar una buena
planificación, ni
estimar un buen
tiempo.
Fechas limite poco realista
Cambio en los requisitos de los clientes
Errores predecibles y no predecibles
Dificultades técnicas no previstas
Dificultades humanas
Falta de comunicación entre el equipo de trabajo
Falta de reconocimiento de retrasos
Es poco realista
exigirle al cliente
que cambie la fecha
de entrega!!!
Realizar una estimación en base
a proyectos anteriores.
Emplear modelo de proceso
incremental
Con bases explicar al cliente
porque la fecha no es realista
Ofertar estrategia al cliente
Esfuerzo estimado.
Duración Proyecto.
Estrategia de
desarrollo
Apuntar estimaciones.
Indicar mejora de
porcentaje.
Evoluciona
con el tiempo
Planificación Temporal Detallada
A media que progresa el
proyecto
Identifica y programa las
tareas
Planificación Temporal Macroscópica
Durante las primeras etapas
Identifica actividades y
funciones
1 • COMPARTIMENTACION
2 • INTERDEPENDENCIA
3 • ASIGNACION DE TIEMPO
4 • VALIDACION DE ESFUERZO
5 • RESPONSABILIDADES DEFINIDAS
6 • RESULTADOS DEFINIDOS
7 • HITOS DEFINIDOS
Ingenieria software
Ingenieria software
Proceso de
Software
eficaz
debería
Definir una
colección de
tareas
Se
diseñan
Para acomodar
diferentes proyectos
diferentes grados de rigor
Proyectos de desarrollo de concepto
Proyectos de desarrollo de una
nueva aplicación
Proyectos de mejoras de
aplicaciones
Proyectos de mantenimiento de
aplicaciones
Proyectos de reingeniería
Está en función
de muchas
características
del proyecto
Como se tratara
al proyecto
4
grados
de Rigor
Casual
Estructurado
Estricto
Reacción
Rápida
 Tamaño de proyecto
 Numero potencial de usuarios
 Misión critica
 Longevidad de la aplicación
 Estabilidad de los requisitos
 Facilidad de comunicación cliente/ desarrollador
 Madurez de la tecnología aplicable
 Limitaciones de rendimiento
 Características empotradas/no empotradas
 Personal del proyecto
 Factores de reingeniería
Se emplean para determinar el
grado de rigor recomendado con
el que el proceso de software
debería aplicarse en un proyecto.
• Importancia de la
distribución de un
conjunto de tareas
a lo largo de la
duración del
proyecto.
• Cada uno de los
tipos de proyectos
puede enfocarse
usando un modelo
de proceso lineal,
secuencial o
iterativo
Ámbito del concepto
Planificación preliminar del concepto
Valoración del riesgo tecnológico
Prueba del concepto
Implementación del concepto
Reacción del cliente ante el concepto
Tareas
Principales
Descomponer
en sub-tareas
Planificación
Temporal
Detallada
 Es una representación gráfica del flujo de tareas de
un proyecto
 Muestra las tareas principales de la ingeniería de
software
• Técnica de evaluación y
revisión de programaPERT
• Método del camino
críticoGANT
• Estimaciones de
esfuerzo
• Descomposición de la
función del producto
• Selección del modelo
de proceso adecuado
• Selección del tipo de
proyecto y del
conjunto de tareas
Son dirigidas
por la
información
ya
desarrollada
en
actividades
anteriores:
 En una red de trabajo, el esfuerzo, duración y
fecha de inicio delas tareas se las puede definir
como entradas.
 Estas entradas generan un Grafico de tiempo
Gráfico de Gantt
UTILIDAD:
SEGUIMIENTO DEL PROGRESO
Reuniones periódicas del estado del proyecto
Evaluando resultados de las revisiones
realizadas a lo lardo del proceso de ingeniería
Determinando si se han conseguido lo
planteado y en la fecha programada.
Comparando la fecha real de inicio con las
previstas para cada tarea del proyecto
 Se produce cuando se culminan todas las
tareas de planificación.
 Comunicar el ámbito y recursos a los gestores
del software, personal técnico y al CLIENTE.
 Definir los riesgos y sugerir técnicas de
aversión al riesgo.
 Definición de costes y planificación temporal
 Proporcionar un enfoque general de
desarrollo del software para el personal.
 Describir como se garantizará la calidad.

Más contenido relacionado

PDF
Planificacion y-estimacion-de-proyectos-de-software
PDF
Gestion de proyectos - Estimación del Esfuerzo
PDF
Presentacionsii
PPTX
Estimación para proyectos de software cap26
DOCX
Gestión de proyectos de software - Tema 3: Planificación del proyecto
PPTX
Planificacion de proyecto de software
PPT
Estimación para Proyectos de Software
PPTX
Administración de proyectos de desarrollo de software
Planificacion y-estimacion-de-proyectos-de-software
Gestion de proyectos - Estimación del Esfuerzo
Presentacionsii
Estimación para proyectos de software cap26
Gestión de proyectos de software - Tema 3: Planificación del proyecto
Planificacion de proyecto de software
Estimación para Proyectos de Software
Administración de proyectos de desarrollo de software

La actualidad más candente (20)

PPTX
Estimación de Proyectos de Software
DOCX
Analisis y diseño de un sistema de informacion
PPT
Estimación de Proyectos de Software
PPTX
Planificación de un proyecto de ingeniería de software
PPTX
Planificacion de proyectos
PPTX
Ra semana 12
PPT
Calendarización de Proyectos de Software
PPT
Estimacion De Proyecto
PPTX
Planificacion De Proyectos De Software
PPTX
Tecnicas de estimacion de software
DOCX
Estimación para proy_soft-caja_b_y_n
PDF
Administración de Proyectos en la Ingeniería de Software
PPTX
Calendarización de Proyectos de Software
PPTX
Estimación de proyectos de software
PPTX
109 Metodologia Para La Estimacion De Tiempos De Un Proyecto
PPTX
Planificacion de software - Sistemas II
PPT
costos del software
PDF
Ambito del software
PDF
Unidad 2 planificacion y modelado
PDF
Estimación para proyectos de software
Estimación de Proyectos de Software
Analisis y diseño de un sistema de informacion
Estimación de Proyectos de Software
Planificación de un proyecto de ingeniería de software
Planificacion de proyectos
Ra semana 12
Calendarización de Proyectos de Software
Estimacion De Proyecto
Planificacion De Proyectos De Software
Tecnicas de estimacion de software
Estimación para proy_soft-caja_b_y_n
Administración de Proyectos en la Ingeniería de Software
Calendarización de Proyectos de Software
Estimación de proyectos de software
109 Metodologia Para La Estimacion De Tiempos De Un Proyecto
Planificacion de software - Sistemas II
costos del software
Ambito del software
Unidad 2 planificacion y modelado
Estimación para proyectos de software
Publicidad

Destacado (6)

PPT
MéTodos DidáCticos
PPT
Dewey (1859 1952).
PPT
La escuela nueva de jonh dewey
PDF
La teoría educativa de john dewey
 
PPT
John dewey
PPTX
La Perspectiva John Dewey, Aprender Haciendo y el Pensamiendo Reflexivo
MéTodos DidáCticos
Dewey (1859 1952).
La escuela nueva de jonh dewey
La teoría educativa de john dewey
 
John dewey
La Perspectiva John Dewey, Aprender Haciendo y el Pensamiendo Reflexivo
Publicidad

Similar a Ingenieria software (20)

PPSX
PLANIFICACIÓN DE PROYECTOS DE SOFTWARE
PPTX
Jessika parica. planificación de un proyecto de software
PPTX
Estimación de costo de software
PPTX
Planificaciondeproyectosdesoftware
PPSX
Planificación de proyectos de software
PPTX
Planificación de proyectos de software
PPT
Procesos de Ingenieria de Software
PPTX
Planificacion proyecto
PPT
analicis,diseño,software
PPT
Diseño, analisis de Software
PPT
Diseño, analisis de sofware
PPT
Estimacion De Proyecto
PPTX
PLANEACIÓN DE PROYECTOS DE SOFTWARE.pptx
PPTX
Cocomo
PPSX
Proyecto de software
PPSX
Proyecto De Software
PPSX
Proyecto de software
PPSX
Proyecto de software
PPSX
Proyecto de software
PPTX
Planificacion de un Proyecto de Software
PLANIFICACIÓN DE PROYECTOS DE SOFTWARE
Jessika parica. planificación de un proyecto de software
Estimación de costo de software
Planificaciondeproyectosdesoftware
Planificación de proyectos de software
Planificación de proyectos de software
Procesos de Ingenieria de Software
Planificacion proyecto
analicis,diseño,software
Diseño, analisis de Software
Diseño, analisis de sofware
Estimacion De Proyecto
PLANEACIÓN DE PROYECTOS DE SOFTWARE.pptx
Cocomo
Proyecto de software
Proyecto De Software
Proyecto de software
Proyecto de software
Proyecto de software
Planificacion de un Proyecto de Software

Más de Iván Sanchez Vera (20)

PPTX
Git res baz ec - final
PPTX
Intro a Metodos Numericos
PPTX
Intro Inteligencia Artificial (AI)
PDF
Trajectory clustering - Traclus Algorithm
PPTX
Proofs on cryptocurrencies
PPTX
Social databases - A brief overview
PPTX
(Draft) Nuevos caminos de innovación en tecnología
PPTX
Pin payments presentation final (4)
PPT
Impacto de las Actividades Economicas sobre las Funciones de la Biosfera.pptx
PPT
Funciones Economicas Biosfera
PPT
Economia de Recursos Naturales y Economia Tradicional
PPT
Nociones básica de ecología y recursos naturales.
PPT
Economia de Recursos Naturales
PPTX
Tolerencia de fallas
PPT
Pruebas de Software
PPT
Proceso de Adquisiciones de Tecnologia
PPT
Proceso de Compra de Tecnologia
PPT
Pasos para elaborar RFP
PPT
Redes ieee 802_11n
PDF
Formacion de Empresas
Git res baz ec - final
Intro a Metodos Numericos
Intro Inteligencia Artificial (AI)
Trajectory clustering - Traclus Algorithm
Proofs on cryptocurrencies
Social databases - A brief overview
(Draft) Nuevos caminos de innovación en tecnología
Pin payments presentation final (4)
Impacto de las Actividades Economicas sobre las Funciones de la Biosfera.pptx
Funciones Economicas Biosfera
Economia de Recursos Naturales y Economia Tradicional
Nociones básica de ecología y recursos naturales.
Economia de Recursos Naturales
Tolerencia de fallas
Pruebas de Software
Proceso de Adquisiciones de Tecnologia
Proceso de Compra de Tecnologia
Pasos para elaborar RFP
Redes ieee 802_11n
Formacion de Empresas

Último (20)

PPTX
la-historia-de-la-medicina Edna Silva.pptx
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPTX
El uso de las TIC en la vida cotidiana..
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
Curso de generación de energía mediante sistemas solares
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
modulo seguimiento 1 para iniciantes del
PDF
clase auditoria informatica 2025.........
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
Presentación de Redes de Datos modelo osi
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PDF
MANUAL de recursos humanos para ODOO.pdf
la-historia-de-la-medicina Edna Silva.pptx
Power Point Nicolás Carrasco (disertación Roblox).pptx
Influencia-del-uso-de-redes-sociales.pdf
El uso de las TIC en la vida cotidiana..
El-Gobierno-Electrónico-En-El-Estado-Bolivia
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
TRABAJO DE TECNOLOGIA.pdf...........................
Sesion 1 de microsoft power point - Clase 1
informe_fichas1y2_corregido.docx (2) (1).pdf
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Curso de generación de energía mediante sistemas solares
Documental Beyond the Code (Dossier Presentación - 2.0)
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
modulo seguimiento 1 para iniciantes del
clase auditoria informatica 2025.........
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Presentación PASANTIAS AuditorioOO..pptx
Presentación de Redes de Datos modelo osi
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
MANUAL de recursos humanos para ODOO.pdf

Ingenieria software

  • 2. En el principio se pidieron los proyectos de Software. Los proyectos estaban desordenados y vacíos, y las tinieblas estaban sobre la haz del abismo, y el Espíritu de Dios se movía sobre este mar de Caos. Y dijo Dios: Sea la Planificación: y fue la Planificación. Y vio Dios que la Planificación era buena: y apartó Dios la Planificación del desorden…
  • 4. ESTIMAR-> MIRAR AL FUTURO Y ACEPTAR CIERTO GRADO DE INCERTIDUMBRE. El gestor y el equipo Realizar Estimación del trabajo Estimación de recursos Estimación del tiempo
  • 5.  COMPLEJIDAD DEL PROYECTO  TAMAÑO DE PROYECTO  GRADO DE INCERTIDUMBRE ESTRUCTURAL
  • 7. Establecer plan de proyectos Defina Tareas Fechas clave Identificar responsables por tareas Especificar dependencia por tareas
  • 9. El objetivo Se logra Proceso de descubrimiento de la información Proporciona Marco de trabajo Permita realizar Estimación del trabajo Estimación de recursos Estimación del tiempo
  • 10.  Control  Datos a procesar  Función  Rendimiento  Restricciones  Interfaces  Fiabilidad Describe Primera tarea de la planificación de proyectos
  • 12. Preguntas de contexto libre • ¿Quién esta detrás de la solicitud de trabajo? • ¿Quién utilizará la solución? • ¿Cuál será el beneficio económico de una buena solución? • ¿Hay otro camino para la solución? Comprender mejor el problema • ¿Cómo caracterizaría un resultado correcto que se generaría de una solución satisfactoria? • ¿Con qué problema se enfrentará esta solución? • ¿Hay aspecto o limitaciones especiales de rendimiento que afecten a la forma en que se aborde la solución? Meta-cuestiones Efectividad de la reunión. • ¿Es usted la persona apropiada para responder a estas preguntas? • ¿Son relevantes mis preguntas para su problema? • ¿Estoy realizando muchas preguntas? • ¿Hay alguien más que pueda proporcionar información adicional? • ¿Hay algo más que debería preguntarle?
  • 13.  Lectura de la entrada del código de barras.  Lectura del tacómetro de pulsos.  Descodificación de los datos del código de pieza.  Búsqueda en la base de datos.  Determinación de la posición del comportamiento.  Producción de la señal de control para el mecanismo de maniobra. Funciones importantes:
  • 14. Acometer el esfuerzo de desarrollo de software Segunda tarea de la planificación de proyectos Personal Software Reutilizable Entorno Desarrollo
  • 16.  Componentes ya desarrollados  Componentes ya experimentados  Componentes con experiencia parcial  Componentes nuevos No inventar el Agua Tibia
  • 17. 1 • Si los componentes ya desarrollados cumplen los requisitos del proyecto, adquiéralos. 2 • Si se dispone de componentes ya experimentados, los riesgos asociados a la modificación y a la integración se aceptan. 3 • Si se dispone de componentes de experiencia parcial para el proyecto actual, su uso se debe analizar con detalle.
  • 18.  Incorpora hardware y software  Se debe determinar el entorno de hardware y software y verificar que estén disponibles.
  • 19.  Un gran error en la estimación puede hacer la diferencia entre Ganancia o Perdida. Mala Estimación Desastre para el Desarrollador Tercera tarea de la planificación de proyectos
  • 20. Implica muchas variables • Humanas • Técnicas • Ambientales • Políticas • etc Mientras mas se conozca menos errores serios se cometerán. Nunca es exacta
  • 21. Basarse en proyectos similares Descomposición Simple Uso de Modelos Empíricos
  • 24.  DESCOMPONER EL PROBLEMA EN CONJUNTO DE PEQUEÑOS PROBLEMAS.  SE DEBE DEFINIR ANTES EL TAMAÑO DE SOFTWARE 1. Estimación basada en el problema 2. Estimación basada en el proceso
  • 25. El grado con el cual se ha estimado adecuadamente el tamaño Habilidad para traducir estimación en esfuerzo humano, cronograma y Dinero Grado en el que la planificación refleja las habilidades del equipo de Software Estabilidad de los requisitos del software y el entorno que soporta el esfuerzo de la ingeniería de software.
  • 26.  Métricas basadas en la Productividad  LDC/pm  PF/pm  Combinaciones
  • 29. Descomposición funcional absolutamente esencial Considerables niveles de detalle LDC se estima directamente.
  • 31.  Los datos requeridos para estimar los Puntos de Función son más macroscópicos que en LDC.  Nivel de descomposición considerablemente menos detallado que en LDC.  PF se determina indirectamente mediante la estimación del número de entradas, salidas, archivos de datos, peticiones e interfaces externas, entre otras.
  • 33.  Técnica más habitual  El proceso se descompone en actividades o tareas y el esfuerzo requerido para llevar a cabo cada tarea 2) Estimación Basada en el Proceso
  • 34. delimitar las funciones obtenidas a partir del ámbito del software actividades del proceso para cada función estimación de esfuerzo (persona-mes) para cada actividad en cada función aplicación de índices de trabajo medios (esfuerzo coste/unidad) al esfuerzo estimado para cada actividad cálculo de costes y esfuerzo de cada función y de la actividad
  • 36.  Utilizan formulas empíricas para predecir el esfuerzo.  Los datos con los que se trabaja para estos modelos son datos resultantes de una muestra limitada de proyectos  Deben manejarse con prudencia.
  • 37.  El Modelo Constructivo de Costos (COnstructive COst MOdel) es una jerarquía de modelos de estimación para el software.  Fue desarrollado por Boehm a finales de los años 70 y comienzos de los 80. COCOMO
  • 38. Básico • calcula el esfuerzo del desarrollo de software en función del tamaño del programa expresando en líneas de código (LDC) estimadas. Intermedio • calcula el esfuerzo del desarrollo de software en función del tamaño del programa y de un conjunto de “conductores de costo”, que incluyen la evaluación subjetiva del producto, del hardware, del personal y de los atributos del proyecto. Avanzado • incorpora todas las características de la versión intermedia y lleva a cabo una evaluación de impacto de los conductores de costo en cada fase (análisis, diseño, etc.) del proceso de ingeniería de software.
  • 39. Modelo Orgánico • Proyectos de software relativamente pequeños y sencillos. • Trabajan pequeños equipos. • Con buena experiencia en la aplicación. • Conjunto de requisitos poco rígidos. Modelo Semiacoplado • Proyectos de software intermedios (en tamaño y complejidad). • Equipos intermedios • Con variados niveles de experiencia • Conjunto de requisitos poco o medio rígidos Modelo Empotrado • Proyectos de software que deben ser desarrollados en un conjunto de hardware, software y restricciones operativas muy restringidas programa de análisis termal desarrollado para un grupo calórico sistema de procesamiento de transacciones con requisitos fijos para un hardware de terminal o un software de gestión de base de datos software de control de navegación para un avión EJEMPLOS
  • 40.  FALTA LO MIO LO DEL EJERCICIO
  • 41. VS
  • 42. Opciones de adquisición El software se puede comprar ya desarrollado. Se pueden adquirir componentes de software “totalmente o parcialmente experimentado”, y entonces modificarse e integrarse para cumplir las necesidades específicas. El software puede ser construido de forma personalizada por una empresa externa para cumplir las necesidades del comprador.
  • 44. Menos caro comprar Menos caro experimentar Más caro es una evaluación de potenciales paquetes de software
  • 45. Desarrollo de una especificación para la función y rendimiento del software deseado. Estimación de coste interno de desarrollo y la fecha de entrega. Selección de 3 o 4 aplicaciones candidatos que cumplan mejor las especificaciones. Selección de componentes de software reutilizables. Desarrollo de una matriz de comparación que permita una comparación una a una de las funciones clave. Evaluación de cada paquete de software o de componentes, según la calidad de productos anteriores, soporte del vendedor, dirección del producto. Contacto con otros usuarios de dicho software y petición del producto.
  • 47. Es un apoyo a la decisión desarrollar – comprar. 1) Construir el sistema X desde el principio 2) Reutilizar los componentes existentes de “experiencia parcial” para construir el sistema 3) Comprar un producto de software disponible y modificarlo para cumplir las necesidades locales 4) Contratar el desarrollo del software a un vendedor externo
  • 49.  Estrategia - táctica  Contratación a un tercero que hace el trabajo a bajo coste asegurando calidad. PRO CONTRA REDUCCION DE COSTES POR AHORRO DE INFRAESTRUCTURA AHORRO DE PERSONAL SE PIERDE EL CONTROL DEL SOFTWARE. PROCESOS QUEDAN EN MANOS DE TERCEROS
  • 50.  Implementar en un software las técnicas de descomposición, o técnicas empíricas.  Permiten estimar costes y esfuerzo  Analizar “que pasa si”
  • 51. Descripción del personal de desarrollo y/o entorno de desarrollo Estimación cuantitativa Características cualitativas
  • 52. Yo se Lenguaje Ensamblador y Fortran. No necesito saber ingeniería de software A la larga 90 %
  • 53. Se quedan estancados en el 90%, por no llevar una buena planificación, ni estimar un buen tiempo.
  • 54. Fechas limite poco realista Cambio en los requisitos de los clientes Errores predecibles y no predecibles Dificultades técnicas no previstas Dificultades humanas Falta de comunicación entre el equipo de trabajo Falta de reconocimiento de retrasos
  • 55. Es poco realista exigirle al cliente que cambie la fecha de entrega!!! Realizar una estimación en base a proyectos anteriores. Emplear modelo de proceso incremental Con bases explicar al cliente porque la fecha no es realista Ofertar estrategia al cliente Esfuerzo estimado. Duración Proyecto. Estrategia de desarrollo Apuntar estimaciones. Indicar mejora de porcentaje.
  • 56. Evoluciona con el tiempo Planificación Temporal Detallada A media que progresa el proyecto Identifica y programa las tareas Planificación Temporal Macroscópica Durante las primeras etapas Identifica actividades y funciones
  • 57. 1 • COMPARTIMENTACION 2 • INTERDEPENDENCIA 3 • ASIGNACION DE TIEMPO 4 • VALIDACION DE ESFUERZO 5 • RESPONSABILIDADES DEFINIDAS 6 • RESULTADOS DEFINIDOS 7 • HITOS DEFINIDOS
  • 60. Proceso de Software eficaz debería Definir una colección de tareas Se diseñan Para acomodar diferentes proyectos diferentes grados de rigor
  • 61. Proyectos de desarrollo de concepto Proyectos de desarrollo de una nueva aplicación Proyectos de mejoras de aplicaciones Proyectos de mantenimiento de aplicaciones Proyectos de reingeniería
  • 62. Está en función de muchas características del proyecto Como se tratara al proyecto 4 grados de Rigor Casual Estructurado Estricto Reacción Rápida
  • 63.  Tamaño de proyecto  Numero potencial de usuarios  Misión critica  Longevidad de la aplicación  Estabilidad de los requisitos  Facilidad de comunicación cliente/ desarrollador  Madurez de la tecnología aplicable  Limitaciones de rendimiento  Características empotradas/no empotradas  Personal del proyecto  Factores de reingeniería Se emplean para determinar el grado de rigor recomendado con el que el proceso de software debería aplicarse en un proyecto.
  • 64. • Importancia de la distribución de un conjunto de tareas a lo largo de la duración del proyecto. • Cada uno de los tipos de proyectos puede enfocarse usando un modelo de proceso lineal, secuencial o iterativo
  • 65. Ámbito del concepto Planificación preliminar del concepto Valoración del riesgo tecnológico Prueba del concepto Implementación del concepto Reacción del cliente ante el concepto
  • 67.  Es una representación gráfica del flujo de tareas de un proyecto  Muestra las tareas principales de la ingeniería de software
  • 68. • Técnica de evaluación y revisión de programaPERT • Método del camino críticoGANT
  • 69. • Estimaciones de esfuerzo • Descomposición de la función del producto • Selección del modelo de proceso adecuado • Selección del tipo de proyecto y del conjunto de tareas Son dirigidas por la información ya desarrollada en actividades anteriores:
  • 70.  En una red de trabajo, el esfuerzo, duración y fecha de inicio delas tareas se las puede definir como entradas.  Estas entradas generan un Grafico de tiempo Gráfico de Gantt UTILIDAD: SEGUIMIENTO DEL PROGRESO
  • 71. Reuniones periódicas del estado del proyecto Evaluando resultados de las revisiones realizadas a lo lardo del proceso de ingeniería Determinando si se han conseguido lo planteado y en la fecha programada. Comparando la fecha real de inicio con las previstas para cada tarea del proyecto
  • 72.  Se produce cuando se culminan todas las tareas de planificación.  Comunicar el ámbito y recursos a los gestores del software, personal técnico y al CLIENTE.  Definir los riesgos y sugerir técnicas de aversión al riesgo.  Definición de costes y planificación temporal  Proporcionar un enfoque general de desarrollo del software para el personal.  Describir como se garantizará la calidad.