miércoles, 22 de abril de 2009

Gestión de riesgos

La gestión de riesgos, es trasmitir los indices relativos respecto a una sociedad, involucra los recursos disponibles por los seres humanos.
Inexistente Improbable-alto riesgo Inminente
0% 1% -99% 100%

Proactivas y reactivas son las estrategías de la gestión de riesgos.
La proactivas van a ser el pro del desarrollo del software, ya esta planeda y las reactivas es en reaccion del problema que se presente con la gestión de riesgos, es algo que no esta previsto.
Características

-Se reacciona al momento de la aparcion del riesgo.
-Afecta tanto al equipo de desarrollo como al cliente una vez terminado el producto.
-Muchas veces, el riesgo se convirtió ya en un peligro real, cuando se toma la desición.
-Funciona mejor, para riesgos que no se identifican en la planeación.
-Despues de justificar el proyecto y antes de realizarlo.
-Se valora la probabilidad de todos lso riesgos identificados, previendo todos de forma generaol, pero con una estrategia para cada uno.
-Cuando un riesgo de baja probabilidad o no identificado entonces se hace uso de una estrategía reactiva.

Riesgos de software

Técnicos y de negocio:

Los tecnicos amenazan la calidad del proyecto en cuanto a producción.
-Diseño
-Implementación.
-Interfaz.
-Verificación,
-Mantenimiento.

De negocio amenazan la calidad del proyecto en cuanto a proyección.
-Producto o sistema que no quiere nadie, o no se sabe vender (riesgo de mercado).
-Producto que no encaja en la estrategia comercial (riesgo estrategico).
-Perder el apoyo debido a cambios de enfoque de personal(riesgo de dirección).
-Perder presupuesto o gastar más de lo requerido (riesgo de presupuesto).

La diferencia entre riesgos técnico y de negocio es que el ténico afecta directamente al software, y el de negocio afecta directamente al proyecto del software.

Identificación de riesgos

Se dividen en Genéricos y los Específicos:

Los genéricos son una amenaza potencial para cualquier parte del proyecto.
-Riesgo de rendimiento.
-Riesgo de coste.
-Riesgo de soporte y verificacion.
-Riesgo de tiempo.
-Riesgo de personal.

Los específicos son una amenaza potencial para alguna parte del proyecto.
-Tamaño del producto.
-Impacto en el negocio.
-Características del cliente.
-Organización del proceso de producción.
-Entorno de desarrollo.
-Complejidad de tecnología a construir.

miércoles, 1 de abril de 2009

GRAFICAS DE GANT

Diagrama de Gantt

Muestra gráficamente (mediante barras horizontales) la relación de actividades con el TIEMPO.

El objetivo es mostrar el tiempo de dedicación previsto para diferentes tareas o actividades a lo largo de un tiempo total determinado. A pesar de que, en principio, el diagrama de Gantt no indica las relaciones existentes entre actividades, la posición de cada tarea a lo largo del tiempo hace que se puedan identificar dichas relaciones e interdependencias.

Ventajas del diagrama de Gantt
Es muy sencilla y fácil de entender. Da una representación global del proyecto. Permite hacer sin muchas dificultades. Lo maneja los paquetes computacionales.


Desventajas del diagrama de Gantt.
No muestra relaciones de procedencia entre actividades claramente. No permite optimizar el desarrollo de un programa. No muestra las actividades críticas o claves de un proyecto.


CARACTERISTICAS DE GANTTPV

-GanttPV es un programa totalmente gratuito, y funciona perfectamente sobre cualquier sistema operativo Windows.

-Proyectos de mayor tamaño

-La posición de cada bloque en el diagrama indica los instantes de inicio y finalización de las tareas a que corresponden.

-Recursos materiales necesarios para desarrollar cada tarea, costes y presupuestos, vacaciones o días libres, dependencias.
-Los bloques correspondientes a tareas del camino crítico acostumbran a rellenarse en otro color (en el caso del ejemplo, en rojo).
-Es imprescindible tener bien definido el papel y la situación de cada uno, así como estar preparados para afrontar cualquier cambio.4- Solución software organizar estas cuestiones de una manera cómoda, fluida y sin depender del volumen de trabajo.
-Controla todas las acciones necesarias para administrar un proyecto, personal y recursos humanos, tareas asignadas a cada persona.
-Es altamente funcional y un instrumento muy valioso a la hora de manejar con soltura y fluidez
-Indica qué tareas es necesario completar antes de abordar otras.

GANTTPROJECT

GanttProject está diseñado para ayudar en la elaboración de proyectos de forma súper completa y detallada. Asigna las tareas a cada integrante y determina el cargo de cada uno.El programa puede generar labores con relación de dependencias con respecto a otras tareas, de manera que no se comience una hasta no haber concluido con la otra.

Características

-GanttProject es una herramienta gratuita para crear una completa planificación de un proyecto de forma muy visual.

-Todo queda bajo control en GanttProject, desde los recursos necesarios en forma de personal, los días festivos, hasta dividir el proyecto en un árbol de tareas y asignar a cada uno los recursos oportunos.

-Un punto interesante es que permite establecer dependencias entre las tareas, de esta forma, una tarea no podrá empezar hasta que esté acabada la anterior.

