jueves, 13 de diciembre de 2012

Ejemplos de Planificacion de proyectos:

Estos son algunos ejemplos para explicar la plantificación de un proyecto:

Este es un ejemplo para aprender a utilizar Microsoft Projet 2010 para realizar la planificacion de nuestro proyecto:

Ejemplo de un diagrama Gantt y Pert:


miércoles, 28 de noviembre de 2012

Unidad 5:Calidad de software

5.1. Definición de calidad y calidad del software.

•Conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. la calidad es sinónimo de eficiencia, flexibilidad, corrección, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad.

•Es medible y varía de un sistema a otro o de un programa a otro. Un software elaborado para el control de naves espaciales debe ser confiable al nivel de "cero fallas"; un software hecho para ejecutarse una sola vez no requiere el mismo nivel de calidad; mientras que un producto de software para ser explotado durante un largo período (10 años o más),. 

•Puede medirse después de elaborado el producto. Pero esto puede resultar muy costoso si se detectan problemas deriva dos de imperfecciones en el diseño, por lo que es imprescindible tener en cuenta tanto la obtención de la calidad como su control durante todas las etapas del ciclo de vida del software.




5.2 Importancia de calidad:

•Los fallos de software afectan a todos los sectores y a todos los países, actualmente se desarrolla software fiable y correcto a un costo razonable. los auténticos profesionales y las empresas bien organizadas son prudentes y saben que deben aplicar distintas técnicas de control y prevención, además de un buen proceso de desarrollo.

Administración de la calidad del software

• Se refiere a lograr un nivel de calidad requerido en el producto de software

• Involucra a la definición de estándares de calidad apropiados y procedimientos que permitan asegurar que estos se cumplan.

• Debe llevar a desarrollar una cultura de calidad en donde la calidad es responsabilidad de todos

• Comprobación independiente de los procesos de desarrollo

Los productos resultantes de los procesos se introducen en el proceso de administración de la calidad para asegurar su consistencia con estándares y objetivos de calidad

• Equipo de aseguramiento y control: independientes de los equipos de desarrollo

• Responsabilidad de la administración de la calidad

• Visión objetiva del proceso

• Informan de problemas y dificultades a los administradores principales de la organización



5.3 Calidad y globalizacion:

La calidad es la capacidad de hacer cosas distintas a las que se les debe mejorar para que puedan competir en el mercado, pero no solo en productos se puede hablar de calidad si también en los seres humano y el medio ambiente ya que los seres humanos, animales y plantas ha venido evolucionando para mejorar la calidad de vida para poder afrontar un mundo más diferente como el de hace años

La calidad está mejorando poco a poco mediante van evolucionando las habilidades de la especie humana, como podemos ver en la actualidad; ya que la globalización sobre pasa las fronteras nacionales es así como los consumidores se hacen cada vez más exigentes ante sus necesidades y es donde se tiende a perfeccionar cada cosa para poder satisfacer al consumidor, así como para poder permanecer en la línea de liderazgo empresarial.




5.4. Aseguramiento de la calidad del software(SQA): definición y propósito del SQA,problemas que resuelve el SQA, roles y responsabilidades de los equipos de desarrollo, habilidades y capacidades del personal del SQA, Actividades del SQA.


La función de aseguramiento de la calidad determina si las necesidades de los usuarios están siendo satisfechas adecuadamente.Para determinar si las necesidades de los usuarios están siendo satisfechas, se deben de evaluar tres áreas:

•Objetivos: Los objetivos de cualquier usuario deben de estar en armonía con los objetivos de la organización.
•Métodos: deben de utilizarse métodos que contengan u observen las políticas, procedimientos y estándares de la organización,
•Ejecución: optimización del uso de hardware y software al implementar los productos de software



Roles y responsabilidades SQA en una organización:

“como policía del proceso:asegura que el desarrollo sigue el proceso establecido. Entre sus funciones en este rol se encuentran:

•Auditar los productos del trabajo para identificar deficiencias.

•Determinar el cumplimiento del plan de desarrollo del proyecto y del proceso de desarrollo de software.

•Juzgar el proceso y no el producto.

“como abogado del cliente”: representa al cliente,entre sus funciones en este rol se encuentran:

•Identificar la funcionalidad que al cliente le gustaría encontrar.
•Ayudar a la organización a sensibilizarse con las necesidades del cliente.
•Actuar como un cliente de prueba para obtener una alta satisfacción del cliente.

