viernes, 8 de julio de 2016

INGENIERÍA DE SOFTWARE






¿Qué es la Ingeniería del Software?

La Ingeniería del software es una disciplina o área de la Informática o Ciencias de la Computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy día es cada vez más frecuente la consideración de la Ingeniería del Software como una nueva área de la Ingeniería, y el Ingeniero del Software comienza a ser una profesión implantada en el mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, ya, reconocida consideración social en el mundo empresarial y, por suerte, para esas personas con brillante futuro.

La ingeniería del software trata con áreas muy diversas de la Informática y de las Ciencias de la Computación, tales como construcción de compiladores, sistemas operativos o desarrollos de Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a una infinidad de áreas tales como: negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, el mundo del derecho, la red de redes Internet, redes Intranet y Extranet, etc.


Definición del termino Ingeniería del Software

El termino Ingeniería se define en el Diccionario de la Real Academia Española de la Lengua como: "1. Conjunto de conocimientos y técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuentes de energía. 2. Profesión y ejercicio del Ingeniero" y el termino Ingeniero se define como: persona que profesa o ejerce la Ingeniería. De igual modo la Real Academia de Ciencias Exactas, Físicas y Naturales de España define el termino Ingeniería como: " Un conjunto de conocimientos y técnicas cuya aplicación permite la utilización racional de los materiales y de los recursos naturales, mediante invenciones, construcciones u otras realizaciones provechosas para el hombre".


Evidentemente, si la Ingeniería del Software es una nueva Ingeniería, parece lógico que reúna las propiedades citadas en las definiciones anteriores. Sin embargo ni el DRAE(Diccionario de la Real Academia Española de la Lengua), ni la Real Academia Española de Ciencias han incluido todavía el termino en sus últimas ediciones; en consecuencia vamos a recurrir para su definición más precisa a algunos de los autores más acreditados que comenzaron en su momento a utilizar el término o bien en las definiciones dadas por organismos internacionales profesionales de prestigio tales como IEEE o ACM, de los cuales se han seleccionado las siguientes definiciones de Ingeniería del Software.




LAS TRES NOTACIONES SON UML-BPMN Y DFD

UML:
Lenguaje Unificado de Modelado (LUM o UML) es el lenguaje de modelado de sistemas de software más reconocido y usado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para especificar,  visualizar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema, incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.

Es importante decir que UML es un "lenguaje de modelado" para describir o para especificar métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir; es decir en el lenguaje en el que está descrito el modelo.

Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en sí mismo qué metodología o proceso utilizar.

UML no puede compararse con la programación estructurada, pues UML significa Lenguaje Unificado de Modelado, no es programación, solo se diagrama la realidad de una utilización en un requerimiento. Mientras que, programación estructurada, es una forma de programar como lo es la orientación a objetos, sin embargo, la programación orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos.
Una de las metas principales de UML es avanzar en el estado de la integración institucional proporcionando herramientas de interoperabilidad para el modelado visual de objetos. Sin embargo para lograr un intercambio exitoso de modelos de información entre herramientas, se requirió definir a UML una semántica y una notación.
La notación es la parte gráfica que se ve en los modelos y representa la sintaxis del lenguaje de modelado. Por ejemplo, la notación del diagrama de clases define como se representan los elementos y conceptos como son: una clase, una asociación y una multiplicidad. ¿Y qué significa exactamente una asociación o multiplicidad en una clase? Un metamodelo es la manera de definir esto (un diagrama, usualmente de clases, que define la notación). 


BPMN:

El Business Modeling Notation o BPMN (Notación para el Modelado de Procesos de Negocios) es un método de negocios que ilustra los procesos en forma similar a un diagrama de flujo. El BPMN fue desarrollado en un principio por el Business Process Management Initiative (BPMNI). Actualmente es sostenido por el Grupo de Gestión de Objetos (OMG).

El BPMN proporciona una manera fácil de definir y analizar los procesos de negocios públicos y privados. Además, brinda una notación estándar que sea comprensible para la gestión del personal, analistas y desarrolladores. La intención original del BPMN era ayudar a establecer puentes de comunicación que a menudo existen dentro de una organización o empresa. Esta notación puede ayudar a asegurarse de que el XML (documentos diseñados para la ejecución de diversos procesos de negocios), puedan ser visualizados con una notación común.

Un diagrama de BPMN es ensamblado a partir de un conjunto de elementos básicos. Los elementos se clasifican en tres grupos:

- Objetos de flujo: figuras geométricas como círculos, rectangulos o rombos de control de flujo que indican los eventos Y actividades.

- Objetos de conexión: trazos o líneas de puntos que pueden incluir flechas para indicar la dirección del proceso.

- Swimlanes (carriles de piscina): llamada así por  su semejanza geométrica con las líneas de carril del fondo de  una piscina   olímpica. Rectas sólidas a lo largo y dentro de un cuadrado denominado fondo. El Swinglanes organiza el flujo de objetos en categorías con funcionalidad similar.


DFD:
Un diagrama de flujo de datos (DFD por sus siglas en español e inglés) es una representación gráfica del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó" para mostrar más detalles del sistema que se está modelando.

Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del diseño estructurado, basado en el modelo de computación de Martin y Estrin: "flujo gráfico de datos”. Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema.

Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema funcione, lo que el sistema va a lograr, y cómo el sistema se pondrá en práctica. El antiguo sistema de diagramas de flujo de datos puede ser elaborado y se comparó con el nuevo sistema de diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema más eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una idea física de cómo resultarán los datos a última instancia, y cómo tienen un efecto sobre la estructura de todo el sistema. La manera en que cualquier sistema es desarrollado puede determinarse a través de un diagrama de flujo de datos. El desarrollo de un DFD ayuda en la identificación de los datos de la transacción en el modelo de datos.


Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software.

Otras definiciones:
·         Las Herramientas CASE son un conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases.
·         La sigla genérica para una serie de programas y una filosofía de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas.
·         Una innovación en la organización, un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización. Se puede ver al CASE como la unión de las herramientas automáticas de software y las metodologías de desarrollo de software formales.

El empleo de herramientas Case permiten integrar el proceso de ciclo de vida:
·         Análisis de datos y procesos integrados mediante un repositorio.
·         Generación de interfaces entre el análisis y el diseño.
·         Generación del código a partir del diseño.
·         Control de mantenimiento.
·         Tipos de Herramientas CASE

No existe una única clasificación de herramientas CASE, es difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a:
·         Las plataformas que soportan.
·         Las fases del ciclo de vida del desarrollo de sistemas que abarca.
·         La arquitectura de las aplicaciones que produce.
·         Su funcionalidad.


Las herramientas CASE, en función de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente:

Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE workbench.
Las herramientas I-CASE se basan en una metodología. Tienen un repositorio y aportan técnicas estructuradas para todas las fases del ciclo de vida. Estas son las características que les confieren su mayor ventaja: una mejora de la calidad de los desarrollos. Sin embargo, no todas ellas son modernas en el sentido de aprovechar la potencia de las estaciones de trabajo o la utilización de lenguajes de alto nivel o técnicas de prototipo.



Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-end, orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño.

Una estrategia posible es utilizar una U-CASE para análisis y diseño, combinada con otras herramientas más modernas para las fases de construcción y pruebas. En este caso, habría que vigilar cuidadosamente la integración entre las distintas herramientas.


Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-end, dirigidas a las últimas fases del desarrolloconstrucción e implantación.


Juegos de herramientas o toolkits, son el tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento.
Otra posible clasificación, utilizando la funcionalidad como criterio principal, es la siguiente:
·         Herramientas de gestión de proyectos
·         Herramientas de gestión y configuración de software (SCM)
·         Herramientas de calidad y seguridad de software
·         Herramientas de análisis y diseño
·         Herramientas de desarrollo de interfaz de usuarios
·         Herramientas para la Ingeniería de Software Orientada a Objetos
·         Herramientas de integración y prueba
·         Herramientas de métodos formales
·         Herramientas Cliente/Servidor
·         Herramientas de Ingeniería WEB
·         Herramientas de Reingeniería


EJEMPLOS DE HERRAMIENTAS CASE:
·         Microsoft Project
·         Racional Rose
·         JDeveloper
·         MagicDraw
·         Visual Paradigm
·         Microsoft Visio
·         Enterprise Architect



ETAPAS DE LA INGENIERIA DEL SOFTWARE

El proceso requiere una metodología con 5 etapas:

1.        Análisis de requerimientos: Se extraen los requisitos del producto de software. En esta etapa la habilidad y experiencia en la ingeniería del software es crítica para reconocer requisitos incompletos, ambiguos o contradictorios. Usualmente el cliente/usuario tiene una visión incompleta/inexacta de lo que necesita y es necesario ayudarle para obtener la visión completa de los requerimientos.  El contenido de comunicación en esta etapa es muy intenso ya que el objetivo es eliminar la ambigüedad en la medida de lo posible.

2.       Especificación: Es la tarea de describir detalladamente el software a ser escrito, de una forma rigurosa. Se describe el comportamiento esperado del software y su interacción con los usuarios y/o otros sistemas.

3.       Diseño y arquitectura: Determinar cómo funcionará de forma general sin entrar en detalles incorporando consideraciones de la implementación tecnológica, como el hardware, la red, etc.  Consiste en el diseño de los componentes del sistema que dan respuesta a las funcionalidades descritas en la segunda etapa también conocidas como las entidades de negocio. Generalmente se realiza en base a diagramas que permitan describir las interacciones entre las entidades y su secuenciado.
4.       Programación: Se traduce el diseño a código. Es la parte más obvia del trabajo de ingeniería de software y la primera en que se obtienen resultados “tangibles”. No necesariamente es la etapa más larga ni la más compleja aunque una especificación o diseño incompletos/ambiguos pueden exigir que, tareas propias de las etapas anteriores se tengan que realizarse en esta.

5.       Prueba: Consiste en comprobar que el software responda/realice correctamente las tareas indicadas en la especificación. Es una buena praxis realizar pruebas a distintos niveles (por ejemplo primero a nivel unitario y después de forma integrada de cada componente) y por equipos diferenciados del de desarrollo (pruebas cruzadas entre los programadores o realizadas por un área de test independiente).

6.       Documentación: Realización del manual de usuario, y posiblemente un manual técnico con el propósito de mantenimiento futuro y ampliaciones al sistema. Las tareas de esta etapa se inician ya en el primera fase pero sólo finalizan una vez terminadas las pruebas.

7.       Mantenimiento: En esta etapa se realizan un mantenimiento correctivo (resolver errores) y un mantenimiento evolutivo (mejorar la funcionalidades y/o dar respuesta a nuevos requisitos).



RESUMEN

INGENIERÍA DE SOFTWARE

¿Qué es la Ingeniería del Software?

La Ingeniería del software es una disciplina o área de la Informática o Ciencias de la Computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo.
LAS TRES NOTACIONES SON UML-BPMN Y DFD

UML:
Lenguaje Unificado de Modelado (LUM o UML) es el lenguaje de modelado de sistemas de software más reconocido y usado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para especificar,  visualizar, construir y documentar un sistema.
BPMN:
El Business Modeling Notation o BPMN (Notación para el Modelado de Procesos de Negocios) es un método de negocios que ilustra los procesos en forma similar a un diagrama de flujo. El BPMN fue desarrollado en un principio por el Business Process Management Initiative (BPMNI). Actualmente es sostenido por el Grupo de Gestión de Objetos (OMG).

DFD:
Un diagrama de flujo de datos (DFD por sus siglas en español e inglés) es una representación gráfica del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado).


Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software.

Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE workbench.

Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-end, orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño.

Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-end, dirigidas a las últimas fases del desarrolloconstrucción e implantación.

Juegos de herramientas o toolkits, son el tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento.

ETAPAS DE LA INGENIERIA DEL SOFTWARE

El proceso requiere una metodología con 5 etapas:

Análisis de requerimientos: Se extraen los requisitos del producto de software. En esta etapa la habilidad y experiencia en la ingeniería del software es crítica para reconocer requisitos incompletos, ambiguos o contradictorios.

Especificación: Es la tarea de describir detalladamente el software a ser escrito, de una forma rigurosa. Se describe el comportamiento esperado del software y su interacción con los usuarios y/o otros sistemas.

Diseño y arquitectura: Determinar cómo funcionará de forma general sin entrar en detalles incorporando consideraciones de la implementación tecnológica, como el hardware, la red, etc. 

Programación: Se traduce el diseño a código. Es la parte más obvia del trabajo de ingeniería de software y la primera en que se obtienen resultados “tangibles”.

Prueba: Consiste en comprobar que el software responda/realice correctamente las tareas indicadas en la especificación.
Documentación: Realización del manual de usuario, y posiblemente un manual técnico con el propósito de mantenimiento futuro y ampliaciones al sistema.