-GanttProject permite exportar nuestro trabajo a una imagen (Definición de 'JPG':Formato gráfico con una excelente compresión variable, con pérdida de calidad en la imagen pero con una considerable reducción del tamaño de la misma.">JPG, PNG), PDF y HTML.

-Permite importar y exportar archivos de MS Project.
- Soporta añadir y quitar columnas personalizadas.
- Puedes exportar tus proyectos a páginas HTML (web), GanttProject usa conversión XSL.
-Permite trabajar con proyectos almacenados en servidores web. Si el servidor soporta WebDAV, puedes guardar/publicar el proyecto en él.
- Incluye funciones personalizables.
- Es posible organizar tareas de forma jerárquica.
- Permite publicar un informe en formato PDF.
*Gráficas de Gant
*Grafica de carga de recursos
*Diagramas de PERT
*Reportes en PDF y HTML





RECURSOS


DIAGRAMA PERT


TAREA

PROYECTO FINAL SOBRE LA BIBLIOTECA






















miércoles, 25 de marzo de 2009

UNIDAD 3 (SEGUNDA PARTE)


PREGUNTAS DE TÉCNICAS DE DESCOMPOSICIÓN


1. ¿Qué son las técnicas de descomposición?

Permiten fragmentar el problema y coordinar la resolución de los subproblemas para alcanzar la solución del problema completo; las técnicas de descomposición se pueden ver como estrategias de partición del grafo que representa el árbol de escenarios y de resolución coordinada de los fragmentos del grafo.

2. ¿A qué se refieren las estimaciones basadas en el problema?
Puede usarse LOC o PF para hacer estimaciones.
Si se utiliza LOC, la descomposición es esencial y a menudo debe ser a detalle.
Si se utiliza PF, en vez de centrar la descomposición en la función, se calcula el PF como se estudió en el capítulo anterior, estimando de alguna forma, cada uno de los valores.
En ambos casos, mediante datos históricos o la intuición, se estiman valores optimista (O), medio (M) y pesimista (P) para cada función o contador, y se calcula el valor esperado (E) con la siguiente fórmula:
E = (O + 4 * M + P) / 6
3. ¿Qué son las estimaciones basadas en el proyecto?
Delimitar las funciones del software.
Identificar las tareas de ingeniería del software para cada una de las funciones y representarlas en una tabla.
Estimar el esfuerzo (número de personas/unidad de tiempo) de realización de cada tarea para cada una de las funciones del software.
Aplicar las tarifas laborales (coste/unidad de esfuerzo) correspondientes a cada una de las tareas.
Calcular los costes y el esfuerzo para cada función y cada tarea.

4. ¿Porque es inconveniente usar técnicas de descomposición?
La dificultad para contemplar los costes de actividades relacionadas con el proyecto como lectura de código, revisión, reuniones, y actividades no relacionadas con el proyecto relacionado con los hábitos de trabajo.

5. ¿Cual es la diferencia entre la descomposición de benders y la relajación langragiana?
Descomposición de Benders
La descomposición de Benders [Benders,1962], [VanSlyke,1969] propone separar en subproblemas las decisiones tomadas en diferentes etapas. Para ello se necesita que las decisiones de una etapa sólo dependan de las consecuencias de las decisiones tomadas en la etapa anterior. Con esta descomposición se plantea un problema por cada etapa, y en ese problema se incluye tanto la parte correspondiente a la propia etapa como la parte que liga esa etapa a las decisiones tomadas en la etapa anterior.
Relajación lagrangiana
El otro método de descomposición más relevante es la relajación lagrangiana [Geoffrion, 1970], En esta ocasión se intentan separar dentro de cada etapa las decisiones para grupos de variables que están relacionadas entre sí. Es decir, se pueden localizar conjuntos de variables que están muy conectadas con otras etapas, pero poco relacionadas con otras variables de la misma etapa.


TÉCNICAS DE DESCOMPOSICIÓN


Las estimaciones se hacen sobre cada componente en que se descompone el software o sobre tareas de bajo nivel en que se descomponen las tareas.
Las estimaciones de bajo nivel se combinan para producir una estimación del proyecto completo. Es decir, el coste total del proyecto es el resultado de sumar las estimaciones de todos los componentes en los que se ha dividido el proyecto.
Cuando se trata con problemas de gran tamaño que no pueden ser resueltos en los equipos informáticos disponibles, suele recurrirse a técnicas de descomposición, que permiten fragmentar el problema y coordinar la resolución de los subproblemas para alcanzar la solución del problema completo. En este sentido, las técnicas de descomposición se pueden ver como estrategias de partición del grafo que representa el árbol de escenarios y de resolución coordinada de los fragmentos del grafo. Este proceso de resolución es de naturaleza iterativa y amplía el tiempo de solución total, por lo que debe ser evitado siempre que sea posible la resolución directa. En el caso de los problemas de optimización estocástica, el empleo de técnicas de descomposición permite la consideración de gran cantidad de escenarios o de problemas con un mayor nivel de detalle en el modelado.
La estimación del proyecto completo se calcula mediante la suma de las cantidades parciales (enfoque abajo-arriba/bottom-up).
- En la estimación intervienen los responsables de cada componente y/o fase del proyecto.
- Lo más adecuado es utilizar las técnicas de descomposición estructurada (EDT/WBS, DFT/WFD).
Técnicas de descomposición:
Del proyecto (o por fases)
Del producto (o por módulos)
Del proyecto y del producto (por fases y por módulos). Es una combinación de las anteriores.
Entre las ventajas se encuentran:
La posibilidad de que el responsable del componente a estimar participe en dicha estimación.
Ayuda a analizar con detalle cada componente.

Entre los inconvenientes se encuentran:
La dificultad para contemplar los costes de actividades relacionadas con el proyecto como lectura de código, revisión, reuniones, y actividades no relacionadas con el proyecto relacionado con los hábitos de trabajo.
Estimación basada en el problema.
Puede usarse LOC o PF para hacer estimaciones.
Si se utiliza LOC, la descomposición es esencial y a menudo debe ser a detalle.
Si se utiliza PF, en vez de centrar la descomposición en la función, se calcula el PF como se estudió en el capítulo anterior, estimando de alguna forma, cada uno de los valores.
En ambos casos, mediante datos históricos o la intuición, se estiman valores optimista (O), medio (M) y pesimista (P) para cada función o contador, y se calcula el valor esperado (E) con la siguiente fórmula:
E = (O + 4 * M + P) / 6
Estimación basada en el proceso
Delimitar las funciones del software.
Identificar las tareas de ingeniería del software para cada una de las funciones y representarlas en una tabla.
Estimar el esfuerzo (número de personas/unidad de tiempo) de realización de cada tarea para cada una de las funciones del software.
Aplicar las tarifas laborales (coste/unidad de esfuerzo) correspondientes a cada una de las tareas.
Calcular los costes y el esfuerzo para cada función y cada tarea.
Existen dos técnicas principales de descomposición que pueden considerarse como duales entre sí, ya que realizan la descomposición en dos dimensiones transversales. Estas dos técnicas son la descomposición de Benders y la relajación lagrangiana, que se explican en los dos siguientes apartados.
Descomposición de Benders
La descomposición de Benders [Benders,1962], [VanSlyke,1969] propone separar en subproblemas las decisiones tomadas en diferentes etapas. Para ello se necesita que las decisiones de una etapa sólo dependan de las consecuencias de las decisiones tomadas en la etapa anterior. Con esta descomposición se plantea un problema por cada etapa, y en ese problema se incluye tanto la parte correspondiente a la propia etapa como la parte que liga esa etapa a las decisiones tomadas en la etapa anterior.


Relajación lagrangiana


El otro método de descomposición más relevante es la relajación lagrangiana [Geoffrion, 1970], En esta ocasión se intentan separar dentro de cada etapa las decisiones para grupos de variables que están relacionadas entre sí. Es decir, se pueden localizar conjuntos de variables que están muy conectadas con otras etapas, pero poco relacionadas con otras variables de la misma etapa.



ESTIMACIÓN DEL PROYECTO DE SOFTWARE


La estimación del coste y del esfuerzo del software no es una ciencia exacta, sondemasiadas las variables- humanas, técnicas , de entorno, políticas- que pueden afectar alcoste final del software y al esfuerzo aplicado para desarrollarlo.Para estimaciones seguras de costes y esfuerzos tenemos varias opciones posibles:

- dejar la estimación para cuando se ha acabado el proyecto, pero esto no espráctico pues las estimaciones de los costes han de ser a priori.- basarse en proyectos similares ya terminados, no fiable.

- usar técnicas de descomposición (divide_y_vencerás).

- modelo empírico para el cálculo de costes y esfuerzos del software.Las dos últimas opciones son métodos viables para la estimación del proyecto software,incluso pueden aplicarse conjuntamente.

Estimación de recursos y costes La estimación de recursos y costes es una actividad importante que debe llevarse a cabo con el mayor detalle posible, porque permite al comprador establecer una aproximación al coste total y plazos del desarrollo del sistema.Para ello se requiere experiencia, acceso a una buena información histórica y determinación para confiar en medidas cuantitativas cuando todo lo que existe son datos cualitativos.Factores que afectan a esta estimación:La complejidad del proyecto, cuantificando la misma en función de:Número de módulos y nivel de interrelación entre los mismos.Número y tipo de las interfaces externas con otros sistemas, programas o datos.Grado de distribución y heterogeneidad del entorno de implantación.Grado de sofisticación de las herramientas de desarrollo.Naturaleza de los algoritmos que se deben diseñar y programar.

Otros factores específicos del proyecto.

La dimensión del sistema a desarrollar: conforme aumenta el tamaño de un sistema de información, la interdependencia entre los distintos elementos del sistema de información crece rápidamente y la descomposición del problema en partes más pequeñas se hace más difícil.


El grado de estructuración del proyecto: por estructuración se entiende la facilidad con que las funciones pueden ser compartimentalizadas y la naturaleza jerárquica de la información a tratar. A medida que el grado de estructuración aumenta, la posibilidad de estimar con precisión mejora y, por consiguiente, el riesgo disminuye.

Existen varias técnicas de estimación para el desarrollo de sistemas de información. Aunque cada una tiene sus puntos fuertes y débiles, todas tienen en común las siguientes características:Se ha de establecer de antemano el alcance del proyecto.


Como base para la realización de estimaciones, se usan las métricas del software, es decir, medidas relativas al esfuerzo de desarrollo del equipo lógico.El proyecto se desglosa en partes más pequeñas cuyos costes y recursos se estiman individualmente.Ejemplos de estas técnicas son:Análisis de puntos de función.Técnicas de descomposición.Modelos empíricos de estimación.Herramientas automáticas de estimación.Una vez estimado el tiempo y recursos necesarios para el desarrollo de la aplicación y teniendo en cuenta las tarifas de los distintos profesionales del desarrollo, se puede establecer una aproximación al presupuesto que va a exigir el desarrollo del sistema de información objeto del pliego.La Administración ha promovido el desarrollo de una herramienta, SISDEL (Sistema Integrado de Soporte al Desarrollo de Equipos Lógicos), que sirve como ayuda a la gestión de la calidad, a la planificación y control de plazos, y a la estimación de proyectos de desarrollo de sistemas de información.




1.-¿son una de las técnicas de estimación del proyecto de software mas utilizadas y recomendadas?

Técnicas de descomposición (divide_y_vencerás) y Modelo empírico para el cálculo de costes y esfuerzos del software


2.-¿En qué consiste la técnica de descomposición a grandes rasgos?Descomponemos el problema en pequeños problemas. Se puede dividir en enfoque directo que se refiere a las LDC(líneas de código). Si se selecciona un enfoque indirecto se refiere a PF(puntos de función) esta ultima no se centra en la función, se estiman cada unade las características del dominio de información - entradas, salidas, archivos de datos,peticiones, e interfaces externas.


3.-¿Cuales son las estimaciones seguras de costes y esfuerzos dentro de la estimación del proyecto de software?· Dejar la estimación para cuando se ha acabado el proyecto, pero esto no es práctico pues las estimaciones de los costes han de ser a priori.· Basarse en proyectos similares ya terminados, no fiable.· Usar técnicas de descomposición (divide y vencerás).· Modelo empírico para el cálculo de costes y esfuerzos del software.

4.-¿Cuales son las características de las técnicas de estimación para el desarrollo de sistemas de información?

-Análisis de puntos de función.-Técnicas de descomposición.-Modelos empíricos de estimación.-Herramientas automáticas de estimación.Describe brevemente la herramienta SISDEL(Sistema Integrado de Soporte al Desarrollo de Equipos Lógicos), que sirve como ayuda a la gestión de la calidad, a la planificación y control de plazos, y a la estimación de proyectos de desarrollo de sistemas de información.


5.-Describe brevemente la herramienta SISDEL

(Sistema Integrado de Soporte al Desarrollo de Equipos Lógicos), que sirve como ayuda a la gestión de la calidad, a la planificación y control de plazos, y a la estimación de proyectos de desarrollo de sistemas de información.



HERRAMIENTAS AUTOMATICAS DE ESTIMACIÓN


¿Cual es el objetivo de utilizar las herramientas automáticas de estimación?


Con ellas podemos cuantificar todo con respecto al proyecto y con ellas podemos reducir tiempos o tomar mejores deciciones en el proyecto o sobre el equipo de trabajo porque podemos utilizarlas en el proyecto pero tambien en la vida cotidiana.


¿Cuales son las funciones genéricas en las herramientas automáticas de estimación?

Herramientas Automaticas de Estimacion:
Funciones Genericas:
Dimensionamiento de las entregas del proyecto.
Seleccion de las actividades del proyecto.
Prediccion de los niveles de la plantilla.
Prediccion del esfuerzo del software.
Prediccion del coste del software.
Prediccion de la planificacion del software.
¿Que nos proporcionan las herramientas automáticas de estimación?

Nosproporcionan la información referente a estimar costes y esfuerzos, ademas de llevar a cabo un análisis con las variables del proyecto como púeden ser la fecha de entrega o la seleccion del personal.
¿Cuantas herramientas automáticas de estimación son y cuales son?

son 6 herramientas:

Herramientas Automaticas de Estimacion:

Funciones Genericas:
· Dimensionamiento de las entregas del proyecto.

· Seleccion de las actividades del proyecto.

· Prediccion de los niveles de la plantilla.

· Prediccion del esfuerzo del software.

· Prediccion del coste del software.

· Prediccion de la planificacion del software.


3.7 La desicion desarrollar - comprar

Esta forma parte de la Planificacion de proyectos de software como podemos ver en el siguieinte esquema !!



Muchas veces es más rentable adquirir el software de computadora que desarrollarlo los gestores pueden optar por desarrollar el software o comprarlo Hay diversas opciones de adquisición:– Comprarlo ya desarrollado bajo licencia.– Adquirir componentes ya experimentados o parcialmente experimentados.– Construirse de forma personalizada por una empresa externa para cumplir las Especificaciones del comprador.
• Si es evidente que una opción es mucho más rentable que la otra se elige• Si no, hacemos una comparación basada en:

1. Desarrollo de una especificación del software.
2. Estimación del coste interno de desarrollo y de la fecha de entrega.
3. Selección de tres o cuatro aplicaciones que mejor cumplan las especificaciones.
4. Selección de componentes software que ayudarán en la construcción de la aplicación.
5. Desarrollo de una matriz de comparación.
6. Evaluación de cada paquete o componente.
7. Contacto con usuarios y petición de opiniones.

En el análisis final se deben tener en cuenta las siguientes condiciones:
- Fecha de entrega.
- Coste total.
- Coste de mantenimiento-
soporte.
Podemos utilizar un árbol de decisiones para facilitar el proceso de decisión supongamos que debemos decidir entre:– Construir un sistema totalmente.– Reutilizar componentes de experiencia parcial.– Comprar un producto disponible y modificarlo.– Contratar el desarrollo a una empresa externa.
El coste no debe ser el único criterio además, debemos tener en cuenta:- Disponibilidad.- Experiencia del desarrollador/vendedor/contratado.- Conformidad con los requisitos.- Política local.- Probabilidad de cambio.La decisión desarrollar...Subcontratación• Subcontratación (outsorcing): contratar las actividades de IS a un tercero, quien hace el trabajo a bajo coste, asegurando una alta calidad• El trabajo de software de la compañía origen se reduce a la gestión de contratosPuede ser una decisión estratégica o táctica• Ventajas:- Ahorros de costos.• Inconvenientes:- Pérdida del control del software.- Ponerse en manos de terceros.Precio de un proyecto• El coste de un proyecto software depende de tres parámetros:- Costes hardware y software, incluido su mantenimiento.- Costes de viajes y formación.- Costes de esfuerzo.
En la mayoría de proyectos, el determinante, es el coste de esfuerzo, ya que:- El coste de hardware es cerrado y, hoy en día, no demasiado alto.- Aunque algunos proyectos tengan elevados costes de desplazamiento y/o formación, para la mayoría de proyectos son costes bajos.• En las tarifas medias, no solamente se incluye el coste por esfuerzo• También se incluyen los costes totales y se dividen por el número de programadores (y meses)• Los siguientes costes también son parte del coste del esfuerzo total:- Coste de mantenimiento de la oficina.- Costes del personal no programador.- Costes de red y comunicación.- Costes de pensiones y/o seguros.- Otros costes.• Normalmente, el coste total es tres o cuatro veces el sueldo del programador:tarifa programador: 2000(€/pm)tarifa media: 7000(€/pm)En base a esto podemos determinar:precio = coste + beneficios• Esta regla es muy sencilla• Podemos ajustarla en base a los siguientes factores:- Cuota de mercado (alta/baja).- Estimación de costes poco clara.- Términos del contrato (propiedad del código).- Volatilidad de los requisitos (honestos/inteligentes).- Salud financiera
La decisión de desarrollar – comprarPueden ser decisiones estratégicas o tácticas para el desarrollo del software, ya que el costo no debe ser el único criterio en el cual tengamos en cuenta, también debemos tener en cuenta, la disponibilidad y posibilidad de cambio.(Fernando Ortega Trejo)
La decision desarrollar comprar
Pienso que en este caso depende la decision del giro de nuestro negocio ya que cuando tenemos actividades muy generales podemos optar por comprar un software ya generico y en caso de actividades muy generales si debemos optar por desarrollar nuestro propio software es decir para que cumpla con esos requerimientos especiales ya que el modificar el ya hecho puede ser mas costoso que uno nuevo
La decisión desarrollar comprar Es la forma de decidir si para nuestra necesidad es mejor comprar un producto ya hecho con una licencia, comprar un producto para modificarlo, o pagar por crear un producto. También te ayuda a tener el conocimiento de verificar el precio del producto todo esto se obtiene con los coste y beneficios del producto otros factores que te ayuda también a tener en mente son los Costes del personal no programador, Costes de red y comunicación, Costes de pensiones y/o seguros. En todo esto se incluye lo que es el mantenimiento del software o hardware

1.-¿que entiendes por decision comprar-desarrollar?
Decisiones estratégicas o tácticas para el desarrollo del software, ya que el costo no debe ser el único criterio en el cual tengamos en cuenta, también debemos tener en cuenta, la disponibilidad y posibilidad de cambio.

2.-¿que factores podemos usar para decidir?
Hay diversas opciones de adquisición:– Comprarlo ya desarrollado bajo licencia.– Adquirir componentes ya experimentados o parcialmente experimentados.– Construirse de forma personalizada por una empresa externa para cumplir las Especificaciones del comprador.

3.-¿que factores intervienen en la compra?
Precio de un proyecto• El coste de un proyecto software depende de tres parámetros:- Costes hardware y software, incluido su mantenimiento.- Costes de viajes y formación.- Costes de esfuerzo.

4.-¿que factores intervienen en el desarrollo?
Subcontratación• Subcontratación (outsorcing): contratar las actividades de IS a un tercero, quien hace el trabajo a bajo coste, asegurando una alta calidad• El trabajo de software de la compañía origen se reduce a la gestión de contratosPuede ser una decisión estratégica o táctica• Ventajas:- Ahorros de costos.• Inconvenientes:- Pérdida del control del software.- Ponerse en manos de terceros.
5.-¿que harias tu y en que casos?





miércoles, 11 de marzo de 2009

PROYECTO DE PLANEACIÒN

EJEMPLO:

PLANEACIÓN DE COMPONER UN EQUIPO DE COMPUTO

Para llevar a cabo esta actividad del equipo de computo, debe llevarse un proceso de planeación, en este caso primero es saber el problema que tiene el equipo de computo, para saber cuales serian los materiales o las herramientas que voy a utilizar, en ese momento ya estoy planeando las herramientas que utilizare, e investigando el problema, ya existe la planeación, al mismo tiempo se esta planeando como empezar a reparar el equipo, que es extraer antes el hardware, para saber si la falla es fisica o lógica, despues de suceder esto proceguir a saber que es lo que le hace falta y despues echar a andar el equipo, hacer varias pruebas para llegara la conclusión; una ves encendido el equipo o ya que reaccionó el equipo de computo, prosigue al software para saber mas a fondo de la falla segun las reacciones que realice al encender el equipo de computo
al realizar cada uno de los pasos se planearon para llegar a la conclusión d el problema.

miércoles, 4 de marzo de 2009

UNIDAD 3 PLANIFICACIÓN DE UN PROYECTO DE SOFTWARE

PLANEACIÓN
La planeación consiste en fijar el curso concreto de acción que ha de seguirse, estableciendo los principios que habrán de orientarlo, la secuencia de operaciones para realizarlo, y la determinación de tiempos y números necesarios para su realización ".

Planeación es la selección y relación de hechos, así como la formulación y uso de suposiciones respecto al futuro en la visualización y formulación de las actividades propuestas que se cree sean necesarias para alcanzar los resultados deseados.


3.1 Objetivos de la planificación-La planificación se refiere a las acciones llevadas a cabo para realizar planes y proyectos de diferente índole.-


El proceso de planeación sigue un conjunto de pasos que se establecen inicialmente, y quienes realizan la planificación hacen uso de las diferentes expresiones y herramientas con que cuenta la planeación. La planificación ejecuta los planes desde su concepción, y si es el caso se encarga de la operación en los diferentes niveles y amplitudes de la planeación.
La planificación de trabajos realiza acciones basándose en la planeación de cada uno de los proyectos. De manera inicial concibe el plan para que posteriormente sea llevado a cabo.
La planificación es la parte que opera la ejecución directa de los planes, que serán realizados y vigilados de acuerdo al planteamiento señalado durante el proceso de planeación.
-
Existen diversas clasificaciones acerca de la planificación. Según Stoner, los gerentes usan dos tipos básicos de planificación. La planificación estratégica y la planificación operativa. La planificación estratégica está diseñada para satisfacer las metas generales de la organización, mientras la planificación operativa muestra cómo se pueden aplicar los planes estratégicos en el quehacer diario. Los planes estratégicos y los planes operativos están vinculados a la definición de la misión de una organización, la meta general que justifica la existencia de una organización. Los planes estratégicos difieren de los planes operativos en cuanto a su horizonte de tiempo, alcance y grado de detalle.-
La planificación estratégica es planificación a largo plazo que enfoca a la organización como un todo. Muy vinculados al concepto de planificación estratégica se encuentran los siguientes conceptos: a) estrategia, b) administración estratégica, c) cómo formular una estrategia. • Estrategia: es un plan amplio, unificado e integrado que relaciona las ventajas estratégicas de una firma con los desafíos del ambiente y se le diseña para alcanzar los objetivos de la organización a largo plazo; es la respuesta de la organización a su entorno en el transcurso del tiempo, además es el resultado final de la planificación estratégica. Asimismo, para que una estrategia sea útil debe ser consistente con los objetivos organizacionales. • Administración estratégica: es el proceso que se sigue para que una organización realice la planificación estratégica y después actúe de acuerdo con dichos planes. En forma general se piensa que el proceso de administración estratégica consiste en cuatro pasos secuenciales continuos: a) formulación de la estrategia; b) implantación de la estrategia; c) medición de los resultados de la estrategia y d) evaluación de la estrategia. • Cómo formular una estrategia: es un proceso que consiste en responder cuatro preguntas básicas. Estas preguntas son las siguientes: ¿Cuáles son el propósito y los objetivos de la organización?, ¿A dónde se dirige actualmente la organización?, ¿En que tipo de ambiente está la organización?, ¿Qué puede hacerse para alcanzar en una forma mejor los objetivos organizacionales en el futuro?
-
La planificación operativa consiste en formular planes a corto plazo que pongan de relieve las diversas partes de la organización. Se utiliza para describir lo que las diversas partes de la organización deben hacer para que la empresa tenga éxito a corto plazo. Según Wilburg Jiménez Castro la planificación puede clasificarse, según sus propósitos en tres tipos fundamentales no excluyentes, que son: a) Planificación Operativa, b) Planificación Económica y Social, c) Planificación Física o Territorial. Según el período que abarque puede ser: a) de corto plazo, b) de Mediano plazo, c) de largo plazo.Planificación Operativa o Administrativa: se ha definido como el diseño de un estado futuro deseado para una entidad y de las maneras eficaces de alcanzarlo (R. Ackoff, 1970).-
"Planificación Económica y Social: puede definirse como el inventario de recursos y necesidades y la determinación de metas y de programas que han de ordenar esos recursos para atender dichas necesidades, atinentes al desarrollo económico y al mejoramiento social del país.
-
Planificación Física o Territorial: podría ser definida como la adopción de programas y normas adecuadas, para el desarrollo de los recursos naturales, dentro de los cuales se incluyen los agropecuarios, minerales y la energía eléctrica, etc., y además para el crecimiento de ciudades y colonizaciones o desarrollo regional rural.-
Planificación de corto plazo: el período que cubre es de un año.Planificación de mediano plazo: el período que cubre es más de un año y menos de cinco.Planificación de largo plazo: el período que cubre es de más de cinco años" (W. Jiménez C., 1982) Según Cortés, los planes se pueden clasificar también de acuerdo al área funcional responsable de su cumplimiento: Plan de Producción, Plan de Mantenimiento, Plan de mercadeo, Plan de Finanzas, Plan de Negocios.-
Según el alcance, los planes se pueden clasificar como: 1. Intradepartamentales, si se aplican a un departamento. Ejemplo: plan de mantenimiento mecánico. 2. Interdepartamentales, si afectan a más de un departamento, ejemplos: plan de seguridad industrial. 3. Para toda la organización. Ejemplo: Presupuesto. 4. También pueden ser considerados como planes las políticas, los procedimientos, las normas y los métodos de trabajo. Las políticas son líneas generales o directivas amplias que establecen orientación para la toma de decisiones. Ejemplo: promoción interna del personal. Los procedimientos son reglas que establecen la forma convencional de organizar actividades para cumplir una meta. Ejemplo: cierre de un ejercicio comercial.
-
Los métodos son formas sistemáticas y estructuradas para realizar actividades en forma eficiente.Las normas son regulaciones estrechas que definen con detalle los pasos y acciones para realizar actividades repetitivas.