“como analista” recaba información. entre sus funciones en este rol se encuentran:

•Juntar muchos datos sobre todos los aspectos del producto y del proceso.
•Con esta información ayudar a mejorar los procesos y los productos.

“como proveedor de información” revisa qué es lo que esté hecho y decir cuáles objetivos técnicos realmente están cumplidos para que la gerencia pueda tomar mejores decisiones de negocios. Entre sus funciones en este rol se encuentran:


Proveer información técnica objetiva para que la gerencia pueda usarla para tomar mejores decisiones.
Proveer información apropiada de las clases de productos y de los riesgos asociados con estos.
Concentrarse más en la reducción de los riesgos que en el cumplimiento del proceso.

“como responsable de la elaboración del proceso” participa en la definición de los planes, procesos, estándares y procedimientos para asegurar que se ajustan a las necesidades del proyecto y que pueden ser usados para realizar las evaluaciones de QA y cumplir los requerimientos del proyecto y las políticas de la organización. Para cumplir este rol el aseguramiento de la calidad debería comenzar en las fases tempranas del proyecto.

El equipo de SQA trabaja con la gerencia de proyectos durante los inicios del desarrollo para establecer los planes, estándares y los procedimientos que agregarán valor al proyecto de SW y satisfacer los problemas del proyecto y de las políticas de la organización,participa en establecer los planes, estándares y procedimientos. 

El equipo ayuda a asegurar que se cumplan con las necesidades del proyecto y verifica que sean usables para realizar revisiones e intervenciones durante todo el ciclo de vida.

Las revisiones proyectan las actividades y revisan el producto de trabajo de SW, además de proveer a la gerencia la posibilidad de saber si el proyecto está de acuerdo a los planes estándares y procedimientos establecidos

El grupo encargado de SQA.
¨- trabaja con el equipo del proyecto desde el inicio.
¨-debe ser objetivo e independiente.
¨- ayuda al proyecto, más que controlar sus actividades.

SQA resuelve problemas como:
•Aumentar las posibilidades de éxito del proyecto.
•Funcionalidad.
•Cumplimiento.
•Usuble

Actividades de SQA:
•Establecimiento de un plan de calidad para un proyecto.
• Evaluaciones a realizar
• Auditorías y revisiones a realizar
• Estándares que se pueden aplicar al proyecto
• Procedimientos para información y seguimiento de errores.
• Documentos producidos por el grupo de SQA
• Participación en el desarrollo de la descripción del proceso de software del proyecto.
• Revisión de las actividades de ingeniería del software para verificar su ajuste al proceso de software definido.
• Auditoría de los productos de software designados para verificar el ajuste con los definidos como parte del proceso de software.
• Asegurar que las desviaciones del trabajo y los productos del software se documenten y se manejen de acuerdo con el procedimiento establecido.
• Registrar e informar lo que no se ajuste a los requisitos.
• Retroalimentación al equipo del proyecto


5.5 Derecho informático aplicado al software:piratería y falsificación, autoría y creación,contratos y licencias.

Pirateria del software:

Consiste en la copia o uso ilegal de los programas,es un problema enorme debido a que es muy fácil de hacer.

Los piratas de software renuncian al derecho de recibir actualizaciones y soporte técnico, pero obtienen el uso del programa sin pagar por él. Muchos programas de software comercial, sofware que debe comprarse antes de usarlo


Falsificacion de software:

Aunque nuevos tratados agresivos están obligados a los países a conceder más protección contra la piratería y la falsificación de software, la falsificación es un gran negocio en algunas partes del mundo,más notable en Europa y Asia. en muchos países, los productos de software y otros tipos de propiedad intelectual no disfrutan de las mismas protecciones de derechos de autor o marca registrada como otros tipos de productos.




Auditoria y creacion del software:

Auditar consiste en estudiar los mecanismos de control que están implantados en una empresa u organización, determinando si los mismos son adecuados y cumplen unos determinados objetivos o estrategias, estableciendo los cambios que se deberían realizar para la consecución de los mismos.

Los objetivos de la auditoría informática son:
•El control de la función informática
•El análisis de la eficiencia de los sistemas informáticos
•La verificación del cumplimiento de la normativa en este ámbito
•La revisión de la eficaz gestión de los recursos informáticos.

La auditoría informática sirve para mejorar ciertas características en la empresa como:
¨ Desempeño
¨ Fiabilidad
¨ Eficacia
¨ Rentabilidad
¨ Seguridad Privacidad




