Monografias.com > Ingeniería
Descargar Imprimir Comentar Ver trabajos relacionados

La ingeniería del software




Enviado por Angel Echeverry



    Introducción

    Los continuos y robustos avances en el campo de la
    Informática y Telecomunicaciones, han generado una
    reacción positiva respecto al modo de producir software. El
    aumento en capacidad de procesamiento, la disminución en
    latencias de respuesta a consultas, la disminución de costos
    de hardware, los avances inmensos en comunicaciones, el
    surgimiento de redes globales y servicios puestos en el
    Cloud, así como el acceso a virtualmente todos los
    elementos de uso cotidiano, como son: computadores personales,
    laptops, teléfono celulares, tabletas, eso sin dejar
    atrás electrodomésticos y demás utensilios sobre
    los cuales se pueda poner algo de "inteligencia" han disparado el
    uso de sistemas abiertos y distribuidos.

    Por lo anterior y desde hace varios años, se ha
    venido cambiando la conciencia y necesidad de cambio de
    mentalidad en el diseño y producción de software. Es
    por eso que este ensayo cubrirá los conceptos relevantes que
    nos permitirán entender porque el desarrollo de software es
    mucho más que variables, funciones, ciclos repetitivos,
    etc., ya que desarrollar software es una forma directa de generar
    valor a las personas a través de la organización,
    automatización y reestructuración de los procesos de
    una compañía.

    Este ensayo deberá dar respuesta a preguntas como
    ¿Qué es la ingeniería del software?,
    ¿Cuál es la mejor forma para gestionar un proyecto?,
    ¿Qué metodología se puede aplicar en el
    desarrollo?

    La ingeniería del
    software

    Muchas personas asocian el término software
    únicamente a los programas de computador, sin embargo
    sería bueno entregar al entendimiento colectivo una
    definición más precisa, más amplia en donde el
    software no solo son programas, sino también los documentos
    asociados y la configuración de datos que se requiera para
    hacer que estos programas funciones correcta y
    efectivamente.

    Partiendo de esta premisa, la Ingeniería de
    Software es una disciplina de la ingeniería que comprende la
    totalidad de los aspectos de producción de software. De
    ahí la diferencia entre ingeniería del software y
    ciencia de la computación, donde ésta la última
    comprende la teoría y fundamentos, mientras que la primera
    comprende las maneras prácticas para desarrollar y entrega
    un software útil y de calidad.

    El sentido común no falla, la
    ingeniería la aplican los ingenieros y, los ingenieros son
    aquellos quienes hacen uso de la inteligencia para buscar
    soluciones a un problema presente, sin ser cualquier tipo de
    soluciones, sino soluciones que generen valor a lo que se hace y
    como se hace.

    Lamentablemente no siempre se cuenta con los recursos
    necesarios para llegar a las soluciones planteadas, es por eso
    que de esta manera, se valora el ingenio del
    ingeniero.

    La ingeniería del software gira en torno al modelo
    de desarrollo general de la siguiente figura en donde se inicia
    con el planteamiento de un problema, seguido de un diseño,
    una implementación, una operación y finalmente una
    evaluación apoyados sobre unos objetivos claros como lo
    son:

    • Mejorar calidad del producto, fácil
      mantenimiento y entrega en plazo acordado

    • Elevar nivel de productividad en la ejecución
      del trabajo de los ingenieros del software

    • Proporcionar elementos que faciliten el desarrollo
      del software

    • Entregar pautas y/o patrones que permitan un
      desarrollo eficiente y de calidad

    Monografias.com

    Figura 1 –
    [1]Modelo Ingeniería del
    Software

    Proceso de la ingeniería de software de acuerdo a
    [2]Roger Pressman, define el proceso de
    la ingeniería del software como "la unión que
    mantiene unidas las capas de tecnología y que permiten un
    desarrollo racional y oportuno de la ingeniería del
    software".

    Los métodos de la ingeniería del software
    indican claramente cómo construir de modo técnico. Los
    métodos cubren una gama de tareas que incluyen el
    análisis de requisitos o planeación, diseño,
    construcción de programas, pruebas y mantenimiento o
    soporte.

    Las herramientas de la ingeniería del software
    proporcionan un soporte automático y semiautomático.
    Cuando se integran dichas herramientas, para que la
    información creada por una herramienta pueda ser utilizada
    por otra herramienta, se establece un sistema de soporte
    denominado Ingeniería asistida por computadora
    (Computer-aided Software Engineering CASE) el cual
    combina, software, hardware y una base de datos utilizados para
    generar un entorno de Ingeniería del software que sea
    análogo a CAD/CAE (computer-aided
    design-engineering).

    De acuerdo a lo anterior, el producto obtenido de la
    Ingeniería del Software consiste en los programas de calidad
    desarrollados, la documentación asociada y un proceso final
    de evaluación estabilización y soporte
    efectivo.

    Gestión de poyectos de
    software

    La gestión de proyectos de software es una parte
    esencial en la Ingeniería del Software y, aunque no puede
    garantizar el éxito del proyecto, una mala gestión
    usualmente lleva a su fracaso, entregando el software tarde, con
    sobre costos y muchas veces los requerimientos no son cubiertos
    totalmente.

    Los gestores de Software pueden hacer un trabajo similar
    al de los gestores de otro tipo de proyecto, sin embargo, la
    Ingeniería del Software es diferente en muchos aspectos,
    algunos de ellos están relacionados en que es un intangible,
    no existe un proceso estándar en su desarrollo y por lo
    general el producto debe ser hecho a la medida del cliente. De
    ahí la importancia de su gestión.

    Etapas

    Planificación

    Determinación de un curso de acciones
    para alcanzar los objetivos organizacionales. La
    planificación es la definición de qué se va a
    hacer, hasta donde se pretende o se puede llegar y cómo se
    logrará.

    Organización

    Discusión y establecimiento de las
    relaciones entre unidades de trabajo para el cumplimiento de
    objetivos previo otorgamiento de responsabilidades y autoridad
    para alcanzar los objetivos.

    Staffing

    Selección de entrenamiento y
    certificaciones necesarias para los cargos dentro de la
    organización.

    Dirección

    Creación de una atmósfera de
    apoyo y motivación al equipo involucrado para alcanzar los
    resultados deseados.

    Control

    Establecimiento, evaluación y
    medición del desempeño en la ejecución de las
    actividades a través de los objetivos planteados
    [3]VARAS, 1998).

    Actividades Derivadas

    Las siguientes actividades son derivadas del que hacer
    en las etapas mencionadas anteriormente y se detallan a
    continuación:

    Planificación:

    • Fijar objetivos y metas.

    • Desarrollar las estrategias
      necesarias.

    • Desarrollar las políticas
      definidas.

    • Anticipar a situaciones
      futuras.

    • Conducir establecimiento de
      riesgos.

    • Determinar los posibles cursos de
      acción.

    • Tomar las decisiones de
      planificación respectivas.

    • Fijar los procedimientos y las
      reglas.

    • Desarrollar planes del
      proyecto.

    • Preparar los presupuestos.

    • Documentar los planes establecidos.

    Organización:

    • Identificar y agrupar funciones,
      actividades y tareas del proyecto

    • Seleccionar las estructuras
      organizacionales.

    • Crear las posiciones
      organizacionales.

    • Definir las responsabilidades y
      autoridades.

    • Establecer perfiles para cada
      rol.

    • Documentar todas las decisiones
      organizacionales.

    Staff:

    • Completar los roles dentro de la
      organización

    • Asimilar al personal
      asignado

    • Entrenar y certificar si es posible al
      personal

    • Evaluar, valorar y motivar al
      personal

    • Compensar los esfuerzos
      realizados

    Dirección:

    • Proveer un liderazgo
      asertivo.

    • Supervisar el personal.

    • Delegar autoridad.

    • Motivar al personal.

    • Construir equipos
      interdisciplinarios.

    • Coordinar todas actividades
      derivadas.

    • Facilitar la
      comunicación.

    • Resolver los conflictos que se
      presenten.

    • Manejar y documentar los
      cambios.

    • Documentar decisiones de
      dirección

    Control:

    • Desarrollar los estándares de
      desempeño.

    • Establecer los sistemas de monitoreo y
      reportes.

    • Medir y analizar resultados.

    • Iniciar acciones correctivas

    • Recompensar y disciplinar al
      personal.

    • Documentar los métodos de control
      (VARAS, M.1998)

    Proceso de Software

    La mejor forma de entender un proceso de software es
    conociendo los custro pilares que sostienen la mesa; las
    personas, el producto, el proceso y el proyecto. Gestor que se
    olvide que el trabajo de ingeniería de software es un
    esfuerzo humano intenso, no tendrá éxito en su
    gestión. El factor humano es tan importante que el Instituto
    de Ingeniería de Software ha desarrollado un modelo de
    madurez de la Capacidad de Gestión de Personal con el objeto
    de atraer, motivar, desplegar, aumentar y retener el talento
    necesario para llevar a cabo proyectos de gran
    envergadura.

    Para la gestión exitosa de un proyecto de software,
    es necesario comprender y establecer los contras que puedan
    presentarse en su desarrollo, preguntándose ¿Qué
    puede salir mal? y ¿Cómo hacerlo de la forma correcta?.
    Para determinarlo existen 10 señales que indican si un
    proyecto está en peligro:

    • Los desarrolladores no comprenden las
      necesidades y requerimientos del cliente

    • El ámbito del producto no se
      encuentra definido adecuadamente

    • Los cambios se encuentran mal
      realizados

    • Cambio en la tecnología
      utilizada

    • Las necesidades del negocio están
      mal definidas o cambian

    • Las fechas de entrega no son
      realísticas

    • Los usuarios no colaboran en la
      implantación, se resisten

    • Se pierden los
      [4]sponsors o nunca se obtuvieron de la forma
      adecuada

    • Los gestores y desarrolladores evitan
      las Best Practices[5]y sabias
      lecciones (REEL, 1999).

    Métricas

    Algo medible es algo controlable, por esto es imperativo
    y fundamental en la ingeniería de software. La medición
    permite realizar un seguimiento a aquello que está en
    desarrollo, para este caso, el software. William Thomson dijo en
    alguna ocasión:

    "Cuando pueda medir lo que está diciendo y
    expresarlo con números ya conoce algo sobre ello; cuando no
    pueda medir, cuando no pueda expresar lo que dice con
    números, su conocimiento es precario y deficiente: puede ser
    el comienzo del conocimiento, pero en sus pensamientos, apenas
    está avanzando hacia el escenario de la
    ciencia".

    Las métricas de software comprenden un gran
    compendio de mediciones para el software de un computador. La
    medición puede aplicarse al proceso per-ce como al intento
    de mejorar una línea base continua. Se puede implementar en
    el proyecto para ayudar en la estimación, control de
    calidad, evaluación de productividad y control del
    proyecto.

    Finalmente se hace alusión a 4 razones
    para medir los procesos del software, productos y
    recursos:

    • Caracterizar, para tener una mejor
      comprensión de los procesos

    • Evaluar, para determinar el estado con
      respecto al diseño

    • Predecir, para poder
      planificar

    • Mejorar, al medir cuando se recoge la
      información ayudando a identificar obstáculos,
      ineficiencias y problemas de raíz.

    Metodologías de desarrollo de
    software

    La crisis de software de los años 60´s
    generada por los cambios que sufrió en esa época con su
    contraparte el Hardware motivó la introducción de la
    ingeniería del Software. Por lo anterior, se han generado
    métodos que han llevado a la modificación del
    pensamiento de diseñadores y programadores en búsqueda
    de mejorar las fallas existentes en el proceso de creación
    de software debido a la ineficacia de los modelos
    precedentes.

    Un proceso de software es un conjunto de pasos o
    actividades producidas como resultado de la producción de
    software. Las salidas registradas pueden buscar la
    construcción de un lenguaje de alto nivel, desarrollar
    algún otro desde cero o modificar ampliando uno existente,
    configurando o integrando módulos para agregar nuevas
    funcionalidades a un sistema ya existente.

    El proceso de trabajo define un marco de trabajo para un
    conjunto de Áreas Claves de Proceso (ACPs) que se establecen
    para la entrega efectiva de la tecnología de la
    ingeniería del software. Las áreas de importancia de
    proceso, conforman la base de control de gestión de
    proyectos y establecen el contexto sobre el cual se aplican los
    métodos técnicos, se obtienen productos del trabajo, se
    establecen hitos, se asegura la calidad y el cambio se gestiona
    correctamente. [6]PAULK, 1993).

    Los métodos de la ingeniería del software
    indican claramente el cómo construir técnicamente el
    software. Estos métodos abarcan una amplia gama de tareas
    que incluyen análisis de requisitos, diseño,
    construcción de programas, pruebas y
    mantenimiento.

    Aunque existen muchos diferentes de software,
    actividades fundamentales comunes al proceso de métodos
    son:

    • 1. Especificación del Software: Se define
      funcionalidad y restricciones de su
      operación.

    • 2. Diseño e implementación del
      software: Se debe procurar cumplir con las
      especificaciones

    • 3. Validación del software: Se debe
      validar que el software cumpla con la funcionalidad y haga lo
      que el cliente necesite.

    • 4. Evolución del software:
      [7]El software debe escribirse de tal
      manera que evolucione con las necesidades cambiantes del
      cliente."

    Lo anterior propone un modelo lineal secuencial o modelo
    en cascada, el cual sugiere un enfoque sistemático y
    secuencial que inicia con un nivel de sistemas y progresa con el
    análisis, diseño, desarrollo, pruebas y
    mantenimiento.

    Después de años de trabajo cometiendo errores
    y de muchos cliente insatisfechos, se llega a la conclusión
    de que es necesaria una interacción con el cliente, dando
    origen a métodos de desarrollo evolutivos como lo es el
    modelo de construcción de prototipos, en donde ya
    visto que el cliente define un conjunto de requisitos generales
    para el software, sin identificar correctamente requerimientos
    detallados de entrada, proceso o salida, causando que los
    algoritmos no sean lo suficientemente eficientes por su capacidad
    de adaptación a un sistema operativo, o de la forma en que
    debería tomarse la interacción hombre máquina. Es
    por eso que es perentorio [8]iniciar la
    recolección de requisitos donde el desarrollador y el
    cliente encuentran y definen los objetivos globales para el
    software, identifican los requisitos conocidos y las áreas
    del esquema en donde es obligatoria más definición.
    Continua con una fase de desarrollo de prototipo, diseño que
    debe centrarse en esos aspectos definidos que serán visibles
    al cliente/usuario. Luego entrará a una fase de
    evaluación cliente/usuario que será útil para
    afinar requisitos, repitiendo las faces hasta garantizar una
    afinación que cumpla con los requerimientos del
    cliente
    ".

    El siguiente paso en la evolución del desarrollo
    del software es la reutilización del código, para la
    cual se propuso el modelo de desarrollo basado en
    componentes
    naciendo el paradigma de la programación
    orientada a objetos.

    Ingeniería del software
    orientada a objetos

    La Orientación a Objetos es una forma diferente de
    pensar en el momento de desarrollar software, es un paradigma
    para crear programa abstrayendo el mundo real utilizando objetos
    y clases de objetos, en donde se trata de hacer de manera similar
    al pensamiento humano.

    El desarrollo de tecnologías orientadas a objetos
    se convirtieron en la década de los noventas en motor clave
    de la industria del software. No obstante, la tecnología de
    objetos no es algo nuevo como algunos pregonan, por el contrario,
    es una tecnología madura que se remonta a los años
    sesenta [9]JOYANES, 1998) en Europa.

    Monografias.com

    Figura 2 –
    [10]Desarrollo Orientado a Objetos

    La orientación a objetos se basa en la idea de
    programación modular, dividiendo el código en partes
    más simples, facilitando la reutilización del mismo ya
    que al entender un sistema pensado en objetos, se pueden extraer
    partes del mismo para ser implantadas en otro sin ser
    necesariamente similar.

    Los ochentas marcaron la era del lanzamiento de los
    lenguajes orientados a objetos como lo son Objective C, Common
    Lisp Object System (CIOS), Object Pascal, Ada, entre otros
    volcando la atención de los desarrolladores en torno a ese
    paradigma.

    Los noventas fueron los años dorados de la
    Orientación a Objetos, Sun Microsystems lanza un nuevo
    desarrollo llamado JAVA, el cual toma lo mejor de C++ compilando
    un nuevo lenguaje aprovechando el software existente facilitando
    la adaptación del mismo a usus diferentes sin tener que
    cambiar el código existente.

    La programación orientada a objetos expresa un
    programa como un conjunto de objetos que colaboran entre ellos
    para la realización de tareas. Muy distinto a los lenguajes
    de programación tradicionales procedurales en donde los
    datos y procedimientos están separados sin relación
    alguna.

    Análisis Orientado a Objetos

    El análisis orientado a objetos
    involucra el desarrollo de un modelo orientado a objetos del
    dominio de la aplicación. [11]Los Objetos
    identificados son el reflejo de las entidades y operaciones
    asociadas con el problema que se debe resolver".

    La programación orientada a objetos se
    diferencia de la programación estructurada y de la
    clasificación modular por las siguientes
    características básicas:

    • Abstracción: Cada objeto en el sistema puede
      usarse como "agente" abstracto que puede realizar un trabajo,
      cambiar su estado, informar y comunicarse con otros objetos
      sin revelar como se implementan estas
      características.

    • Encapsulamiento: Asegura que los objetos no
      están en capacidad de cambiar el estado interno de otros
      objetos de forma inesperada, únicamente los propios
      métodos internos del objeto pueden acceder a su
      estado.

    • Poliformismo: Las colecciones y referencias de
      objetos pueden contener objetos de diferentes tipos y la
      invocación de un comportamiento en una referencia
      producirá el comportamiento correcto para el tipo real
      de objeto referenciado.

    • Herencia: Organiza y facilita el poliformismo y
      encapsulación permitiendo a dichos objetos definirse y
      crearse como tipos especiales de objetos
      preexistentes.

    Los objetos son componentes potencialmente reutilizables
    ya que son encapsulamientos independientes de las operaciones y
    del estado.

    Diseño Orientado a Objetos

    La esencia del diseño de software es la toma de
    decisiones sobre cómo se debe organizar lógicamente el
    software. Este es un proceso creativo en donde cada autor lo hace
    de forma particular.

    En ingeniería del software existe un concepto
    fundamental y es el de "Diseño Arquitectónico". Ya que
    como los sistemas se dividen en pequeños subsistemas que
    proporcionan una serie de salidas al sistema general, el
    diseño arquitectónico es el proceso de diseño
    básico que los representa, la forma de comunicación y
    los mecanismos de control que existen entre ellos; a este
    resultado se le denomina arquitectura del software.

    "La arquitectura del sistema afecta directamente la
    solidez, rendimiento y su mantenibilidad".
    El estilo y
    estructura elegidos en el desarrollo de una aplicación puede
    depender de los requerimientos funcionales del
    sistema:

    • Rendimiento: si este es un requerimiento
      crítico, la arquitectura debará basarse en la
      identificación de operaciones críticas en un
      pequeño número de subsistemas con tan poca
      comunicación como se pueda entre estos
      subsistemas.

    • Protección: si este es un requerimiento
      crítico, se debe hacer uso de una arquitectura
      estructurada en capas con los recursos más críticos
      protegidos en las capas más internas debiendo aplicarse
      una validación de seguridad de alto nivel.

    • Seguridad: si este es un requerimiento crítico,
      la arquitectura deberá desarrollarse para que las
      operaciones relacionadas con la seguridad se localicen en un
      único subsistema o un pequeño número de ellos.
      Lo anterior con el objeto de reducir costos y los problemas
      de validación de seguridad.

    • Disponibilidad: si este es un requerimiento
      crítico, la arquitectura deberá enfocarse para
      incluir componentes sin detener el sistema.

    • Mantenibilidad: si este es un requerimiento
      crítico, la arquitectura del sistema deberá
      pensarse en utilizar componentes independientes evitando las
      estructuras de datos compartidas.

    "Obviamente hay presente un conflicto potencial entre
    estas arquitecturas, si existen dos o más requerimientos
    compartidos, deberá encontrarse una solución
    intermedia".

    Como se mencionó anteriormente, existe diferentes
    métodos y arquitecturas de diseño orientado a objeto
    sin que haya uno mejor que otro. Por lo anterior, en siguiente es
    un proceso general de actividades comunes a muchos
    procesos:

    • Comprender y definir el contexto y los métodos
      de utilización del sistema: Permite comprender la
      relación directa entre el diseño del software y el
      entorno externo.

    • Diseñar la arquitectura del sistema: Aplicar
      todos los principios de diseño arquitectónico para
      representar la interacción entre el software y su
      entorno.

    • Identificar los objetos principales en el sistema:
      Identificar los objetos y sus clases.

    • Desarrollar los modelos de diseño: Muestra los
      objetos y clases y los tipos de relación entre estas
      entidades.

    • Especificar la interfaces de los objetos: Es
      imperativo identificar las interfaces con el propósito
      de que los objetos se puedan diseñar en
      paralelo.

    Conclusiones

    Los cambios radicales en hardware a partir de la
    última mitad del siglo anterior causaron una forzada
    evolución del software, lo cual ha generado el
    establecimiento de modelos, estándares y redefinición
    de conceptos que ratifican un establecimiento cada vez más
    fuerte de la Ingeniería del Software a nivel
    mundial.

    La gestión de proyectos de desarrollo de software
    es motor esencial para el éxito de cualquier proyecto de
    este tipo. La gestión debe fraccionarse en las etapas
    definidas claramente, manteniendo en cuenta los 4 requisitos
    indispensables: las personas, el producto, el proceso y el
    proyecto.

    La programación orientada a objetos es una
    extensión actual de la tecnología que si bien ha
    evolucionado desde mediados del siglo pasado, presenta hoy
    día un enfoque nuevo y distinto al tradicional.

    El diseño de la arquitectura es parte fundamental
    de los principios de la Ingeniería del Software y es
    único en el sentido de que se organiza en función de
    los objetos y clases que se definirán. De hecho,
    probablemente la parte más difícil del desarrollo de
    software orientado a objetos es la identificación de clases
    necesarias y la forma como interactúan entre
    sí.

    Teniendo en cuenta los principios de Ingeniería del
    Software resumidos en este ensayo, profundizando en cada uno de
    ellos y llevando un trabajo juicioso y concienzudo,
    garantizará el éxito en cualquier proyecto de
    construcción de software y, porque no? en proyectos de otro
    tipo.

    Bibliografía

    • SOMMERVILLE, Ian. Ingeniería del Software,
      Séptima Edición. Traducción, María Isabel
      Alfonso Galipienso – Antonio Botía Martínez.
      PEARSON EDUCATION S.A., Madrid, 2005.
    • VARAS, M. (1998). Gestión de
      Proyectos de Desarrollo de Software. Universidad
      de Concepción. Santiago de Chile.
    • PRESSMAN, R. (1998). IIngeniería
      del Software: Un enfoque práctico, cuarta
      edición, Mc-Graw Hill, Madrid
    • CAMPDERRICH, Benet. (2003). Ingeniería del
      Software, Universidad Oberta de Cataluña,
      Barcelona.
    • BAETJER, H. (1998). Software as Capital,
      IEEE Computer Society Press, 1998.
    • BOEHM, B. W. (1984). Software
      Engineering, IEEE Transactions on Computers, C-25,
      núm. 12.
    • DE LA ROSA, F. (2004). Gestión de
      Proyectos de Software Mediante Mapas Conceptuales,
      Universidad de Sevilla, Sevilla.

     

     

     

    Autor:

    Angel Alberto Echeverry
    Castano

    Octubre 08 de 2014Bogotá D.C.,
    Colombia

    ATLANTIC INTERNATIONAL
    UNIVERSITY

    [1] Modelo Ingeniería del Software –
    Desarrollo de Software

    [2] Roger Pressman: Ingeniero de sistemas y
    consultor de Ingeniería del Software en R.S. Pressman
    & Associates, Inc.

    [3] Gestores de Software: Gerente de
    Proyectos con especialidad en Ingeniería del Software

    [4] VARAS, Marcela. Ingeniero Civil
    Informático Magister en Ciencias de la
    Computación – Universidad de
    Concepción

    [5] Staff: personal involucrado en el
    proyecto

    [6] Sponsors: Patrocinadores del proyecto

    [7] Best Practices: Mejores prácticas
    definidas por entidad, ente regulador o fabricante

    [8] William Thomson, primer barón
    Kelvin, Irlanda, 26 de
    junio de 1824 - Largs, Ayrshire,Escocia, 17
    de diciembre de 1907, físico y
    matemático británico

    [9] PAULK: Dr. Mark C. Paulk, fué Senior
    Systems Scientist en el Institute for Software
    Research in the School of Computer Science en Carnegie
    Mellon University

    [10] SOMMERVILLE, 2005

    [11] PRESSMAN, 1998

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter