Clase modelo

Download Report

Transcript Clase modelo

Unidad II Planeación
M.C. Juan Carlos Olivares Rojas
• Este material se distribuye bajo una licencia
Creative Commons Reconocimiento 2.5 México.
Usted es libre de:
copiar, distribuir y comunicar públicamente la
obra
hacer obras derivadas
• Bajo las condiciones siguientes:
Reconocimiento. Debe reconocer y dar crédito
al autor original (Juan Carlos Olivares Rojas)
Agenda
2.1 Estimación
2.2 Itinerario
2.3 Seguimiento
¿Qué es una Propuesta?
• Define formalmente el tema a desarrollar.
Cumple tres funciones:
• Es un plan de acción
• Es un compromiso por escrito
• Elaborar el primer capítulo del reporte final
¿Qué es una Propuesta?
• A la propuesta también suele llamarse
Anteproyecto o Bosquejo.
• Antes de realizar la propuesta se debe
considerar la viabilidad del proyecto.
• Con la propuesta se cierra la fase de
comunicación de un proyecto (identidad)
¿Qué es una Propuesta?
• Las propuestas tienen formatos variables
pero en esencia conservan muchas
características básicas.
• Las propuestas aplican
proyecto de cualquier tipo.
para
cualquier
Frases Célebres
• “Si supiera qué es lo que estoy haciendo, no
lo llamaría investigación aún, ¿verdad?”.
Albert Einstein
• “La formulación de un problema, es más
importante que su solución”. Albert Einstein.
Frases Célebres
• Si buscas resultados distintos, no hagas
siempre lo mismo”. Albert Einstein
• Ley de Wolter: “Si tiene tiempo, no tendrá
dinero. Si tiene dinero, no tendrá tiempo”.
Frases Célebres
• “La imaginación es más importante que el
conocimiento”. Albert Einstein
• “Si no corres tan rápido como tu competidor,
estás en una situación difícil; pero si sólo
corres a la mitad de la velocidad, estás
acabado”. George Salk
Frases Célebres
• “No hagas planes pequeños … pues no
tienen el poder de hacer hervir la sangre de
los hombres”. Nicolás Maquiavelo
• Segunda Ley de Clarke: “La única forma de
descubrir los límites de lo posible es
traspasarlos en dirección de lo imposible”.
Planteamiento del Problema
• Si no sabemos lo que buscamos jamás lo
vamos a encontrar.
• En desarrollo de proyectos la parte medular
de la solución se encuentra al definir el SOW
(Statement of Work).
Planteamiento del Problema
• Es la descripción sistemática y rigurosa de
los hechos que gira en torno a una
determinada situación.
• Debe contener antecedentes, precisando
que características es lo que se va a
estudiar.
Planteamiento del Problema
• Debe resolver a las preguntas: ¿qué?,
¿cuando?, ¿por qué? ¿cómo? ¿dónde?
• Algunas características del planteamiento del
problema son: resoluble, congruente,
relevante, objetivo, original, vigente y
preciso.
Planteamiento del Problema
• Definir un problema corresponde a tener el
90% de la solución.
• Existen muchas técnicas para encontrar y
delimitar el problema, siendo las más
importantes: reto de ideas, análisis del
problema y árbol del problema.
Planteamiento del problema
• La técnica de reto de ideas es una técnica
creada con la finalidad de ayudar a definir
alternativas de solución para algunos
problemas.
• A continuación se muestra cada paso de
esta técnica
a) Explorar el problema
• Es analizar y situar la idea o concepto definiendo
sus características. Se realizan preguntas como:
•
•
•
•
•
•
¿Qué objetivos cumple?
¿Qué factores intervienen en su funcionamiento?
¿Cómo opera?
¿Es útil?
¿Es funcional?
¿Como debería de ser?
Técnica de reto de ideas
b) Seleccionar una situación y retarla.
c) Contestar las preguntas :
b) ¿ Porqué es así?
c) ¿ Puede ser de otra manera?
d) ¿Qué opciones se tienen para generar una
manera diferente de ver el asunto?
d) Sugerir alternativas de solución.
Técnica de análisis de errores
• Es otro tipo de procedimiento que ayudan a
detectar deficiencias en una idea, situación o
concepto.
• La manera de utilizar esa técnica es
siguiendo los pasos que se mencionan a
continuación.
Técnicas de análisis de errores
a) Definir el problema, idea, situación o
concepto.
b) Identificar posibles errores.
c) Pensar la manera de corregirlos.
d) Analizar las alternativas de corrección y
sugerir las que sean factibles.
Árbol del Problema
• Árbol del problema: es una técnica para
identificar problemas usando relaciones
causa-efecto.
• Un error común consiste en expresar el
problema como la negación o falta de.
Árbol del Problema
• El problema debe formularse de tal forma
que
permita
encontrar
diferentes
posibilidades de solución.
• Mal formulados:
• No existe un generador local de energía
eléctrica.
• Falta de programas de educación inicial
Árbol del Problema
• Correctos:
• Limitada provisión de energía eléctrica
durante el día
• Bajo rendimiento de los niños y niñas en los
primeros años de educación primaria.
• Generalmente vemos los efectos más no la
raíz de los problemas
Árbol del Problema
Actividad
• Realizar
de
manera
individual
el
planteamiento del problema considerando
cualquiera de las tres técnicas anteriormente
descritas (70%).
• Realizar el planteamiento del problema de
manera global (30%).
Planteamiento del Problema
• La delimitación del problema es un proceso
más general que se compone de otras
etapas como:
1. Determinar el alcance y los objetivos.
2. Crear una visión.
3. Adoptar una metodología en la planeación.
Planteamiento del Problema
4. Organizar y definir los recursos necesarios.
5. Definir el equipo de trabajo.
6. Preparar un plan de trabajo.
7. Obtener o confirmar los requerimientos de
acuerdo al plan desarrollado.
Planteamiento del Problema
• En la mayoría de los casos simplemente
realizamos desarrollos de proyectos solo por
realizarlos sin tomar en cuenta los
verdaderos problemas sociales.
• La inmensa mayoria de estos problemas se
encuentran de manera tangible en nuestro
entorno, el problema es que no nos
percatamos de ello o bien no sabes definirlos
como problemas.
comunicaciones
alimentos
agua
informática
Investigación Aplicada
Problemática
Desarrollo Tecnológico
en el País
Investigación Básica
transporte
energía
fuentes
de empleo
Planteamiento del Problema
Tarea
•
La actividad se realizará de manera individual
(100%).
•
Encontrar cualquier problemática en general
(anexar noticia)
•
Realizar un planteamiento del problema,
plantear soluciones tecnológicas eficientes y
eficaces a los problemas detectados.
Determinar Alcances y Objetivos
• Definir las limitaciones del proyecto
• En esta parte debe quedar claro que hace y
que no hace el proyecto, además de dejar en
claro por que es importante hacerlo.
• De manera adicional se puede incluir otros
elementos como la complejidad.
Delimitación del problema
• En la delimitación del problema se deben de
escribir cada uno de los recursos y procesos
que intervienen dentro del área del proyecto,
para analizar cada uno de ellos y seleccionar
aquellos que realmente intervengan dentro
del problema identificado.
Delimitación del problema
• El objetivo de delimitar el problema es
disminuir el grado de complejidad del
proyecto para atender solo aquellos aspectos
que son requeridos.
• Si no se delimita un problema no se sabe
con certeza cuando se acabará el proyecto.
Objetivos
• Es la parte medular del proyecto dado que
define lo que se va a hacer en el proyecto.
• Los objetivos pueden ser generales o
específicos.
• Generalmente si son específicos se les suele
denominar metas.
Objetivos
• Las metas deben de ser:
•
•
•
•
•
Específica
Medible
Retable
Realística
Completa
Objetivos
• Los objetivos generalmente se redactan con
verbos en infinito: desarrollar, implantar,
diseñar, etc.
• Es muy importante que la redacción de la
propuesta sea muy clara, de lo contrario
existirían muchos problemas de ambigüedad.
Justificación
• Debe responder a los ¿por qué? se debe
desarrollar el proyecto.
• Se trata de reflejar de una manera clara y
sencilla el análisis de costos, beneficios,
aportaciones, etc.
• Justificar es alinear todo un proyecto hacia el
mismo lugar.
Justificación
• El objetivo de la justificación es
proporcionar todos los elementos posibles
que ayuden a soportar con bases firmes y
concretas todos los elementos (recursos,
personal e ideas) que son necesitados por
el proyecto para su operación óptima.
• Si un proyecto no está bien justificado no
tiene caso hacerlo.
Actividad
• Desarrollar la delimitación del problema de
manera grupal:
•
•
•
•
Objetivos (25%)
Metas (25%)
Alcances y Limitaciones (25%)
Justificación (25%)
Crear una Visión Inicial
• La Visión se redacta en tiempo futuro y
expresa lo que se desea sea la empresa o
proyecto. Sirve de motivación para todos los
miembros del equipo (visión compartida).
• Para crear una visión se debe de revisar,
recopilar, leer todas las fuentes de
información de la empresa.
Crear una Visión Inicial
• Se deben hacer promesas para generar
entusiasmo y soporte.
• El líder de proyecto es el encargado de la
motivación de los demás miembros del
equipo.
• Se debe desarrollar una misión de la
empresa o proyecto.
Crear una Visión Inicial
• La visión representa la imagen de lo que
queremos ser. Se redacta en términos de
éxito hacia los demás
• Sirve para ubicarnos en donde estamos y
Hacia donde queremos llegar.
• Los principios y valores sirven para la sana
convivencia y de motivación.
Crear una Visión Inicial
• La misión se redacta en términos de lo que
se realiza como función, tratando de brindar
un mejor servicio. Debe de responder a
preguntas como:
• ¿Por qué y para qué?
• ¿Qué ofrecemos?
• ¿Quiénes son los beneficiados?
Crear una Visión Inicial
• ¿Cuáles son nuestros valores e ideales?
• Un Eslogan es una frase corta que permite
identificar a una empresa o proyecto.
• A continuación se
ejemplos de misión.
muestran
algunos
Misión Apple Computer
• “Contribuir a cambiar la forma de trabajar,
aprender, y comunicarse a los clientes
proporcionándoles productos de cómputo
personal
excepcionales,
así
como
innovadores servicios al cliente.
• Encabezaremos nuevos cursos y enfoques
encontrando formas innovadoras para usar
la tecnologías de cómputo a efecto de
ampliar los límites del potencial humano
Misión Apple Computer
• Apple marcará una diferencia: nuestros
productos, servicios y conocimientos,
ayudarán a personas de todo el mundo a dar
forma a la manera en que se realizarán los
negocios y la educación del siglo XXI”
Misión AT&T
• “Nos dedicamos a ser los mejores del
mundo,
para
unir
a
la
gente,
proporcionándole un acercamiento fácil entre
personas, así como a la información y a los
servicios que se necesiten, en cualquier
lugar y en cualquier hora”.
Crear una Visión Inicial
• ACTIVIDAD: Definir de manera grupal la
visión (40%), la misión (40%) y el eslogan
del proyecto (20%).
Adoptar una metodología
• Formular y estar de acuerdo con los
principios esenciales y los requerimientos de
una metodología.
• Se puede escoger cualquier metodología de
desarrollo de software. Lo ideal es que esta
aplique desde el principio.
Disponer de los recursos suficientes
• Antes de empezar con la redacción de la
propuesta se debe verificar que se cuente
con los recursos suficientes para desarrollar
la investigación, para ello, se necesita
evaluar un estudio de factibilidad o viabilidad
del proyecto
Estudio de Factibilidad
• Factibilidad se refiere a la disponibilidad de
los recursos necesarios para llevar a cabo
los objetivos o metas señalados, la
factibilidad se apoya en tres aspectos
básicos:
• Operativo.
• Técnico.
• Económico.
Estudio de Factibilidad
• El éxito de un proyecto está determinado
por el grado de factibilidad que se presente
en cada uno de los tres aspectos
anteriores.
• El estudio de factibilidad sirve para recopilar
datos relevantes sobre el desarrollo de un
proyecto y en base a ello tomar la mejor
decisión, si procede su estudio, desarrollo o
implementación.
Estudio de Factibilidad
• Verificar que exista un mercado potencial
insatisfecho.
• Demostrar que es tecnológicamente es
posible producirlo.
• Demostrar que es económicamente rentable
llevar acabo su investigación
Estudio de Factibilidad
• Proyectos Fracaso con Éxito: Java, Unix
• Algunas teorías han sido rechazadas en
artículos
técnicos
y
trabajos
de
investigación: la máquina de Turing, las
bases de datos relacionales, entre otros.
• También existen proyecto con mucha
factibilidad pero a la larga no funcionaron.
Evaluación de Proyectos
• La evaluación de proyectos es un proceso
que se utiliza para determinar cual de todas
las posibles alternativas de solución
expresadas por medio de un proyecto es la
más adecuada para las personas que
realizan dicho estudio.
• El estudio de factibilidad es de suma
importancia para la evaluación de
proyectos.
Factibilidad Técnica
• Se refiere a los recursos necesarios como
herramientas, conocimientos, habilidades,
experiencia, etc., que son necesarios para
efectuar las actividades del proyecto.
• En el caso de proyectos de software es
necesario evaluar la complejidad de los
algoritmos.
Factibilidad Técnica
• Generalmente nos referimos a elementos
tangibles (medibles).
• El proyecto debe considerar si los recursos
técnicos actuales son suficientes o deben
complementarse.
Factibilidad Técnica
• Análisis y determinación de la localización
óptima del proyecto.
• Análisis y determinación del tamaño óptimo
del proyecto.
• Análisis de la disponibilidad y el costo de los
suministros e insumos.
Inventario Computacional
• El tipo de equipo, número de modelo,
fabricante, etc.
• El estado de la operación del equipo, por
surtir, en operación, en almacén, requiere
reparación.
• Edad estimada del equipo
Inventario Computacional
• La compra de inventario tiene las siguientes
ventajas:
• Más barato que el arrendamiento o renta a la
larga.
• Proporciona ventajas de impuestos de
depreciación acelerada
• Control completo
Inventario Computacional
• Las desventajas de la compra de inventario
son:
• Costo inicial alto
• Riesgo de obsolescencia
• Riesgo de no poder continuar si la selección
fue equivocada.
• Responsabilidad completa
Inventario Computacional
• Las ventajas del arrendamiento son:
•
•
•
•
No se ata capital
No se requiere financiamiento
Es fácil cambiar sistemas
Por lo general están incluidos mantenimiento
y seguros
Inventario Computacional
• Desventajas del arrendamiento:
• La compañía no soporta el sistema cuando
se termina el arrendamiento.
• Por lo general hay una pena alta por
terminar el arrendamiento antes de tiempo.
• El arrendamiento es más caro que la
compra.
Inventario Computacional
• Para la selección de un proveedor de
inventario se debe tomar en cuenta:
• Soporte de hardware
– Línea completa de hardware
– Productos de calidad
– Garantía
• Soporte de software
– Programación personalizada
63
Inventario Computacional
• Instalación y entrenamiento
– Compromiso para estar a tiempo
– Asistencia técnica
• Mantenimiento
– Tiempo específico de respuesta en emergencias
– Préstamo
64
Factibilidad Técnica
• ¿Existe o se puede adquirir la tecnología
necesaria para realizar lo que se pide?
• ¿El equipo propuesto tiene la capacitación
técnica para soportar todos los datos
requeridos para usar el nuevo sistema?
• ¿El sistema propuesto ofrecerá respuestas
adecuadas a las peticiones sin importar el
número y la ubicación de los usuarios?
65
Factibilidad Técnica
• Si se desarrolla el sistema, ¿puede crecer
con facilidad?
• ¿Existen garantía técnicas de exactitud,
confiabilidad, facilidad de acceso y seguridad
de los datos?
66
Factibilidad Operativa
• Se refiere a todos aquellos recursos
humanos que participen durante la operación
del proyecto (logística).
• Durante esta etapa se identifican todas
aquellas actividades que son necesarias
para lograr el objetivo y se evalúa y
determina todo lo necesario para llevarla a
cabo.
Factibilidad Operativa
• ¿Existe apoyo suficiente para el proyecto
por parte de la administración y por parte de
los usuarios?
• Resistencia al cambio.
• ¿Los métodos que actualmente se emplean
en la empresa son aceptados por todos los
usuarios?
68
Factibilidad Operativa
• ¿Los usuarios han participado en la
planeación y en el desarrollo del proyecto?
• ¿El sistema propuesto causará prejuicios?
• ¿Producirá resultados pobres en alguna
área?
• ¿Se perderá el control en alguna área?
• ¿Se perderá la facilidad de acceso a la
información?
69
Factibilidad Operativa
• ¿La productividad de los empleados será
menor
después
que
antes
de
la
implantación?
• ¿Los clientes se verán favorecidos en forma
poco favorable?
• ¿El sistema reducirá la productividad en
otras áreas?
70
Factibilidad Económica
• Se refiere a los recursos económicos y
financieros necesarios para desarrollar el
proyecto. Deben considerarse factores cómo
el costo del tiempo, el costo de la realización
y el costo de adquirir nuevos recursos.
• ¿Cómo calcular el costo de un software?
Factibilidad Económica
• Es el elemento más importante ya que a
través de el se solventan las demás
carencias de otros recursos, también es lo
más difícil de conseguir y requiere de
actividades adicionales cuando no se
posee.
• ¿Cómo vender un software?
Costos Totales de Hw y Sw
• 1950: 70-30%
• 1960: 35-65%
• 1970: 20-80%
• 1980: 15-85%
• 1990: 10-90%
Estudio de Mercado
• Análisis de la demanda.
• Se debe realizar un muestreo de los datos se
sugiere utilizar métodos estadísticos como:
regresión y correlación lineal, método
mínimos cuadrados.
• Análisis de precios.
74
Estudio de Mercado
• Se deben hacer proyecciones optimistas y
pesimistas.
• Se debe tomar en cuenta el concepto del
valor del dinero en el tiempo y otros
fenómenos
económicos
como
la
depreciación y la devaluación.
75
Ingeniería Económica
• Es una recopilación de técnicas matemáticas
que
simplifican
las
comparaciones
económicas y auxilian en la toma de
decisiones.
• Interés: es la manifestación del dinero en el
tiempo.
76
Tasas de Interés
• Es el interés representado como un % de la
cantidad original por unidad de tiempo.
• Equivalencia económica: es la utilización
del valor del dinero en el tiempo por medio
de la tasa de interés para generar cifras que
ubicadas en diferentes instantes de tiempo
tienen el mismo valor económico.
77
TREMA
• Tasa de REtorno Mínima Atractiva: es la tasa
de interés (de retorno en caso de proyectos)
mínima que motivará a un inversionista a
invertir su dinero en una alternativa de
inversión.
• Interés simple y compuesto, este último se
calcula en base a los intereses generados
78
Flujo de Caja
• Es la suma de los ingresos menos los
egresos y se representa como una sola
cantidad al final del período.
• El diagrama de flujo de caja es la
representación gráfica de los flujos de caja
representados sobre una escala de tiempo.
79
Inflación
• Devaluación de la moneda, pérdida de valor
adquisitivo de la moneda.
• Un peso actual tiene mayor
adquisitivo que un peso futuro.
poder
• Se debe considerar dos efectos a la hora de
realizar flujos de caja: el valor futuro del
dinero y la inflación.
80
Punto de Equilibrio
• Es una técnica útil para estudiar las
relaciones entre los costos fijos, los costos
variables y los beneficios.
• Características:
– No se considera la inversión inicial que da
origen a los beneficios
– Es difícil delimitar con exactitud si ciertos
81
costos se clasifican como fijos o variables
Punto de Equilibrio
• El problema radica ya que si los costos fijos
son menores, más rápido se alcanzará el
punto de equilibrio.
• Es inflexible en el tiempo; es decir, se
calcula con costos dados en un momento
de tiempo por lo que en países inestables
como el nuestro no es una buena
herramienta de medición.
82
Punto de Equilibrio
• Se puede calcular en forma gráfica o
matemática.
• PF = CF / (1 - CV/P*Q)
• Un aspecto importante a considerar es el
financiamiento de la deuda.
83
VPN
• Se convierten todos los flujos de caja de los
diferentes años al presente. Se restan
dichos flujos para obtener el VPN.
• El valor presente debe ser mayor que 0,
para que sea ganancia y se debe calcular el
% de ganancia obtenido debe ser mayor o
igual que la TREMA o en su defecto por lo
menos mayor que la tasa de inflación para
irla llevando.
84
TIR
• Es la tasa de descuento por la cual el VPN
se hace 0.
• Es la tasa que iguala la suma de los flujos
descontados de la versión inicial.
• El valor de salvamento se considera en
algunos proyectos y ayuda a hacer más
atractiva la inversión.
85
ROI
• El Retorno de Inversión (Return Of
Investment) es la relación entre el dinero
ganado y el perdido.
• ROI = (Ganancias – Inversión) / Inversión
• En algunos casos se suele poner en función
del tiempo.
86
Análisis de Sensibilidad
• Es el procedimiento por medio del cual se
puede determinar cuanto se afecta (que tan
sensible es) la TIR ante cambios en
determinadas variables del proyecto.
• Se determina cada una de las variables que
se desean que afecten nuestro análisis y se
hace la comparativa. Jugar con números.
87
Recomendaciones
• Use punto de equilibrio si el proyecto
necesita ser justificado en términos de costo
y no de beneficio.
• Use valor presente cuando el período de
recuperación es largo o cuando el costo de
pedir prestado dinero es alto.
88
Recomendaciones
• El costo si nada sucede (es decir, si el
nunca se realiza)
• Algunos proyectos no serán factibles pero
habrá otros que con algunos cambios sí.
• Muchos proyectos se consideraron no
factibles y resultaron ser un éxito comercial.
89
Estimación de Costos
•
La tarea de determinar costos de un
proyecto de software no es tan fácil como
parece.
•
En general el costo total de un software
está determinado por dos factores:
– Esfuerzo para completar una actividad
– Tiempo calendario se necesita para completar
una actividad.
Estimación de Costos
• Se deben considerar todos los costos
involucrados en el desarrollo de un
proyecto.
• Se ocupan algunas métricas para poder
estimar el costo de software. Existen dos
tipos de medidas:
– Relacionadas con el tamaño.
– Relacionadas con la función
Estimación de Costos
• Ejemplos de métricas relacionadas con el
tamaño son las líneas de código (
generalmente expresadas en miles: KLDC)
y el número de páginas de la
documentación.
• Ejemplos de medidas relacionadas con la
función son: los Puntos de Función (PF) y
los Puntos de Objeto (PO).
Estimación de Costos
• Las líneas de código no reflejan fielmente el
costo de un software. Un software promedio
de 5,000 líneas en ensamblador puede
hacerse en 1,500 líneas de lenguaje C. En el
primero de los casos en 28 y 20 semanas
respectivamente.
Obteniendo
una
Productividad 714 líneas/mes y 300
líneas/mes
Estimación de Costos
• Una mejor métrica son los puntos de
función, los cuales consisten en medir la
productividad en base a la funcionalidad de
un
sistema.
Esta
métrica
obtiene
parámetros como:
– Entrada y salida externas
– Interacciones con el usuario
– Interfaces externas
– Archivos utilizados por el sistema
Estimación de Costos
• Se obtienen multiplicando cada elemento
dado por su ponderación.
• Los PO no hacen referencia a clases
exclusivamente. Se pueden manejar
consideraciones como el número de
pantallas que se despliegan, el número de
informes
que
se
producen
y
la
programación de los elementos.
Estimación de Costos
• Tamaño del código = PromLDCLeng * PF
• Los promedios varían de 200-300 LDC/PF en
Ensamblador hasta 2-40 LDC/PF de los
lenguajes de 4 generación.
• Ejemplos: Ensamblador 320, C 128, C++ 64,
Visual Basic 32, SQL 12.
Técnicas de Estimación
• Modelado del algoritmo de costos: se realiza
un modelado con alguna métrica de software
y se obtiene el costo estimado
• Opinión de expertos: se consulta a varios
especialistas los cuales dan su opinión
acerca del costo de proyecto, se sacan
conclusiones al respecto.
Técnicas de estimación
• Estimación por analogía: cuando ya se han
realizado proyectos similares se puede
calcular la estimación de costos fácilmente.
• Asignación de precios para ganar: el
esfuerzo estimado depende del presupuesto
del cliente y no de la funcionalidad del
software.
Modelo COCOMO
• Originado en 1981 por Boehm. Es un
modelo empírico obtenido de la revisión de
diversos proyectos informáticos de todos
los tamaños especialmente grande.
• Se utiliza por que está bien documentado,
es de dominio público y su uso está
extendido. La versión más reciente es la
publicada en 1999.
Modelo COCOMO
• Se estima en base a modelo de ciclo de vida
de cascada pero ha cambiado su uso a
modelos en espiral (incremental) y basado
en prototipos.
• En la versión 1 se obtienen las siguientes
estimaciones:
• Complejidad Simple, C = 2.4 (KDSI)1.05 x M
Modelo COCOMO
• Complejidad moderada, C=3 (KDSI)1.12 * M
• Complejidad incrustada, C=3.6 (KDSI)1.2 *M
• A continuación se muestran algunas
elementos para obtener los costos en el
modelo COCOMO para el esquema PostArquitectura.
Modelo COCOMO
•
•
•
•
•
RELY Fiabilidad requerida del software
DATA Tamaño de la base de datos
CPLX Complejidad del producto
RUSE Reusabilidad requerida
DOCU Documentación de acuerdo a las
necesidades del ciclo de vida
• TIME Restricción de tiempo de restricción
• STOR Restricción de almacenamiento principal
• PVOL Volatilidad de la plataforma
Modelo COCOMO
•
•
•
•
•
•
ACAP Capacidad de analistas
PCAP Capacidad de programadores
PCON Continuidad del personal
AEXP Experiencia en aplicaciones
PEXP Experiencia de plataforma
LTEX
Experiencia de
lenguajes
herramientas
• TOOL Uso de herramientas de software
• SITE Desarrollo en múltiples lugares
y
Determinación de Costos
• Costos de producción:
– Materia prima (tomar en cuenta la merma)
– Mano de obra (directa o indirecta), se deben
considerar las prestaciones de ley que aumentan
en 35% el salario base.
– Envases
– Costo de energía eléctrica
– Costos de agua
10
4
Determinación de Costos
• Otros costos:
– Combustibles
– Control de calidad
– Mantenimiento
– Costos para combatir la contaminación
– Costos de administración
– Costos de venta
– Financieros
10
5
Proceso de Venta
• Otra forma de realizar el proceso de venta es
el que se define a continuación:
•
•
•
•
•
Prospecting
Introducción
Valoración
Exploración
Presentación de la Propuesta
Proceso de Venta
• Falso Cierre
• Cierre definitivo
• Posventa
• Lo importante en una venta es la satisfacción
del cliente y también la satisfacción del
vendedor. A continuación se muestra un
esquema de satisfacciones.
Pirámide de Maslow
• Auto-realización
• Necesidad de Ego
• Necesidades Sociales
• Necesidades de Seguridad
• Necesidades Fisiológicas Básicas
Estudio de factibilidad
• Un estudio de factibilidad requiere ser
presentado con todas la posibles ventajas
para la empresa u organización, pero sin
descuidar ninguno de los elementos
necesarios para que el proyecto funcione.
• Siempre es mejor decir que un proyecto es
no viable, que hacerlo y quedar mal.
Estudio de factibilidad
• Dentro de los estudios de factibilidad se
deben tomar en cuenta para la presentación
del estudio:
• Requisitos óptimos.
• Requisitos mínimos.
• Requisitos promedios.
Estudio de Factibilidad
• En algunas ocasiones, el estudio de
Factibilidad Económico es tan importante
que se suele manejar de forma separada en
lo que se conoce como Plan de Negocios.
• Los
estudios
de
determinantes para
Financiamiento.
factibilidad
son
la solicitud de
Estudio de Factibilidad
• El análisis de riesgo es una de las mayores
preocupaciones a la hora de realizar
cualquier actividad de un proyecto. Se
deben minimizar los riesgos al mínimo
posible.
• Las técnicas de riesgo y otras utilizan
métodos probabilísticos cuyo valor es difícil
de asignar.
Tarea
• Para el Lunes 13 de Octubre entregar el
estudio de factibilidad técnico, operativo y
económico del proyecto.
• En el caso del estudio económico se deberá
hacer a través de algún método de
estimación formal como el modelo
COCOMOII o algún otro.
Crear un Equipo de Trabajo
• Es uno de los pasos más importantes del
proceso de planeación.
• Debe existir acuerdo en la selección de las
herramientas y metodología para evitar
ineficiencias que impidan al equipo de
trabajo progresar y concebir el objetivo
deseado.
Características de un Equipo de
Trabajo
1. Debe de haber un líder.
2. Los miembros del equipo deben de ser
creíbles y acreditados.
3. Los miembros del equipo deben entender y
estar de acuerdo con las metas.
4. Debe existir múltiple cooperación y
compañerismo.
Consideraciones a Tomar en Cuenta
en un Equipo de Trabajo
1. Determinar las tareas a llevar a cabo.
2. Estimar esfuerzos.
3. Estimar el numero de gente requerida.
4. Especificar los roles y responsabilidades
de cada miembro.
Consideraciones a Tomar en Cuenta
en un Equipo de Trabajo
5. Seleccionar el personal apropiado con las tareas
y trabajos a llevar a cabo con el paso de la
metodología.
6. Sesiones de entrenamiento y capacitación
requerida al hacer comprender la metodología.
7. Tener un espacio de trabajo.
8. Seleccionar consultas externas
Actividad
• Realizar en las tarjetas un diagrama de
Experiencia del Usuario. Para ello se deberá
plantear escenarios de forma textual de lo
que el usuario quiere realizar.
• Se intercambiarán las tarjetas y diseñarán un
prototipo de plastilina que cumpla con esas
características y que tenga la funcionalidad
requerida.
Refactorización
• La refactorización es el proceso que consiste
en cambiar la estructura interna de un
programa sin modificar su comportamiento
externo.
• La refactorización es parte importante del
proceso de reingeniería y puede enfocarse a
la reestructuración de códigos
Introducción
• Para la reestructuración de códigos se
pueden seguir convenciones ya definidas las
más importantes son la notación húngara y la
notación de camello.
• La notación húngara fue creada por Charles
Simonyi de Microsoft, el cual es húngaro y
por eso recibió ese nombre.
Notación Húngara
• Es un método ampliamente usado sobre todo
para convención de nombres de variables.
• Consiste
en
tener
variables
autodocumentadas agregando un prefijo de
tres caracteres o menos para indicar su tipo.
• Las abreviaturas de los tipos de datos puede
variar dependiendo del lenguaje de
programación.
Notación Húngara
Descripción
Abr
Objeto (parecido a
las estructuras)
o*
Manejador
(handler)
h
Puntero a entero
de 16 bits
p
Descripción
Abr
Carácter con signo
c
Carácter sin signo
b
Entero
n
Palabra (entero
sin signo)
w
Doble palabra
(entero 32 bits)
dw
Puntero largo (32
bits)
lp
Largo
l
Enumeraciones
e
Flotante
f
lpsz
Doble
d
Puntero largo a
una cadena
terminado en nulo
Cadena terminada
en /0
sz
lpfn
Estructura Abc
sA
Puntero largo a
una función que
devuelve un
entero
Descripción
Abr
Formulario
frm
CheckBox
chk
Botón
cmd
Imagen
img
Etiqueta
lbl
Menú
mnu
PictureBox
pic
TextBox
txt
ComboBox
cbo
Línea
lin
Notación húngara
•
•
•
•
•
•
•
•
int nTest;
long lTemp;
char *szString = "Prueba";
struct Rect srRect;
int nMiVariableEjemplo;
char szEjemploString;
int NNOMBREINVALIDO;
int nNombre_Incorrecto
Notación Húngara
• Las funciones o subrutinas no se les agrega
abreviaciones, se recomiendan tengan un
nombre descriptivo.
• Los nombres
mayúsculas.
de
las
clases
van
en
• Se pueden tener nuevos tipos de datos sólo
se
deben
de
poner
las
nuevas
nomenclaturas.
Notación de Camello
• Es la utilizada por Java y herramientas
afines. Su uso está creciendo en popularidad
mientras que la notación húngara va en
desuso.
• Su principal característica consiste en no
separa
nombres
de
identificadores
(variables, métodos, objetos) con “_” para
palabras compuestas.
Notación de Cabello
• Los identificadores tienen la forma de la
joroba de un camello. No se indican tipos de
datos. Sigue respetando mucho de la
Notación C.
• Los métodos inician en minúsculas y si hay
una palabra compuesta esta inicia con
mayúscula dando la apariencia de una
joroba.
Notación Camello
• Las clases inician con mayúscula siguiendo
el mismo método.
• Los métodos para acceder a atributos de las
clases no públicos deben llamarse por
convención set y get.
Actividad
• De tu código de ejemplo nombrar cada uno
de los identificadores en base a la notación
húngara y notación de camello.
• Los nombres de los nuevos identificadores
deberán estar en Inglés.
• Los valores de los identificadores de cadena
estarán como atributos de la clase de tal
forma que sean fácilmente modificables.
Actividad
• Sino se cuenta con un programa realizar una
clase Triangulo para calcular su Área con
dos métodos sobrecargados para cuando se
tienen los parámetros de área y altura y otro
método cuando se tienen la longitud de los
lados.
• ***Adaptar dicha clase para que pueda
heredar de la clase línea que a su vez esté
conformado por dos puntos en lugar de
extensiones.
Procesos de Negocio
• Son las “reglas del juego” de un dominio en
particular.
• Los procesos de negocio es la forma en
como se desarrollan las actividades de una
empresa o giro en particular, es nuestro
primer acercamiento con el modelado de una
aplicación de software en su parte de
Análisis.
Procesos de Negocios
• Los procesos de negocio sirven para
comprender el funcionamiento de cualquier
cosa.
• Para poder desarrollar una solución de
cualquier tipo no sólo es necesario conocer
el problema, sino como es que se trabaja en
ese contexto para generar una solución de
acuerdo a la realidad.
Tarea
• Investigación sobre metodologías, técnicas y
herramientas para la obtención de procesos
de negocio.
• ¿Qué diferencia existe entre un proceso de
negocio y un flujo de trabajo?
Preparar un Plan de Trabajo
• El plan de trabajo se refiere a la
calendarización y planeación de todas la
actividades que deben de realizar los
miembros del equipo para llevar a cabo el
proyecto.
• Es importante que cada actividad sea
referenciada para ser terminada en el
tiempo señalado.
Preparar un plan de trabajo
• Un buen plan de trabajo debe de ser
realizado por el líder (generalmente) y
analizado o completado por los miembros del
equipo.
• El liderazgo en un equipo de trabajo es de
suma importancia, ya que es la cabeza y
dirige el destino de todo el cuerpo.
Partes de un Plan de Trabajo
• Un plan de trabajo generalmente contiene los
siguientes aspectos:
•
•
•
•
•
•
Introducción.
Descripción de tareas.
Duración esperada, esfuerzos estimados.
Diagramas de Gantt y resumen del calendario.
Responsabilidades diarias / semanales.
Estado del proyecto.
Administración del Proyecto
• La planeación de un proyecto es la parte
más importante de la Administración de
cualquier proyecto por que es donde se
define el problema.
• Imaginemos que somos carpinteros y un
cliente nos pide realizar una silla de manera
¿Cómo es que le hacemos al cliente su
producto?
Gestión del Proyecto
• La gestión de un proyecto se centra en las
4P’s: Personal, Producto, Proceso y
Proyecto en respectivo y riguroso orden.
• El personal que está involucrado en un
proyecto de software son: Directivos,
Administradores
de
Proyecto,
Profesionales, Clientes y Usuarios Finales,
todos juegan roles y subroles muy
importantes.
Gestión de Proyectos
• Muchas metodologías de software han
cambiando el nombre de Producto al de
solución para hacer referencia al “entregable”
de un proyecto.
• Toda gestión de Proyecto debe cumplir con
cuatro fases: planeación, organización,
dirección y control.
Establecer las prioridades de un proyecto
Hacer la valoración inicial de las actividades
del proyecto
Definir los hitos del proyecto y productos a
entregar
Mientras el proyecto no se haya terminado o
cancelado repetir
Bosquejar la programación en el tiempo del
proyecto
Iniciar actividades conforme a la programación
Gestión de Proyectos
Esperar (por un momento)
Revisar el progreso del proyecto
Revisar los estimados de los parámetros del
proyecto
Actualizar la programación del proyecto
Renegociar las restricciones del proyecto y los
productos a entregar
Si surgen problemas entonces
Iniciar la revisión técnica
Fin si
Fin mientras
Gestión de Proyectos
• La parte más difícil de la Gestión de
Proyectos consiste en el proceso de
Estimación.
• El proceso de estimación tiene su primera
aproximación
en
el
proceso
de
Presentación de la Propuesta, seguida de la
determinación de recursos, planeación y
calendarización, costos, gestión de riesgos,
supervisión y concluye con la presentación
de informes.
Gestión del Proyecto
Pasos a seguir para desarrollar un
plan de trabajo
1. Tener completos los pasos iniciales.
2. Considerar la subdivisión en subproyectos.
3. Listar todas la fases y pasos de metodología con
su asignación a los miembros del equipo.
4. Estimar duración de cada paso y determinar el
inicio de cada actividad considerando los recursos
asignados.
Pasos a seguir para desarrollar un
plan de trabajo
5. Establecer un control para el Estado del
proyecto.
6. Construir
situaciones
de
contingencia
(escenarios del tipo: “que pasa si”).
7. Estimar el impacto de costos y presupuestos.
8. Distribuir el plan a cada miembro.
Pasos de la planeación y control
• Desglosar actividades generales.
• Analizar y profundizar cada actividad en
subactividades (más importantes ).
• Conocer el detalle de cada subactividad.
Pasos de la planeación y control
• Aplicar elementos de control para cada
actividad y subactividad.
• Identificar formas de evaluarlas.
• Consolidar
(justificar).
y
fortalecer
cada
actividad
Actividad
• Programación de un ROBOT Lego
• Técnicas de Ingeniería en Programación
• Programación con Recursos Escasos
• Utilización de Simuladores
• Pruebas de Escritorio
• Trabajo en Equipo
Tarea
• Práctica Robots Lego
• Traer en conjunto 6 pilas tamaño AA
• Instalar el kit de desarrollo (pasar el jueves o
viernes por el disco).
¿Qué es la Robótica?
• Es el área de la Inteligencia Artificial (IA) que
se encarga de los estudios de los robots.
• La robótica no sólo incluye elementos de IA
sino también de mecatrónica, computación y
otras áreas de la Ingeniería.
¿Qué es un Robot?
• Deriva de la palabra checa “robota”.
• Literalmente
significa
“servidumbre forzada”
“esclavitud”,
• Máquina mecánica o autómata capaz de
interactuar con el entorno y tomar decisiones
propias
Características de un Robot
• Diseñados para sustituir al humano en
algunas tareas.
Características de un Robot
• Capaces de actuar en función
información recibida del mundo real.
de
la
Características de un Robot
• Los robots se clasifican según su forma en:
• Androides: Imitan la forma humana
• Móviles: Se desplazan mediante ruedas
• Zoomórficos: Con forma de animales
• Poliarticulados: Con partes móviles y poco
grado de libertad.
Características de un robot
• Un robot se debe componer de:
• Mecanismo para desplazarse
• Mecanismo para percibir el mundo exterior
• Mecanismo para interactuar con el entorno
Funcionamiento de un Robot
• Mecanismo habitual de 3 ruedas:
• 2 ruedas motorizadas,
independientes.
con
motores
• 1 rueda “muerta” para soportar el equilibrio.
Funcionamiento de un Robot
• Para hacer girar el robot, se modificará la
velocidad y el sentido del giro de cada uno
de los motores por separado.
• Se puede captar el entorno a través de los
sensores del robot:
• Choque: Detecta colisiones físicas del
robot.
Funcionamiento de un robot
• Sonar: Calcula la distancia del robot a otros
objetos del entorno.
• Infrarrojos: Detección de colores, etc.
• Cámaras: Obtiene los datos mediante visión.
Funcionamiento de un Robot
1. Inicializar el robot: Situarlo en el mundo.
2. Recibir información por los sensores.
3. Procesar la información recibida.
4. Desplazar/Activar partes del robot.
Problemas Principales de un
Robot
• Localización ¿Dónde estoy?
• Respuesta de los sensores: ¿Hay cuchara?
• Respuesta del sistema: ¿Todo ok?
Robot Lego
RCX
Ejemplos de Robots
Ejemplos de Robots
Sony AIBO
Robot Lego Mindstorms NXT
• Es un Robot construido por la marca de
juegos Lego.
• Se caracteriza por que este robot se puede
armar en diversos modelos, además de que
es económico ($250 USD), potente y muy
versátil. No es un simple juguete.
Robot Lego Mindstorms NXY
Ejemplos
Robots
de
NXT
• La unidad central de proceso contiene:
• 4 entradas (digital y analógica)
• 3 salidas (soporte para los motores)
• Pantalla LCD Monocromática de
píxeles
100x64
NXT
• 4 Botones de control
• Sonido
• Interfaces USB y Bluetooth
Sensores
Tacto
Luz
Servomotor
Sonido
Ultrasónico
Procesador
• Atmel 32-bit ARM, AT91SAM7S256
• 256 KB FLASH
• 64 KB RAM
• 48 MHz
Coprocesador
• Atmel 8-bit AVR processor, ATmega48
• 4 KB FLASH
• 512 Byte RAM
• 8 MHz
Comunicación Bluetooth y USB
• BlueCoreTM 4 v2.0 +EDR System
• Soporta el Serial Port Profile (SPP) para
emulación de puertos de comunicación.
• USB 2.0 Full speed com port (12 Mbit/s).
Motores
• Contador de rotaciones.
• Rotación de 360 grados.
• Las posiciones son relativas.
• La velocidad máxima es de 200 RPM.
Otras características
• Utiliza 6 pilas AA.
• Utiliza cables RJ-12
telefónicos (aplanados).
parecidos
a
los
• Algunos fabricantes realizan otros tipos de
piezas y sensores.
Herramientas de Programación
• LabVIEW NEXT-G
• Microsoft Robotics Studio
• Otras:
– NXC (and NBC)
– Robot C
– pbLua
– Java
17
1
Programación
• Basado en un ambiente gráfico de
desarrollado (programación en bloques)
desarrollado por National Instruments’ los
desarrolladores de LabView.
• Permite el desarrollo rápido de aplicaciones.
Útil para niños.
17
2
Programación
• Está muy limitado para realizar programas
más complejos, por lo que se utilizan otros
entornos.
• A continuación se listan los pasos para
programar una aplicación en este Robot:
Programación
• Se arma el modelo de robot (se pueden
seguir los pasos indicados en la guía o se
desarrolla por cuenta propia).
• Se realiza la programación en bloques.
• Se baja el programa al Robot
17
4
Programación
• Se corre el programa en el Robot y se ven los
resultados obtenidos.
• No se cuenta con un emulador para probar
los desarrollos lo que dificulta un poco el
proceso de desarrollo.
17
5
Entorno de Desarrollo
Construcción
Programación
Ejecución
17
6
Guía
Zona de Programación
Bloques
Propiedade
s
Entorno de Desarrollo
17
7
Otros entornos
• NXC (Not eXactly C) es un lenguaje similar
NQC, el cual es la forma más popular de
programar el RCX. Está basado en el
“ensamblador” NBC (Next Byte Code).
• RobotC es un entorno
desarrollado por CMU.
no
gratuito
17
8
Programación con NXC
• Se tienen algunas limitaciones como:
• No existe pila
• Memoria Limitada
• Limitado a 256 procesos (task)
Programación con NXC
#include "NXCDefs.h“
task main() {
SetSensor( IN_1, SENSOR_TOUCH );
while( true ) {
if( Sensor( IN_1 ) ) {
PlayToneEx(440, 100, 3, false);
TextOut( 0, LCD_LINE1, "TOUCHING!");
while( Sensor( IN_1 ) );
}
Programación con NXC
TextOut( 0, LCD_LINE1, "---------");
while( !Sensor( IN_1 ) );
}
}
Construcción de Pistas de Robots
Detalles de la Pista
Competencia de autos
Evaluación de Obstáculos
Actividad
• Construir un robot que permita correr en un
circuito. Ganará el robot que haga el
recorrido en el menor tiempo posible.
• Construir un robot que pueda salir de un
laberinto o de un cuarto con obstáculos.
• Construir un robot que permita cargar un
objeto como una pelota de un contenedor y
dejar la misma pelota en otra ubicación.
Introducción
• Es el estándar para crear documentación
para los proyectos en Java.
• Es una herramienta estándar del JDK de Sun
Microsystem. Crea documentación en HTML
y casi cualquier IDE lo hace.
• Se deben utilizar los comentarios especiales
/** …..*/ con algunas palabras clave para
determinar la documentación.
Elementos
• Las palabras clave inician con una arroba.
• Se puede incrustar cualquier etiqueta de
HTML para hacer más visible la
documentación.
• @author nombre_desarrollador
• @deprecated descripción //indica un método
que no se utiliza su uso
Elementos
• @param nombre descripción
• @return descripción //no se debe utilizar con
métodos void.
• @see referencia //asocia con otro elemento
el
cual
puede
ser:
#método();
clase#método();
paquete#método();
paquete.clase#método().
• @throws clase descripcion
• @version versión
Generación de la Documentación
• La documentación se crea de la siguiente
forma: javadoc archivo.java
• En NetBeans se puede encontrar la opción
en el menú Build en la opción Generate
JavaDoc for …
• Se recomienda realizar tanto el código como
las clases en inglés.
Ejemplo
/**
* Thrown to indicate that the application has
attempted to convert
* a string to one of the numeric types, but that
the string does not
* have the appropriate format. *
* @author unascribed
* @version 1.16, 02/02/00
* @see java.lang.Integer#toString()
Ejemplo
* @since JDK1.0
*/
public class NumberFormatException extends
IllegalArgumentException {
/**
*
Constructs
a
<code>
NumberFormatException </code> with no
detail message.
*/
public NumberFormatException () { super(); }
Ejemplo
/**
*
Constructs
a
<code>
NumberFormatException </code> with the
* specified detail message.
* @param s the detail message.
*/
public NumberFormatException (String s) {
super (s); } }
Actividad
• Refactorizar la aplicación para que utilice
comentarios en javadoc
• Refactorizar la aplicación para que las
variables, métodos, clases estén en Inglés.
Toda la información salvo lo desplegado en
pantalla estarán en Inglés.
• Se refactorizarán las variables al inicio de la
clase en forma indentificable de una variable.
Actividad
• class Ejemplo {
• public static void main () {
•
System.out.println(“Ejercicio de IS2”);
•
jLabel j = new jLabel(“Caso de Éxito”);
• }
• No se les olvide control estadístico del
código. No se les olvide la convención de
nombres.
Actividad
• class Ejemplo {
• private String msg1 = “Ejercicio de IS2”;
• private String msg2 = “Caso de Éxito”;
• public static void main() {
•
System.out.println(msg1);
•
jLabel j = new jLabel(msg2);
• }
• }
Procesos de Negocio
• Conjunto de actividades que realizan las
Organizaciones para optimizar o adaptar sus
procesos de negocio a las nuevas
necesidades organizacionales.
• Se apoya en modelado gráfico del negocio
utilizando BP Modeling Notation (BPMN)
• Se traduce en BP Modeling Language
(BPML) que sirve de entrada al desarrollo 19
.
7
Procesos de Negocio
• BPM Systems (BPMS) herramientas de
software que soportan este modelado,
traducción y ejecución de procesos.
• Disciplina de Modelado del Negocio para
– aspectos de funcionamiento de la Organización
– entender los procesos del Negocio
– derivar los requerimientos para el sistema
19
8
Proceso de Negocios
Procesos de Negocios
• Las aplicaciones empresariales están
diseñadas para apoyar la coordinación e
integración de procesos que abarcan toda la
empresa.
• Ejemplos
de
estas
Aplicaciones
empresariales se muestran a continuación:
• Sistemas de administración de la cadena de
suministro (SCM).
Procesos de Negocio
• Sistemas de administración de relaciones
con clientes (CRM).
• Sistemas
de
administración
conocimiento (Business Intelligence).
del
• Sistemas Integrales que abarcan los
procesos de la organización, llamados ERP
(Enterprise Resource Plannig).
Procesos de Negocio
• En la mayoría de las empresas hoy en día
existen sistemas separados para las
diferentes funciones de la empresa y
raramente permiten transacciones con
clientes y proveedores.
• Otros de los sistemas empresariales que
está tomando mucho auge son los sistemas
ERP (Enterprise Resource Planning).
Procesos de Negocio
Procesos de Negocio
Procesos de Negocio
Procesos de Negocio
• Los Sistemas de Administración del
Conocimiento
recolectan
todo
el
conocimiento y experiencia relevantes en la
empresa y la hacen disponible donde y
cuando sea necesaria para apoyar los
procesos de la empresa y las decisiones
administrativas.
También enlazan a la
empresa
a
fuentes
externas
de
conocimiento.
Diagrama de planeación
• Es un diagrama de relaciones que muestra
el camino a seguir para terminar el proyecto
en base a las actividades definidas en el
WBS.
• Es similar a un diagrama de flujo pero en
este nos centramos no en los procesos, ni
los datos que fluyen sino solamente en la
precedencia y orden de las actividades.
Diagrama de planeación
• Es otra técnica de organización en la cual
nos centramos en cada tarea.
• En esta etapa se debe definir que
actividades se pueden realizar sin depender
de ninguna, que actividades para realizarse
dependen de otras y finalmente que
actividades
pueden
realizarse
simultáneamente (en paralelo).
Diagramas de planeación
• Los tipos de relación que puede haber entre
dos actividades son:
– Final Inicio
– Inicio Inicio
– Final Final
– Inicio Final
• Se deben realizar estimaciones de tiempo
de los nodos hojas del WBS.
Matriz de tiempo
• Con la estimación de la duración de las
actividades y el catálogo de tareas, se
prosigue a la creación de una matriz del
tiempo.
• La matriz del tiempo debe contener al
menos los siguientes campos: EDT (Código
de la actividad), el nombre de la actividad y
la duración en días.
Matriz de tiempo
• La duración del tiempo puede ser estimada
o fija. Se considera que un tiempo es fijo
aquel que no puede realizarse en menos
tiempo o que tiene que realizarse en una
fecha indicada.
• Esta matriz del tiempo y el diagrama de
planeación puede ser expresada de mejor
forma y de manera conjunta con un
diagrama de Gantt.
Matriz de tiempo
• El tiempo puede ser calculado en base a la
siguiente fórmula:
te 
• En donde:
–
–
–
–
(to  4tm  t p )
6
te = Tiempo estimado
to = Tiempo optimista
tm = Tiempo promedio
tp = tiempo pesimista
WBS
• Es una técnica de planeación en la cual se
puede describir y cuantificar la cantidad de
trabajo a realizar.
• Es una estructura tipo árbol en la cual se
esquematizan y jerarquizan cada una de las
actividades a realizar.
WBS
• Es muy parecido a un organigrama con la
diferencia que aquí los nodos son tareas.
• Se debe cumplir la regla de que todas los nodos
hijos de un padre la suma de sus ponderaciones
dan 100% las actividades del padre.
• WBS se utiliza en otras herramientas de
planeación para delimitar las tareas a realizar
(e.g. Microsoft Project).
WBS
• Con
la
división
de
actividades
y
subactividades logradas con el WBS, se
puede planificar de mejor forma la asignación
de recursos al proyecto.
• Las tareas de WBS llevan una numeración
que indica su orden y anidamiento, muy
parecido a un índice temático.
WBS
• Las ramas de cada árbol se les llama paquete y
deben ser totalmente independientes de otros
paquetes.
• Las actividades de mayor nivel (de preferencias
todas) deben ser medibles para poder cuantificar
el grado de avance.
• Las actividades
tangibles.
deben
presentar
resultados
Diagramas de Gantt
• Es un diagrama de barras en donde se
grafican el tiempo y las relaciones de
dependencia de cada una de las actividades
del proyecto.
• Es un diagrama simple en el cual se puede
medir de manera sencilla la curva de avance
de un proyecto.
Diagramas de Gantt
• Fue desarrollado en 1915 por Henry L.
Gantt, es un gráfico sencillo donde lo
valioso es la información obtenida y
procesada para llegar a él.
• La curva de avance se logra a través del
seguimiento de las actividades del
diagrama de Gantt, puede hacerse a través
de una relación con el real y el obtenido.
Diagramas de Gantt
• A través de esta jerarquización de actividades, se
pueden seguir otros métodos para la planeación de
proyectos como
• CPM (Critical Path Method): Método de la ruta
crítica.
• PERT (Program Evaluation Review Technique):
Técnia de Evaluación y Revisión de Programas
CPM
• La ruta crítica determina aquel grafo el cual
representa la columna vertebral de un
proyecto y el cual no puede retrasarse.
• Las demás actividades que no forman parte
de la ruta crítica pueden tener cierto tiempo
de holgura sin retrasar el proyecto.
PERT
• La técnica PERT permite definir una red de
tarea en donde cada uno de los nodos tiene
asignado recursos como el tiempo, el costo,
asignación de personal entre otros.
• Para proyectos simples se puede utilizar o no
este tipo de técnicas, para proyectos grandes
son extremadamente necesarios.
Microsoft Project
• Es una herramienta que
administración de proyectos.
ayuda
a
la
• Se basa en determinar una serie de
actividades y tiempos para realizar una
calendarización y obtener un Diagrama de
Gantt u otras técnicas como PERT y CPM
para levar el seguimiento de un proyecto.
Microsoft Project
• La primera actividad consiste en determinar las
fechas de inicio y fin del proyecto así como
especificar opciones del calendario, como días y
horas laborales, etc.
• La parte más importante de determinar son las
tareas, las cuales se obtienen a través de un
diagrama de planeación y un WBS (EDT en
español), también se deben considerar los hitos y
los recursos.
Microsoft Project
• Los hitos son puntos clave en la línea del tiempo
del proyecto que sirven de puntos de control. Un
hito es una actividad sin tiempo.
• Lo más difícil de manejar en esta herramienta son
las estimaciones de tareas, hitos y recursos ya que
estas dependen de la problemática del proyecto así
como de la experiencia del administrador del
proyecto
Microsoft Project
• Los recursos pueden ser distintas índoles:
– Grupos de Personas
– Equipamiento
– Instalaciones
– Costos
• De las tareas la parte más importante es la
vinculación de las tareas.
Microsoft Project
• La mayoría de las relaciones son de FinComienzo pero pueden ser de los otros tres
tipos.
• Se debe tomar en cuenta que hay
actividades que se deben vincular a fechas
específicas. Siempre se deben de validar
cada uno de las restricciones del proyecto.
Microsoft Project
• Se pueden tener varias vistas del proyecto, de
manera predeterminada se pone el diagrama de
Gantt.
• Para obtener el CPM se puede utilizar el Asistente
para Diagrama de Gantt el cual permite especificar
la ruta crítica.
• El avance se puede realizar con una curva del
proyecto indicando objetivos cumplidos en que
tiempo.
Microsoft Project
• Cuando se inserta un recurso se asume que existe
un 100% del recurso, es decir, existe un solo
recurso para el proyecto.
• Para asignar recursos se puede utilizar el asistente
o la hoja de recursos.
• Existen diversos tipos de costos: por uso (que
dependen del tiempo) y fijos (que son constantes
en la duración del proyecto).
Microsoft Project
• También se pueden considerar tasas estándar y
tasas por hora extra.
• El project nos permite recalcular tiempos,
asignación de recursos e hitos cuando ocurren
cambios de manera muy similar a una hoja de
cálculo.
• La fórmula mágica de la gestión de proyectos es:
Trabajo = Duración * Unidades.
Microsoft Project
• En donde las unidades es el % de uso de
un recurso.
• La programación de las actividades se hace
a través del condicionamiento por el
esfuerzo.
• Es importante hacer una correcta
asignación de recursos con las actividades
Microsoft Project
• Lo importante es llevar un control sobre el %
de las actividades completadas y guiarnos
con el tiempo.
• Se pueden realizar informes y reportes más
llamativos del proyecto.
Obtener/confirmar las obligaciones o
responsabilidades
• El proyecto diseñado es una idea tangible que
resulta en un plan, sin embargo, es necesario que
las actividades que compongan a ese plan tengan
la aprobación de los niveles superiores.
• Cuando se trata de un proyecto tecnológico, éste
abarca a muchas áreas estratégicas de la
empresa, por lo que no seria posible si no se está
de acuerdo en esos niveles.
2.1 Estimación
2.2 Itinerario
2.3 Seguimiento
¿Preguntas, dudas y
comentarios?