Creacion del software:

El proceso de creación de software puede llegar a ser muy complejo, dependiendo de su porte, características y criticidad del mismo.Si se trata de un sencillo programa puede ser realizado por un solo programador (incluso aficionado) fácilmente.

Normalmente se dividen en tres categorías según su tamaño o costo: de pequeño, mediano y gran porte. Existen varias metodologías para estimarlo, una de las más populares es el sistema COCOMO que provee métodos y un software que calcula y provee una estimación de todos los costos de producción en un proyecto software , es necesario realizar complejas tareas, tanto técnicas como de gerencia, una fuerte gestión y análisis diversos.

Contratos y licencias:

El software se rige por licencias de utilización

– En ningún momento un usuario compra un programa o se convierte en propietario de él

– Sólo adquiere su derecho de uso, aunque pague por él.

– Las licencias, son contratos suscritos entre los productores de software y los usuarios.

Tipos de licenciamiento:

Software propietario:

– Software cerrado, donde el dueño controla su

desarrollo y no divulga sus especificaciones.

– Es el producido principalmente por las grandes empresas, tales como Microsoft, Adobe, Corel muchas otras.

– Antes de utilizarlo se debe pagar por su licencia.

– Normalmente se tiene derecho a utilizarlo en una sola computadora, un solo usuario y a realizar una copia de respaldo pero la redistribución o copia para otros propósitos no es permitida.


Software de demostración:
• Comúnmente llamado software demo.
• Son programas que de entrada no son 100% funcionales o dejan de trabajar al cabo de cierto tiempo.
• Suelen conseguirse en los kioscos de periódicos y revistas.
• Similar al software shareware por la forma en que se distribuye, pero es sólo software propietario limitado.

Software de dominio público:

– Es software libre que tiene como particularidad la ausencia de copyright. es decir, software libre sin derechos de autor.

– En este caso los autores “renuncian” a todos los derechos que les puedan corresponder

Software semi-libre:

– Para LA FREE SOFTWARE FOUNDATION es software que posee las libertades del software libre, pero sólo se puede usar para fines sin ánimo de lucro, por lo cual lo cataloga como software no libre.

Software para virtualización:

• Llevar tu software a otro equipo más poderoso, afectaría la licencia
•Microsoft y otras empresas de software propietario lo están flexibilizando
• Nuevo tipo de licenciamiento aun en análisis

Unidad 4:Analisis del proyecto de software

4.1. Modelado: análisis, diseño, documentación.

Analisis:
Pressman establece que la tarea del analisis de requisitos es un proceso de descubrimiento,refinamiento,modelado y especificacion.Se refina en detalle el ambito del software y se crean modelos de los requisitos datos,flujo de informacion y control y del comportamiento operativo.Se realizan soluciones alternativas y se asignan a diferentes elementos del software.

El analisis de requisitos permite al desarrollador o desarrolladores especificar la funcion y el rendimiento del software,indica la interfaz del software con otros elementos del sistema y establece las restricciones que debe cumplir el software.Puede dividirse en cinco areas de esfuerzo que son:
•Reconocimiento del problema
•Evaluacion y sintesis
•Modelado
•Especificacion
•Revision


Diseño:

Es cuando se traducen los requerimientos funcionales y no funcionales en una representacion de software.El diseño es el primer paso en la fase de desarrollo o cualquer producto o sistema de ingenieria.
De acuerdo con Pressman el objetivo del diseño es producir un modelo o representacion de una entidad que va a construir posteriormente.

De acuerdo con McGlaughlin hay tres caracteristicas que sirven como parametros generales para la evaluacion de un buen diseño: 
  • El diseño debe implementar todos los requerimientos explicados obtenidos en la etapa de analisis. 
  • El objetivo debe ser una guia que puedan leer y entender los que construyenel codigo y los prueban y mantienen el software. 
  • El diseño debe proporcionar una idea completa de lo que es el software.

Documentacion:

Se presenta en base a los metodos orientados a objetos propuestos por Martin y Odell.Se utilizan las siguientes tecnicas para documentar los componentes mas relevantes de la herramienta de software: 
  • Diagramas de eventos:Para ilustrar la manera en que el usuario del software interactua con los eventos virtuales. 
  • Diagramas de contexto:Para ubicar el campo de accion que abarca el software. 
  • Tarjetas CRC:Utilizadas para representar todas las clases dentro de un diseño.

