miércoles, 25 de marzo de 2009

Examen 2 Contestado

Examen:

Describe los principios 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 crean inicialmente, 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.

¿A qué se refiere el ámbito 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 Describe 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.

¿Define los tipos de recursos que existen?

Son la base proporciona la infraestructura de soporte al esfuerzo de desarrollo, en segundo nivel de la pirámide se encuentran los Componentes reutilizables:
· 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:

Es la cantidad de personas requeridas para el desarrollo de un proyecto de software solo pude del esfuerzo de desarrollo.

Recursos o componentes de software reutilizables.

Esto es la creación y la reutilización de bloques de construcción de Software.
-Componentes ya desarrollados.
-Componentes ya experimentados.
-Componentes con experiencia Parcial.
-Componentes nuevos.

Recursos de entorno. Es donde se apoya el proyecto de Software, llamado a menudo entorno de Ingeniería de Software, incorpora Hardware y Software.


¿Que son las técnicas de Descomposición?

Es la posibilidad de que el responsable del componente a estimar participe en dicha estimación.
Ayuda a analizar con detalle cada componente. 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.

-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.

La descomposición de Benders propone separar en sub problemas 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 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. Modelos empíricos de descomposición.

¿Cuál es la diferencia entre una técnica de estimación por problemas y una de proyecto?

La estimación del coste y del esfuerzo del software no es una ciencia exacta, son demasiadas 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.

¿Cual es una de las técnicas de estimación de software más utilizada y recomendada?

-Es el Modelos empíricos de estimación.
¿Describe en qué consiste el modelo empírico de descomposición?
Se va descomponiendo un problema general, en varios problemas pequeños y así resolverlos de manera fácil y rápida.


¿Qué factores puedes usar para comprar y para desarrollar?

Para adquirir un programa debemos de tomar en cuenta el software, la compañía y el precio, desgraciadamente Muchas veces es más rentable adquirir el software de computadora que desarrollarlo, ya que los gestores pueden optar por desarrollar el software o comprarlo, Hay diversas opciones de adquisición: Comprarlo ya desarrollado bajo licencia y Adquirir componentes ya experimentados o parcialmente experimentados. de forma personalizada por una empresa externa para cumplir las Especificaciones del comprador.

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

La planificación se refiere a las acciones llevadas a cabo para realizar planes y proyectos de diferente situación. 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.

¿Menciona una técnica automática de estimación?

Dimensionamiento de las entregas del proyecto. Se estima el tamaño de uno o más productos de software. Incluyen la representación externa del software, su funcionalidad y la información descriptiva.

miércoles, 4 de marzo de 2009

Unidad 3: Planificación de un proyecto de software

3.1 Objetivo de la planificacion.

-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.

3.2 Planeacion.

-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 tiempo y números necesarios para su realización

Es el pensamiento que precede a la acción, comprende el desarrollo de las alternativas y la relación entre ellas, como medida necesaria de acción para lograr un objetivo.
Determinación del conjunto de objetivos por obtenerse en el futuro y de los pasos necesarios para alcanzarlos, a través de técnicas y procedimientos definidos.
referencia "http://www.elprisma.com/apuntes/administracion_de_empresas/planeacion/"
yo entiendo por planeacion el acto de dirigir nuestro pensamiento de manera objetiva para encontrar los elementos o alternativas para conseguir un fin o una meta.


3.3 RECURSOS:

Es la estimación de los recursos requeridos para acometer el esfuerzo de desarrollo de 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:

· 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

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.
cuatro categorías de recursos de software:

· Componentes ya desarrollados.
· Componentes ya experimentados.
· Componentes con experiencia Parcial.
· Componentes nuevos.

Recursos de 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 practica 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.

3.4 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 Describe 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 mas detalles antes del comienzo de la estimación. Identifican los límites del software originados por el hardware externo, por la memoria disponible y por otros sistemas existentes. 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.

Referencia "http://www.wikilearning.com/articulo/planificacion_de_proyectos-planeacion_y_estimacion_de_proyectos_informaticos/9597-1" http://www.lasnieves.edu.ar/indocs/p/AnalisisYDiseñoDeSistemas.doc

En conclusion podemos entender como el ambito del software como el contexto, ambiente, etc. Que debe generar nuestro software, basado en el analisis de los requerimientos, las funciones, las restricciones, etc.

3.5 Tecnicas de Descomposicó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.


Preguntas:

1. ¿Qe son las tecnicas 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.

2. ¿Aqué 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. ¿Qé son las estimaciones basadas en el proyecto?

·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. ¿Poque es inconveniente usar tecnicas de descomposición?

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.

5. ¿Cual es la diferencia entre la descomposición de benders y la relajación langragiana?