-"La planificación es establecer lo que se va a hacer, como y cuando se va a hacer desde antes de que se haga, para lograr el objetivo o meta buscada".


3.1 OBJETIVOS DE LA PLANEACIÓN


El objetivo principal de la planeación del proyecto del software es proporcionar un marco de trabajo que permita al gestor de planificación hacer estimaciones razonables de recursos, costos y planificación temporal.


-Estas estimaciones se hacen al comienzo del
Proyecto.


-Hay que actualizarlas según progresa éste.


-Además, deberían definirse los escenarios
del mejor caso y del peor caso de forma que
los resultados del proyecto puedan limitarse.


Estas estimaciones se hacen dentro de un marco de tiempo limitado al comienzo de un proyecto de software, y deberían actualizarse regularmente medida que progresa el proyecto. Además las estimaciones deberían definir los escenarios del mejor caso, y peor caso, de modo que los resultados del proyecto pueden limitarse.El Objetivo de la planificación se logra mediante un proceso de descubrimiento de la información que lleve a estimaciones razonables.


3.2 Ambito del Software.

Es la primera actividad de llevada a cabo durante la planificación del proyecto de Software. En esta etapa se deben evaluar la función y el rendimiento que se asignaron al Software durante la Ingeniería del Sistema de Computadora para establecer un ámbito de proyecto que no sea ambiguo, e incomprensible para directivos y técnicosDescribe la función, el rendimiento, las restricciones, las interfaces y la fiabilidad, se evalúan las funciones del ámbito y en algunos casos se refinan para dar más detalles antes del comienzo de la estimación. Las restricciones de rendimiento abarcan los requisitos de tiempo de respuesta y procesamiento, identifican los límites del software originados por el hardware externo, por la memoria disponible y por otros sistemas existentes.


El Ámbito se define como un pre-requisito para la estimación y existen algunos elementos que se debe tomar en cuenta como es:La Obtención de la Información necesaria para el software. Para esto el analista y el cliente se reúnen sobre las expectativas del proyecto y se ponen de acuerdo en los puntos de interés para su desarrollo.



3.3 RECURSOS


La Segunda tarea de la planificación del desarrollo de Software es la estimación de los recursos requeridos para acometer el esfuerzo de desarrollo de Software, esto simula a una pirámide donde las Herramientas (hardware y Software), son la base proporciona la infraestructura de soporte al esfuerzo de desarrollo, en segundo nivel de la pirámide se encuentran los Componentes reutilizables.
Cada recurso queda especificado mediante cuatro características:
· Descripción del Recurso.
· Informes de disponibilidad.
· Fecha cronológica en la que se requiere el recurso.
·Tiempo durante el que será aplicado el recurso


Recursos Humanos.
La Cantidad de personas requeridas para el desarrollo de un proyecto de software solo puede ser determinado después de hacer una estimación del esfuerzo de desarrollo (por ejemplo personas mes o personas años), y seleccionar la posición dentro de la organización y la especialidad que desempeñara cada profesional.


Recursos o componentes de software reutilizables.
Cualquier estudio sobre recursos de software estaría incompleto sin estudiar la reutilización, esto es la creación y la reutilización de bloques de construcción de Software.
Tales bloques se deben establecer en catálogos para una consulta más fácil, estandarizarse para una fácil aplicación y validarse para la también fácil integración.
El Autor Bennatan sugiere cuatro categorías de recursos de software que se deberían tener en cuenta a medida que se avanza con la planificación:
· Componentes ya desarrollados.
· Componentes ya experimentados.
· Componentes con experiencia Parcial.
· Componentes nuevos.


Recursos de entorno.
El entorno es donde se apoya el proyecto de Software, llamado a menudo entorno de Ingeniería de Software, incorpora Hardware y Software.
El Hardware proporciona una plataforma con las herramientas (Software) requeridas para producir los productos que son el resultado de la buena práctica de la Ingeniería del Software, un planificador de proyectos debe determinar la ventana temporal requerida para el Hardware y el Software, y verificar que estos recursos estén disponibles. Muchas veces el desarrollo de las pruebas de validación de un proyecto de software para la composición automatizada puede necesitar un compositor de fotografías en algún punto durante el desarrollo. Cada elemento de hardware debe ser especificado por el planificador del Proyecto de Software.




ESTIMACION DEL PROYECTO DE SOFTWARE.


En el principio el costo del Software constituía un pequeño porcentaje del costo total de los sistemas basados en Computadoras. Hoy en día el Software es el elemento más caro de la mayoría de los sistemas informáticos.


Un gran error en la estimación del costo puede ser lo que marque la diferencia entre beneficios y perdidas, la estimación del costo y del esfuerzo del software nunca será una ciencia exacta, son demasiadas las variables: humanas, técnicas, de entorno, políticas, que pueden afectar el costo final del software y el esfuerzo aplicado para desarrollarlo.
Para realizar estimaciones seguras de costos y esfuerzos tienen varias opciones posibles:
·Deje la estimación para más adelante (obviamente podemos realizar una estimación al cien por cien fiable después de haber terminado el proyecto.
· Base las estimaciones en proyectos similares ya terminados.
· Utilice técnicas de descomposición relativamente sencillas para generar las estimaciones de costos y esfuerzo del proyecto.
· Desarrolle un modelo empírico para él cálculo de costos y esfuerzos del Software.
Desdichadamente la primera opción, aunque atractiva no es práctica.
La Segunda opción puede funcionar razonablemente bien si el proyecto actual es bastante similar a los esfuerzos pasados y si otras influencias del proyecto son similares. Las opciones restantes son métodos viables para la estimación del proyecto de software. Desde el punto de vista ideal, se deben aplicar conjuntamente las técnicas indicadas usando cada una de ellas como comprobación de las otras.
Antes de hacer una estimación, el planificador del proyecto debe comprender el ámbito del software a construir y generar una estimación de su tamaño.


Estimación basada en el Proceso.


Es la técnica más común para estimar un proyecto es basar la estimación en el proceso que se va a utilizar, es decir, el proceso se descompone en un conjunto relativamente pequeño de actividades o tareas, y en el esfuerzo requerido para llevar a cabo la estimación de cada tarea.
Al igual que las técnicas basadas en problemas, la estimación basada en el proceso comienza en una delineación de las funciones del software obtenidas a partir del ámbito del proyecto. Se mezclan las funciones del problema y las actividades del proceso. Como ultimo paso se calculan los costos y el esfuerzo de cada función y la actividad del proceso de software.


DIFERENTES MODELOS DE ESTIMACION.

Existen diferentes modelos de estimación como son:


Los Modelos Empíricos:
Donde los datos que soportan la mayoría de los modelos de estimación obtienen una muestra limitada de proyectos. Por est razón, el modelo de estimación no es adecuado para todas las clases de software y en todos los entornos de desarrollo. Por lo tanto los resultados obtenidos de dichos modelos se deben utilizar con prudencia.


El Modelo COCOMO.
Barry Boehm, en su libro clásico sobre economía de la Ingeniería del Software, introduce una jerarquía de modelos de estimación de Software con el nombre de COCOMO, por su nombre en Ingles (Constructive, Cost, Model) modelo constructivo de costos. La jerarquía de modelos de Boehm esta constituida por los siguientes:


·Modelo I. El Modelo COCOMO básico calcula el esfuerzo y el costo del desarrollo de Software en función del tamaño del programa, expresado en las líneas estimadas.
·Modelo II. El Modelo COCOMO intermedio calcula el esfuerzo del desarrollo de software en función del tamaño del programa y de un conjunto de conductores de costos que incluyen la evaluación subjetiva del producto, del hardware, del personal y de los atributos del proyecto.
·Modelo III. El modelo COCOMO avanzado incorpora todas las características de la versión intermedia y lleva a cabo una evaluación del impacto de los conductores de costos en cada caso (análisis, diseño, etc.) del proceso de ingeniería de Software.

http://www.monografias.com/trabajos/anaydisesis/anaydisesis.shtml


3.4 ESTIMACIÓN DE PROYECTOS DE SOFTWARE
3.5 TECNICAS DE DESCOMPOSICIÓN
ruiz-moran-ss2.blogspot.com
3.6 MODELOS EMPIRICOS DE DESCOMPOSICIÓN
rios-vazquez.blogspot.com
3.7 LA DESICIÓN DESARROLLAR-COMPRAR
sistemasdesoftwareiiblogspot.com
3.8 HERRAMIENTAS AUTOMÁTICAS DE ESTIMACIÓN
javiersantiagoperez.blogspot.com












miércoles, 25 de febrero de 2009

Unidad 2 EL PROCESO DEL SOFTWARE

METRICAS DEL PROCESO
2.1 Medidas, metricas e indicadores2.2 METRICAS EN EL PROCESO Y DOMINIOS DEL PROYECTO



2.3 MEDICIONES DEL SOFTWARE




2.4 RECONCILIACIÓN DE LOS DIFERENTES ENFOQUES DE MÉTRICAS

La relación entre las líneas de código y los puntos de función depende del lenguaje de programación que se utilice para implementar el software y de la calidad del diseño.Hay muchos factores que influyen en la productividad, haciendo que la comparación sea fácilmente interpretable. factores humanosfactores del problema (complejidad)factores del procesofactores del productofactores de los recursos.





2.5 MÉTRICAS PARA LA CALIDAD DEL SOFTWARE


El proceso es el único factor de «los controlables al mejorar la calidad del software y su rendimiento como organización».La eficacia de un proceso de software se mide indirectamente. Las métricas de proceso también se extraen midiendo las características de tareas específicas de la ingeniería del software. El proceso personal del software (PPS) es un conjunto estructurado de descripciones de proceso, mediciones y métodos que pueden ayudar a que los ingenieros mejoren su rendimiento personal.Humphrey reconoce que la mejora del proceso del software puede y debe empezar en el nivel individual.Etiqueta de métricas del software» adecuada para gestores al tiempo que instituyen un programa de métricas de proceso:Utilice el sentido común y una sensibilidad organizativa al interpretar datos de métricas.Proporcione una retroalimentación regular para particulares y equipos que hayan trabajado en la recopilación de medidas y métricas.No utilice métricas para evaluar a particulares.Trabaje con profesionales y equipos para establecer objetivos claros y métricas que se vayan a utilizar para alcanzarlos.No utilice nunca métricas que amenacen a particulares o equipos.Los datos de métricas que indican un área de problemas no se deberían considerar «negativos». Estos datos son meramente un indicador de mejora de proceso.No se obsesione con una sola métrica y excluya otras métricas importantes.Mejora estadística de proceso del sofmare (MEPS) utiliza el análisis de fallos del software para recopilar información de errores y defectos3 encontrados al desarrollar y utilizar una aplicación de sistema o producto. El análisis de fallos funciona de la misma manera:1. Todos los errores y defectos se categorizan por origen (por ejemplo: defectos en la especificación, en la lógica, no acorde con los estándares).2. Se registra tanto el coste de corregir cada error como el del defecto.3. El número de errores y de defectos de cada categoría se cuentan y se ordenan en orden descendente.4. Se computa el coste global de errores y defectos de cada categoría.5. Los datos resultantes se analizan para detectar las categorías que producen el coste más alto para la organización.




2.6 INTEGRACION DE LAS MÉTRICAS DENTRO DEL PROCESO DEL SOFTWARE