4.2. Construcción: codificación, pruebas y evaluación, manual del usuario, manual técnico.

Construccion:

Es la creacion detallada de software operativo. 

Lenguajes de construccion pueden ser varias clases:

De configuracion.
De Toolkits.
De programacion.

Los principios fundamentales de la construccion de software son: 

•Minimizar la complejidad
•Anticipar los cambios
•Pensar en la verificacion posterior
•Aplicar estandares


Coodificacion:

La escritura del codigo fuente es el principal esfuerzo de costruccion de software:
•Aplicar tecnicas para crear codigo fuente comprensible
•Manejar condiciones de error
•Prevenir brechas de seguridad a nivel de codigo
•Uso eficiente de recursos escasos
•Organizar el codigo fuente
•Documentar el codigo

Pruebas:

Frecuentemente realizadas por los mismos que escriben el codigo.El proposito de estas pruebas es reducir el tiempo entre el momento en el que los fallos se insertan en el codigo y el momento en el que son detectados 

Implica la ejecucion del programa permite:

Evaluar la calidad de un producto. 
Mejorarlo identificando defectos y problemas.

El ambito o destino de las pruebas de software pueden variar en tres niveles:

Modulo unico:Pruebas unitarias
Grupo de modulos:Pruebas de integracion
Sistema completo:Pruebas del sistema


Tecnicas de prueba:
Principio basico:Intentar ser lo mas sistematico posible en identificar un conjunto representativo de comportamiento de programa.
Objetivo:romper el programa,encontrar el mayor de fallos posibles.Existen 2 enfoques diferentes:
•Caja negra:Funcional:Se basan en el comportamiento de entrada y salida.
•Caja blanca:Estructural:Informacion del software que a sido diseñada o codificada.

Evaluacion:

Evaluación de Proyectos es un proceso que permite emitir un juicio sobre la conveniencia del proyecto. Este criterio está presente en cada etapa del “Ciclo de proyecto”:
1ª Etapa:Pre-inversión
2ª Etapa:Inversión

Al igual que en las etapas, en cada fase se realiza una evaluación de acuerdo a sus características.

La etapa de Pre-inversión consta de las siguientes fases
1ª Etapa1ª FaseConcepción de la idea
1ª Etapa2ª FasePerfil
1ª Etapa3ª FasePre-factibilidad (Estudio de Alternativas)
1ª Etapa4ª FaseFactibilidad  (Ante- proyecto definitivo)

En la etapa de Inversión también se realiza el proceso de evaluar en cada una de sus fases.

La etapa de Inversión consta de las siguientes fases:
2ª EtapaDiseño definitivo
2ª EtapaMontaje y Operación

Como se puede apreciar, el trabajo de evaluación se encuentra en todo momento, cada etapa tiene su forma de evaluar. En la etapa de Pre-inversión, la evaluación es realizada en las distintas fases, comenzando por la concepción de la idea y terminando en la factibilidad del proyecto. En esta etapa la Evaluación suele ser llamada “Evaluación Ex-Ante”.

En la etapa de Inversión la Evaluación se da tanto en el Diseño definitivo como en el Montaje y Operación del proyecto. En esta etapa la Evaluación suele ser llamada “Evaluación Ex-Post”.

El camino al éxito de nuestros proyectos, solo se conseguirá siendo imparciales a los datos o resultados que otorgue la Evaluación correspondiente, adicionalmente se necesita cambiar algunos paradigmas tradicionales y desarrollar un sistema de control adecuado, de este modo se conseguirá el éxito.

La Evaluación de Proyectos es "un instrumento o herramienta que genera información, permitiendo emitir un juicio sobre la conveniencia y confiabilidad de la estimación preliminar del beneficio que genera el Proyecto en estudio".


 Manual de usuario:

Un manual de usuario se trata de una guía que ayuda a entender el funcionamiento de algo. Es un documento de comunicación técnica que busca brindar asistencia a los sujetos que usan un sistema o servicio.

Elaboración del Manual De Usuario.

Pasos del manual del usuario:

1. Portada: De que se trata el documento y ¿quién lo elaboro?
2. Introducción: Describe el uso del documento (¿para qué sirve?) y ¿de qué habla?
3. Análisis y requerimientos del sistema (¿que se ocupa para poder instalarlo y usarlo?)
3. Explicación del funcionamiento: Debes de poner paso a paso y con pantallas bien explicadas cómo funciona el programa
4. Glosario

