lunes, 27 de septiembre de 2010

ESTIMACIÓN DE COSTOS

Todo proyecto de ingeniería de software debe partir con un buen plan, pero lamentablemente, la planificación es una tarea nada trivial. Uno de los aspectos que dificultan la labor de administradores y jefes de proyecto en torno a la planificación es la difícil tarea de realizar una estimación de costos y plazos realista.
La estimación es más arte que ciencia; también es parte de la etapa de la planificación y algunas actividades de la ingeniería. La diferencia en la estimación de costos entre ingeniería de software y otras disciplinas es que en ingeniería de software lo principal para las personas es el costo; y en otras disciplinas el costo de las cosas materiales depende de la actividad.

-MÉTRICAS PARA LA PRODUCTIVIDAD Y CALIDAD DEL SOFTWARE.

La medición es esencial para cualquier disciplina de ingeniería y la ingeniería de software no es una excepción.
Las métricas de software se refieren aun amplio rango de medidas para el software de computadoras dentro del contexto de la planificación del proyecto de software, las métricas de calidad pueden ser aplicadas a organizaciones, procesos y productos los cuales directamente afectan a la estimación de costos.

-ESTIMACION DEL PROYECTO DE SOFTWARE.

Para realizar estimaciones seguras de coste y esfuerzo surge un numero de posible de opciones como:
Retrasar la estimación mas adelante en el proyecto (obviamente se puede hacer una estimación cien por ciento fiable después de completar el proyecto)
Utilizar "técnicas de descomposición " relativamente simples para generar las estimaciones del proyecto de software (por ej. Estimación LDC y PF)

-MODELOS DE ESTIMACIÓN EMPÍRICA.

Un modelo de estimación para el software por computadora utiliza formulas derivadas empíricamente para predecir los datos.
Los datos empíricos que soportan la mayoría de los modelos se obtienen de una muestra limitada de proyectos. Tomando en cuenta los recursos se tienen los modelos recursos y consisten en una o más ecuaciones obtenidas empíricamente que predicen el esfuerzo (personas-mes), la duración del proyecto (meses cronológicos) o otros datos pertinentes al proyecto. Según Basili describe cuatro modelos de recurso:
modelos simple-variable estáticos (ej. COCOMO), modelos multi-variables estáticos, modelos multi-dinámicos variables y modelos teóricos.

MODELO COCOMO