La descomposición de Benders 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 y por otra parte en la Relajación lagrangiana 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.


3.6 Modelos empíricos de descomposición.


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 costesLa 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.http://informatica.uv.es/iiguia/2000/IPI/material/tema5.pdfIPI/material/tema5.pdfhttp://www.csae.map.es/csi/silice/Dsamed25.html

¿Cuales 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¿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.

¿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.

¿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)?

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.
http://rios-vazquez.blogspot.com/


3.7 La decisión Desarrollar - Comparar.

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).
La decisión de desarrollar – comprar, Pueden 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 (Miguelangel arias calleja)

La decisión desarrollar comprarEs 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 (Ivan Vazquez Marroquin)

Desde mi perspectiva pienso que para tomar una decisión entre desarrollar o comprar depende mucho de lo que el sistema requiera. Algunas personas creen que es más factible comprar el software ya que este viene con licencia, se puede dar mantenimiento al sistema por medio de actualizaciones o adquiriendo soporte técnico entre otros beneficios. Pero hay personas que prefieren desarrollarlo debido a que el programa se puede modificar cuando quieran, puede ser reutilizable para crear más programas. Pero como todo tiene sus desventajas porque si no se toman bien los datos desde un principio el sistema será ineficiente y a veces no cubre la perspectiva del cliente. (ROMAN CUAUHTEMOC JIMENEZ ESTRADA).
Preguntas:


1.-¿Que entiendes por decision comprar-desarrollar?

Desarroll-comprarEs 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.

2.-¿Que factores podemos usar para decidir?

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.-¿Que factores intervienen en la compra?

El precio, si es apto para nuestro megocio, si nos sera util, y en caso de que no lo sea, buscar la forma, de poder realizar el nuetro.
4.-¿Que factores intervienen en el desarrollo?

Pienso que si no se aplican las tecnicas correctas no podremos obtener la informacion correcta ya que todo esta basado en estimaciones y no en algo concreto.

5.-¿Que harias tu y en que casos?

En la de bender vamos a separar en subproblemas pero de manera escalonada es decir las decisiones de la etapa actual depende de las de la etapa anterior.en la langragiana son variables de la misma etapa relacionadas entre si.

3.8 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.

Referecias: El diagrama Tomado de
http://cmapspublic.ihmc.us/rid=1225110789437_757425754_1364/Cap.5.cmap
Preesman, Roger S., (2002), “Planificación de Proyectos de Software”, en Ingeniería del Software, un enfoque practico, 5ta edición, McGrawHill, España, pp. 77-95.


Conclusiones:Rubi:
Las herramientas automáticas de estimación van a permitir al planificador estimar costes y esfuerzos, ademas de llevar a cabo un análisis con las variables del proyecto comopúeden ser la fecha de entrega o la seleccion del personal.

Arturo:
Las herramientas automaticas de estimacion son una base para que podamos tener una mejor idea del tiempo y costo del desarrollo de un proyecto de software tambien nos ayudan a tener una mejor planeacion en las tareas que realizara el equipo de trabajo y tener una estimacion en el tiempo estipulado en el analisis del proyecto a realizar para su tener exito en la entrega del proyecto.
Gaby:
estas herramientas nos proporcionan estimaciones del esfuerzo requerido para llevar acabo un proyecto, los costos, la carga de personal y la duracion todo esto para tener una mayor exito en la entrega del proyecto y asi lograr un analisis completo
Armando: en mi punto de vista estas herramientas son de gran importancia ya que 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.

Preguntas:

¿Cual es el objetivo de utilizar las herramientas automáticas de estimación?
Tener una perspectiva para lograr una mejor planeación del trabajo con cierta estimación del tiempo estipulado del proyecto y con esto lograr su éxito

¿Cuales son las funciones genericas en las herramientas automaticas de estimacion?
· Dimensionamiento de las entregas del proyecto.
· Selección de las actividades del proyecto.
· Predicción de los niveles de la plantilla.
· Predicción del esfuerzo del software.
· Predicción del coste del software.
· Predicción de la planificación del software.

¿Que nos proporcionan las herramientas automaticas de estimacion?
Dimensionamiento de las entregas del proyecto. Selección de las actividades del proyecto. Predicción de los niveles de la plantillas. Predicción del esfuerzo del software. Predicción del coste del software. Predicción de la planificación del software.
¿Cuantas herramientas automaticas de estimacion son y cuales son?
Son 6
-Predicción de la planificación del software. Se puede realizar un borrador de la planificación asignando el trabajo a través de actividades de ingeniería del software basadas en modelos recomendados para la distribución del esfuerzo
-
Predicción del coste del software. Puede calcularse asignando proporciones del trabajo a las actividades del proyecto
-Predicción del esfuerzo del software. Utilizan uno o más que relacionen el tamaño de las entregas del proyecto con el esfuerzo necesario para producirlas
-Predicción de los niveles de la plantillas Se especifica el número de personas disponibles para realizar el trabajo
-Selección de las actividades del proyecto. Selección del marco de trabajo de proceso adecuado y se especifica el conjunto de tareas de ingeniería del software.
-Dimensionamiento de las entregas del proyecto. Se estima el tamaño de uno o más productos de software. Incluyen la representación externa del software, su funcionalidad y la información descriptiva.













Herramientas alternas a MS PROJECT

TaskJuggler
Esta diseñado para funcionar en Linux y permite controlar recursos, costos y tareas, permite generar diagramas y graficas

DotProject

DotProject fue creado por dotmarketing.org en el año 2000, con el fin de construir una herramienta para la Gestión de Proyectos. Está construido por aplicaciones de código abierto y es mantenida por un dedicado grupo de voluntarios.
Es una aplicación basada en Web, multiusuario, soporta varios lenguajes y es Software Libre.
Está programado en PHP, y utiliza inicialmente MySQL como base de datos (aunque otros motores como PostgreSQL también pueden ser utilizados).
Laplataforma recomendada para utilizar dotProject se denomina LAMP (Linux + Apache+ MySQL + PHP).
El grupo que desarrolla dotProject se basa en los siguientes puntos: (1) Proveer a los usuarios de funcionalidad orientada a la Gestión de Proyectos, (2) Construir una herramienta con una interfaz de usuario simple, clara y consistente, y (3) Ser de código abierto, libre acceso y utilización.
Este material proporciona información acerca de los componentes básicos de DotProject, su configuración, instalación, las características básicas de uso y comprensión según los módulos y opciones que brinda el sistema. En otras palabras, está enfocado en dar a conocer las potencialidades d
e la herramienta para el desarrollo de actividades de gestión de proyectos.


Planner

Originalmente conocida como Mr. Project, es una herramienta
escrita en lenguaje
de programación C para gestión de proyectos, diseñada para el escritorio de GNOME. Utiliza los diagramas Gantt para esquematizar las actividades del proyecto y su interacción entre éstas y otros elementos.

Es, junto con Evolution, Gnumeric, Abiword y otros más, parte del conjunto GNOME Office. Planner utiliza un formato de fichero en XML o HTML, y también puede almacenar la información en una base de datos PostgreSQL. Tiene capacidad para importar proyectos desde Microsoft Project (solo formato XML).


PHProjekt

Comercio electronico - Aplicación modular para la coordinación de actividades de grupo y para compartir informaciones y documentos vía internet o intranet. Los componentes de PHProjekt: Calendario de grupo, administración de proyectos, sistema de tarjeta de tiempo, administración de ficheros, administrador de contactos, cliente de correo y otros 9 módulos...





GanttProject

Con GanttProject puede romper su proyecto en un árbol de tareas y asignar los recursos humanos que tienen que trabajar en cada tarea. You can also establish dependencies between tasks, like "this task can't start until this one is finished". También puede establecer dependencias entre las tareas, al igual que "esta tarea no puede comenzar hasta que uno está acabado". GanttProject renders your project using two charts: Gantt chart for tasks and resource load chart for resources. GanttProject hace su proyecto mediante dos gráficos: diagrama de Gantt para tareas de carga y de recursos gráfico de recursos. You may print your charts, generate PDF and HTML reports, exchange data with Microsoft(R) Project(TM) and spreadsheet applications. Usted puede imprimir sus gráficos, generar informes en PDF y HTML, intercambiar datos con Microsoft (R) de proyecto (TM) y aplicaciones de hoja de cálculo.




Netoffice

NetOffice / Un Lugar le da la capacidad de organizar y recibir todas sus formas primarias de comunicación, (correo electrónico, voz y fax), en una ubicación accesible desde cualquier lugar. This saves time and increases productivity. Esto ahorra tiempo y aumenta la productividad. You will also have at your fingertips the ability to share information with others if you like, forward / store voice, e-mail, and fax messages, organize your calendar, photo albums, task manager, address book, file manager and stay in constant contact with Instant Messaging. También tendrá a su alcance la capacidad de compartir información con otras si se quiere, adelante / tienda de voz, correo electrónico, fax y mensajes, organizar su calendario, álbumes de fotos, administrador de tareas, libreta de direcciones, gestor de archivos y permanecer en constante contacto con la mensajería instantánea. You can even use your existing email provider. Incluso puede utilizar su actual proveedor de correo electrónico. Works wtih any internet provider, Yahoo, Google, MSN, AOL,OutLook and any hand held device. Trabaja con cualquier proveedor de Internet, Yahoo, Google, MSN, AOL, Outlook y cualquier dispositivo de mano.




