SlideShare uma empresa Scribd logo
1 de 72
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
Establecer
plan de
proyectos
Defina
Tareas
Fechas clave
Identificar responsables
por tareas
Especificar dependencia
por tareas
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
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
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.
 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
 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
 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
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.

Mais conteúdo relacionado

Mais procurados

Analisis y diseño de un sistema de informacion
Analisis y diseño de un sistema de informacionAnalisis y diseño de un sistema de informacion
Analisis y diseño de un sistema de informacion
paredes1983
 
Planificación de un proyecto de ingeniería de software
Planificación de un proyecto de ingeniería de softwarePlanificación de un proyecto de ingeniería de software
Planificación de un proyecto de ingeniería de software
ovefa
 
Planificacion de proyectos
Planificacion de proyectosPlanificacion de proyectos
Planificacion de proyectos
Leonel Ibarra
 
Ra semana 12
Ra semana 12Ra semana 12
Ra semana 12
victdiazm
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
Clare Rodriguez
 
Calendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareCalendarización de Proyectos de Software
Calendarización de Proyectos de Software
jose_macias
 
109 Metodologia Para La Estimacion De Tiempos De Un Proyecto
109 Metodologia Para La Estimacion De Tiempos De Un Proyecto109 Metodologia Para La Estimacion De Tiempos De Un Proyecto
109 Metodologia Para La Estimacion De Tiempos De Un Proyecto
GeneXus
 

Mais procurados (20)

Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Analisis y diseño de un sistema de informacion
Analisis y diseño de un sistema de informacionAnalisis y diseño de un sistema de informacion
Analisis y diseño de un sistema de informacion
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Planificación de un proyecto de ingeniería de software
Planificación de un proyecto de ingeniería de softwarePlanificación de un proyecto de ingeniería de software
Planificación de un proyecto de ingeniería de software
 
Planificacion de proyectos
Planificacion de proyectosPlanificacion de proyectos
Planificacion de proyectos
 
Ra semana 12
Ra semana 12Ra semana 12
Ra semana 12
 
Calendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareCalendarización de Proyectos de Software
Calendarización de Proyectos de Software
 
Estimacion De Proyecto
Estimacion De ProyectoEstimacion De Proyecto
Estimacion De Proyecto
 
Planificacion De Proyectos De Software
Planificacion De Proyectos De SoftwarePlanificacion De Proyectos De Software
Planificacion De Proyectos De Software
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Estimación para proy_soft-caja_b_y_n
Estimación para proy_soft-caja_b_y_nEstimación para proy_soft-caja_b_y_n
Estimación para proy_soft-caja_b_y_n
 
Administración de Proyectos en la Ingeniería de Software
Administración de Proyectos en la Ingeniería de SoftwareAdministración de Proyectos en la Ingeniería de Software
Administración de Proyectos en la Ingeniería de Software
 
Calendarización de Proyectos de Software
Calendarización de Proyectos de SoftwareCalendarización de Proyectos de Software
Calendarización de Proyectos de Software
 
Estimación de proyectos de software
Estimación de proyectos de softwareEstimación de proyectos de software
Estimación de proyectos de software
 
109 Metodologia Para La Estimacion De Tiempos De Un Proyecto
109 Metodologia Para La Estimacion De Tiempos De Un Proyecto109 Metodologia Para La Estimacion De Tiempos De Un Proyecto
109 Metodologia Para La Estimacion De Tiempos De Un Proyecto
 
Planificacion de software - Sistemas II
Planificacion de software - Sistemas IIPlanificacion de software - Sistemas II
Planificacion de software - Sistemas II
 
costos del software
costos del softwarecostos del software
costos del software
 
Ambito del software
Ambito del softwareAmbito del software
Ambito del software
 
Unidad 2 planificacion y modelado
Unidad 2 planificacion y modeladoUnidad 2 planificacion y modelado
Unidad 2 planificacion y modelado
 
Estimación para proyectos de software
Estimación para proyectos de softwareEstimación para proyectos de software
Estimación para proyectos de software
 