Mantenimiento: En esta etapa se realizan un mantenimiento correctivo (resolver errores) y un mantenimiento evolutivo (mejorar la funcionalidades y/o dar respuesta a nuevos requisitos).


SUMARY

SOFTWARE ENGINEERING
What is Software Engineering?

Software Engineering is a discipline or area of ​​Information Technology or Computer Science, which offers methods and techniques to develop and maintain quality software that solve problems of all kinds.
THREE-UML notations are BPMN and DFD

UML:
Unified Modeling Language (LUM or UML) modeling language is the most recognized systems and software currently used; It is supported by the OMG (Object Management Group). It is a graphical language to specify, visualize, construct and document a system.
BPMN:
The Business Modeling Notation or BPMN (Notation for Business Process Modeling) is a business method illustrating processes similar to a flowchart. BPMN was developed initially by the Business Process Management Initiative (BPMNI). He is currently held by the Object Management Group (OMG).

DFD:
A data flow diagram (DFD for its acronym in Spanish and English) is a graphical representation of the "flow" of data through an information system. A data flow diagram may also be used for visualization of data processing (structured design).

CASE tools

You can define CASE tools as a set of programs and grants that assist analysts, software engineers and developers during all steps of the life cycle of a software development.

integrated tools, I-CASE (Integrated CASE, CASE integrated): cover all phases of the life cycle of systems development. They are also called CASE workbench.

High-level tools, U-CASE (Upper CASE - CASE higher) or front-end, oriented automation and support activities during the early stages of development: analysis and design.

Low-level tools, L-CASE (Lower CASE - CASE bottom) or back-end, aimed at the final stages of development: construction and implementation.

Toolkits or toolkits are the simplest type of CASE tools. Automate a phase in the life cycle. Within this group reengineering tools aimed at the maintenance phase would be found.
STAGES OF SOFTWARE ENGINEERING

The process requires a methodology with 5 stages:

Requirements analysis: the requirements of the software product are removed. At this stage the skill and experience in software engineering is critical to recognize incomplete, ambiguous or conflicting requirements.

Specification: It is the task of describing in detail the software to be written, in a rigorous way. the expected behavior of the software and its interaction with users and / or other systems described.