Debe ser escrito de tal manera, que cualquier persona pueda entenderlo con la menor dificultad posible.
Es recomendable, detallar todos aquellos pasos que se llevan a cabo para usar el programa.
Especificar los alcances y las limitaciones que tiene el programa.
Un buen punto de partida para un manual de usuario, es hacer de cuenta que las personas que lo van a leer no tienen el más mínimo conocimiento sobre computadores.

Manual Técnico.

Este documento contiene toda la información sobre los recursos utilizados por el proyecto, llevan una descripción muy bien detallada sobre las características físicas y técnicas de cada elemento. Por ejemplo: características de procesadores, velocidad, dimensiones del equipo, garantías, soporte, proveedores y equipo adicional.
Su extensión depende de la cantidad de recursos y equipo utilizado y generalmente se presenta en forma de fichas técnicas en donde se describe en cada una las características de cada recurso.

Elaboración del Manual Técnico.

Un manual técnico es aquel que va dirigido a un público con conocimientos técnicos sobre algún área, mientras que, por ejemplo, un manual de usuario va dirigido a un público más general, el cual no necesariamente debe tener conocimientos específicos en el área de interés.

En este caso el manual técnico, debe incluir:
Paradigma de programación seleccionado y sus beneficios.
Lenguaje de programación seleccionado y sus beneficios frente a otros lenguajes.
Estandarización de código utilizada.
Diseño del sistema.

4.3. Medida, métrica e indicador.

Medida:

Proporciona una indicación cuantitativa de la cantidad, dimensiones o tamaño de algunos atributos de un producto.


Se debe medir el software para:

Indicar la calidad del producto.
Evaluar la productividad del agente que desarrolla el producto.
Evaluar los beneficios en términos de productividad y calidad mediante el uso de nuevos métodos y herramientas de ingeniería de software.
Establecer una línea de base para la estimación.
Ayudar a justificar el uso de nuevas herramientas o de formación adicional.

Las métricas

Son medidas cuantitativas que permiten obtener una visión de la eficacia del proceso de software y los proyectos que se llevan a cabo utilizando ese proceso como marco de trabajo.




Permiten valorar el estado de un proyecto en curso, así como también rastrear los riesgos potenciales y descubrir las aéreas problema antes que se vuelvan “criticas”, también permite ajustar el flujo de trabajo o las tareas y evaluar la habilidad del equipo del proyecto. Las métricas del proyecto se usan con fines tácticos

Indicador:

Son datos esencialmente cuantitativos, que nos permiten darnos cuanta de cómo se encuentran las cosas en relación con algún aspecto de la realidad que nos interesa conocer.
Los Indicadores pueden ser medidas, números, hechos, opiniones o percepciones que señalen condiciones o situaciones específicas.vvv


4.4. Tipos de métricas: métricas de proceso,métricas de proyecto, métricas orientadas a punto de función,
métricas orientadas al tamaño, métricas para la calidad del software.

Metricas de proceso: 

Permiten obtener un conjunto de indicadores de proceso que conduzcan a la mejora de los procesos de software a largo plazo, las cuales se usan con fines estratégicos

Metricas de proyecto:

Permiten valorar el estado de un proyecto en curso, así como también rastrear los riesgos potenciales y descubrir las aéreas problema antes que se vuelvan “criticas”, también permite ajustar el flujo de trabajo o las tareas y evaluar la habilidad del equipo del proyecto. Las métricas del proyecto se usan con fines tácticos

Metricas orientadas a punto de funcion:

Son medidas indirectas del software y del proceso. Se centran en la funcionalidad o utilidad del programa. “Emplean como un valor de normalización una medida de la funcionalidad que entrega la aplicación. La métrica orientada a la función utilizada con mayor amplitud es el punto de función (PF)

Metricas orientadas al tamaño:

Son medidas directas del software y del proceso por el cual se desarrolla. Se obtiene considerando las medidas de productividad y normalizándolas por el tamaño del código, es decir las líneas de código LDC.

Se lista cada proyecto de desarrollo de software de los últimos años y los correspondientes datos orientados al tamaño de cada uno, se basan en a utilización de registros sencillos para las medidas más relevantes al desarrollo de nuestro proyecto.

Metricas para calidad del software:

Existen medidas de la calidad del software como: la corrección, la facilidad de mantenimiento, la integridad y la facilidad de uso ofrecen indicadores utilices para el equipo del proyecto, Gilb[GIL88]sugiere definiciones y mediciones para cada una de ellas:
Corrección: es el grado en que el software desempeña la funcionara la que fue creado y se mide en defectos por KLOC.
Facilidad de Mantenimiento:es la sencillez con que un programa puede corregirse si se encuentra unerror; al adaptarse si su entorno cambia o mejorar si el cliente cambia los requisitos y se mide en forma indirecta en TMC (tiempo medio de cambio).
Integridad: es la habilidad de un sistema para resistir ataques que requiere la definición de amenaza y seguridad y se calcula:
integridad = 1 – (amenaza x (1 - seguridad))



4.5. Implementación y mantenimiento: entrega,retroalimentación del cliente.


Implementacion:Es la actividad durante la cul los desarrolladores traducen el diseño a codigo.

Mantenimiento:Es el proceso de mejora y optimizacion del software asi como tambien correccion de los defectos.

Entrega:Proporciona el conjunto de actividades necesarias para llevar a cabo las entregas software y de documentación asociada a un proyecto, desde la formalización de la entrega hasta la revisión y validación de la misma, con la finalidad de homogeneizar todas las entregas software y facilitar su revisión y tratamiento.

Retroalimentacion del cliente:

El proceso de retroalimentación del cliente es una parte crítica del sistema de gestión de la calidad, y por lo tanto debe recibir una atención adecuada durante una auditoría de tercera parte. La retroalimentación del cliente es uno de los indicadores primarios de desempeño que puede ser utilizado para juzgar la eficacia general del SGC. Por lo tanto, es importante para el auditor verificar que:
a) Las entradas a este proceso incluya datos relevantes, representativos y confiables.
b) Estos datos se analizan eficazmente.
c) La salida de este proceso proporciona información útil para la revisión por la dirección y otros procesos del SGC, para aumentar la satisfacción del cliente y llevar hacia la mejora continua

Bibliografia:
http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CFYQFjAE&url=http%3A%2F%2Fblog.espol.edu.ec%2Fgestioncalidadlsi%2Ffiles%2F2009%2F03%2Findicadores_de_calidad.ppt&ei=dHO2UKreHMXQ2QWTvICQBQ&usg=AFQjCNFt7FJqCeNL0dOqfPhinzSZ3LEU6A&sig2=Xqg50UnyY5TCTaZNrvc5Rw

lunes, 26 de noviembre de 2012

Unidad 3:Planificacion del proyecto de software:

3.1. Aplicación de herramientas para estimación de tiempos y costos de desarrollo de software: GANTT, PERT/CPM, uso de software para la estimación de tiempos y costos.

La planeación efectiva de un proyecto de software depende de la planeación detallada de su avance, anticipando problemas que puedan surgir y preparando con anticipación soluciones tentativas a ellos. Se supondrá que el administrador del proyecto es responsable de la planeación desde la definición de requisitos hasta la entrega del sistema terminado.

Panorama, plan de fases, plan de organización, plan de pruebas, plan de control de modificaciones, plan de documentacion,plan de capacitacion,plan de revisión e informes, plan de instalación y operación, plan de recursos de entregas,indice,plan de mantenimiento.

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

Estas estimaciones se hacen dentro de un marco de tiempo limitado al comienzo de un proyecto de software, y deberían actualizarse regularmente a medida que progresa el proyecto.

Las estimaciones deberían definir los escenario 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.


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 mas caro de la mayoría de los sistemas informáticos. Es una pequeña planeación sobre que es lo que va a ser mi proyecto. Una de las actividades cruciales del proceso de gestión del proyecto del software es la planificación.

Cuando se planifica un proyecto de software ese tiene que obtener estimaciones de esfuerzo humano requerido, de la duración cronológica del proyecto y del costo. Pero en muchos de los casos las estimaciones se hacen valiéndose de la experiencia pasada como única guía. Si un proyecto es bastante similar en tamaño y funciona un proyecto pasado es probable que el nuevo requiera aproximadamente la misma cantidad de esfuerzo, que dure aproximadamente lo mismo que el trabajo anterior. Si el proyecto es distinto entonces puede que las experiencias obtenidas no sean suficientes.


Diagrama de Gantt:

Herramienta gráfica que muestra el tiempo de dedicación previsto para diferentes tareas o actividades a lo largo de un tiempo total determinado,en principio, 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 einterdependencias,para la planificación del desarrollo de proyectos complejos se requiere el uso de técnicas basadas en redes de precedencia como CPM o los grafos PERT.