Es una moderna alternativa para el tradicional modelo cascada de el desarrollo de procesos de software.
El modelo de desarrollo Incremental COCOMO permite una variedad de desarrollo de procesos. En vez de modelar el software como a esfuerzo simple para obtener un producto simple; el modelo incremental COCOMO permite desarrollar una serie de proyectos de software concurrente y producir un producto intermedio.
Esta estrategia reduce risk y permite entregar un producto inicial más fácilmente al cliente.
También existen algunas derivaciones de COCOMO como ser:
  • Cocots, (Constructive Cost)
  • Cossemo, (Constructive Staged Schedule & Effort Model).
  • Copromo, (Constructive Productivity Improvement Model).
  • Coqualmo
  • Coradmo
      

    domingo, 19 de septiembre de 2010

    DIAGRAMA PERT-CPM

    Una ruta crítica es la secuencia de los elementos terminales de la red de proyectos con la mayor duración entre ellos, determinando el tiempo más corto en el que es posible completar el proyecto. La duración de la ruta crítica determina la duración del proyecto entero. Cualquier retraso en un elemento de la ruta crítica afecta a la fecha de término planeada del proyecto, y se dice que no hay holgura en la ruta crítica.

    Un proyecto puede tener varias rutas críticas paralelas. Una ruta paralela adicional a través de la red con las duraciones totales menos cortas que la ruta crítica es llamada una sub-ruta crítica.
    Originalmente, el método de la ruta crítica consideró solamente dependencias entre los elementos terminales. 





    El método PERT y CPM tiene muchas aplicaciones que oscilan desde le planeación y control de proyectos, construcción de puentes edificios, desarrollos industriales, instalación de equipos electrónicos, grandes operaciones comerciales etc.; sin embargo lo diversificado de la aplicación del PERT y CPM ha mostrado la calidad en todos estos campos, dándoles información inmediata al ámbito correspondiente para la toma de decisión de la forma de acción mas conveniente.

    Ruta Crítica.

    El método de ruta crítica es un proceso administrativo (planeación, organización, dirección y control) de todas y cada una de las actividades componentes de un proyecto que debe desarrollarse drante un tiempo crítico y al costo óptimo.
    La aplicación potencial del método de la ruta crítica, debido a su gran flexibilidad y adaptación, abarca desde los estudios inciales para un proyecto determinado, hasta la planeación y operación de sus instalaciones.

    A esto se puede añadir una lista indeterminable de posibles aplicaciones de tipo específico. Así, podemos afirmar que el método de la ruta crítica es aplicable y útil en cualquier situación en la que se tenga que llevar a cabo una serie de actividades relacionadas entre sí para alcanzar un objetivo determinado.

    METODOLOGIA.

    El método de la ruta crítica consta básicamente de dos ciclos:


    1. Planeación y programación
    2. Ejecución y Control
    El primer ciclo termina hasta que todas las personas directoras o responsables de los diversos procesos que intervienen en el proyecto están plenamente de acuerdo con el desarrollo, tiempos, costos, elementos utilizados, coordinación, etc., tomando como base la red de camino crítico diseñada al efecto.

    Holgura

    Para poder tomar decisiones efectivas y rápidas durante la ejecución del proyecto es necesario tener a la mano los datos de las probabilidades de retraso o adelanto de trabajo de cada una de las actividades, o sea la elasticidad de las mismas. Examinemos primero el procedimiento para calcular las holguras que nos proporciona la posibilidad de retrasar una actividad sin consecuencias para otros trabajos
    Se llama holgura a la libertad que tiene una actividad para alargar su tiempo de ejecución sin perjudicar otras actividades o el proyecto total. Se distinguen tres clases de holguras:


    a) Holgura total; no afecta la terminación del proyecto;


    b) Holgura libre; no modifica la terminación del proceso; y


    c) Holgura independiente; no afecta la terminación de actividades anteriores ni la iniciación de actividades posteriores.

    jueves, 9 de septiembre de 2010

    herramientas tic

    teamlab

     

    teamlab esta es  una plataforma de código abierto gratuita para la colaboración de negocios y gestión de proyectos. Cree su propio portal corporativo en la nube.

    wikispace
     
     
    Es un sitio web colaborativo que puede ser editado por varios usuarios. Los usuarios de una wiki pueden así crear, editar, borrar o modificar el contenido de una página web, de una forma interactiva, fácil y rápida; dichas facilidades hacen de una wiki una herramienta efectiva para la escritura colaborativa.

    El ejemplo mas importante de WIKI es la wikipedia. Lugar web donde cada persona puede aportar una información sobre un tema en concreto de manera gratuita y con la posibilidad de volver a editarlo si tiene algun defecto.


    domingo, 5 de septiembre de 2010

    El producto


    En base al libro "Ingeniería del software, un enfoque práctico, v Edición  de Roger S. Pressman",el producto desde el punto de vista de un ingeniero de software, el producto obtenido son los programas, documentos y los datos que configuran el software de computadora, pero desde un punto de vista de un usuario el producto es la información resultate que hace de algún modo la vida menos difícil.
    En pocas palabras desde mi punto de vista como estudiante de  tecnología en sistema ,el producto no es mas que resultado final de todas aquellas fases que interviene en el mismo como son; levantamiento de la información,análisis y diseño entre otras, para ó con el objetivo de solucionar un problema determinado.

    El proceso


    El proceso se define como "un conjunto de etapas parcialmente ordenadas con la intención de logra un objetivo, en este caso, la obtención de un producto de software de calidad".
    El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo". Concretamente "define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un cierto objetivo".
    El proceso de desarrollo de software requiere por un lado un conjunto de conceptos, una metodología y un lenguaje propio. A este proceso también se le llama el ciclo de vida del software que comprende cuatro grandes fases: concepción, elaboración, construcción y transición.
    La concepción define le alcance del proyecto y desarrolla un caso de negocio. La elaboración define un plan del proyecto, especifica las características y fundamenta la arquitectura. La construcción crea el producto y la transición transfiere el producto a los usuarios.

    Sistemas de Información.



    Para comenzar debemos saber que es sistema, este es un conjunto de elementos que se relacionados  entre si para llegar a un fin o cumplir con una tarea especifica. Por este caso entendemos es un conjunto de elementos orientados al tratamiento y administración de datos e información, organizados y listos para su posterior uso, generados para cubrir una necesidad (objetivo).
    Todos estos elementos interactúan entre sí para procesar los datos (incluyendo procesos manuales y automáticos) dando lugar a información más elaborada y distribuyéndola de la manera más adecuada posible en una determinada organización en función de sus objetivos

    Ingenieria de software



    Para comenzar una breve introducción, de lo que es ingeniería de software esta, es la disciplina que nos provee de métodos y herramientas para la construcción de software con calidad,esta a su ves trata con áreas muy diversas de la computación,tales como la construcción de compiladores ,sistemas operativos ,abordando todas la fases de un ciclo de vida del desarrollo de cualquier tipo de sistema de información.