Destaque (6)

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

Semelhante a Ingenieria software

Diseño, analisis de sofware
Diseño, analisis de sofwareDiseño, analisis de sofware
Diseño, analisis de sofware
Nilton27
 
analicis,diseño,software
analicis,diseño,softwareanalicis,diseño,software
analicis,diseño,software
vanguevara
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de software
Ttomas Carvajal
 
Planificaciondeproyectosdesoftware
PlanificaciondeproyectosdesoftwarePlanificaciondeproyectosdesoftware
Planificaciondeproyectosdesoftware
Valentina
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
Ades27
 

Semelhante a Ingenieria software (20)

Proceso desarrollo software
Proceso desarrollo softwareProceso desarrollo software
Proceso desarrollo software
 
Gestion de proyectos de SW
Gestion de proyectos de SWGestion de proyectos de SW
Gestion de proyectos de SW
 
Gestión de Proyectos Informáticos
Gestión de Proyectos InformáticosGestión de Proyectos Informáticos
Gestión de Proyectos Informáticos
 
Desarrollo de Sistemas de Información
Desarrollo de Sistemas de InformaciónDesarrollo de Sistemas de Información
Desarrollo de Sistemas de Información
 
Planificacion de proyectos de software
Planificacion de proyectos de softwarePlanificacion de proyectos de software
Planificacion de proyectos de software
 
Diseño, analisis de Software
Diseño, analisis de SoftwareDiseño, analisis de Software
Diseño, analisis de Software
 
Diseño, analisis de sofware
Diseño, analisis de sofwareDiseño, analisis de sofware
Diseño, analisis de sofware
 
analicis,diseño,software
analicis,diseño,softwareanalicis,diseño,software
analicis,diseño,software
 
Planeacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de softwarePlaneacion y elaboración de proyectos de software
Planeacion y elaboración de proyectos de software
 
Procesos de Ingenieria de Software
Procesos de Ingenieria de SoftwareProcesos de Ingenieria de Software
Procesos de Ingenieria de Software
 
Presentacion fdd
Presentacion fddPresentacion fdd
Presentacion fdd
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
 
Estimación de costo de software
Estimación de costo de softwareEstimación de costo de software
Estimación de costo de software
 
titulo de pdf
titulo de pdftitulo de pdf
titulo de pdf
 
Planificaciondeproyectosdesoftware
PlanificaciondeproyectosdesoftwarePlanificaciondeproyectosdesoftware
Planificaciondeproyectosdesoftware
 
Presentación1.2
Presentación1.2Presentación1.2
Presentación1.2
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Metricas
Metricas Metricas
Metricas
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del software
 
ROLES.pdf
ROLES.pdfROLES.pdf
ROLES.pdf
 

Mais de Iván Sanchez Vera

Economia de Recursos Naturales y Economia Tradicional
Economia de Recursos Naturales y Economia TradicionalEconomia de Recursos Naturales y Economia Tradicional
Economia de Recursos Naturales y Economia Tradicional
Iván Sanchez Vera
 
Nociones básica de ecología y recursos naturales.
Nociones básica de ecología y recursos naturales. Nociones básica de ecología y recursos naturales.
Nociones básica de ecología y recursos naturales.
Iván Sanchez Vera
 
Proceso de Adquisiciones de Tecnologia
Proceso de Adquisiciones de TecnologiaProceso de Adquisiciones de Tecnologia
Proceso de Adquisiciones de Tecnologia
Iván Sanchez Vera
 

Mais de Iván Sanchez Vera (20)

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

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Ingenieria software

  • 1.
  • 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
  • 6.
  • 7. Establecer plan de proyectos Defina Tareas Fechas clave Identificar responsables por tareas Especificar dependencia por tareas
  • 8.
  • 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
  • 11.
  • 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
  • 28.
  • 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.
  • 32.
  • 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
  • 35.
  • 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
  • 48.
  • 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
  • 58.
  • 59.
  • 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.