Estas redes relacionan las actividades de manera que se puede visualizar el camino crítico del proyecto y permiten reflejar una escala de tiempos para facilitar la asignación de recursos y la determinación del presupuesto. El diagrama de Gantt, sin embargo, resulta útil para la relación entre tiempo y carga de trabajo.


Metodo Pert:

Se utiliza en todo método espacial .El método CPM busca el control y la optimización de los costos de operación mediante la planeación adecuada de las actividades componentes del proyecto.Ambos métodos aportaron los elementos administrativos necesarios para formar el método del camino crítico actual, utilizando el control de los tiempos de ejecución y los costos de operación, para buscar que el proyecto total sea ejecutado en el menor tiempo y al menor costo posible.


DIFERENCIAS ENTRE LOS METODOS PERT Y CPM:

La principal diferencia entre los métodos es la manera en que se realizan los estimativos de tiempo.
PERT:

• Probabilístico.
• Considera que la variable de tiempo es una variable desconocida de la cual solo se tienen datos estimativos.
• El tiempo esperado de finalización de un proyecto es la suma de todos los tiempos esperados de las actividades sobre la ruta crítica.
• Suponiendo que las distribuciones de los tiempos de las actividades son independientes, la varianza del proyecto es la suma de las varianzas de las actividades en la ruta crítica.

Considera tres estimativos de tiempos: el más probable, tiempo optimista, tiempo pesimista. CPM:

• Determinantico. Ya que considera que los tiempos de las actividades se conocen y se pueden variar cambiando el nivel de recursos utilizados.
• A medida que el proyecto avanza, estos estimados se utilizan para controlar y monitorear el progreso.

• Si ocurre algún retardo en el proyecto, se hacen esfuerzos por lograr que el proyecto quede de nuevo en programa cambiando la asignación de recursos.

• Considera que las actividades son continuas e interdependientes, siguen un orden cronológico y ofrece parámetros del momento oportuno del inicio de la actividad.

• Considera tiempos normales y acelerados de una determinada actividad, según la cantidad de recursos aplicados en la misma.



Usos:

El campo de acción de este método es muy amplio, dada su gran flexibilidad y adaptabilidad Para obtener los mejores resultados debe aplicarse a los proyectos que posean las siguientes características:

1. Que el proyecto sea único, no repetitivo, en algunas partes o en su totalidad. 

2. Que se deba ejecutar todo el proyecto o parte de el, en un tiempo mínimo, sin variaciones.

3. Que se desee el costo de operación más bajo posible dentro de un tiempo disponible. Dentro del ámbito aplicación, el método se ha estado usando para la planeación y control de diversas actividades 

Ventajas de PERT y CPM:

1. Enseña una disciplina lógica para planificar y organizar un programa detallado de largo alcance.

2. Proporciona una metodología Standard de comunicar los planes del proyecto mediante un cuadro de tiempo, personal, costo.

3. Identifica los segmentos más críticos del plan, en que problemas potenciales puedan perjudicar el cumplimiento del programa propuesto.

4. Ofrece la posibilidad de simular los efectos de las decisiones alternativas o situaciones imprevistas y una oportunidad .

5. Aporta la probabilidad de cumplir exitosamente los plazos propuestos. 

3.2. Ámbito del software: recursos humanos, recursos de software reutilizables, recursos del entorno.

Describe el control y los datos a procesar, la función, el rendimiento, las restricciones, las interfaces y la fiabilidad. Se evalúan las funciones descoritasen la declaración del ámbito, y en algunos casos se refinan para dar mas detalles antes del comienzo de la estimación.

Comprende la estimación de los recursos necesarios para emprender el desarrollo del software. Los recursos de desarrollo son:

Recursos Humanos:

Se debe establecer las habilidades que se necesitan para llevar a cabo el desarrollo del proyecto. Hay que especificar tanto la posición dentro de la organización como la especialidad. El número de personas requerido para un proyecto de software se determina después de hacer una estimación del esfuerzo de desarrollo.
žGestor
žIngeniero de software
žAnalista de sistemas


Recusrsos del software reutilizable;

•Creación y de bloques de construcción de software. Se deben tener encuentra a medida que se avanza con la planificación:

•Componentes ya desarrollados: componentes que ya han sido validados totalmente se pueden utilizar e implementar en el desarrollo del proyecto actual. 

