problemas terminológicos del hombre-mes lineas de códigos productividad y lenguajes de...

7
  UNIVERSIDAD TÉCNICA DE MANABÍ FACULTAD DE CIENCIAS INFORMÁTICAS CARRERA DE INGENIERÍA EN SISTEMAS VIII  NEGOCIACIÓN I NFORMÁTIC A Problemas terminológicos del hombre mes líneas de códigos productividad y lenguajes de programación INTEGRANTES:  JORGE ZAMBRANO CEDEÑO  JOSÉ SORNOZA HENRIQUEZ  ALBERTO PEREA VILLAFUERTE  VIVIANA BENAVIDES FLORES DOCENTE: ING. ANDREA KATHERINE ALCÍVAR CEDEÑO OCTUBRE 2014 - FEBRERO 2015

Upload: jzgeorge93

Post on 05-Nov-2015

5 views

Category:

Documents


0 download

DESCRIPTION

Problemas terminológicos del hombre-mes lineas de códigos productividad y lenguajes de programación

TRANSCRIPT

  • UNIVERSIDAD TCNICA DE MANAB

    FACULTAD DE CIENCIAS INFORMTICAS

    CARRERA DE INGENIERA EN SISTEMAS

    VIII A

    NEGOCIACIN INFORMTICA

    Problemas terminolgicos del hombre-mes lneas de cdigos

    productividad y lenguajes de programacin

    INTEGRANTES:

    JORGE ZAMBRANO CEDEO

    JOS SORNOZA HENRIQUEZ

    ALBERTO PEREA VILLAFUERTE

    VIVIANA BENAVIDES FLORES

    DOCENTE:

    ING. ANDREA KATHERINE ALCVAR CEDEO

    OCTUBRE 2014 - FEBRERO 2015

  • UNIVERSIDAD TCNICA DE MANAB

    Visin

    Ser institucin universitaria, lder y referente de la educacin superior en el Ecuador,

    promoviendo la creacin, desarrollo, transmisin y difusin de la ciencia, la tcnica y la

    cultura, con reconocimiento social y proyeccin regional y mundial.

    Misin

    Formar acadmicos, cientficos y profesionales responsables, humanistas, ticos y

    solidarios, comprometidos con los objetivos del desarrollo nacional, que contribuyan a la

    solucin de los problemas del pas como universidad de docencia con investigacin,

    capaces de generar y aplicar nuevos conocimientos, fomentando la promocin y difusin

    de los saberes y las culturas, previstos en la Constitucin de la Repblica del Ecuador.

    FACULTAD DE CIENCIAS INFORMTICAS

    Visin

    Ser una facultad lder que con integridad, transparencia y equidad forme profesionales

    capaces de desarrollar soluciones informticas innovadoras, generadores de

    conocimientos e investigacin permanente.

    Misin

    Formar profesionales investigadores en el campo de las Ciencias Informticas, al servicio

    de la sociedad, que aporten con soluciones innovadoras al desarrollo tecnolgico del pas.

  • El esfuerzo y la medida de la productividad

    Con vistas a tratar la productividad en el proceso de construccin de software de

    aplicacin, independientemente de cules sean las primitivas de salida utilizadas las

    primitivas de entrada intentan a menudo medir el esfuerzo o el coste que representa el

    hecho de construirlo. La productividad se expresa finalmente en una ratio que relaciona

    las primitivas de entrada y de salida.

    Como se explica en otro mdulo, casi siempre el coste se asocia o es proporcional al

    esfuerzo que supone el trabajo, ya que los recursos humanos que intervienen en un

    proyecto informtico son, hoy en da, los ms importantes. Aunque conviene no

    olvidar que pueden darse otros costes para el hardware, el software de desarrollo, etc.,

    a menudo se hace la simplificacin de asociar coste y esfuerzo en un proyecto

    informtico, aunque se expresen en unidades diferentes.

    La medida habitual del coste es, evidentemente, la cantidad de dinero que cuesta producir

    un software determinado; mientras que las medidas habituales del esfuerzo se reducen

    siempre al trabajo que lleva a cabo un profesional en una determinada unidad de tiempo:

    un da (persona- da), un mes (persona-mes) o un ao (persona-ao).

    Los problemas terminolgicos del hombre-mes

    La denominacin hombre-mes se utiliza en libros del todo clsicos, como el de Brooks

    (The Mythical Man-Month), a partir de la experiencia de uno de los primeros grandes

    proyectos informticos de construccin de software: el sistema operativo 360 de IBM en

    los aos sesenta.

    En los proyectos informticos se han utilizado diferentes denominaciones de la unidad de

    esfuerzo, como las siguientes:

    1) En primer lugar, se habl de hombre-mes como la tarea que llevaba a cabo un

    hombre durante un mes de trabajo. sta es la denominacin habitual, que se puede

    encontrar a menudo abreviada con la sigla MM, proveniente de la de- nominacin

    inglesa man-month.

    2) Ms adelante, pareci que la denominacin era claramente sexista y se buscaron

    otros nombres como stos:

    Persona-mes: un mes de trabajo de una persona del equipo con independencia

    del gnero

  • Staff-month: un mes de trabajo de una persona del equipo de proyecto.

    Engineering-month: un mes de trabajo en la actividad de ingeniera del

    software, que incluye, como ya sabemos, el anlisis, el diseo, la

    programacin y las pruebas para producir una determinada aplicacin o un

    sistema de informacin.

    Desgraciadamente, la tradicin se mantiene y es muy habitual or hablar todava de un

    proyecto informtico de, por ejemplo, 50 hombres-mes, trmino que la prctica

    profesional parece haber estabilizado en nuestro entorno. En este texto, hechas estas

    aclaraciones previas, seremos ms bien eclcticos en la denominacin de esta unidad de

    medida del esfuerzo en un proyecto informtico.

    El mito del hombre-mes

    Los problemas que plantea la unidad persona-mes no proceden slo de querer usar un

    lenguaje polticamente correcto. Inconscientemente, una unidad que es el producto de dos

    (nmero de personas y meses) sugiere que debe ser posible intercambiar personas y

    meses. Esto no es cierto, y no saberlo es uno de los errores en los que puede incurrir el

    jefe de un proyecto informtico.

    Por ejemplo, la figura anterior muestra diferentes maneras de imaginar un esfuerzo de 15

    hombres-mes. Este esfuerzo se puede alcanzar tanto con una persona que trabaje durante

    quince meses, como con quince personas que trabajen conjuntamente durante un mes. O,

    tambin, por ejemplo, con tres personas que trabajen durante cinco meses.

  • Matemticamente es cierto y, en los tres casos, el producto es el mismo:

    1 15 15 1 3 5 15.

    Pero en la prctica de la construccin de software este intercambio no es cierto.

    Posiblemente la tercera opcin est ms prxima a la realidad que las otras dos.

    ste es el posible error de interpretacin que quiere ayudar a corregir el artculo ms

    importante de los que Brooks recoge en la obra ya histrica The Mythi- cal Man-Month.

    En determinados trabajos se da una distribucin del esfuerzo a lo largo del tiempo que

    les es, en cierta manera, caracterstica. Esto ocurre en la construccin de software y es

    necesario saberlo.

    Ejemplo de distribucin caracterstica del esfuerzo a lo largo del tiempo

    La distribucin del esfuerzo de construccin de software se puede comparar con la tarea

    de traer a un ser humano al mundo, proceso que, habitualmente, requiere el esfuerzo de

    9 meses- mujer y admite slo una distribucin temporal muy clara: una mujer con un

    embarazo de nueve meses. No se concibe que alguna vez se haya dado a luz a un ser hu-

    mano a partir del esfuerzo conjunto de nueve mujeres durante un mes, o de tres mujeres

    durante tres meses, a pesar de que el producto final parece, matemticamente, el mismo:

    9 1 1 9 3 3 9 meses-mujer.

    Cabe decir que, en este ejemplo tan claro, no se tienen en cuenta excepciones como

    los sietemesinos (7 meses-mujer de esfuerzo), o los gemelos (4,5 meses-mujer de

    esfuerzo). En resumidas cuentas, llegamos a la conclusin de que los meses y los hombres

    (o las mujeres) no son intercambiables.

    En el caso del esfuerzo para construir software, aunque puedan darse pequeas

    desviaciones, tambin se tiene un tipo caracterstico de distribucin del esfuerzo a lo largo

    del tiempo que ya se muestra en otro mdulo.

  • Los lenguajes de programacin

    Un Lenguaje de Programacin es un conjunto de reglas, notaciones, smbolos y/o

    caracteres que permiten a un programador poder expresar el procesamiento de datos y sus

    estructuras en la computadora. Cada lenguaje posee sus propias sintaxis. Tambin se

    puede decir que un programa es un conjunto de rdenes o instrucciones que resuelven un

    problema especfico basado en un Lenguaje de Programacin.

    Existen varias clasificaciones para los lenguajes de programacin.

    Clasificacin de los Lenguajes de Programacin

    Los programadores escriben instrucciones en diversos lenguajes de programacin. La

    computadora puede entender directamente algunos de ellos, pero otros requieren pasos

    de traduccin intermedios. Hoy da se utilizan cientos de lenguajes de computadora. Los

    Lenguajes de Programacin pueden clasificarse de acuerdo con su uso en:

    1) Lenguajes desarrollados para el clculo numrico. Tales como FORTRAN,

    Mathematica y Matlab.

    2) Lenguajes para sistemas. Como C, C++ y ensamblador.

    3) Lenguajes para aplicaciones de Inteligencia Artificial. Tales como Prolog, y Lisp.

    Tambin se pueden clasificar de acuerdo con el tipo de instrucciones de que constan. En

    esta clasificacin se tiene al lenguaje mquina, al lenguaje ensamblador y al lenguaje de

    alto nivel.

    Ejemplo de tipos de lenguajes

    Lenguaje Mquina

    100001010101010 100100101010100 100011100101110

    Lenguaje de Nivel Bajo (Ensamblador)

    LOAD R1, (B)

    LOAD R2, (C)

    ADD R1, R2

    STORE (A), R1

    Lenguajes de Alto Nivel

    A = B + C;

  • Bibliografa

    Barcel Garca, Miquel, (2009). Estimacin de costes de un proyecto

    informtico. Espaa. uoc.edu

    Lenguajes de Programacin. [EN LNEA]. Disponible en:

    www.iqcelaya.itc.mx/~vicente/Programacion/Lenguajes.pdf/ [2015, 28 de junio].