Design and architecture: Determine how work generally without elaborating incorporating technology implementation considerations, such as hardware, network, etc.
Programming: the design is translated code. It is the most obvious part of the software engineering work and the first in which "tangible" results.
Test: it consists of checking that the software responds / successfully perform the tasks outlined in the specification.
Documentation: Making user manual, and possibly a technical manual for the purpose of future maintenance and upgrades to the system.
Maintenance: At this stage corrective maintenance (resolver errors) and evolutionary maintenance are performed (improve functionality and / or respond to new

RECOMENDACIONES

1. Se recomienda ampliamente la continuidad del proyecto generación de software de ingeniería, puesto que puede proporcionar herramientas muy útiles   a los estudiantes. Específicamente, la realización de programas en tareas específicas, puede ahorrar una gran cantidad de tiempo en cálculos repetitivos, para pasar entonces a una etapa de análisis que puede resultar mucho más retribuyente.

2. Se recomienda del mismo modo el uso de Excel y VBA por encima de cualquier otro software de programación para la realización de esta  tarea,  puesto que esta disponible prácticamente en cualquier PC, y por que es hasta   el momento la herramienta más versátil.

3. En la realización de programas se recomienda conocer con profundidad  la tarea a realizar, así como llevar a cabo una planeación adecuada que permita tener flexibilidad en la realización de cambios al mismo. Por otra parte esta planeación debe pensar en el acoplamiento de estos programas con otros para su complementación dinámica.

4. Es de suma importancia conocer bien el lenguaje y herramientas que  tiene VBA, sin embargo, la experiencia enseña que el aprendizaje es continuo, por lo tanto se debe de pensar en una mejora también continua de cada programa que se realice, puesto que se encontrarán herramientas muy útiles sobre en el camino de realización de los programas.


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.

APRECIACIÓN DEL EQUIPO 

1.       Diseñar soluciones apropiadas a diversos dominios de aplicación, utilizando los principios y métodos propios de la ingeniería, que integren los aspectos éticos, sociales, legales y económicos, ajustadas a las necesidades de las organizaciones.

2.       Demostrar la comprensión y capacidad de aplicación de las teorías, modelos y técnicas actuales para la identificación de problemas, el análisis, el diseño del software, el desarrollo, la implementación, la verificación y la documentación.

3.       Demostrar la comprensión y apreciación de la importancia de la negociación, hábitos de trabajo efectivos, liderazgo y buena comunicación con las partes interesadas en un entorno típico de desarrollo de software.

4.    Estimar los costes de un proyecto y determinar los tiempos de desarrollo, efectuando el seguimiento de costes y plazos y dirigir y asesorar a los equipos de trabajo.
     
        GLOSARIO DE TÉRMINOS
     
      ACOPLAMIENTO
Es la cantidad de relaciones que se establecen entre los módulos de un programa.

Es un módulo de software ejecutable que tiene identidad y una interface bien definida. 

Es aquella que trata el estado de las propiedades deseadas del sistema en forma puramente declarativa.

IMPLEMENTACIÓN
Es la definición de cómo está construido o compuesto algo. Por ejemplo: una clase es una implementación de un tipo, un método es una implementación de una operación.

PROTOCOLO
       Es el conjunto de mensajes a los cuales responde un objeto. 

      LINKOGRAFÍA 

 http://infoblog-ingsoftware.blogspot.pe/2010/11/las-tres-notaciones-son-y-uml-lenguaje.html
 http://www.monografias.com/trabajos5/inso/inso.shtml
http://www.monografias.com/trabajos73/herramientas-case-proceso-desarrollosoftware/herramientas-case-proceso-desarrollo-software.shtml
http://proyectosguerrilla.com/blog/2013/02/las-cinco-etapas-en-la-ingenieria-del-software/
http://www.monografias.com/trabajos102/ingenieria-del-software/ingenieria-del-software.shtml#conclusina

     LINK DE LA DIAPOSITIVA


      VIDEO DE REFERENCIA


     






viernes, 10 de junio de 2016

CPM - MÉTODO DE LA RUTA CRÍTICA

Definición:


El método de la ruta crítica (Conocido por sus siglas en ingles CPM Critical Path Method), fue desarrollado en 1957 en los Estados Unidos de América, por un centro de investigación de operaciones, buscando el control de los costos, mediante la planeación y programación adecuada de las actividades componentes del proyecto, es decir, planear la duración de un proyecto.
Ruta Crítica:

Una ruta crítica es la secuencia de los elementos terminales de la red de proyectos con la mayor duración entre ellos. 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. Cabe destacar que la duración de un proyecto es igual a la ruta crítica.

Originalmente, el método de la ruta crítica consideró solamente dependencias entre los elementos terminales. Un concepto relacionado es la cadena crítica, la cual agrega dependencias de recursos.

Existen dos redes dentro del método de la Ruta Crítica

a.Diagrama de Flechas
b.Redes de Precedencia

Ambos sirven para determinar la ruta crítica de un proyecto.

Diagrama de Flechas
Consisten en elaborar una red o diagrama en la que se muestra todas las actividades pertenecientes a la elaboración de un proyecto, muestra una secuencia lógica en la que se debe realizar dicho proyecto y se especifica la interdependencia entre una actividad y otra.Las actividades se representa mediante flechas y las uniones entre una actividad y otra se representa mediante Nodos.

Redes de Precedencia
Las actividades se representan en los nodos y las flechas sirven únicamente para conectar actividades, así como especificar el tipo de relación entre una y otro. En esta podemos establecer relaciones especiales entre todas las actividades.
En un proyecto se puede aplicar las diversas herramientas que existen y que puedan estimar los resultados que se buscan, es factible usar PERT, Gantt y Microsoft Project pero en mi caso particular además de utilizar las antes mencionadas no dejaría de aplicar un CPM o el Método de la Ruta Critica, de hecho es una  herramienta que no dejaría de aplicar al desarrollar un proyecto





Etapas de CPM:

Para utilizar el método CPM o de Ruta Crítica se necesita seguir los siguientes pasos:

1. Definir el proyecto con todas sus actividades o partes principales.
2. Establecer relaciones entre las actividades. Decidir cuál debe comenzar antes y cuál debe seguir después.
3. Dibujar un diagrama conectando las diferentes actividades en base a sus relaciones de precedencia.
4. Definir costos y tiempo estimado para cada actividad.
5. Identificar la trayectoria más larga del proyecto, siendo ésta la que determinará la duración del proyecto (Ruta Crítica).
6. Utilizar el diagrama como ayuda para planear, supervisar y controlar el proyecto.

 Ventajas:

·      El método es fácil de entender.
·     Mejora de la planificación antes del comienzo de los trabajos.
·      Mejora en la comunicación entre los trabajadores.
·       Mejor control sobre los riesgos e incertidumbres.
·      Reducción de los retrasos.
·         Ahorro de tiempo.
·         Respuesta más rápida a los problemas.
            Ahorro de costos.

Desventajas:

·   Los administradores y directores de proyectos de construcción no utilizan el software lo suficiente para tener conocimiento de los retrasos.
·  Requiere mucho trabajo para implementarlo.
·  Hay mucha dependencia de especialistas.
·  Debe mantenerse al día si es para confiar en ella.
· Demasiada interpretación lleva a desconfiar de propietario y uso indebido


CONCEPTOS BÁSICOS PARA DIAGRAMAR ACTIVIDADES CON REDES

Regla 1: Cada actividad se debe representar sí y sólo sí, por un ramal o arco.
Teoría de Redes
Regla 2: Cada actividad debe estar identificada por dos nodos distintos. En el caso de existir actividades concurrentes (que inicien al mismo tiempo, o que el inicio de una actividad dependa de la finalización de 2 o más actividades distintas) se debe recurrir a actividades ficticias (representadas por arcos punteados que no consumen ni tiempo ni recursos) para satisfacer esta regla.

Por ejemplo,  la actividad C para su inicio requiere que finalicen A y B. Las actividades A y B inician al mismo tiempo.
Teoría de Redes
FASES PARA LA PLANIFICACIÓN DE UN PROYECTO CON CPM

PASO 1: ACTIVIDADES DEL PROYECTO
La primera fase corresponde a identificar todas las actividades que intervienen en el proyecto, sus interrelaciones, sucesiones, reglas de precedencia. Con la inclusión de cada actividad al proyecto se debe cuestionar respecto a que actividades preceden a esta, y a cuales siguen inmediatamente esta finalice. Además, deberá relacionarse el tiempo estimado para el desarrollo de cada actividad.



PASO 2: DIAGRAMA DE RED
Con base en la información obtenida en la fase anterior y haciendo uso de los conceptos básicos para diagramar una red, obtendremos el gráfico del proyecto:

Fb y Fd corresponde a actividades ficticias que no consumen tiempo ni recursos.

PASO 3: CALCULAR LA RED
Para el cálculo de la red se consideran 3 indicadores, T1, T2 y H. Estos indicadores se calculan en cada evento o nodo (entiéndase nodo entonces como un punto en el cual se completan actividades y se inician las subsiguientes.

T1: Tiempo más temprano de realización de un evento. Para calcular este indicador deberá recorrerse la red de izquierda a derecha y considerando lo siguiente:

·         T1 del primer nodo es igual a 0.
·         T1 del nodo n = T1 del nodo n-1 (nodo anterior) + duración de la actividad que finaliza en el nodo n.
·         Si en un nodo finaliza más de una actividad, se toma el tiempo de la actividad con mayor valor.


En este caso para el cálculo del T1 en el nodo 4, en el que concurren la finalización de 3 actividades, 2 de ellas ficticias (Fb y Fd, cuyos tiempos son cero) y una es la actividad C. En este caso deberá considerarse el mayor de los T1 resultantes:

T1 (nodo 3) + Fb = 4 + 0 = 4
T1 (nodo 2) + C = 3 + 2 = 5
T1 ( nodo 5) + Fd = 5 + 0 = 5

Así entonces, el T1 del nodo 4 será igual a 5 (el mayor valor).

T2: Tiempo más tardío de realización del evento. Para calcular este indicador deberá recorrerse la red de derecha a izquierda y considerando lo siguiente:
·         T2 del primer nodo (de derecha a izquierda) es igual al T1 de este.
·         T2 del nodo n = T2 del nodo n-1 (nodo anterior, de derecha a izquierda) - duración de la actividad que se inicia. 
·         Si en un nodo finaliza más de una actividad, se toma el tiempo de la actividad con menor valor.

En este caso para el cálculo del T2 del nodo 2, en el que concurren el inicio de varias actividades deberá entonces considerarse lo siguiente:

T2 nodo 3 - B = 5 - 1 = 4
T2 nodo 4 - C = 5 - 2 = 3
T2 nodo 5 - D = 5 - 2 = 3

Así entonces, el T2 del nodo 2 será 3, es decir el menor valor.
H: Tiempo de holgura, es decir la diferencia entre T2 y T1. Esta holgura, dada en unidades de tiempo corresponde al valor en el que la ocurrencia de un evento puede tardarse. Los eventos en los cuales la holgura sea igual a 0 corresponden a la ruta crítica, es decir que la ocurrencia de estos eventos no puede tardarse una sola unidad de tiempo respecto al cronograma establecido, dado que en el caso en que se tardara retrasaría la finalización del proyecto.



Las actividades críticas por definición constituyen la ruta más larga que abarca el proyecto, es decir que la sumatoria de las actividades de una ruta crítica determinará la duración estimada del proyecto. Puede darse el caso en el que se encuentren más de una ruta crítica, como es el caso del problema que hemos desarrollado.

Ruta crítica 1:
Esta ruta se encuentra compuesta por las actividades A, C y E. La duración del proyecto será de 9 horas.

Ruta Crítica 2:

PASO 4: ESTABLECER EL CRONOGRAMA

Para establecer un cronograma deberán considerarse varios factores, el más importante de ellos es la relación de precedencia, y el siguiente corresponde a escalonar las actividades que componen la ruta crítica de tal manera  que se complete el proyecto dentro de la duración estimada.

EJEMPLO: 

A continuación se presenta un resumen de las actividades que requiere un proyecto para completarse. El tiempo de duración de cada actividad en semanas es fijo. Se solicita que estime la duración total del proyecto a través del método CPM.



En consideración a las etapas del método CPM definidas anteriormente, en este caso se debe desarrollar el paso 3 y 5. En este sentido es necesario construir el diagrama identificando las relaciones entre las actividades y con el objetivo de resumir la metodología se incorporará inmediatamente el cálculo de la Holgura, IC, TC, IL, TL para cada actividad, junto con la identificación de la ruta crítica.
ejemplo_cpm

Primero se construye el diagrama identificando cada actividad en un nodo (círculo) con su nombre respectivo y entre paréntesis el tiempo estimado. Las flechas entre actividades señalan las relaciones de predecencia, por ejemplo, la actividad F sólo puede comenzar una vez terminadas las actividades D y E.
Luego, se identifica para cada actividad los indicadores IC y TC. Por ejemplo, para la actividad C el inicio más cercano es 8 (esto porque C sólo puede comenzar una vez terminada A y B, siendo B la que más se demora y termina en 8) y el término más cercano es 20 (dado que la actividad C demora 12 semanas).
Posteriormente se obtiene el IL y TL para cada actividad. Con esta información el cálculo de la holgura de cada actividad es simple. Para obtener el IL y TL de cada actividad nos "movemos" desde el final hasta el inicio. En este caso la actividad que termina más tarde es H (49 sem) y por tanto nos preguntamos cuándo es lo más tarde que podría termina H sin retrasar el proyecto (TL), esto claramente es 49. Por tanto si lo más tarde que puede terminar H es 49, lo más tarde que puede comenzar H para cumplir este tiempo es 41 (dado que H dura 8 sem). Luego, la holgura de H es cero. Notar que las actividades con holgura igual a cero corresponden a las actividades de la ruta crítica. Adicionalmente, un proyecto puede tener más de una ruta crítica.
En nuestro ejemplo la ruta crítica (única) esta conformada por las actividades B-C-E-F-H con una duración total de 49 semanas.

SUMARY

CPM - CRITICAL PATH METHOD
Definition:

The critical path method (known for its acronym in English CPM Critical Path Method), was developed in 1957 in the United States of America, by a research center operations, seeking to control costs by planning and programming appropriate components of the project activities, ie plan the duration of a project.

Critical route:

A critical path is the sequence of terminal network elements project with the longest duration between them. The duration of the critical path determines the duration of the entire project. Any delay in the critical path element affects the planned completion date of the project. Note that the duration of a project is equal to the critical path.

Originally, the critical path method considered only dependencies between terminal elements. A related concept is the critical chain, which adds resource dependencies.

CPM stages:

To use CPM or Critical Path method takes the following steps:

1. Define the project with all its activities or major parts.
2. Establish relationships between activities. Decide which should start earlier and what should follow after.
3. Draw a diagram connecting the different activities based on their precedence relationships.
4. Define and estimated costs for each activity.
5. Identify the longest path of the project, being this will determine the duration of the project (Critical Path).
6. Use diagram to help plan, monitor and control the project.

Advantage:

• The method is easy to understand.
• Improved planning before the start of work.
• Improved communication among workers.
• Better control over risks and uncertainties.
• Reduction of delays.
• Time saving.
• faster response to problems.
            Cost savings.


disadvantages:

• Managers and construction project managers do not use the software enough to be aware of the delays.
• It requires a lot of work to implement it.
• There is much reliance on specialists.
• You must keep up if it is to trust her.
• Too much interpretation leads to distrust and misuse owner



RESUMEN

CPM  - MÉTODO DE LA RUTA CRÍTICA
Definición:

El método de la ruta crítica (Conocido por sus siglas en ingles CPM Critical Path Method), fue desarrollado en 1957 en los Estados Unidos de América, por un centro de investigación de operaciones, buscando el control de los costos, mediante la planeación y programación adecuada de las actividades componentes del proyecto, es decir, planear la duración de un proyecto.

Ruta Crítica:

Una ruta crítica es la secuencia de los elementos terminales de la red de proyectos con la mayor duración entre ellos. 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. Cabe destacar que la duración de un proyecto es igual a la ruta crítica.

Originalmente, el método de la ruta crítica consideró solamente dependencias entre los elementos terminales. Un concepto relacionado es la cadena crítica, la cual agrega dependencias de recursos.

Etapas de CPM:

Para utilizar el método CPM o de Ruta Crítica se necesita seguir los siguientes pasos:

1. Definir el proyecto con todas sus actividades o partes principales.
2. Establecer relaciones entre las actividades. Decidir cuál debe comenzar antes y cuál debe seguir después.
3. Dibujar un diagrama conectando las diferentes actividades en base a sus relaciones de precedencia.
4. Definir costos y tiempo estimado para cada actividad.
5. Identificar la trayectoria más larga del proyecto, siendo ésta la que determinará la duración del proyecto (Ruta Crítica).
6. Utilizar el diagrama como ayuda para planear, supervisar y controlar el proyecto.

Ventajas:

·      El método es fácil de entender.
·     Mejora de la planificación antes del comienzo de los trabajos.
·      Mejora en la comunicación entre los trabajadores.
·       Mejor control sobre los riesgos e incertidumbres.
·      Reducción de los retrasos.
·         Ahorro de tiempo.
·         Respuesta más rápida a los problemas.
            Ahorro de costos.


Desventajas:

·   Los administradores y directores de proyectos de construcción no utilizan el software lo suficiente para tener conocimiento de los retrasos.
·  Requiere mucho trabajo para implementarlo.
·  Hay mucha dependencia de especialistas.
·  Debe mantenerse al día si es para confiar en ella.
· Demasiada interpretación lleva a desconfiar de propietario y uso indebido

RECOMENDACIONES

Recomendamos analizar a fondo la información presentada en la siguiente investigación ya que esto nos ayudara a comprender de manera fácil la aplicación del modelo PERT.

Recomendamos la aplicación de método PERT ya que este 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.

CONCLUSIONES

El PERT es un excelente elemento dentro de la función de control, especialmente en la etapa de medición de resultados contra los estándares preestablecidos, ayuda en la corrección y/o agilización para alcanzar dichos estándares y externa información valiosa en la etapa de retroalimentación al ser compatibles con los factores que comprenden el control (Cantidad, tiempo, costo).
APRECIACIONES DEL EQUIPO


propongo, acudir al método PERT, el cual aporta al empresario dinámico, la herramienta que le permita planear en forma objetiva, sencilla y práctica, pero a la vez eficaz, todas y cada una de las actividades a realizar para conseguir éxito en los objetivos que pretende obtener la empresa.


LINKOGRAFIA

http://softwaredeg.blogspot.pe/
http://www.investigaciondeoperaciones.net/cpm.html
http://www.ingenieriaindustrialonline.com/herramientas-para-el-ingeniero-industrial/investigaci%C3%B3n-de-operaciones/cpm-metodo-de-la-ruta-critica/
http://www.eoi.es/blogs/madeon/2013/04/14/metodo-de-ruta-critica-cpm-critical-path-method/
https://www.youtube.com/watch?v=F4oOjYwMXc0

LINK DE LA DIAPOSITIVA


http://www.slideshare.net/mireya2022/cpm-62950004

VIDEO DE REFERENCIA