•Componentes ya experimentados: se puede utilizar Especie ficaciones,diseños, código o datos de prueba existentes que ya han sido desarrollados para proyectos anteriores.

•Componentes con experiencia parcial: se puede utilizar especificaciones,diseños, código o datos de prueba existeantes que ya han sido desarrollados para proyectos anteriores y que requieren una modificación sustancial.

•Componentes nuevos: componentes que el equipo de software requiere construir específicamente para el proyecto.


3.3. Análisis y gestión del riesgo: estrategias, identificación, proyección, refinamiento, reducción, supervisión y gestión del riesgo.

Proyeccion:

La estimación del riesgo mide: La probabilidad de que el riesgo sea real. Las consecuencias de los problemas asociados con el riesgo, si ocurriera.Actividades de proyección del riesgo: 

1.Establecer una escala que refleje la probabilidad percibida del riesgo

2.Definir las consecuencias del riesgo

3.Estimar el impacto del riesgo en el proyecto y en el producto

4.Apuntar la exactitud general de la proyección del riesgo de manera que no haya confusiones.

Por medio del uso de la siguiente tabla se facilita una proyección del riesgo.
Riesgos
Categoria
Probabilidad
Imapacto
Mayor mumero de usuarios previstos
TP
30%
3
1.En la columna: Riesgo, se registran todos los riesgos

2.En la columna: Categoría, cada riesgo se categoriza así:


Tamaño del producto (TP)
Ingeniería del Software
Impacto en la organización (IO)
Tipo de cliente (TC)
Proceso de producción (PP)
Entorno de desarrollo (ED)
Tecnología (T)

Experiencia técnica (ET) se pueden utilizar las iniciales que se encuentran entre paréntesis o puede asignar unas específicas.

3.En la columna probabilidad, se registra la probabilidad de aparición de cada riesgo.

4.En la columna impacto, Se valora y se registra el impacto de cada riesgo así:

1.-Catastrófico

2.-Crítico

3.-Marginal

4-Despreciable

Por último la tabla es ordenada por probabilidad y por impacto.

Aquellos riesgos que presentan alta probabilidad y alto impacto pasan al inicio de la tabla y los que presentan baja probabilidad e impacto pasan al final de la tabla. Una vez la tabla ha sido ordenada, el encargado del proyecto debe traza runa línea de corte donde los riesgos que se encuentren por encima de ésta línea se les prestara una mayor atención.

El objetivo es evitar y tratar un riesgo. Desarrolle un plan de reducción del riesgo. Este plan de reducción del riesgo involucra para cada riesgo una serie de pasos y acciones que debe tomar e implementar el equipo de desarrollo del software. 


El plan RSGR

Se puede incluir una estrategia de gestión de riesgo en el plan del proyecto de software o se podrían organizar los pasos de gestión del riesgo en un plan diferente de reducción, supervisión y gestión del riesgo (Plan RSGR). Todos los documentos del plan RSGR se llevan a cabo como parte del análisis de riesgo y son empleados por el jefe del proyecto.

Se expone un esquema del Plan RSGR: 
žI. Introducción
ž1. Alcance y propósito del documento
ž2. Visión general de los riesgos principales
ž3. Responsabilidades. Gestión. Personal técnico
žII. Tabla de riesgo del proyecto.
ž1. Descripción de todos los riesgos por encima de la línea de corte
ž2. Factores que influyen en la probabilidad e impacto
žIII. Reducción, supervisión y gestión del riesgo. Riesgo. Reducción. Estrategia general. Pasos específicos
ž.b. Supervisión
žFactores a supervisar
ž Enfoque de supervisión
žGestión
žPlan de contingencia. Consideraciones especiales.
žIV. Planificación temporal de revisión del Plan RSGRV


Una vez que se ha desarrollado el plan RSGR y el proyecto ha comenzado, empiezan los procedimientos de reducción y supervisión del riesgo.

La reducción del riesgo es una actividad para evitar problemas.
La supervisión del riesgo es una actividad de seguimiento del proyecto centres objetivos principales:
1. Valorar cuando un riesgo previsto ocurre de hecho.
2. Asegurarse de que los procedimientos para evitar el riesgo definidos para el riesgo en cuestión se están aplicando apropiadamente.
3. Recoger información que pueda emplearse en el futuro para analizar
También intentar determinar el "origen" a lo largo de todo el proyecto.