Workbench

Es un uso libre del software de gestión de proyectos se centraron en la programación. It is open sourced and an alternative to Microsoft Project . Está abierto de origen y una alternativa a Microsoft Project. It was originally called "Project Workbench" and developed by Applied Business Technology, Corporation (ABT) of New York in 1984. Niku Corporation purchased ABT and its products in 2000. Fue originalmente llamado "Proyecto de trabajo" y desarrollado por la compañía Applied Business Technology, Corporation (ABT) de Nueva York en 1984. Niku Corporation adquirió ABT y sus productos en el año 2000. CA Corporation purchased Niku and this software in 2005. CA Niku Corporation y comprado este software en el 2005.
Currently, Open Workbench only runs under Microsoft Windows 2000, XP, 2003 and Vista and requires Sun JRE version 1.3.1 or later. Actualmente, Open Workbench sólo se ejecuta en Microsoft Windows 2000, XP, 2003 y Vista y requiere JRE de Sun versión 1.3.1 o posterior.
Although it is provided as free software, users still require the Clarity suite if they want to use a central database to manage enterprise collaboration. A pesar de que se ofrece como software libre, los usuarios exigen la claridad suite si desea utilizar una base de datos central para gestionar la colaboración de empresas. With Clarity's Schedule Connect module, it can specifically link to many PCs with Open Workbench 1.1 installed. La claridad con la Lista de Conexión módulo, puede vincular específicamente a muchos ordenadores con Open Workbench 1.1 instalado. The module installs on both centralized server and the desktops, adding database access to Open Workbench’s screens. El módulo se instala en ambos servidor centralizado y el de escritorio, añadiendo Abrir base de datos de acceso a las pantallas del Workbench.
There are a few differences between Open Workbench and Microsoft Project. Hay algunas diferencias entre Abierto Workbench y Microsoft Project. Chief among them is that Open Workbench schedules based on effort whereas MS Project schedules based on duration. El principal de ellos es que «Open Workbench plazos basados en el esfuerzo que MS Project calendarios basados en la duración. In other words, in an Open Workbench plan task schedule is driven by the number of hours each resource will work per week to cover the total number of hours required for the tasks; whereas Microsoft Project does the reverse by generating estimates for the resources based on the task duration rather than their work availability. En otras palabras, en un plan de trabajo Abrir calendario tarea es impulsada por el número de horas de trabajo de cada recurso por semana para cubrir el número total de horas necesarias para las tareas, mientras que Microsoft Project no a la inversa mediante la generación de estimaciones de los recursos sobre la base de duración de la tarea en lugar de su trabajo disponibilidad. For this reason, resource leveling is also different: Open Workbench will do it based on resource availability whereas MS Project will do it based on the next available block of time that fits the task. Por esta razón, la nivelación de recursos también es diferente: Abierto de trabajo lo hará sobre la base de la disponibilidad de recursos que MS Project lo hará sobre la base del siguiente bloque de tiempo disponible que se adapte a la tarea.




Kplato
Es el programa de gestión de proyectos de la suite ofimática KOffice del proyecto KDE. Como componente integrado de Koffice se puede usar integrado con otros componentes de KOffice
KOffice es una suite ofimática o colección de programas ofimáticos libres para el proyecto KDE, aunque es independiente de éste.
Desde la versión 1.5 KOffice utiliza el formato de documento abierto OASIS OpenDocument de forma nativa. Además incluye filtros de importación para poder trabajar con algunos formatos de fichero de sus competidores.
KOffice tiene en cuenta parcialmente la internacionalización: los documentos usan la codificación unicode y permite escribir textos en lenguas que escriben de derecha a izquierda (Árabe o Hebreo), aunque todavía no en lenguas que escriben de arriba a abajo.
Para automatizar procesos KOffice permite la programación de scripts de DCOP en varios lenguajes de programación, aunque para evitar dar facilidades la expansión de algunos programas informáticos maliciosos, no se permiten macros en los documentos.
KOffice fue diseñado inicialmente para funcionar en Unix, pero es probable que en el futuro aparezca una versión nativa para Windows.


lunes, 2 de marzo de 2009

Unidad 1. Gestión de Proyectos de Software

La gestión de proyectos implica la planificación, supervisión y control del personal, del proceso y de los eventos que ocurren mientras evoluciona el software desde la fase preliminar a la implementación operacional.


1.1 El Personal
1.2 El Problema
1.3 El Proceso
1.4 El Proyecto